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

Modyfikacja dokumentu poprzez obiekty
https://forum.mix-soft.pl/viewtopic.php?f=15&t=1064
Strona 1 z 1

Autor:  Benji_Pete [ 2009-08-03, 15:27 ]
Tytuł:  Modyfikacja dokumentu poprzez obiekty

Witam.

Mam takie pytanie

Chciałbym poprzez raport zmodyfikować dokument(y).
Zaznaczam interesujące mnie dokumenty sprzedaży i zbieram ich ID do tablicy w taki sposób:

Kod:
long zazn(1)

if SetTaggedPos(FS) then
   zazn(1) = GetLineID()
   while SetTaggedPos(NX)
      grow zazn,1
      zazn(size(zazn))=GetLineID()
   wend
endif


Teraz tworzę obiekt:

Kod:
xDocument=GetObjById("BDokumentSp",zazn(1))


Odczytywanie wartości obiektu jest możliwe. Testowe wydrukowanie niektórych właściwości:

Kod:
Print xDocument.DataSprzedazy,LF
Print xDocument.DataWystawienia,LF
Print xDocument.TerminPlatnosci,LF


Niestety nie wiem jak zapisać właściwość. Wiem, że mogę to zrobić przez SQL i Recordsety, ale czy można także przez obiekty. Spodziewam się, że przez obiekty zapisze mi się to we wszystkich tabelach powiązanych z dokumentami (np. OP czy TR). Poprzez recordsety poprawię tylko jedno pole.

Proszę o pomoc.

Dziękuję

Autor:  Notos [ 2009-08-03, 16:19 ]
Tytuł: 

Niestety obiekty od dokumentów nie są edycyjne.
Jedyną opcją edycji dokumentów jest IORec.

Kod:
dispatch xdk = xFactory.NewObject("BDokumentSp")
dispatch xio = xFactory.NewObject("BIORec")
dispatch xf = xFactory.NewObject("BFunkcja")
xdk.Load("kod=FV7/07/09")
xio.SetField("id", using "%d", xdk.id)
xio.SetField("opis", "nowy opis")
//zmiana ceny pozycji
xio.BeginSection("Pozycja dokumentu")
  xio.SetField("opis","szybki procek")
  xio.SetField("cena","1")
xio.EndSection()
xf.EditSp(xio)

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