|
10.06.2014, 10:02 | #1 |
Участник
|
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 |
сибиряк
|
вот тебе и "черновики"..
__________________
С уважением, Вячеслав. |
|
10.06.2014, 14:39 | #3 |
MCT
|
Сыроватенько собрали, на мой взгляд тогда уже надо было бы что-нить parm таблицы делать. (purchline - чистовики, в purchparmline - черновики разносок). Сделать так : purchlineorig - аналог purchline, purchparmline -аналог purchparmline и просто purchline - вся история. Ну или, вообще, пойти на крайность в purchparmline писать все историю с черновиками и версиями.
__________________
Axapta book for developer |
|
10.06.2014, 16:39 | #4 |
Участник
|
Сыровато или нет, а я уже на нескольких модифах (в т.ч. чужих) на эти грабли напоролся, когда, скажем, по отклику от внешней WMS-системы обрабатываются не те строки закупки, какие надо, а те, какие надо, обнуляются или еще что в таком духе.
|
|
11.06.2014, 15:40 | #5 |
Участник
|
Видел в коде обработку этого флага, довольно-таки необычно и непривычно...
|
|
12.06.2014, 12:26 | #6 |
Молодой, подающий надежды
|
Плюс к этому добавлен функционал разбиения строк по графику поставки. 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 |
Участник
|
Странно. Почему бы было не задействовать PurchLineDelete. Зачем табличку засорять.
|
|
Теги |
ax2012, ax2012r2, ax2012r3 |
|
|