Показать сообщение отдельно
Старый 05.08.2009, 15:41   #6  
<empty> is offline
<empty>
Участник
 
4 / 10 (1) +
Регистрация: 03.08.2009
ну вот собственно скелет кода

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;