AXForum  
Вернуться   AXForum > Microsoft Dynamics AX > DAX: Программирование
All
Забыли пароль?
Зарегистрироваться Правила Справка Пользователи Сообщения за день Поиск

 
 
Опции темы Поиск в этой теме Опции просмотра
Старый 03.08.2009, 17:03   #1  
<empty> is offline
<empty>
Участник
 
4 / 10 (1) +
Регистрация: 03.08.2009
Журнал межскладского перемещения
Добрый день. Так распорядились обстоятельства что пришлось познакомится и реализовать интеграцию с Аксаптой. И в одном "месте" случился небольшой затык, о чем прошу помощи у уважаемых специалистов. Создаю журнал межскладского перемещения, в инете нашел один пример кода, реализовал микс, добавив еще часть функционала "интуитивно", вроде документы создаются, клиент доволен. Код здесь не привожу, чтобы не загромождать тему, все хорошо но иногда при создании документа на некоторых позициях и складах появляются непонятные ошибки, которые как бы не влияют на функциональность, но их наличие меня раздражает, нет картины общей законченности))) Может кто по формулировке сразу определит в чем причина?
Текст ошибки примерно такой

Складская аналитика переноса не в синхронизации. Полученное кол-во "Х" могло быть впоследствии обновлено с неправильной складской аналитикой.

Если нужен код, то я приведу его....
Старый 03.08.2009, 18:23   #2  
ZVV is offline
ZVV
MCITP
MCP
Oracle
MCBMSS
 
1,006 / 246 (11) ++++++
Регистрация: 13.02.2004
Адрес: Минск
->
Класс InventUpdate, метод updateTransDimTransferReceipt() (в конце)...

Суть сообщения в общем случае примерно, насколько я могу судить, в том, что при изменении аналитики в строке меняется аналитика в расходных проводках, а после этого система пытается найти соответсвующие им приходные проводки и не может этого сделать по каким-то причинам. Например кто-то поменял аналитику у прихода и она теперь не соответсвуюет "соответсвующей" расходной проводке...

Для более исчерпывающего ответа нужно разбираться в вашем коде и той ситуации, когда возникает проблема...

ЗЫ То что у вас сообще ние вылазит именно при создании журнала, как вы пишете, наталкивает совсем на нехорошие мысли...
__________________
Zhirenkov Vitaly
Старый 04.08.2009, 09:20   #3  
<empty> is offline
<empty>
Участник
 
4 / 10 (1) +
Регистрация: 03.08.2009
большое спасибо за ремарку, я приведу код, если вас не затруднит, может оставите свои комментария?
Старый 04.08.2009, 11:25   #4  
miklenew is offline
miklenew
Участник
Аватар для miklenew
MCBMSS
1C
Лучший по профессии 2009
 
1,688 / 433 (18) +++++++
Регистрация: 10.07.2006
Адрес: г. Ликино-Дулёво
Может ноги от сюда растут.
Журнал переноса. Уменьшение кол-ва. Баг?
__________________
Энергия молодых и неравнодушных способна изменить мир к лучшему.
Старый 04.08.2009, 12:02   #5  
ZVV is offline
ZVV
MCITP
MCP
Oracle
MCBMSS
 
1,006 / 246 (11) ++++++
Регистрация: 13.02.2004
Адрес: Минск
->
Цитата:
Сообщение от miklenew Посмотреть сообщение
Может ноги от сюда растут.
Журнал переноса. Уменьшение кол-ва. Баг?
Вполне возможно, однако смущает, что человек пишет про создание документа...

Цитата:
Сообщение от <empty> Посмотреть сообщение
большое спасибо за ремарку, я приведу код, если вас не затруднит, может оставите свои комментария?
Ну попробуйте привести и описать в подробностях что и как происходит - вполне возможно кто-нить и подскажет что дельное...
__________________
Zhirenkov Vitaly
Старый 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;
Старый 05.08.2009, 16:25   #7  
ZVV is offline
ZVV
MCITP
MCP
Oracle
MCBMSS
 
1,006 / 246 (11) ++++++
Регистрация: 13.02.2004
Адрес: Минск
->
Без понимания, что такое inventjournaltranstemplate, ничего точно сказать не могу.
Да и кто вас знает, что у вас там в XXX...
Надеюсь вы InventTransId правильно формируете?

Кстати, пробовали запускать свой код с открытым параллельно инфологом с сообщениями?
__________________
Zhirenkov Vitaly
Старый 05.08.2009, 17:22   #8  
Raven Melancholic is offline
Raven Melancholic
Участник
Аватар для Raven Melancholic
Самостоятельные клиенты AX
Лучший по профессии 2015
 
2,164 / 1293 (48) ++++++++
Регистрация: 21.03.2005
Адрес: Москва-Петушки
У вас указанные ячейки существуют? Если существуют, то они принадлежат именно тем складам, которые указываются?
Старый 06.08.2009, 13:26   #9  
<empty> is offline
<empty>
Участник
 
4 / 10 (1) +
Регистрация: 03.08.2009
Цитата:
Сообщение от Raven Melancholic Посмотреть сообщение
У вас указанные ячейки существуют? Если существуют, то они принадлежат именно тем складам, которые указываются?
хороший вопрос, ну по идеи да )))
а что может в этом проблема? я поставлю проверку
Старый 06.08.2009, 15:33   #10  
Raven Melancholic is offline
Raven Melancholic
Участник
Аватар для Raven Melancholic
Самостоятельные клиенты AX
Лучший по профессии 2015
 
2,164 / 1293 (48) ++++++++
Регистрация: 21.03.2005
Адрес: Москва-Петушки
Да, вероятность такой ошибки случае, если ячейки не принадлежат нужным складам, существует.
На самом деле ,в первую очередь я бы посоветовал закомментировать все, что относится к inventjournaltranstemplate (это не стандартный функционал). Если ошибки пропадут, то проблема в этой модификации. Если не пропадут (или пропадут и нужно будет найти источник проблемы), то воспользуйся советом:
http://axapta.mazzy.ru/lib/exploreerror/
Старый 06.08.2009, 15:52   #11  
miklenew is offline
miklenew
Участник
Аватар для miklenew
MCBMSS
1C
Лучший по профессии 2009
 
1,688 / 433 (18) +++++++
Регистрация: 10.07.2006
Адрес: г. Ликино-Дулёво
Первым делом нужно делать job, а не код какой-то не понятный выкладывать.
__________________
Энергия молодых и неравнодушных способна изменить мир к лучшему.
Старый 06.08.2009, 23:23   #12  
Wamr is offline
Wamr
----------------
Лучший по профессии 2014
Лучший по профессии AXAWARD 2013
 
1,737 / 858 (32) +++++++
Регистрация: 15.01.2002
Адрес: Москва
Записей в блоге: 7
вместо inventjournaltrans.insert();
надо использовать inventjournaltrans.insertFromCode();

может быть сообщение появляется при отрицательном qty?

похоже, что срабатывает авторезирвирование, и изменение аналитик приходных проводок, но их не находит.

думаю, правильным будет попытаться выполнить такой код прямо в Аксапте и посмотреть чтоже происходит.
Старый 07.08.2009, 10:13   #13  
ZVV is offline
ZVV
MCITP
MCP
Oracle
MCBMSS
 
1,006 / 246 (11) ++++++
Регистрация: 13.02.2004
Адрес: Минск
->
Цитата:
Сообщение от Wamr Посмотреть сообщение
вместо inventjournaltrans.insert();
надо использовать inventjournaltrans.insertFromCode();
Сомневаюсь, что даная ошибка именно из-за этого вылазит, хотя замечание верное.

Хотелось бы ввернуть ещё одно замечаньице, раз уж топикстартер версию не указал, то возвращаясь к теме "убирания неиспользуемых в стандарте методов" - в 2009 нет больше такого метода inventjournaltrans.insertFromCode();
__________________
Zhirenkov Vitaly
Теги
перемещение, журнал переноса

 

Похожие темы
Тема Автор Раздел Ответов Посл. сообщение
Не отображается журнал прибытия в форме WMSJournalTable. Кирен DAX: Программирование 4 14.05.2009 12:01
Отрицательное значение "В наличии" после складского перемещения Yars DAX: Функционал 1 26.05.2005 15:59
Права доступа - Журнал платежей SDA DAX: Прочие вопросы 1 20.09.2004 23:10
Журнал спецификаций Lol14 DAX: Функционал 13 16.06.2003 13:10
Журнал коммерческих соглашений Роман Кошелев DAX: Функционал 4 08.08.2002 16:59

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.
Быстрый переход

Рейтинг@Mail.ru
Часовой пояс GMT +3, время: 16:55.