24.04.2006, 16:24 | #1 |
Участник
|
Программное создание строк журнала переноса
Всем добрый день.
Создаю программно строку в журнале переноса следующим кодом: 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; } } Но каждый раз Аксапта перезапускается, хотя строку создает. не подскажет ли кто в чем у меня ошибка. И ещё вопрос. Как программно зарезервировать количество в данной строке? |
|
24.04.2006, 17:21 | #2 |
Участник
|
Про создание строк в складских журналах
http://axapta.mazzy.ru/lib/journaltrans_insert/ Обязательно посмотрите обсуждение http://forum.mazzy.ru/index.php?showtopic=4069 Про резервирование http://axapta.mazzy.ru/lib/reserve_from_code/ |
|
24.04.2006, 17:25 | #3 |
Участник
|
Я использовал эту статью и обсуждение, но проблема осталась.
|
|
24.04.2006, 17:42 | #4 |
NavAx
|
Цитата:
Сообщение от Freeangel
Но каждый раз Аксапта перезапускается, хотя строку создает. не подскажет ли кто в чем у меня ошибка.
Цитата:
Сообщение от Freeangel
inventJournalTrans.CostAmount = _qty * round(_costprice, 0.0001) ;
inventJournalTrans.PriceUnit = #priceUnit; Цитата:
Сообщение от Freeangel
Как программно зарезервировать количество в данной строке?
__________________
Isn't it nice when things just work? |
|
24.04.2006, 18:01 | #5 |
Участник
|
Цитата:
Сообщение от Freeangel
Я использовал эту статью и обсуждение, но проблема осталась.
|
|
25.04.2006, 09:58 | #6 |
Участник
|
Спасибо. Буду искать в чем ошибка.
|
|
25.04.2006, 18:31 | #7 |
Участник
|
Попробовал повторить ваш код - все нормально, аксапта не закрылась, строка создалась.
Может ошибка где-нибудь в методах this.getLastGTD или m_idInventLocationTo.text(). |
|
|
|