|
|
Strona 1 z 1
|
[ Posty: 8 ] |
|
Autor |
Wiadomość |
wojtek
Rejestracja: 2010-02-10, 21:24 Posty: 260 Pomógł: 4
|
Procedura OnKhChanged
Kod: int Sub OnKhChanged(long lId) OnKhChanged = 0 // message using "%i",bBufor bBufor = 1 to bufor Limit 10000 long lKhId string sKhNazwa,sNotka
int bnt = Open KatalogFirmy() + "51nt.dat" for base "nt" //baza notatek BaseError(KatalogFirmy() + "51nt.dat", 4) int bbd = Open KatalogFirmy() + "51bd.dat" for base "bd" BaseError(KatalogFirmy() + "51bd.dat", 4) // int bKh = Open KatalogFirmy() + "51kh.dat" for base "kh" //BaseError(KatalogFirmy() + "51kh.dat", 4)
SetKey(bbd, "id") SetKeySeg(bbd, "id", lId) GetRec(bbd, EQ) lKhId = GetField(bbd, "khid") message GetField(bbd, "khkod") message using "%l",lKhId
SetKey(bnt,"super") SetKeySeg(bnt,"super",lKhId) if !GetRec(bnt, EQ) then message using "%i",GetRec(bnt, EQ) sNotka = mid(GetField(bnt, "opis"),1,10) message sNotka endif
//sNotka = "" close bbd close bnt limit 2000
EndSub
Witam, Co może być nie tak w moim kodzie powyżej. Procedura ma działać w ten sposób, że w czasie zmainy/doawania kontrahenta na dokument ma się wyświetlić w message informacjAa że istnieje notatka dla tego kontrahenta. Fragment kodu opowiedzialny za identyfikację kontrahenta działa OK. Problem pojawia się przy bnt. Wartość GetRec(bnt, EQ) = 4 pomimo tego że na kontrahencie jest notatka i pod pervasivem widać ten rekord z wartością pola "super" = id kontrahenta z wystawianego okumentu?[/code]
|
2010-12-02, 09:48 |
|
|
Autor |
Wiadomość |
Mix-soft.pl
|
|
|
sqza
Rejestracja: 2009-01-13, 10:45 Posty: 86
|
Oto zmodyfikowany działający kod :)
Kod: int Sub OnKhChanged(long lId) OnKhChanged = 0 // message using "%i",bBufor bBufor = 1 to bufor Limit 10000 long lKhId string sKhNazwa,sNotka
int bnt = Open KatalogFirmy() + "51nt.dat" for base "nt" //baza notatek BaseError(KatalogFirmy() + "51nt.dat", 4) int bbd = Open KatalogFirmy() + "51bd.dat" for base "bd" BaseError(KatalogFirmy() + "51bd.dat", 4) // int bKh = Open KatalogFirmy() + "51kh.dat" for base "kh" //BaseError(KatalogFirmy() + "51kh.dat", 4)
SetKey(bbd, "id") SetKeySeg(bbd, "id", lId) GetRec(bbd, EQ) lKhId = GetField(bbd, "khid") message GetField(bbd, "khkod") message using "%l",lKhId
SetKey(bnt,"super") SetKeySeg(bnt,"super",lKhId) SetKeySeg(bnt,"baza",20) if !GetRec(bnt, EQ) then message using "%i",GetRec(bnt, EQ) sNotka = mid(GetField(bnt, "opis"),1,10) message sNotka endif
//sNotka = "" close bbd close bnt limit 2000
EndSub Brakowało określenia bazy z której pochodzi powiązanie z notatką - w przypadku kontrahenta 20Kod: SetKeySeg(bnt,"baza",20)
|
2010-12-02, 11:14 |
|
|
wojtek
Rejestracja: 2010-02-10, 21:24 Posty: 260 Pomógł: 4
|
Dzięki
|
2010-12-02, 11:17 |
|
|
wojtek
Rejestracja: 2010-02-10, 21:24 Posty: 260 Pomógł: 4
|
A czy istniej możliwość dopisania nowej procedury OnKhchanged dla dokumentów płatności?
Chodzi o to że trzeba dla wszystkich nowo wystawianych dokumentów sprawdzać w locie podczas wybierania kontrahenta czy znajduje się przy nim jakas notatka. Dla dok sprzedaży,zakupu i magazynowych nie ma problemu bo procedura jest. Problem jest z dok płatności. Chyba że istnieje jakiś inny sposob sprawdzenia czy jest notatka dla kontrahenta.
|
2010-12-02, 12:46 |
|
|
rafal
Ekspert
Rejestracja: 2007-11-16, 15:08 Posty: 4000 Pomógł: 448
|
A jak sprawdzisz czy jest notatka to co dalej chcesz z tym zrobić?
|
2010-12-02, 21:53 |
|
|
wojtek
Rejestracja: 2010-02-10, 21:24 Posty: 260 Pomógł: 4
|
Nic. Księgowa wtedy sobie ją przeczyta i będzie swoje wiedziała. Ja mam za zadanie sprawić aby podczas wystawiania dokumentu wyświetliła się inforamcja ze przy kontrahencie jest notatka
|
2010-12-03, 11:43 |
|
|
rafal
Ekspert
Rejestracja: 2007-11-16, 15:08 Posty: 4000 Pomógł: 448
|
No to może wystarczyłoby OnAfterInsert?
|
2010-12-03, 13:19 |
|
|
wojtek
Rejestracja: 2010-02-10, 21:24 Posty: 260 Pomógł: 4
|
Generalnie to After to jest już po fakcie , ale w ostateczności księgowa ptrzyjeła. Najbardziej zależanło jej dok sprzedaży. Pozrawiam
|
2010-12-03, 15:06 |
|
|
|
Strona 1 z 1
|
[ Posty: 8 ] |
|
Kto jest online |
Użytkownicy przeglądający to forum: Nie ma żadnego zarejestrowanego użytkownika i 21 gości |
|
Nie możesz tworzyć nowych tematów Nie możesz odpowiadać w tematach Nie możesz zmieniać swoich postów Nie możesz usuwać swoich postów Nie możesz dodawać załączników
|
|
|
|