Программное создание строк журнала переноса
Всем добрый день.
Создаю программно строку в журнале переноса следующим кодом:
void createJournalTrans(InventJournalTable _inventJournalTable, ItemId _itemId,
CostPrice _costPrice, Qty _qty)
{
#define.priceUnit(1)
InventParameters inventParameters = InventParameters::find();
InventJournalTrans inventJournalTrans;
InventDim inventDim, toInventDim;
;
if(this.validateRecord(_itemId))
{
ttsbegin;
inventJournalTrans.clear();
inventJournalTrans.initFromInventJournalTable(_inventJournalTable);
inventJournalTrans.TransDate = systemDateGet();
inventJournalTrans.ItemId = _itemId;
inventJournalTrans.Qty = _qty;
inventJournalTrans.CostPrice = _costPrice;
inventJournalTrans.CostAmount = _qty * round(_costprice, 0.0001) ;
inventJournalTrans.PriceUnit = #priceUnit;
inventDim = inventJournalTrans.inventDim();
inventDim.InventGtdId_RU = this.getLastGTD(_itemId);
inventDim.InventLocationId = m_idInventLocationFrom.text();
toInventDim.InventGtdId_RU = this.getLastGTD(_itemId);
toInventDim = inventJournalTrans.toInventDim();
toInventDim.InventLocationId = m_idInventLocationTo.text();
inventJournalTrans.InventDimId = InventDim::findOrCreate(inventDim).inventDimId;
inventJournalTrans.ToInventDimId = InventDim::findOrCreate(toInventDim).inventDimId;
inventJournalTrans.insertFromCode();
ttscommit;
}
}
Но каждый раз Аксапта перезапускается, хотя строку создает. не подскажет ли кто в чем у меня ошибка.
И ещё вопрос. Как программно зарезервировать количество в данной строке?
|