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

 
 
Опции темы Поиск в этой теме Опции просмотра
Старый 07.07.2022, 11:00   #1  
axm2017 is offline
axm2017
Участник
 
2,066 / 296 (14) ++++++
Регистрация: 15.05.2017
Цитата:
Сообщение от sukhanchik Посмотреть сообщение
...
Т.е. WF не задумывался в роли алгоритма поиска потерянных вещей, т.е. ситуация, когда А нашел чего-то, а C и D ещё ищут - неприменима для WF (понятно, что "натянуть" функционал с некоторыми ограничениями можно всегда)
Судя по коду как раз что то такое (А нашел закрываем и Б) хотели делать при параллельных заданиях и не только.
Типичное в коде SysWorkflowWorkItem метод completeWorkItems
X++:
while select forupdate
            *
        from workItemTable
        where
            // BP deviation documented
            workItemTable.CorrelationId == _correlationId &&
            workItemTable.StepId == _stepId
        {
            if (workItemTable.Status != WorkflowWorkItemStatus::Completed)
            {
                if (_isClaimed && workItemTable.ActivityId == _claimedActivityId)
                {
                    if (workItemTable.Queue)
                    {
                        SysWorkflowWorkItem::completeNotification(workItemTable.CompanyId, workItemTable.NotificationId);
                        workItemTable.NotificationId = 0;
                        workItemTable.UserId = _user;
                        workItemTable.Subject = _subject;
                        workItemTable.Description = _instructions;
                    }
                    workItemTable.IsClaimed = NoYes::Yes;
                }
                else
                {
                    workItemTable.Status = WorkflowWorkItemStatus::Completed;

                    SysWorkflowWorkItem::completeNotification(workItemTable.CompanyId, workItemTable.NotificationId);
                    workItemTable.NotificationId = 0;
                }
                workItemTable.update();
            }
Де факто закрывают часть заданий скопом
 

Похожие темы
Тема Автор Раздел Ответов Посл. сообщение
DAX2009: как можно добавить текст перед Microsoft Dynamics AX oleggy DAX: Программирование 2 10.07.2020 13:08
atinkerersnotebook: Developing a Product Approval Workflow in Dynamics AX 2012 Blog bot DAX Blogs 0 09.11.2013 17:12
Как можно изменить цвет шрифта в Excel? Hidden DAX: Программирование 4 15.04.2005 12:33
Можно ли изменить дату введения в экслуатацию velk DAX: Функционал 2 20.08.2004 17:18
Можно ли изменить Enum типа NoYes или PrintMedium? funnut DAX: Программирование 1 08.07.2004 14:21
Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск
Опции просмотра
Комбинированный вид Комбинированный вид

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

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

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