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

 
 
Опции темы Поиск в этой теме Опции просмотра
Старый 28.04.2011, 22:32   #1  
Ivanhoe is offline
Ivanhoe
Участник
Аватар для Ivanhoe
Лучший по профессии 2017
Лучший по профессии 2015
Лучший по профессии 2014
Лучший по профессии AXAWARD 2013
Лучший по профессии 2011
 
4,143 / 2161 (81) +++++++++
Регистрация: 29.09.2005
Адрес: Санкт-Петербург
Я не против системы Workflow, я ее использую на проектах. Мои замечания к статье Аманд - это не описание полноценного примера, это скорее туториал для ознакомления.

Последовательность действий по утверждению клиентов, судя по документу нужно:
1. Есть стандартная форма клиентов. Без статуса.
2. Заводим нового клиента - что нужно сделать администратору чтобы его послать на утверждение? Кроме настройки бизнес-правила нужно на форме поменять метод canSubmitToWorkflow()? Ок, меняем.
3. Что нужно сделать администратору, чтобы по клиенту из п.2. сделать утверждение? Поменять метод canSubmitToWorkflow() назад? Ок, меняем метод, утверждение пока не делаем - допустим ответственный думает.
4. Заводим нового клиента и хотим отправить на утверждение - опять что ли меняем метод canSubmitToWorkflow() на форме???? В этот момент, у вас по всем клиентам станет доступна только отправка на утверждение, в т.ч. по клиенту из п.2.
5. Какой признак в системе у утвержденного клиента? Кроме истории утверждения? Сама история по себе никому не нужна. Нужно, как правило, проставить некий статус, ну или, убрать блокировку с клиента, чтобы на него можно было заводить документы - это нужно явно программировать.

Если вы внимательно посмотрите на существующие в системе шаблоны workflow, то везде у документа есть некий статус, от которого и зависит вся обработка. И, кстати, в стандарте нет ни одного универсального шаблона, который бы позволил настроить все возможные действия, откаты, утверждения и задачи в рамках одного документа.

Чтобы пользователь мог настроить любое бизнес-правило, нужно правильно запрограммировать workflow - предусмотреть все возможные (вернее, нужные по бизнесу) переходы состояний. Как это сделать без статуса документа я не представляю, расскажите про свой опыт.
__________________
Ivanhoe as is..

Последний раз редактировалось Ivanhoe; 28.04.2011 в 22:37.
Старый 29.04.2011, 10:57   #2  
mit is offline
mit
Участник
Аватар для mit
 
386 / 36 (2) +++
Регистрация: 15.01.2003
Адрес: Moscow
Цитата:
Сообщение от Ivanhoe Посмотреть сообщение
Аманд - это не описание полноценного примера, это скорее туториал для ознакомления.
Согласен. писалось консалтинговой компанией. но если немного переработать статью, получается нормальная инструкция.
Цитата:
Сообщение от Ivanhoe Посмотреть сообщение
Последовательность действий по утверждению клиентов, судя по документу нужно:
1. Есть стандартная форма клиентов. Без статуса.
2. Заводим нового клиента - что нужно сделать администратору чтобы его послать на утверждение? Кроме настройки бизнес-правила нужно на форме поменять метод canSubmitToWorkflow()? Ок, меняем.
нет, не совсем. метод настраивается не под утверждение конкретного клиента, а под бизнес - правило, что теперь клиенты должны проходить утверждение
Цитата:
Сообщение от Ivanhoe Посмотреть сообщение
3. Что нужно сделать администратору, чтобы по клиенту из п.2. сделать утверждение? Поменять метод canSubmitToWorkflow() назад? Ок, меняем метод, утверждение пока не делаем - допустим ответственный думает.
опять нет. метод активирует на форме механизм утверждения - появляется информационная строка, появляется кнопки на форме у нужных людей, в нужное время позволяющие согласовать, либо отклонить с возможностью комментировать отказ
Цитата:
Сообщение от Ivanhoe Посмотреть сообщение
4. Заводим нового клиента и хотим отправить на утверждение - опять что ли меняем метод canSubmitToWorkflow() на форме???? В этот момент, у вас по всем клиентам станет доступна только отправка на утверждение, в т.ч. по клиенту из п.2.
см. п.3
Цитата:
Сообщение от Ivanhoe Посмотреть сообщение
5. Какой признак в системе у утвержденного клиента? Кроме истории утверждения? Сама история по себе никому не нужна. Нужно, как правило, проставить некий статус, ну или, убрать блокировку с клиента, чтобы на него можно было заводить документы - это нужно явно программировать.
клиент - неудачный пример. как правило все клиенты интересны и по клиенту достаточно дать один переключатель в одни руки (через настройку доступа). если работаем не со всеми, и клиенты должны выполнять ряд отслеживаемых условий, то тогда да. но чаще вокфло используется не на справочниках, а в журналах. например платежах
Цитата:
Сообщение от Ivanhoe Посмотреть сообщение
Если вы внимательно посмотрите на существующие в системе шаблоны workflow, то везде у документа есть некий статус, от которого и зависит вся обработка. И, кстати, в стандарте нет ни одного универсального шаблона, который бы позволил настроить все возможные действия, откаты, утверждения и задачи в рамках одного документа.
существующие шаблоны в системе ущербны
Цитата:
Сообщение от Ivanhoe Посмотреть сообщение
Чтобы пользователь мог настроить любое бизнес-правило, нужно правильно запрограммировать workflow - предусмотреть все возможные (вернее, нужные по бизнесу) переходы состояний. Как это сделать без статуса документа я не представляю, расскажите про свой опыт.
по большому счету, шаблоны воркфло это перечисление статусов, которые может иметь документ (строка). да, их определяет программист. ещё программист может определить, что как только по строке в статусах воркфло появилось финальное одобрямс, в таблице поле блокировки перещёлкнолось, но не этим интересен вокфло. если нужно видеть два статуса - одобрено /не одобрено, проще пользовать существующее поле, либо добавить своё. интересно вокфло вариативностью. когда сценарии ободрения различаются. пример: клиент категории "а" утверждается менеджером сразу, категория "б" - требует "ок" от менеджера направления и дополнительно визы руководителя, если клиент одновременно из сегмента "вип", то финальный ок ставится только директором. в случае, если директора нет, или директор не одобрил в течение 3-х часов, уведомление для утверждения переадресовывается системой заму (или иному сотруднику). количество вариаций и маршрутов на статусах определённых программистом не ограничено, и уже не программируется а настраивается. допустим, программист задал три статуса: отправить, согласовано, утверждено. в маршруте можно настроить обязательное последовательное согласование через десяток сотрудников. за работу всего этого отвечают таблицы, классы, формы и прочие объекты семейства с префиксом Workflow. надеюсь, что разница между разблокировкой клиента и вокфло хоть немножко стала понятнее.
__________________
Дом поросенка должен быть крепостью. (Наф-Наф, полн. собр. соч., т.5, стр. 286)
Старый 29.04.2011, 11:11   #3  
Ivanhoe is offline
Ivanhoe
Участник
Аватар для Ivanhoe
Лучший по профессии 2017
Лучший по профессии 2015
Лучший по профессии 2014
Лучший по профессии AXAWARD 2013
Лучший по профессии 2011
 
4,143 / 2161 (81) +++++++++
Регистрация: 29.09.2005
Адрес: Санкт-Петербург
Цитата:
Сообщение от mit Посмотреть сообщение
да я считаю, что аманд привел реальный рабочий пример, так как я сам по этому примеру настраивал воркфло
Цитата:
Сообщение от mit Посмотреть сообщение
Согласен. писалось консалтинговой компанией. но если немного переработать статью, получается нормальная инструкция.
Вы определитесь уже

Цитата:
Сообщение от mit Посмотреть сообщение
нет, не совсем. метод настраивается не под утверждение конкретного клиента, а под бизнес - правило, что теперь клиенты должны проходить утверждение
Вы точно говорите про метод canSubmitToWorkflow()?? Этот метод отвечает ТОЛЬКО за возможность первоначально запустить воркфлоу по записи. Если этот метод будет на форме возвращать "true" для всех записей, то кроме отправки на согласование ничего другого доступно не будет.

Цитата:
Сообщение от mit Посмотреть сообщение
надеюсь, что разница между разблокировкой клиента и вокфло хоть немножко стала понятнее.
Извините, но это разговор слепого с глухим .
Коллега спросил, нужен ли статус в таблице Клиентов. Для того, чтобы сделать рабочий воркфлоу, мой ответ - ДА, ваш ответ - НЕТ.

Просьба наконец-то подтвердить ваш ответ подробным примером: каким образом можно сделать согласование клиентов по примеру Аманда без дополнительного программирования (в т.ч. без изменения методов формы "на лету"). Просьба в ответе больше не писать, что такое воркфлоу и для чего оно нужно - все, кто используют этот механизм, и так в курсе
__________________
Ivanhoe as is..
Старый 29.04.2011, 11:36   #4  
mit is offline
mit
Участник
Аватар для mit
 
386 / 36 (2) +++
Регистрация: 15.01.2003
Адрес: Moscow
да уж давно определился
Цитата:
Сообщение от Ivanhoe Посмотреть сообщение
Вы точно говорите про метод canSubmitToWorkflow()?? Этот метод отвечает ТОЛЬКО за возможность первоначально запустить воркфлоу по записи. Если этот метод будет на форме возвращать "true" для всех записей, то кроме отправки на согласование ничего другого доступно не будет.
а если немножко иначе подойти?
X++:
public boolean canSubmitToWorkflow()
{
    boolean canSubmitToWorkflow = false;
    ;

    if(!BOMTable.Approved)
    {
        canSubmitToWorkflow = !WorkflowTrackingStatusTable::existStep(BOMTable);
    }
    return canSubmitToWorkflow;
}
Цитата:
Сообщение от Ivanhoe Посмотреть сообщение
Извините, но это разговор слепого с глухим .
Коллега спросил, нужен ли статус в таблице Клиентов. Для того, чтобы сделать рабочий воркфлоу, мой ответ - ДА, ваш ответ - НЕТ.
для вокфло нет, для коллеги - возможно да
Цитата:
Сообщение от Ivanhoe Посмотреть сообщение
Просьба наконец-то подтвердить ваш ответ подробным примером: каким образом можно сделать согласование клиентов по примеру Аманда без дополнительного программирования (в т.ч. без изменения методов формы "на лету").
сначала мы реализовали пример по вокфло именно по рецепту аманда затем несколько видоизменили под свои нужды, но изменения косметические и не принципиальны. общий подход остается. Ваш вопрос несколько размыт. что именно Вам нужно в качестве подтверждения? скриншоты? описание функционала? рабочие инструкции?
__________________
Дом поросенка должен быть крепостью. (Наф-Наф, полн. собр. соч., т.5, стр. 286)

Последний раз редактировалось mit; 29.04.2011 в 11:38. Причина: ой, форматирование поехало :)
Теги
ax2009, hotfix, workflow, как правильно

 

Похожие темы
Тема Автор Раздел Ответов Посл. сообщение
emeadaxsupport: List of fixes that improve performance of certain features in Dynamics AX 2009 Blog bot DAX Blogs 0 13.10.2009 19:06
gatesasbait: Dynamics AX 2009 SSRS and SSAS Integration Tips Blog bot DAX Blogs 3 09.07.2009 13:07
Developer for Microsoft Dynamics AX Certification Roadmap Blog bot DAX Blogs 1 13.05.2009 16:17
axStart: Microsoft Dynamics AX 2009 Hot Topics Web Seminar Series Blog bot DAX Blogs 0 06.08.2008 12:05
Сергей Герасимов: Что нового в Microsoft Dynamics AX 4.0 Blog bot DAX Blogs 0 16.01.2007 11:00
Опции темы Поиск в этой теме
Поиск в этой теме:

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

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

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

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