home K2»Infoservis»Diskusní fórum»Zápis do podřízeného modulu v LUNA

Téma založil Macků Mílek
Poslední příspěvek přidal Macků Mílek 14. prosince 2020 12:40:50. Téma obsahuje 5 odpovědi.
Modul: Proces:
4. prosince 2020 10:21:22
  • Macků Mílek
  • Registrován14.1.2009
  • Naposledy přihlášen 13.2.2025
Dobrý den, potřeboval bych poradit, co dělám špatně, program proběhne ale věty se nezapíšou.

MojeZbo.BeginEdit(RemEdit);
try
MojeZbo.RelatedGoodsChild.BeginEdit(remAppend);
MojeZbo.RelatedGoodsChild.RelationType := Vety.Vztah;
MojeZbo.RelatedGoodsChild.GoodsId := Podrizene.Cis;
MojeZbo.RelatedGoodsChild.MasterGoodsId := MojeZbo.Cis;
MojeZbo.RelatedgoodsChild.SaveEdit;
finally
MojeZbo.RelatedGoodsChild.EndEdit;
MojeZbo.EndEdit;
ToLog('Importována související položka ' + trim(Vety.Souvisejici) + ' pro Zboží ' + trim(Vety.Zkratka),0);
end;

end;
GauClose();
ToLog('Import souvisejících ukončen dne ' + DateToStr(date()) + ' v ' + TimeToStr(time()),0);
CloseCell;

4. prosince 2020 10:37:01
Dobrý den,
neukládáte doklad MojeZbo.SaveEdit;
Doporučuji použít konstrukci with, která vše potřebné zajistí sama:

with MojeZbo do (remEdit) do begin
nastavení hodnot;
with MojeZbo.RelatedGoodsChild do (remAppend) begin
nastavení hodnot;
end;
end;

Jak vidíte, tak není potřeba žádný blok try .. finally.

4. prosince 2020 15:04:43
  • Macků Mílek
  • Registrován14.1.2009
  • Naposledy přihlášen 13.2.2025
Děkuji moc, zejména ta varianta s with se mi moc líbí.

11. prosince 2020 12:24:53
  • Macků Mílek
  • Registrován14.1.2009
  • Naposledy přihlášen 13.2.2025
A ještě se zeptám, je možné otestovat v rámci tohoto cyklu existenci věty se stejným recordID?

11. prosince 2020 16:13:50
Tohle není cyklus. To je uložení záznamu co bylo předtím BeginEdit – SaveEdit – EndEdit. Existenci záznamu musíte řešit před tím. Možná by byl lepší konkrétní příklad, ať každý nemyslíme něco jiného.

14. prosince 2020 12:40:50
  • Macků Mílek
  • Registrován14.1.2009
  • Naposledy přihlášen 13.2.2025
Děkuji, již jsem to vyřešil, chyba byla samozřejmě na mé straně.