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

 
 
Опции темы Поиск в этой теме Опции просмотра
Старый 10.06.2014, 10:02   #1  
gl00mie is offline
gl00mie
Участник
MCBMSS
Most Valuable Professional
Лучший по профессии 2017
Лучший по профессии 2015
Лучший по профессии 2014
Лучший по профессии AXAWARD 2013
Лучший по профессии 2011
Лучший по профессии 2009
 
3,684 / 5798 (201) ++++++++++
Регистрация: 28.11.2005
Адрес: Москва
Записей в блоге: 3
Lightbulb AX 2012: не работайте с удаленными строками PurchLine
В предыдущих версиях Аксапты если строка PurchLine удалялась, то удалялась на самом деле, т.е. в таблице всегда были лишь актуальные строки заказа на покупку, которые можно было увидеть на одноименной форме. В AX 2012 наворотили кучу всего, включая функционал управления изменениями в заказах на покупку. Теперь могут отслеживаться версии заказа, включая изменение, добавление и удаление строк, ради чего записи PurchLine штатно больше не удаляются - вместо этого они помечаются как удаленные с помощью флага IsDeleted. Это обстоятельство очень важно учитывать в своих кастомизациях, чтобы не делать м... ложных выводов относительно заказа на покупку и не пытаться обрабатывать те строки, которые система и пользователи считают удаленными. В коде перебора строк можно использовать запрос, возвращаемый методом PurchTable.queryPurchLine(), где уже учтено это обстоятельство.
За это сообщение автора поблагодарили: mazzy (2), AlGol (2), slava (1), trud (1), Krash (1), MikeR (3), jonny (2), IvanS (1), farlander (1), Dreadlock (2), Bergman (1).
Старый 10.06.2014, 10:52   #2  
slava is offline
slava
сибиряк
Самостоятельные клиенты AX
 
468 / 23 (1) +++
Регистрация: 28.12.2001
Адрес: Москва
вот тебе и "черновики"..
__________________
С уважением, Вячеслав.
Старый 10.06.2014, 14:39   #3  
MikeR is offline
MikeR
MCT
Аватар для MikeR
MCBMSS
Лучший по профессии 2015
Лучший по профессии 2014
 
1,628 / 627 (24) +++++++
Регистрация: 28.11.2005
Адрес: просто землянин
Цитата:
Сообщение от gl00mie Посмотреть сообщение
В коде перебора строк можно использовать запрос, возвращаемый методом PurchTable.queryPurchLine(), где уже учтено это обстоятельство.
Сыроватенько собрали, на мой взгляд тогда уже надо было бы что-нить parm таблицы делать. (purchline - чистовики, в purchparmline - черновики разносок). Сделать так : purchlineorig - аналог purchline, purchparmline -аналог purchparmline и просто purchline - вся история. Ну или, вообще, пойти на крайность в purchparmline писать все историю с черновиками и версиями.
__________________
Axapta book for developer
Старый 10.06.2014, 16:39   #4  
gl00mie is offline
gl00mie
Участник
MCBMSS
Most Valuable Professional
Лучший по профессии 2017
Лучший по профессии 2015
Лучший по профессии 2014
Лучший по профессии AXAWARD 2013
Лучший по профессии 2011
Лучший по профессии 2009
 
3,684 / 5798 (201) ++++++++++
Регистрация: 28.11.2005
Адрес: Москва
Записей в блоге: 3
Сыровато или нет, а я уже на нескольких модифах (в т.ч. чужих) на эти грабли напоролся, когда, скажем, по отклику от внешней WMS-системы обрабатываются не те строки закупки, какие надо, а те, какие надо, обнуляются или еще что в таком духе.
Старый 11.06.2014, 15:40   #5  
user_ax is offline
user_ax
Участник
Аватар для user_ax
 
599 / 39 (3) +++
Регистрация: 07.10.2012
Адрес: ZP
Видел в коде обработку этого флага, довольно-таки необычно и непривычно...
Старый 12.06.2014, 12:26   #6  
pedrozzz is offline
pedrozzz
Молодой, подающий надежды
Аватар для pedrozzz
MCBMSS
Лучший по профессии 2015
 
164 / 218 (8) ++++++
Регистрация: 18.02.2010
Адрес: Краснодар
Плюс к этому добавлен функционал разбиения строк по графику поставки. Purchase delivery schedules [AX 2012] Использование данной фичи в том или ином виде уже наблюдал не на одном проекте. Если совсем на пальцах, то 1 строка разбивается на несколько, и у данных строк изменяется значение поля
X++:
PurchLine.LineDeliveryType
При этом строки со значением поля
X++:
 LineDeliveryType::OrderLineWithMultipleDeliveries
необходимо иначе учитывать в своих обработках, т.к. они по сути содержат суммарные значения подстрок со значением
X++:
LineDeliveryType::DeliveryLine
И после простого перебора всех строк подряд (по старинке) можно легко получить задвоенные значения, например, количества.
__________________
Кононов Пётр
За это сообщение автора поблагодарили: trud (5), gl00mie (2).
Старый 25.06.2014, 21:43   #7  
Logger is offline
Logger
Участник
Лучший по профессии 2015
Лучший по профессии 2014
 
3,940 / 3229 (115) ++++++++++
Регистрация: 12.10.2004
Адрес: Москва
Записей в блоге: 2
Странно. Почему бы было не задействовать PurchLineDelete. Зачем табличку засорять.
Теги
ax2012, ax2012r2, ax2012r3

 

Похожие темы
Тема Автор Раздел Ответов Посл. сообщение
atinkerersnotebook: Walkthrough & Tutorial Summary Blog bot DAX Blogs 1 09.09.2013 09:11
amer-ax: It was a great day! Blog bot DAX Blogs 3 29.12.2012 01:02
DAX: Official Dynamics AX 2012 R2 Content (update) - Where is it, and how can you find out about updates? Blog bot DAX Blogs 0 03.12.2012 11:11
emeadaxsupport: New Content for Microsoft Dynamics AX 2012 : October 2011 Blog bot DAX Blogs 0 27.10.2011 17:11
daxdilip: Whats New in Dynamics AX 2012 (A brief extract from the recently held Tech Conf.) Blog bot DAX Blogs 7 31.01.2011 12:35

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

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

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