|
![]() |
#1 |
MCITP
|
![]()
Класс InventUpdate, метод updateTransDimTransferReceipt() (в конце)...
Суть сообщения в общем случае примерно, насколько я могу судить, в том, что при изменении аналитики в строке меняется аналитика в расходных проводках, а после этого система пытается найти соответсвующие им приходные проводки и не может этого сделать по каким-то причинам. Например кто-то поменял аналитику у прихода и она теперь не соответсвуюет "соответсвующей" расходной проводке... Для более исчерпывающего ответа нужно разбираться в вашем коде и той ситуации, когда возникает проблема... ЗЫ То что у вас сообще ние вылазит именно при создании журнала, как вы пишете, наталкивает совсем на нехорошие мысли... ![]()
__________________
Zhirenkov Vitaly |
|
![]() |
#2 |
Участник
|
большое спасибо за ремарку, я приведу код, если вас не затруднит, может оставите свои комментария?
|
|
![]() |
#3 |
Участник
|
Может ноги от сюда растут.
Журнал переноса. Уменьшение кол-ва. Баг?
__________________
Энергия молодых и неравнодушных способна изменить мир к лучшему. |
|
![]() |
#4 |
MCITP
|
![]() Цитата:
Сообщение от miklenew
![]() Может ноги от сюда растут.
Журнал переноса. Уменьшение кол-ва. Баг? Ну попробуйте привести и описать в подробностях что и как происходит - вполне возможно кто-нить и подскажет что дельное...
__________________
Zhirenkov Vitaly |
|
![]() |
#5 |
Участник
|
ну вот собственно скелет кода
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; |
|
![]() |
#6 |
MCITP
|
![]()
Без понимания, что такое inventjournaltranstemplate, ничего точно сказать не могу.
![]() Да и кто вас знает, что у вас там в XXX... Надеюсь вы InventTransId правильно формируете? Кстати, пробовали запускать свой код с открытым параллельно инфологом с сообщениями? ![]()
__________________
Zhirenkov Vitaly |
|
![]() |
#7 |
Участник
|
У вас указанные ячейки существуют? Если существуют, то они принадлежат именно тем складам, которые указываются?
|
|