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

 
 
Опции темы Поиск в этой теме Опции просмотра
Старый 13.01.2026, 19:01   #8  
SRF is offline
SRF
Участник
MCBMSS
Axapta Retail User
 
377 / 562 (19) +++++++
Регистрация: 08.08.2007
Записей в блоге: 1
Посмотрите, как работает отмена покупки, метод PurchCancel\updatePurchTable()

X++:
        if (!purchTable.selectForUpdate())
        {
            purchTable = PurchTable::findRecId(purchTable.RecId, true);
        }

        if (purchTable.ChangeRequestRequired && purchTable.DocumentState >= VersioningDocumentState::Approved)
        {
            VersioningPurchaseOrder::newPurchaseOrder(purchTable).createChangeRequest();
        }
        else if (!VersioningPurchaseOrder::newPurchaseOrder(purchTable).isLastVersionArchived() && purchTable.DocumentState == VersioningDocumentState::Confirmed)
        {
            // Force archiving to avoid it during line cancellation as that would lead to update conflicts.
            purchTable.update();
        }
Смысл я думаю тут простой - при использовании версионности (purchTable.ChangeRequestRequired) - создавайте запрос на изменение (ведь для чего то вы включили его, получается используется коробочный механизм, а для него есть специальный флоу и есть api которое можно\нужно использовать)

Без версионности - после того как вы покупку подтвердили - в коробке фиксируются какие-то параметры (не только в самой строке покупки) и если вы хотите изменить уже подтвержденную покупку - то вам тоже надо сделать какой то "сброс" и затем подтвердить эту покупку повторно.

В целом если использовать активацию обновления покупки как например сделано в purchCancel\updatePurchTable(), то дальше спокойно можно обновлять строки в цикле по update, без дополнительных reread
__________________
Sergey Nefedov
 

Похожие темы
Тема Автор Раздел Ответов Посл. сообщение
DAX2009 почему setprefix не работает в циклах oleggy DAX: Программирование 1 03.05.2020 19:37
FormSegmentedEntryControl и FormSegment control. Почему нет mandatory свойства ? Logger DAX: Программирование 1 06.11.2018 19:29
А как в ax7 код метода получить? mazzy DAX: Программирование 13 17.10.2017 23:44
Принадлежит ли код определенной номерной серии? Poleax DAX: Программирование 7 23.09.2010 13:06
Channel9: Peter Villadsen and Gustavo Plancarte: X++ to MSIL Blog bot DAX Blogs 30 24.08.2010 17:11

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

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

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