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

 
 
Опции темы Поиск в этой теме Опции просмотра
Старый 11.10.2007, 17:37   #1  
Starling is offline
Starling
Участник
Дети Юза
 
530 / 76 (4) ++++
Регистрация: 20.10.2005
Адрес: Kiev
Ошибка при разноске складских движений
Ситуация следующая
AX40, SP2
Не модифицированное приложение + Демоданные
Пытаюсь разнести любое складское движение, получаю ошибку
"База данных SQL обнаружила ошибку"
Посмотрел код - ошибка возникает в методе updateInventSumAdvancedHelper() класса InventUpdateOnHand при выполнении кода
PHP код:
new Connection().createStatement().executeUpdate(statement); 
Операции не связанные со складскими движениями проходят без проблем.
На этом же приложении но с другой инсталяцией СКЛ проблем нет.
Куда копать?
Старый 11.10.2007, 17:39   #2  
Starling is offline
Starling
Участник
Дети Юза
 
530 / 76 (4) ++++
Регистрация: 20.10.2005
Адрес: Kiev
И еще в Event Viewer пишет по этому поводу вот такую гадость:
Object Server 01: The database reported (session 3 (Admin)): [Microsoft][ODBC SQL Server Driver][SQL Server]Line 1: Incorrect syntax near 'tst'.. The SQL statement was: "execute sp_executesql N'UPDATE INVENTSUM SET INVENTSUM.POSTEDQTY = INVENTSUM.POSTEDQTY + INVENTSUMDELTA.SUM_POSTEDQTY, INVENTSUM.POSTEDVALUE = INVENTSUM.POSTEDVALUE + INVENTSUMDELTA.SUM_POSTEDVALUE, INVENTSUM.DEDUCTED = INVENTSUM.DEDUCTED + INVENTSUMDELTA.SUM_DEDUCTED, INVENTSUM.RECEIVED = INVENTSUM.RECEIVED + INVENTSUMDELTA.SUM_RECEIVED, INVENTSUM.RESERVORDERED = INVENTSUM.RESERVORDERED + INVENTSUMDELTA.SUM_RESERVORDERED, INVENTSUM.RESERVPHYSICAL = INVENTSUM.RESERVPHYSICAL + INVENTSUMDELTA.SUM_RESERVPHYSICAL, INVENTSUM.ONORDER = INVENTSUM.ONORDER + INVENTSUMDELTA.SUM_ONORDER, INVENTSUM.ORDERED = INVENTSUM.ORDERED + INVENTSUMDELTA.SUM_ORDERED, INVENTSUM.QUOTATIONISSUE = INVENTSUM.QUOTATIONISSUE + INVENTSUMDELTA.SUM_QUOTATIONISSUE, INVENTSUM.QUOTATIONRECEIPT = INVENTSUM.QUOTATIONRECEIPT + INVENTSUMDELTA.SUM_QUOTATIONRECEIPT, INVENTSUM.REGISTERED = INVENTSUM.REGISTERED + INVENTSUMDELTA.SUM_REGISTERED, INVENTSUM.PICKED = INVENTSUM.PICKED + INVENTSUMDELTA.SUM_PICKED, INVENTSUM.AVAILORDERED = INVENTSUM.AVAILORDERED + INVENTSUMDELTA.SUM_AVAILORDERED, INVENTSUM.AVAILPHYSICAL = INVENTSUM.AVAILPHYSICAL + INVENTSUMDELTA.SUM_AVAILPHYSICAL, INVENTSUM.PHYSICALVALUE = INVENTSUM.PHYSICALVALUE + INVENTSUMDELTA.SUM_PHYSICALVALUE, INVENTSUM.ARRIVED = INVENTSUM.ARRIVED + INVENTSUMDELTA.SUM_ARRIVED, INVENTSUM.PHYSICALINVENT = INVENTSUM.PHYSICALINVENT + INVENTSUMDELTA.SUM_PHYSICALINVENT, INVENTSUM.PHYSICALVALUESECCUR_RU = INVENTSUM.PHYSICALVALUESECCUR_RU + INVENTSUMDELTA.SUM_PHYSICALVALUESECCUR_RU, INVENTSUM.POSTEDVALUESECCUR_RU = INVENTSUM.POSTEDVALUESECCUR_RU + INVENTSUMDELTA.SUM_POSTEDVALUESECCUR_RU, INVENTSUM.LASTUPDDATEPHYSICAL = CASE WHEN INVENTSUM.LASTUPDDATEPHYSICAL > INVENTSUMDELTA.MAX_LASTUPDDATEPHYSICAL THEN INVENTSUM.LASTUPDDATEPHYSICAL ELSE INVENTSUMDELTA.MAX_LASTUPDDATEPHYSICAL END , INVENTSUM.LASTUPDDATEEXPECTED = CASE WHEN INVENTSUM.LASTUPDDATEEXPECTED > INVENTSUMDELTA.MAX_LASTUPDDATEEXPECTED THEN INVENTSUM.LASTUPDDATEEXPECTED ELSE INVENTSUMDELTA.MAX_LASTUPDDATEEXPECTED END , INVENTSUM.CLOSEDQTY = CASE WHEN ((INVENTSUM.POSTEDQTY + INVENTSUMDELTA.SUM_POSTEDQTY) = 0 AND (INVENTSUM.DEDUCTED + INVENTSUMDELTA.SUM_DEDUCTED) = 0 AND (INVENTSUM.PICKED + INVENTSUMDELTA.SUM_PICKED) = 0 AND (INVENTSUM.RECEIVED + INVENTSUMDELTA.SUM_RECEIVED) = 0 AND (INVENTSUM.REGISTERED + INVENTSUMDELTA.SUM_REGISTERED) = 0 AND (INVENTSUM.RESERVPHYSICAL + INVENTSUMDELTA.SUM_RESERVPHYSICAL) = 0 AND (INVENTSUM.RESERVORDERED + INVENTSUMDELTA.SUM_RESERVORDERED) = 0 AND (INVENTSUM.ONORDER + INVENTSUMDELTA.SUM_ONORDER) = 0 AND (INVENTSUM.ORDERED + INVENTSUMDELTA.SUM_ORDERED) = 0 AND (INVENTSUM.ARRIVED + INVENTSUMDELTA.SUM_ARRIVED) = 0 AND (INVENTSUM.QUOTATIONISSUE + INVENTSUMDELTA.SUM_QUOTATIONISSUE) = 0 AND (INVENTSUM.QUOTATIONRECEIPT + INVENTSUMDELTA.SUM_QUOTATIONRECEIPT) = 0) THEN 1 ELSE 0 END,INVENTSUM.CLOSED = CASE WHEN ((INVENTSUM.POSTEDQTY + INVENTSUMDELTA.SUM_POSTEDQTY) = 0 AND (INVENTSUM.DEDUCTED + INVENTSUMDELTA.SUM_DEDUCTED) = 0 AND (INVENTSUM.PICKED + INVENTSUMDELTA.SUM_PICKED) = 0 AND (INVENTSUM.RECEIVED + INVENTSUMDELTA.SUM_RECEIVED) = 0 AND (INVENTSUM.REGISTERED + INVENTSUMDELTA.SUM_REGISTERED) = 0 AND (INVENTSUM.RESERVPHYSICAL + INVENTSUMDELTA.SUM_RESERVPHYSICAL) = 0 AND (INVENTSUM.RESERVORDERED + INVENTSUMDELTA.SUM_RESERVORDERED) = 0 AND (INVENTSUM.ONORDER + INVENTSUMDELTA.SUM_ONORDER) = 0 AND (INVENTSUM.ORDERED + INVENTSUMDELTA.SUM_ORDERED) = 0 AND (INVENTSUM.ARRIVED + INVENTSUMDELTA.SUM_ARRIVED) = 0 AND (INVENTSUM.QUOTATIONISSUE + INVENTSUMDELTA.SUM_QUOTATIONISSUE) = 0 AND (INVENTSUM.QUOTATIONRECEIPT + INVENTSUMDELTA.SUM_QUOTATIONRECEIPT) = 0 AND (INVENTSUM.POSTEDVALUE + INVENTSUMDELTA.SUM_POSTEDVALUE) = 0 AND (INVENTSUM.PHYSICALVALUE + INVENTSUMDELTA.SUM_PHYSICALVALUE) = 0) THEN 1 ELSE 0 END FROM (SELECT SUM(POSTEDQTY) AS SUM_POSTEDQTY, SUM(POSTEDVALUE) AS SUM_POSTEDVALUE, SUM(DEDUCTED) AS SUM_DEDUCTED, SUM(RECEIVED) AS SUM_RECEIVED, SUM(RESERVORDERED) AS SUM_RESERVORDERED, SUM(RESERVPHYSICAL) AS SUM_RESERVPHYSICAL, SUM(ONORDER) AS SUM_ONORDER, SUM(ORDERED) AS SUM_ORDERED, SUM(QUOTATIONISSUE) AS SUM_QUOTATIONISSUE, SUM(QUOTATIONRECEIPT) AS SUM_QUOTATIONRECEIPT, SUM(REGISTERED) AS SUM_REGISTERED, SUM(PICKED) AS SUM_PICKED, SUM(AVAILORDERED) AS SUM_AVAILORDERED, SUM(AVAILPHYSICAL) AS SUM_AVAILPHYSICAL, SUM(PHYSICALVALUE) AS SUM_PHYSICALVALUE, SUM(ARRIVED) AS SUM_ARRIVED, SUM(PHYSICALINVENT) AS SUM_PHYSICALINVENT, SUM(PHYSICALVALUESECCUR_RU) AS SUM_PHYSICALVALUESECCUR_RU, SUM(POSTEDVALUESECCUR_RU) AS SUM_POSTEDVALUESECCUR_RU, MAX(LASTUPDDATEPHYSICAL) AS MAX_LASTUPDDATEPHYSICAL, MAX(LASTUPDDATEEXPECTED) AS MAX_LASTUPDDATEEXPECTED, INVENTSUMDELTA.ITEMID, INVENTSUMDELTA.INVENTDIMID FROM INVENTSUMDELTA WHERE INVENTSUMDELTA.DATAAREAID = @p1 AND INVENTSUMDELTA.TTSID = @p2 AND INVENTSUMDELTA.ISAGGREGATED = 0 GROUP BY INVENTSUMDELTA.ITEMID, INVENTSUMDELTA.INVENTDIMID) AS INVENTSUMDELTA WHERE INVENTSUM.DATAAREAID = @p1 AND INVENTSUM.ITEMID = INVENTSUMDELTA.ITEMID AND INVENTSUM.INVENTDIMID = INVENTSUMDELTA.INVENTDIMID',N'@p1 NVARCHAR(3), @p2 BIGINT',@p1='tst', @p2=''tst''"

For more information, see Help and Support Center at

tst - название компании
Старый 12.10.2007, 10:45   #3  
fed is offline
fed
Moderator
Аватар для fed
Ex AND Project
Соотечественники
Лучший по профессии 2017
Лучший по профессии 2015
Лучший по профессии 2014
Лучший по профессии AXAWARD 2013
Лучший по профессии 2011
Лучший по профессии 2009
 
2,907 / 5717 (196) ++++++++++
Регистрация: 13.03.2002
Адрес: Hüfingen,DE
Вчера с slava09 разбирались с аналогичной проблемой. С большой вероятностью - неаккуратно накачен sp2. То есть - международную часть накатили, а восточноевропейскую нет.
Если посмотреть на этот здоровый кусок SQL-кода, то там декларируется два параметра, а передать она пытается три. Вскрытие показало, что третий параметр появился только в SP2, на слое SYP. В то же время, если не накатить новый слой GLP из восточноевропейского SP2, то на слое GLS остается старый код - с двумя параметрами. Ну и в результате совместных усилий кусков кода из SP1 и SP2, образуется SQL-код, в котором параметру типа BIGINT присваивается строка с именем компании.
Старый 12.10.2007, 11:41   #4  
slava09 is offline
slava09
Участник
Аватар для slava09
MCBMSS
Дети Юза
1C
 
1,642 / 237 (11) ++++++
Регистрация: 06.03.2003
Адрес: Украина, Киев
В эту тему хочется еще добавить вопрос о перекомпиляции приложения AX 4.1 SP2.
Я делал перекомипиляцию с результатом 8 ошибок.
Это у всех так или нет?
__________________
С уважением Шатохин Святослав.
Старый 12.10.2007, 11:51   #5  
glibs is offline
glibs
Member
Сотрудники компании It Box
Most Valuable Professional
Лучший по профессии 2011
Лучший по профессии 2009
 
4,942 / 911 (40) +++++++
Регистрация: 10.06.2002
Адрес: I am from Kyiv, Ukraine. Now I am in Moscow. For private contacts: glibs@hotmail.com
Если речь идет о AX 4.0 SP2, то у меня ошибок не было. Но и русскую ЗП я не накатывал.
__________________
С уважением,
glibs®
Старый 12.10.2007, 13:41   #6  
slava09 is offline
slava09
Участник
Аватар для slava09
MCBMSS
Дети Юза
1C
 
1,642 / 237 (11) ++++++
Регистрация: 06.03.2003
Адрес: Украина, Киев
Цитата:
Сообщение от glibs Посмотреть сообщение
Если речь идет о AX 4.0 SP2, то у меня ошибок не было. Но и русскую ЗП я не накатывал.
Я сначала накатил, но потом LOS слой удалил...
__________________
С уважением Шатохин Святослав.
За это сообщение автора поблагодарили: Starling (1).
Старый 12.10.2007, 13:36   #7  
Starling is offline
Starling
Участник
Дети Юза
 
530 / 76 (4) ++++
Регистрация: 20.10.2005
Адрес: Kiev
Полностью снес и установил заново и Аксапту и SP2. Не помогло
При инсталляции использовал такие же настройки, как и мой коллега, у которого подобных проблем не возникает.

Щас буду сносить MSQL и ставить его заново.

P.S. - при глобальной компиляции получил сообщение о 12 ошибках
Старый 12.10.2007, 13:40   #8  
Starling is offline
Starling
Участник
Дети Юза
 
530 / 76 (4) ++++
Регистрация: 20.10.2005
Адрес: Kiev
to fed:
Цитата:
Если посмотреть на этот здоровый кусок SQL-кода, то там декларируется два параметра, а передать она пытается три. Вскрытие показало, что третий параметр появился только в SP2, на слое SYP. В то же время, если не накатить новый слой GLP из восточноевропейского SP2, то на слое GLS остается старый код - с двумя параметрами.
а о каком коде идет речь?
Старый 12.10.2007, 14:00   #9  
fed is offline
fed
Moderator
Аватар для fed
Ex AND Project
Соотечественники
Лучший по профессии 2017
Лучший по профессии 2015
Лучший по профессии 2014
Лучший по профессии AXAWARD 2013
Лучший по профессии 2011
Лучший по профессии 2009
 
2,907 / 5717 (196) ++++++++++
Регистрация: 13.03.2002
Адрес: Hüfingen,DE
Запрос формирует метод inventUpdateOnHand.sqlUpdateInventSumStrSQLServer, а параметры туда подставляет inventUpdateOnHand.sqlUpdateStr. В sp1, первый из этих методов был по мелочи подправлен локализаторами на слое GLS. В sp2 международные разработчики подправили оба метода на слое syp. (Добавили третий параметр в формируемом SQL Block). В связи с этим, локализаторам пришлось замерджить обновления и положить их на GLP. Если у вас слой GLP не установлен, то получается комбинация первого метода (из слоя GLS с созданием двух параметров) и второго (с слоя SYP - с подстановкой трех аргументов)
За это сообщение автора поблагодарили: Starling (1).
Старый 12.10.2007, 14:21   #10  
Starling is offline
Starling
Участник
Дети Юза
 
530 / 76 (4) ++++
Регистрация: 20.10.2005
Адрес: Kiev
Бррр...
1. Сравниваю класс inventUpdateOnHand моего приложения и приложение коллеги. Они разные при том, что установка выполнялась абсолютно идентично
2. Пробую импортировать класс inventUpdateOnHand в мое приложение. Импорт происходит без каких либо сбоев и результатов, т.е. класс inventUpdateOnHand в моем приложении остается без изменений.

Всем спасибо, в чем проблема уже понятно, осталось ее решить.
Теги
ax4.0

 

Похожие темы
Тема Автор Раздел Ответов Посл. сообщение
Ошибка при разноске касс (только по кредиту) через общий журнал Aquarius DAX: Функционал 12 28.01.2008 20:13
Сумма и количество складских проводок при разноске складских журналов vasiliy DAX: Программирование 0 04.08.2005 11:04
Ошибка при разноске журнала переноса ATimTim DAX: Функционал 5 01.09.2004 15:24
Ошибка при разноске Инвентаризации dyatlowsky DAX: Функционал 2 01.06.2004 11:29
Русская локализация Axapta 3 ? SlavaK DAX: Администрирование 59 01.07.2003 22:38

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

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

Рейтинг@Mail.ru
Часовой пояс GMT +3, время: 22:32.
Powered by vBulletin® v3.8.5. Перевод: zCarot
Контактная информация, Реклама.