Posty bez odpowiedzi |oraz Aktywne tematy Dzisiaj jest 2024-11-25, 02:12x



Odpowiedz w temacie  [ Posty: 8 ] 
Procedura OnKhChanged 
Autor Wiadomość

Rejestracja: 2010-02-10, 21:24
Posty: 260
Pomógł: 4
Post 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
Wyświetl profil
Autor Wiadomość
 



Rejestracja: 2009-01-13, 10:45
Posty: 86
Post 
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 20

Kod:
SetKeySeg(bnt,"baza",20)


2010-12-02, 11:14
Wyświetl profil

Rejestracja: 2010-02-10, 21:24
Posty: 260
Pomógł: 4
Post 
Dzięki


2010-12-02, 11:17
Wyświetl profil

Rejestracja: 2010-02-10, 21:24
Posty: 260
Pomógł: 4
Post 
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
Wyświetl profil
Ekspert
Ekspert

Rejestracja: 2007-11-16, 15:08
Posty: 4000
Pomógł: 448
Post 
A jak sprawdzisz czy jest notatka to co dalej chcesz z tym zrobić?

_________________
Skontaktuj się z Ekspertem | Zamów dodatek

tel. 22 7 538 538
ekspert@mojaSymfonia.pl
http://www.mojaSymfonia.pl


2010-12-02, 21:53
Wyświetl profil

Rejestracja: 2010-02-10, 21:24
Posty: 260
Pomógł: 4
Post 
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
Wyświetl profil
Ekspert
Ekspert

Rejestracja: 2007-11-16, 15:08
Posty: 4000
Pomógł: 448
Post 
No to może wystarczyłoby OnAfterInsert?

_________________
Skontaktuj się z Ekspertem | Zamów dodatek

tel. 22 7 538 538
ekspert@mojaSymfonia.pl
http://www.mojaSymfonia.pl


2010-12-03, 13:19
Wyświetl profil

Rejestracja: 2010-02-10, 21:24
Posty: 260
Pomógł: 4
Post 
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
Wyświetl profil
Wyświetl posty nie starsze niż:  Sortuj wg  
Odpowiedz w temacie   [ Posty: 8 ] 
   Podobne tematy   Autor   Odpowiedzi   Odsłony   Ostatni post 
Na tym forum nie ma nowych nieprzeczytanych postów. HMP 2010.1.a OnKHChanged

w Programy Handlowe

MMM

4

2837

2010-04-26, 12:34

wrob Wyświetl najnowszy post

Na tym forum nie ma nowych nieprzeczytanych postów. Procedura [HM].[GetRelatedDocumentsToZMO

w Programy Handlowe

symfonia_zamula

1

2459

2022-06-01, 11:17

symfonia_zamula Wyświetl najnowszy post

Na tym forum nie ma nowych nieprzeczytanych postów. Procedura dla FISKALIZUJ

w Programowanie

wojtek

4

2948

2021-03-17, 18:06

wojtek Wyświetl najnowszy post

Na tym forum nie ma nowych nieprzeczytanych postów. Procedura dok.sprzedaży.

w Programowanie

zz

7

4803

2011-03-04, 11:08

koronen Wyświetl najnowszy post



Kto jest online

Użytkownicy przeglądający to forum: Nie ma żadnego zarejestrowanego użytkownika i 12 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

Szukaj:
Przejdź do:  
cron
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group.
Support forum phpbb by phpBB Assistant