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



Odpowiedz w temacie  [ Posty: 15 ] 
OnTwChanged a kod dokumentu 
Autor Wiadomość

Rejestracja: 2008-03-10, 14:01
Posty: 593
Post OnTwChanged a kod dokumentu
Witam.
W jaki sposób znaleźć kod dokumentu ZMO, jeśli procedurę chcę wywołać z poziomu OnTwChanged?

_________________
zz


2010-11-02, 13:50
Wyświetl profil
Autor Wiadomość
 


Ekspert
Ekspert

Rejestracja: 2007-11-16, 15:08
Posty: 4000
Pomógł: 448
Post 
Przy wywołaniu funkcji OnTwChanged zwracane jest Id pozycji dokumentu.
Aby pobrać numer dokumentu pobierz powiązany rekord dokumentu.
Jeżeli to Symfonia to :
Kod:
int Sub OnTwChanged(long lId)

basebp bp
bp.GetRecById( lId )

basebp bd
bd.GetRecById( bp.GetField("super") )   

message bd.GetField("kod")

   OnKhChanged = 0
EndSub

W FORTE można podobnie lub za pomocą obiektów

_________________
Skontaktuj się z Ekspertem | Zamów dodatek

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


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

Rejestracja: 2008-03-10, 14:01
Posty: 593
Post 
No właśnie moje pytanie dotyczy tego
Cytuj:
W FORTE można podobnie lub za pomocą obiektów

bo nie wiem, jak dane tego obiektu stąd sprawdzić.

_________________
zz


2010-11-02, 14:24
Wyświetl profil
Ekspert
Ekspert

Rejestracja: 2007-11-16, 15:08
Posty: 4000
Pomógł: 448
Post 
Sprawdź ten kod, który podałem wyżej i napisz czy zadziałało.

_________________
Skontaktuj się z Ekspertem | Zamów dodatek

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


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

Rejestracja: 2008-03-10, 14:01
Posty: 593
Post 
Niestety mam błąd wykonania:
Nie przypisano bazy to rekordu typu BaseAll...
(PS. mam FORTE 2010 - jak w podpisie)

_________________
zz


2010-11-02, 14:36
Wyświetl profil
Ekspert
Ekspert

Rejestracja: 2007-11-16, 15:08
Posty: 4000
Pomógł: 448
Post 
Kod:
int Sub OnTwChanged(long lId)
   
dispatch xDk = xFactory.NewObject("BDokumentZo")

dispatch con = GetAdoConnection()
dispatch rs = "ADODB.Recordset"

string sSQL = using "SELECT * FROM ZP WHERE id = %l", lId

if rs.State == 1 then rs.Close()
rs.Open ( sSQL ,con,3)

if rs.RecordCount > 0 then

   xDk.Load(using "id=%l", rs.Fields("super").Value)
message xDk.kod
endif

_________________
Skontaktuj się z Ekspertem | Zamów dodatek

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


2010-11-02, 15:02
Wyświetl profil

Rejestracja: 2008-03-10, 14:01
Posty: 593
Post 
Dzięki, bardzo mi to ułatwi 'życie'

_________________
zz


2010-11-02, 15:18
Wyświetl profil

Rejestracja: 2007-11-15, 15:22
Posty: 55
Post 
A nie dało się samymi obiektami?
Po co ten kawałek z zapytaniem.


2010-11-02, 17:06
Wyświetl profil
Ekspert
Ekspert

Rejestracja: 2007-11-16, 15:08
Posty: 4000
Pomógł: 448
Post 
Może i można. Jak ktoś wie jak zrobić to samymi obiektami to proszę o info.

Aż prosiłoby się o użycie obiektu BPozycjaZo i załadowanie go danymi pozycji o ID zwracanym przez OnTwChanged. Jednak z tego co mi wiadomo obiekt BPozycjaZo nie może istnieć "sam". Czyli nie możemy zrobić czegoś takiego :
Kod:
dispatch xPo = xFactory.NewObject("BPozycjaZo")

tym badziej, że nie ma
Kod:
xPo.Load(using "id=%l", lId)

_________________
Skontaktuj się z Ekspertem | Zamów dodatek

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


2010-11-02, 22:55
Wyświetl profil

Rejestracja: 2009-09-22, 09:56
Posty: 112
Post 
A może rozszerzyć tok myślenia o dokument a nie tylko ograniczać się do pozycji ?!
Kod:
dispatch xDk, xPo
int Sub OnAddNewDokument(long lId)
   OnAddNewDokument = 0
   xDk = xFactory.NewObject("BDokumentZk")
   xDk.Load(using "id=%l", lId)
EndSub

int Sub OnTwChanged(long lId)
   OnTwChanged = 0
   xPo = xDk.pozycje
   Message using "DK: %l PO: %l ID: %l", xDk.id, xPo.item(xPo.Count).id, lId
EndSub


Na jednej stacji roboczej równocześnie wystawiane dwa dokumenty podawały mi właściwą ilość pozycji podczas dodawania kolejnej... to może być rozwiązanie :)
A jak wiemy... zawsze na końcu jest nowa pozycja :)


2010-11-03, 14:28
Wyświetl profil
Ekspert
Ekspert

Rejestracja: 2007-11-16, 15:08
Posty: 4000
Pomógł: 448
Post 
podoba mi się to rozwiązanie i wygląda, że działa
Kod:
dispatch xDk, xPo

int Sub OnAddNewDokument(long lId)
   
    xDk = xFactory.NewObject("BDokumentZo")
    xDk.Load(using "id=%l", lId)

   OnAddNewDokument = 0
EndSub

int Sub OnBeforeEdit(long lId)
   
    xDk = xFactory.NewObject("BDokumentZo")
    xDk.Load(using "id=%l", lId)

   OnBeforeEdit = 0
EndSub

int Sub OnBeforeBuforEdit(long lId)

    xDk = xFactory.NewObject("BDokumentZo")
    xDk.Load(using "id=%l", lId)

   OnBeforeBuforEdit = 0
EndSub

int Sub OnTwChanged(long lId)
   
   message xDk.kod   

   OnTwChanged = 0
EndSub


no i jest za pomocą obiektów :)

_________________
Skontaktuj się z Ekspertem | Zamów dodatek

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


2010-11-03, 15:11
Wyświetl profil

Rejestracja: 2008-03-10, 14:01
Posty: 593
Post 
Dziękuję za rady.

_________________
zz


2010-11-05, 11:36
Wyświetl profil

Rejestracja: 2009-09-22, 09:56
Posty: 112
Post 
Dodatkowa pora...

Ze względu na różne zmiany podczas edycji dokumentu, warto jest w każdym zdarzeniu ponowne wczytanie obiektu.
Przykładowo... stworzyliśmy powiązanie z dokumentem innym za pomocą procedur i do puki nie wczytamy ponownie obiektu, powiązanie nie będzie widoczne w obiekcie.
Więc OnTwChange powinno wyglądać prawidłowo tak:
Kod:
int Sub OnTwChanged(long lId)
    xDk = xFactory.NewObject("BDokumentZo")
    message xDk.kod   
    OnTwChanged = 0
EndSub


2010-11-14, 16:20
Wyświetl profil

Rejestracja: 2009-09-22, 09:56
Posty: 112
Post 
ZZ mile widziane kliknięcie na przycisk 'pomógł' ;)


2010-11-22, 01:37
Wyświetl profil

Rejestracja: 2008-03-10, 14:01
Posty: 593
Post 
Oczywiście...Przepraszam...
Ale w Chrome nie widać przycisku POMÓGŁ (może mam coś z ustawieniami, bo w IE jest)


Załączniki:
pomogl_IE.JPG
pomogl_IE.JPG [ 18.62 KiB | Przeglądany 6110 razy ]
pomogl_chrome.JPG
pomogl_chrome.JPG [ 15.79 KiB | Przeglądany 6110 razy ]

_________________
zz
2010-11-22, 08:59
Wyświetl profil
Wyświetl posty nie starsze niż:  Sortuj wg  
Odpowiedz w temacie   [ Posty: 15 ] 
   Podobne tematy   Autor   Odpowiedzi   Odsłony   Ostatni post 
Na tym forum nie ma nowych nieprzeczytanych postów. id dokumentu przy OnTwChanged

w Programowanie

zz

5

5536

2020-11-23, 08:27

zz Wyświetl najnowszy post

Na tym forum nie ma nowych nieprzeczytanych postów. Załączniki kod paskowy jako dodatkowy kod towaru (?)

[ Przejdź na stronę: 1, 2 ]

w Programy Handlowe

symfhan09

28

16991

2014-08-25, 13:48

symfhan09 Wyświetl najnowszy post

Na tym forum nie ma nowych nieprzeczytanych postów. TOWARY/ Kod obcy/ -jak zmienić przypisany kod obcy na inny?

w Programy Handlowe

Andrzejjj777

3

3928

2016-09-18, 14:10

Andrzejjj777 Wyświetl najnowszy post

Na tym forum nie ma nowych nieprzeczytanych postów. [Handel] Rodzaj towaru w onTwChanged

w Programy Handlowe

Zenek N

2

3292

2016-12-01, 15:32

rafal Wyświetl najnowszy post



Kto jest online

Użytkownicy przeglądający to forum: Google [Bot] i 10 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