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

[HMF2015] Zmiana znacznika dokumentu sprzdaży
https://forum.mix-soft.pl/viewtopic.php?f=15&t=6619
Strona 1 z 1

Autor:  alan0z [ 2015-04-29, 16:01 ]
Tytuł:  [HMF2015] Zmiana znacznika dokumentu sprzdaży

Wiem że tytuł brzmi jak dobry żart, ale klient nie chce mi odebrać rozwiązania, ponieważ... nie chce mi zadziałać metoda UstawZnacznik dla obiektu BDokumentSp.
Znana jest mi metoda ustawienia znacznika za pomocą bezpośredniego UPDATE na tabeli HM.DK, jest bardzo fajna i skuteczna. Jedyny problem to to, że po takim update nie odświeża się bieżący widok dokumentów sprzedaży.
By go rozwiązać, bezskutecznie próbuję wszelkimi sposobami użyć metody UstawZnacznik na dokumencie handlowym, bo liczę że taka zmiana poskutkuje odświeżeniem listy dokumentów sprzedaży.

Kod:
dispatch xDk = xFactory.NewObject("BDokumentSp")
xDk.Load("id='104114'")
message using "%l", xDk.znacznik                      // message '102' (ok)

// Próbuję na różne sposoby zmienić znacznik:
message using "%l", xDk.UstawZnacznik(101)                // message '-2147352563'
message using "%l", xDk.UstawZnacznik("101")                // message '-2147352563'
message using "%l", xDk.UstawZnacznik("subtyp='101'")          // message '-2147352563'
message using "%l", xDk.UstawZnacznik("id='101'")             // message '-2147352563'
message using "%l", xDk.UstawZnacznik("Info dodatkowe")         // message '-2147352563'
message using "%l", xDk.UstawZnacznik("nazwa='Info dodatkowe'")   // message '-2147352563'

// Próbuję go przeedytować - też źle :)
IORec dok
dok.SetField("id","104114")
dok.SetField("NumerZnacznika","101")
message using "edit %l", EditSP(dok) // message 0 - dokument jest nieedytowalny, bo jest to kontrakt, do którego wystawiono fakturę zaliczkową.


Teraz pytania do Państwa:
1) Czy metoda xDk.UstawZnacznik(*) działa, tylko ja źle jej używam? Jak tak, to jak to powinienem zrobić?
2) Czy istnieje w AmBasicu metoda na np. odświeżenie 'bieżącego' widoku dokumentów sprzedaży, którą mógłbym zastosować po ręcznej podmianie znacznika ?

Wersja HMF 15.0.528.0

Pozdrawiam.

Autor:  rafal [ 2015-04-30, 16:19 ]
Tytuł:  Re: [HMF2015] Zmiana znacznika dokumentu sprzdaży

1. UstawZnacznik działa tylko w trybie edycji dokumentu.
W związku z tym, że za pomocą obiektów (BDokumentSp) nie można edytować dokumentów to nie zadziała ta metoda.
Możesz jej użyć przy dodawaniu nowego dokumentu.

2. Za pomocą IoRec
Kod:
IORec dok
dok.SetField("id","104114")
dok.SetField("znacznik","66")
dok.EditSP()


3. Jeżeli zmienisz bezpośrednio w bazie musisz poinformować o tym otwarte programy (na Twoim i innych stanowiskach)
Możesz zrobić analogicznie do

viewtopic.php?f=15&t=3640

W Twoim przypadku będzie to
Kod:
INSERT INTO [HM].[LOG_BASE] (baseName, rec_id, operation, term)
VALUES "DK", 104114, 3, 999999

Autor:  alan0z [ 2015-04-30, 16:38 ]
Tytuł:  Re: [HMF2015] Zmiana znacznika dokumentu sprzdaży

Hej, dzięki za odpowiedź Rafał.
Tak jak napisałem w temacie - wpadłem na EditSP, ale to też nie to, bo jak do kontraktu mam zaliczkę to edycja nie jest możliwa.
Sposób nr 3 przetestuję jeszcze dziś, a jak to będzie strzał w dziesiątkę to stawiam "piwko" na jakimś zjeździe. ;)
Pzdr.

Autor:  rafal [ 2015-04-30, 16:49 ]
Tytuł:  Re: [HMF2015] Zmiana znacznika dokumentu sprzdaży

Na czym polega problem z fakturą do kontraktu?
Na takiej fakturze tez działa.

Autor:  alan0z [ 2015-04-30, 17:45 ]
Tytuł:  Re: [HMF2015] Zmiana znacznika dokumentu sprzdaży

Z fakturą nie ma problemu :) Ale ja chcę oznaczać kontrakt :) A EditSp na kontrakcie jest niemożliwe, gdy jest do niego wystawiona zaliczka.

Autor:  rafal [ 2015-05-01, 20:17 ]
Tytuł:  Re: [HMF2015] Zmiana znacznika dokumentu sprzdaży

alan0z pisze:
[...]
Sposób nr 3 przetestuję jeszcze dziś, [...]


nie zapomnij podzielić się tu rozwiązaniem :)

Autor:  alan0z [ 2015-05-04, 08:40 ]
Tytuł:  Re: [HMF2015] Zmiana znacznika dokumentu sprzdaży

Zostało mi podsunięte jeszcze jedno rozwiązanie, które zaskakuje prostotą i skutecznością, mianowicie:

Kod:
baseDK bDK
bDK.GetRecById(iddok)
bDK.SetField("znacznik",65)
bDK.DoUpdate()


Ta prosta symfonijna konstrukcja w pełni rozwiązuje opisywany problem (dokonuje odświeżenia okien).
Dzięki pozdrawiam!

Autor:  rafal [ 2015-05-04, 11:40 ]
Tytuł:  Re: [HMF2015] Zmiana znacznika dokumentu sprzdaży

Świetnie.

Niektórzy jednak nie zalecają pisania bezpośrednio do bazy danych.

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