AXForum  
Zurück   AXForum > Microsoft Dynamics AX > DAX: Программирование
All
Kennwort vergessen?
Registrieren Forum Rules Hilfe Benutzerliste Heutige Beiträge Suchen

 
 
Themen-Optionen Thema durchsuchen Ansicht
Alt 01.12.2020, 03:00   #1  
Dozer ist offline
Dozer
Участник
AxAssist
Соотечественники
 
107 / 24 (1) +++
Registriert seit: 16.11.2004
Ort: г. Калгари, Канада
Програмное изменение количества в строке заказа
Добрый день,

Я сегодня внезапно столкнулся с проблемой, что когда я через код изменяю значениe PurchLine.PurchQty, и сохраняю строку значение в заказе изменяется без проблем, но вот значение складской проводки не обновляется, и тестеры сильно переживают.

Пробовал вызывать дополнительные функции на таблице перед апдейтом (как например modifiedField и тп., пробовал разное значение параметра dropInvent при вызове апдейта, но не выходит.

У кого-нибудь есть пример правильного обновления количества через код?
Что я упускаю?
__________________
С уважением, Dozer
Alt 01.12.2020, 04:50   #2  
Pandasama ist offline
Pandasama
Участник
 
473 / 140 (5) +++++
Registriert seit: 11.08.2014
Ort: Барнаул
Поставьте точку останова где-нибудь в InventTrans.update(), InventTrans.insert()
Обновите руками, посмотрите как вы туда, в обновление складских проводок, попадаете и почему не попадаете при использовании вашего кода.

Или поищите в стандарте какой-нибудь вариант изменения количества через код - какой-нибудь импорт, копирование строк, создание заказа на основании других документов и т.д.
Alt 01.12.2020, 08:26   #3  
Raven Melancholic ist offline
Raven Melancholic
Участник
Benutzerbild von Raven Melancholic
Самостоятельные клиенты AX
Лучший по профессии 2015
 
2.164 / 1296 (48) ++++++++
Registriert seit: 21.03.2005
Ort: Москва-Петушки
Все верно.
На проводки влияет не PurchQty, а RemainInventPhysical, поэтому нужно корректно менять и его. Более того, есть еще несколько полей с количеством и при изменении PurchQty должны быть изменено и другие поля.
Например, можно посмотреть в методе PurchLine.createLine как инициализируются поля QtyOrdered и остальные.
This post has been rated by: Pandasama (1).
Alt 01.12.2020, 16:32   #4  
Владимир Максимов ist offline
Владимир Максимов
Участник
КОРУС Консалтинг
 
1.724 / 1208 (44) ++++++++
Registriert seit: 13.01.2004
Blog-Einträge: 3
Zitat:
Zitat von Dozer Beitrag anzeigen
У кого-нибудь есть пример правильного обновления количества через код?
Что я упускаю?
Действия на форме упускаете. В методах источника данных формы

\Forms\PurchTable\Data Sources\PurchLine\Fields\PurchQty\Methods\modified

super() - это как раз табличный метод modifiedField(), но смотреть надо, что там дальше. После super(), что еще кроме собственно PurchQty надо изменить

Там, конечно, часть действий по обновлению картинки на форме, но в том числе и методы по обновлению данных запускаются
__________________
- Может, я как-то неправильно живу?!
- Отчего же? Правильно. Только зря...
Alt 01.12.2020, 18:02   #5  
Dozer ist offline
Dozer
Участник
AxAssist
Соотечественники
 
107 / 24 (1) +++
Registriert seit: 16.11.2004
Ort: г. Калгари, Канада
Повозился ещё немного и вроде как вот такой финальный код работает правильно:

X++:
purchLine.PurchQty = newQty;
PurchLine::modifyPurchQty(purchLine, purchLine.inventDim(), false);
InventMovement::bufferSetRemainQty(purchLine);

purchLine.update();
Всем спасибо.
__________________
С уважением, Dozer
Alt 01.12.2020, 18:59   #6  
Vals ist offline
Vals
Аманд
Benutzerbild von Vals
Компания АМАНД
Лучший по профессии 2015
Лучший по профессии 2014
Лучший по профессии AXAWARD 2013
Лучший по профессии 2009
 
1.766 / 507 (20) +++++++
Registriert seit: 27.02.2002
Ort: Pass partout, Москва
Zitat:
Zitat von Dozer Beitrag anzeigen
Добрый день,

Я сегодня внезапно столкнулся с проблемой, что когда я через код изменяю значениe PurchLine.PurchQty, и сохраняю строку значение в заказе изменяется без проблем, но вот значение складской проводки не обновляется, и тестеры сильно переживают.

Пробовал вызывать дополнительные функции на таблице перед апдейтом (как например modifiedField и тп., пробовал разное значение параметра dropInvent при вызове апдейта, но не выходит.

У кого-нибудь есть пример правильного обновления количества через код?
Что я упускаю?

Если не секрет, что за модифа?
Alt 02.12.2020, 00:59   #7  
Dozer ist offline
Dozer
Участник
AxAssist
Соотечественники
 
107 / 24 (1) +++
Registriert seit: 16.11.2004
Ort: г. Калгари, Канада
Клиент заказал кастомную форму для быстрого изменения количеств в строках заказа по вариантам продукта.
В деталях долго расписывать, проект очень замороченый.
__________________
С уважением, Dozer
This post has been rated by: Vals (1).
Stichworte
d365 for operations, purchline, x++

 

Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
Програмное изменение количества в строке продажи Dozer DAX: Программирование 1 21.08.2012 23:10
Изменения остатков в строке заказа на перемещение plumbum DAX: Программирование 0 22.05.2012 12:39
Обнуление Цены при изменении Суммы в строке Заказа на покупку Arseniy_F DAX: Функционал 8 05.04.2012 16:38
Цены в строке заказа меняются при изменении шапки заказа s.alex DAX: Функционал 8 14.04.2009 11:27
Как программно изменить к-во в строке заказа в форме SalesTable BorDark DAX: Программирование 2 13.01.2005 17:02

Forumregeln
Es ist Ihnen nicht erlaubt, neue Themen zu verfassen.
Es ist Ihnen nicht erlaubt, auf Beiträge zu antworten.
Es ist Ihnen nicht erlaubt, Anhänge hochzuladen.
Es ist Ihnen nicht erlaubt, Ihre Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Gehe zu

Рейтинг@Mail.ru
Alle Zeitangaben in WEZ +3. Es ist jetzt 21:03 Uhr.
Powered by vBulletin® Version 3.8.5 (Deutsch)
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.