mojaSymfonia FORUM
https://forum.mix-soft.pl/

Obsługa zdarzeń w Symfonii
https://forum.mix-soft.pl/viewtopic.php?f=15&t=3016
Strona 1 z 1

Autor:  Benji_Pete [ 2011-04-05, 16:57 ]
Tytuł:  Obsługa zdarzeń w Symfonii

Mam pytanie odnośnie zdarzeń i ich obsługi w Symfonii Handel 2006c.

Przy akcjach typu Edit jest obsługa Before i After. Natomiast przy usuwaniu dokumentu jet tylko Before. Chciałbym zapisać gdzieś fakt, że ktoś usunął dokument. Niestety nie jest to możliwe, gdyż dostępna jest tylko procedura Before, ale już After nie ma.

W skrócie chodzi o to, że Before wykonuje się przed usunięciem, ale nie zawsze musi się to udać (np. numer nie jest ostatni w swojej serii albo nie można usunąć bo powstanie ujemny stan dostawy, itp.). Czy jest jakaś możliwość wychwycenia momentu faktycznego usunięcia dokumentu?

Dzięki z góry forumowicze.

Autor:  wrob [ 2011-04-05, 20:38 ]
Tytuł: 

Pisz prosze ze chodzi Ci o forte - bo potem sie ciezko odpowiada....

Generelnie jesli masz HMF - to zrob sobie trigger na bazie i po sprawie :) :)

Autor:  Misiek [ 2011-04-05, 20:44 ]
Tytuł: 

Witaj,

Masz wersję programu sprzed 5 lat - takiej opcji o której piszesz, jeszcze nie było w programie, ale pojawiła się później, nie pamiętam w której wersji ale jest :-)

Cytuję opis z wersji najnowszej na rynku 2011.1:

int OnBeforeDelete(long lId) – procedura wywoływana przed usunięciem wystawionego dokumentu, jako argument przekazywany jest id rekordu z bazy dokumentów (DK lub MG), jeśli procedura zwróci wartość -6000 program nie usunie dokumentu

int OnBeforeBuforDelete(long lId) – procedura wywoływana przed usunięciem dokumentu z bufora (także wystawionego zamówienia), jako argument przekazywany jest id rekordu z bazy dokumentów (BD lub BM), jeśli procedura zwróci wartość -6000 program nie usunie dokumentu

int OnAfterDelete(long lId) – procedura wywoływana po usunięciu wystawionego dokumentu, jako argument przekazywany jest id rekordu z bazy dokumentów (DK lub MG)

int OnAfterBuforDelete(long lId) – procedura wywoływana po usunięciu dokumentu z bufora (także wystawionego zamówienia), jako argument przekazywany jest id rekordu z bazy dokumentów (BD lub BM)


Jak próbować obejść ten problem ?

Zablokować możliwość usuwania dokumentów standardowym interfejsem Symfonii Handel 2006, wykorzystać dodatkowe polecenie long UsunDokument( long Id, int baza ) i podpiąć go pod prawy klawisz myszy lub jakiś nietypowy ALT-...

W ten sposób będziesz mógł kontrolować usuwanie dokumentów z poziomu Twojego raportu/rozwiązania - tak myślę, że to może się udać :-)

Autor:  Misiek [ 2011-04-05, 20:47 ]
Tytuł: 

wrob pisze:
Pisz prosze ze chodzi Ci o forte - bo potem sie ciezko odpowiada....

Generelnie jesli masz HMF - to zrob sobie trigger na bazie i po sprawie :) :)

Wrob - ale Benji_Pete napisał jaki ma program ;-), patrz pierwsza linia zapytania :-)

Wrob - czas na nowe szkła kontaktowe :lol:

Autor:  wrob [ 2011-04-05, 20:48 ]
Tytuł: 

Dla mnie Symfonia Handel - to premium :)
A z innych postow benji wynika ze ma on HMF2006c

Autor:  Misiek [ 2011-04-05, 21:10 ]
Tytuł: 

Dla mnie znaczy to również (dawna linia) Premium i w takim kontekście pisałem...

Autor:  Benji_Pete [ 2011-04-06, 08:47 ]
Tytuł: 

Przepraszam za ominięcie - mam Forte

Autor:  rafal [ 2011-04-06, 11:02 ]
Tytuł: 

OnAfterDelete nie ma jeszcze w wersji 2006. Pojawiła się później.

Autor:  Misiek [ 2011-04-06, 21:31 ]
Tytuł: 

Proponuję skorzystać z metody opisanej przeze mnie dla Symfonii Handel (HM/HMP, dawnej linii Premium) - na Forte Handel powinna również zadziałać ;-)

Autor:  wrob [ 2011-04-07, 00:05 ]
Tytuł: 

Triger jest prostszy :) :)

Strona 1 z 1 Strefa czasowa UTC+1godz. [letni]
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
http://www.phpbb.com/