ну вот собственно скелет кода
inventjournaltable.clear();
inventjournaltable.initValue();
заполняем inventjournaltable
ttsbegin;
inventjournaltable.write();
journaltabledata = JournalTableData::newTable(inventjournaltable);
inventdim.clear();
inventdim.initValue();
inventdim.InventLocationId = ХХХ;
inventdim.wMSLocationId = ХХХ;
inventdim = InventDim::findOrCreate(inventdim);
inventdimto.clear();
inventdimto.initValue();
inventdimto.InventLocationId = ХХХ;
inventdimto.wMSLocationId = ХХХ;
inventdimto = InventDim::findOrCreate(inventdimto);
цикл
inventjournaltrans.clear();
inventjournaltrans.initFromInventJournalTable(inventjournaltable);
journaltransdata = new journalTransData(inventjournaltrans, journaltabledata);
inventjournaltrans.LineNum = XXX;
inventjournaltrans.TransDate = SystemDateGet();
inventjournaltrans.ItemId = XXX;
inventjournaltrans.qty = XXX;
inventjournaltrans.toInventDimId = inventdimto.inventDimId;
inventjournaltrans.priceunit = XXX;
inventjournaltrans.InventTransId = XXX;
inventjournaltrans.InventDimId = inventdim.inventDimId;
inventjournaltrans.insert();
inventjournaltranstemplate.clear();
inventjournaltranstemplate.initFromInventJournalTable(inventjournaltable);
inventjournaltranstemplate.itemid = XXX;
inventjournaltranstemplate.InventDimId = inventdim.inventDimId;
inventjournaltranstemplate.Qty = XXX;
inventjournaltranstemplate.TransDate = SystemDateGet();
inventjournaltranstemplate.ToInventDimId = inventdimto.inventDimId;
inventjournaltranstemplate.insert();
вот здесь обработка ошибок, походу она и возникает, я ее фиксирую
if (infolog.line() > 0)
{}
....
конец цикла
ttscommit;
|