03.08.2009, 17:03 | #1 |
Участник
|
Журнал межскладского перемещения
Добрый день. Так распорядились обстоятельства что пришлось познакомится и реализовать интеграцию с Аксаптой. И в одном "месте" случился небольшой затык, о чем прошу помощи у уважаемых специалистов. Создаю журнал межскладского перемещения, в инете нашел один пример кода, реализовал микс, добавив еще часть функционала "интуитивно", вроде документы создаются, клиент доволен. Код здесь не привожу, чтобы не загромождать тему, все хорошо но иногда при создании документа на некоторых позициях и складах появляются непонятные ошибки, которые как бы не влияют на функциональность, но их наличие меня раздражает, нет картины общей законченности))) Может кто по формулировке сразу определит в чем причина?
Текст ошибки примерно такой Складская аналитика переноса не в синхронизации. Полученное кол-во "Х" могло быть впоследствии обновлено с неправильной складской аналитикой. Если нужен код, то я приведу его.... |
|
03.08.2009, 18:23 | #2 |
MCITP
|
Класс InventUpdate, метод updateTransDimTransferReceipt() (в конце)...
Суть сообщения в общем случае примерно, насколько я могу судить, в том, что при изменении аналитики в строке меняется аналитика в расходных проводках, а после этого система пытается найти соответсвующие им приходные проводки и не может этого сделать по каким-то причинам. Например кто-то поменял аналитику у прихода и она теперь не соответсвуюет "соответсвующей" расходной проводке... Для более исчерпывающего ответа нужно разбираться в вашем коде и той ситуации, когда возникает проблема... ЗЫ То что у вас сообще ние вылазит именно при создании журнала, как вы пишете, наталкивает совсем на нехорошие мысли...
__________________
Zhirenkov Vitaly |
|
04.08.2009, 09:20 | #3 |
Участник
|
большое спасибо за ремарку, я приведу код, если вас не затруднит, может оставите свои комментария?
|
|
04.08.2009, 11:25 | #4 |
Участник
|
Может ноги от сюда растут.
Журнал переноса. Уменьшение кол-ва. Баг?
__________________
Энергия молодых и неравнодушных способна изменить мир к лучшему. |
|
04.08.2009, 12:02 | #5 |
MCITP
|
Цитата:
Сообщение от miklenew
Может ноги от сюда растут.
Журнал переноса. Уменьшение кол-ва. Баг? Ну попробуйте привести и описать в подробностях что и как происходит - вполне возможно кто-нить и подскажет что дельное...
__________________
Zhirenkov Vitaly |
|
05.08.2009, 15:41 | #6 |
Участник
|
ну вот собственно скелет кода
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; |
|
05.08.2009, 16:25 | #7 |
MCITP
|
Без понимания, что такое inventjournaltranstemplate, ничего точно сказать не могу.
Да и кто вас знает, что у вас там в XXX... Надеюсь вы InventTransId правильно формируете? Кстати, пробовали запускать свой код с открытым параллельно инфологом с сообщениями?
__________________
Zhirenkov Vitaly |
|
05.08.2009, 17:22 | #8 |
Участник
|
У вас указанные ячейки существуют? Если существуют, то они принадлежат именно тем складам, которые указываются?
|
|
06.08.2009, 13:26 | #9 |
Участник
|
|
|
06.08.2009, 15:33 | #10 |
Участник
|
Да, вероятность такой ошибки случае, если ячейки не принадлежат нужным складам, существует.
На самом деле ,в первую очередь я бы посоветовал закомментировать все, что относится к inventjournaltranstemplate (это не стандартный функционал). Если ошибки пропадут, то проблема в этой модификации. Если не пропадут (или пропадут и нужно будет найти источник проблемы), то воспользуйся советом: http://axapta.mazzy.ru/lib/exploreerror/ |
|
06.08.2009, 15:52 | #11 |
Участник
|
Первым делом нужно делать job, а не код какой-то не понятный выкладывать.
__________________
Энергия молодых и неравнодушных способна изменить мир к лучшему. |
|
06.08.2009, 23:23 | #12 |
----------------
|
вместо inventjournaltrans.insert();
надо использовать inventjournaltrans.insertFromCode(); может быть сообщение появляется при отрицательном qty? похоже, что срабатывает авторезирвирование, и изменение аналитик приходных проводок, но их не находит. думаю, правильным будет попытаться выполнить такой код прямо в Аксапте и посмотреть чтоже происходит. |
|
07.08.2009, 10:13 | #13 |
MCITP
|
Цитата:
Хотелось бы ввернуть ещё одно замечаньице, раз уж топикстартер версию не указал, то возвращаясь к теме "убирания неиспользуемых в стандарте методов" - в 2009 нет больше такого метода inventjournaltrans.insertFromCode();
__________________
Zhirenkov Vitaly |
|