mojaSymfonia FORUM https://forum.mix-soft.pl/ |
|
HMP 2010.1.a OnKHChanged https://forum.mix-soft.pl/viewtopic.php?f=2&t=1976 |
Strona 1 z 1 |
Autor: | MMM [ 2010-04-26, 10:14 ] |
Tytuł: | HMP 2010.1.a OnKHChanged |
Witam! Mam taką procedurkę umieszczoną w 'Procedury dokumentu magazynowego' (w rzeczywistości jest ona zupełnie inna, ale obrazuje ideę): Kod: int sub OnKHChanged(long lId) string kod BaseBM bm if bm.Open() then Exit bm.SetKey("id") bm.SetKeySeg("id", lId) bm.GetRec(EQ) kod = bm.GetField("khkod") bm.Close() OnKHChanged=0 if Mid(LCase(kod),1,1)!="t" then message("Kontrahent musi zaczynać sie na 'T'!") OnKHChanged=-6000 endif endsub Co ma powodować, że na dokumencie może być wybrany tylko kontrahent zaczynający się na literę 'T'. Ma wyświetlić komunikat i pozostać w polu wyboru kontrahenta. I to działa dobrze. Tylko, że jest problem właśnie wtedy, gdy warunek NIE zachodzi. Załóżmy, że wybieram sobie jakiegoś kontrahenta. Uzupełniają się wszystkie pozostałe jego dane jak NP i adres. Uruchamiana jest procedura sprawdzająca i stwierdza, że dane nie są prawidłowe. Więc zmieniam kontrahenta na 'testowy'. I co? Dane się nie uzupełniają - pozostają po poprzednio wybranym kontrahencie! Błąd mój, czy Symfonii? A co ważniejsze - jak go obejść... [EDIT] Co więcej. Sprawdziłem, że do bazy zapisuje się KHKod kontrahenta na 'T', a pozostałe dane (m.in.) KHId tego poprzedniego kontrahenta... |
Autor: | rafal [ 2010-04-26, 10:46 ] |
Tytuł: | |
Moim zdaniem działanie podanego raportu jest poprawne. Przy wybraniu "złego" kontrahenta program nie wypuści z pola "kod kontrahenta" aż do wyboru popranego. |
Autor: | MMM [ 2010-04-26, 11:16 ] |
Tytuł: | |
OK. Ale problem w tym, że nie uzupełnia danych poprawnego kontrahenta... |
Autor: | rafal [ 2010-04-26, 12:28 ] |
Tytuł: | |
Zgadza się. Chyba to błąd. |
Autor: | wrob [ 2010-04-26, 12:34 ] |
Tytuł: | |
jak sie po powrocie do doka przez -6000 wywali kontrahenta przejdzie na date i wroci na kontrahenta i wybierze nowego to wtedy uaktualnia - ale tez jakos nie zawsze....... moze w kodzie wyczyscic pola kth w bm przed oddaniem -6000 ? |
Strona 1 z 1 | Strefa czasowa UTC+1godz. [letni] |
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group http://www.phpbb.com/ |