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

 
 
Опции темы Поиск в этой теме Опции просмотра
Старый 05.04.2010, 10:16   #1  
AlexeyVS is offline
AlexeyVS
Участник
 
103 / 31 (2) +++
Регистрация: 02.04.2010
Post Документооборот DAX2009
День добрый, коллеги!
Я новичок в аксапте, всего пару недель ее изучаю. Сейчас решаю задачу автоматизации документооборота на этой платформе.
Кто-нибудь сталкивался? Есть успешно работающие решения?
Мне пока удалось по документации разобраться, что есть два механизма для решения - Задача и Утверждение.
Появилось несколько вопросов по этим механизмам.
1. Можно ли в Утверждение добавлять свои результаты (outcomes)? Или пользоваться только тем, что предлагается? Например, в Задачу их можно добавлять.
2. Если Задача создается на несколько пользователей, то у всех этих пользователей появляется кнопка Принять. Причем, если кто-то из пользователей примет Задачу, то для остальных она становится завершенной. Можно ли это обойти? Чтобы задача считалась завершенной, только когда все пользователи, которым она назначена завершат ее.
3. Можно ли писать свои типы Задач или Утверждений?

Буду очень благодарен за ответы. С удовольствием поделюсь своими знаниями
Старый 05.04.2010, 10:36   #2  
lagr221374
Гость
 
n/a
1. нет. Пользуйтесь тем что есть.
2. в параметрах шага бизнес-правила на закладке "назначение" есть политика одобрения - наверное это то что вам надо.
3 кто ж вам запретит.

С нетерпением ждем, когда начнете делиться знаниями по данной теме.
Старый 05.04.2010, 10:53   #3  
mazzy is offline
mazzy
Участник
Аватар для mazzy
Лучший по профессии 2015
Лучший по профессии 2014
Лучший по профессии AXAWARD 2013
Лучший по профессии 2011
Лучший по профессии 2009
 
29,472 / 4494 (208) ++++++++++
Регистрация: 29.11.2001
Адрес: Москва
Записей в блоге: 10
Цитата:
Сообщение от AlexeyVS Посмотреть сообщение
Я новичок в аксапте, всего пару недель ее изучаю. Сейчас решаю задачу автоматизации документооборота на этой платформе.
-1. во-первых, в Аксапте не документооборот, а управление документами (Document Handling). в стандартном механизме нет маршрутизации и подписи, есть только хранение документов.
0. тот функционал, который в ax2009 называется документобооротом на самом деле всего лишь поток задач (Workflow). Причем в достаточно экспериментальной фазе. Нет параллельных маршрутов, нет многоуровневого утверждения, нет связи с хранением документов.

1. погодите пока. есть слухи, что в следующей версии механизм будет значительно переработан.
2. сейчас механизм сделан так, что он годится только для простого одноуровневого одобрения платежей или затрат. чтобы добиться от него большего, его придется переписать почти полностью.
__________________
полезное на axForum, github, vk, coub.
Старый 05.04.2010, 12:40   #4  
Ivanhoe is offline
Ivanhoe
Участник
Аватар для Ivanhoe
Лучший по профессии 2017
Лучший по профессии 2015
Лучший по профессии 2014
Лучший по профессии AXAWARD 2013
Лучший по профессии 2011
 
4,143 / 2156 (80) +++++++++
Регистрация: 29.09.2005
Адрес: Санкт-Петербург
Цитата:
Сообщение от AlexeyVS Посмотреть сообщение
1. Можно ли в Утверждение добавлять свои результаты (outcomes)? Или пользоваться только тем, что предлагается? Например, в Задачу их можно добавлять.
2. Если Задача создается на несколько пользователей, то у всех этих пользователей появляется кнопка Принять. Причем, если кто-то из пользователей примет Задачу, то для остальных она становится завершенной. Можно ли это обойти? Чтобы задача считалась завершенной, только когда все пользователи, которым она назначена завершат ее.
3. Можно ли писать свои типы Задач или Утверждений?

Буду очень благодарен за ответы. С удовольствием поделюсь своими знаниями
1. Обратите внимание, что в Задачу можно добавлять только определенные типы результатов, т.е. отличий от Утверждений, считай, нет.
2. Идея Задачи - что она атомарна, ее можно выполнить или не выполнить. Поэтому "принять" ее может только один человек. Нужно запустить несколько задач? Настройте их в конфигурации документооборота.
3. Что такое "типы"? Обработка других, не реализованых в стандарте "документов", например, утверждение карточки контрагента? Если ответ да, то можно - нужно программировать.

Цитата:
Сообщение от mazzy Посмотреть сообщение
-1. во-первых, в Аксапте не документооборот, а управление документами (Document Handling). в стандартном механизме нет маршрутизации и подписи, есть только хранение документов.
0. тот функционал, который в ax2009 называется документобооротом на самом деле всего лишь поток задач (Workflow). Причем в достаточно экспериментальной фазе. Нет параллельных маршрутов, нет многоуровневого утверждения, нет связи с хранением документов.

1. погодите пока. есть слухи, что в следующей версии механизм будет значительно переработан.
2. сейчас механизм сделан так, что он годится только для простого одноуровневого одобрения платежей или затрат. чтобы добиться от него большего, его придется переписать почти полностью.
0. можно запустить несколько вспомогательных документооборотов параллельно - это не то, что вы имеете в виду? Многоуровневое утверждение можно попробовать реализовать используя шаги / вспомогательные документообороты и условия шагов / автоматические действия / условия использования конфигурации. Можно пример того, что нельзя?
Насчет экспериментальности, согласен. Причем и стиль реализации местами очень хромает
1. слухи, я так понимаю, были про сам фрейм-ворк обработки (который сча на IIS), который по-хорошему ни программисту, ни консультанту не виден. Хотелось бы верить, что в Аксапте менять свои WF не придется.
2. Опять же, можно пример? Только не ссылку на то, что умеют сторонние решения, а что конкретно не умеет WF AX 2009? =)
__________________
Ivanhoe as is..
Старый 05.04.2010, 13:13   #5  
mazzy is offline
mazzy
Участник
Аватар для mazzy
Лучший по профессии 2015
Лучший по профессии 2014
Лучший по профессии AXAWARD 2013
Лучший по профессии 2011
Лучший по профессии 2009
 
29,472 / 4494 (208) ++++++++++
Регистрация: 29.11.2001
Адрес: Москва
Записей в блоге: 10
Цитата:
Сообщение от Ivanhoe Посмотреть сообщение
0. можно запустить несколько вспомогательных документооборотов параллельно - это не то, что вы имеете в виду?
...
Многоуровневое утверждение можно попробовать реализовать используя шаги / вспомогательные документообороты и условия шагов / автоматические действия / условия использования конфигурации. Можно пример того, что нельзя?
...
2. Опять же, можно пример? Только не ссылку на то, что умеют сторонние решения, а что конкретно не умеет WF AX 2009? =)
Э-э-э... Не совсем. Ведь потом нужно как-то конролировать выполнились ли они или нет. А маршрут с частичным параллельным участком (например, обходной лист при увольнении) вообще непонятно как задавать при таком подходе (без тотального переписывания).

Кроме того, будет проблема с условными маршрутами в такой реализации - получается, что нельзя создавать полный экземляр маршрута сразу. Придется создавать каждый экземпляр маршрута придется создавать частями по мере прохождения.

Не рекламы для, а в качестве примера о чем люди думали при реализации документооборота
http://navision.mazzy.ru/lib/docflownav/, http://navision.mazzy.ru/lib/docflownav2/, http://navision.mazzy.ru/lib/docflownav3/


При таком примере придется начинать не сложный маршрут, а кучу "вспомогательных документооборотов". А в дальнейшем эту кучу непонятно как анализировать. Какие прошли по одной ветке? Какие прошли по другой ветке? Какие не прошли до конца? Какие отложены? Какова средняя длина маршрута?

В общем, идея с кучей лично мне категорически не нравится.
Хотя согласен с тем, что вывернутся можно и при помощи кучи - "в гамаке и стоя".

Типичные примеры, которые, на мой взгляд, реализуются сейчас через жопу:
1. то, что нарисовано на рисунке: большая продажа в кредит со скидкой (скидка требует одобрения у нач.отдела продаж, сумма требует одобрения у фин.отдела)
2. обходной лист при увольнении: кадровик начинает процесс, сотрудник должен получить несколько подписей в любом порядке (параллельные процессы), после появления всех подписей в отделе кадров выполняется несколько последовательных шагов. (или как вариант: то, что нарисовано на рисунке, но с возможностью параллельного одобрения скидки и суммы)
3. делегирование: в примере 1 "нач.отдела продаж" ушел в отпуск (или заболел). Нужно, чтобы его задачи выполнял заместитель. Причем делегирование должно быть очень контролируемым со стороны администратора системы

НО! вполне допускаю, что я чего-то не знаю. Был бы очень и очень признателен, если бы знающие люди рассказали подробнее (готов выложить статью у себя или почитаю выложенную в любом другом месте).
__________________
полезное на axForum, github, vk, coub.
За это сообщение автора поблагодарили: sukhanchik (4), Ivanhoe (3).
Старый 05.04.2010, 14:37   #6  
AlexeyVS is offline
AlexeyVS
Участник
 
103 / 31 (2) +++
Регистрация: 02.04.2010
Вот пара мыслей по сказанному...
1. Обходной лист. Можно реализовать через Утверждение. Напрмер, есть документ "Обходной лист". Запускаем ДО (документооборот) по этому документу. Утверждение состоит из одного шага, но размножено на несколько утверждающих (подписывающих "бегунок"). Соответсвенно, получается, что документ будет утвержден ("бегунок" закрыт), когда все одобрят этот шаг. Порядок - любой. Причем можно настроить условие утверждения (все должны одобрить, один из списка, большинство, процент от всех), плюс можно указать условие окончательного утверждения (типа начальник кадров, который этот документ и запустил)
2. Делегирование. Насколько я знаю, можно настроить условие автоматического делегирования нечто вроде: "С такого-то числа по такое-то число Утверждение направлять моему заму"... как-то так.
За это сообщение автора поблагодарили: Ivanhoe (2).
Старый 05.04.2010, 14:44   #7  
mazzy is offline
mazzy
Участник
Аватар для mazzy
Лучший по профессии 2015
Лучший по профессии 2014
Лучший по профессии AXAWARD 2013
Лучший по профессии 2011
Лучший по профессии 2009
 
29,472 / 4494 (208) ++++++++++
Регистрация: 29.11.2001
Адрес: Москва
Записей в блоге: 10
Цитата:
Сообщение от AlexeyVS Посмотреть сообщение
Вот пара мыслей по сказанному...
1. Обходной лист. Можно реализовать через Утверждение. Напрмер, есть документ "Обходной лист". Запускаем ДО (документооборот) по этому документу. Утверждение состоит из одного шага, но размножено на несколько утверждающих (подписывающих "бегунок"). Соответсвенно, получается, что документ будет утвержден ("бегунок" закрыт), когда все одобрят этот шаг. Порядок - любой. Причем можно настроить условие утверждения (все должны одобрить, один из списка, большинство, процент от всех), плюс можно указать условие окончательного утверждения (типа начальник кадров, который этот документ и запустил)
Э-э-э... А как "размножить" в стандартном функционале?
И что делать, если после того, как все подпишут, нужно еще выполнить несколько последовательных шагов (например, несколько документов внутри самого отдела кадров)?

Цитата:
Сообщение от AlexeyVS Посмотреть сообщение
2. Делегирование. Насколько я знаю, можно настроить условие автоматического делегирования нечто вроде: "С такого-то числа по такое-то число Утверждение направлять моему заму"... как-то так.
А где автоматическое делегирование?

И я не спросил это изначально, но как назначить маршрут не к человеку, а к роли? В своем вопросе я писал "(скидка требует одобрения у нач.отдела продаж, сумма требует одобрения у фин.отдела)". Как реализовать если фин.отдел - это несколько человек с одинаковыми полномочиями (одобрить может любой).

Повторюсь, возможно я чего-то не знаю.
__________________
полезное на axForum, github, vk, coub.
Старый 05.04.2010, 14:48   #8  
ALES is offline
ALES
Участник
Злыдни
 
220 / 45 (2) +++
Регистрация: 11.08.2004
Очень хочется независимо от обходного еще и процесс рассчета ЗП запустить или что-то еще по тому же сотруднику.
Старый 05.04.2010, 15:32   #9  
AlexeyVS is offline
AlexeyVS
Участник
 
103 / 31 (2) +++
Регистрация: 02.04.2010
1. "Размножить" можно, назначив группе и написав свой ParticipantProvider (так делал я, возможно есть другой способ)
2. Утверждение от группы можно настроить, указав, что для успешного шага утверждения нужен один из всего списка утверждающих
3. Если после утверждения надо еще что-то, то шаблон воркфло можно настроить, добавив стадии. Например, сначала "бегунок", после него некая задача (подготовка трудовой, как вариант), затем еще что-нибудь.

А весь процесс будет называться "Увольнение"
Старый 05.04.2010, 15:47   #10  
mazzy is offline
mazzy
Участник
Аватар для mazzy
Лучший по профессии 2015
Лучший по профессии 2014
Лучший по профессии AXAWARD 2013
Лучший по профессии 2011
Лучший по профессии 2009
 
29,472 / 4494 (208) ++++++++++
Регистрация: 29.11.2001
Адрес: Москва
Записей в блоге: 10
Цитата:
Сообщение от AlexeyVS Посмотреть сообщение
...и написав свой ParticipantProvider
Ну, началось...
ЕСЛИ "настроить можно" только "написав", ТО это значит в стандартном функционале "настроить" нельзя. Можно только дописать.
Давайте будем все-таки пользоваться человеческой терминологией.

Если можно "дописывать", то все остальное - понятно.
Но тогда, по-моему, проще не "дописывать", а переписать весь этот механизм нафиг без привлечения связки IIS/WF
__________________
полезное на axForum, github, vk, coub.
Старый 05.04.2010, 16:00   #11  
AlexeyVS is offline
AlexeyVS
Участник
 
103 / 31 (2) +++
Регистрация: 02.04.2010
Но там же можно выбрать в Назначении группу. Думаю так тоже размножит. Просто мне надо назначать на основе некоего динамического списка, который задает пользователь.
Насчет дописать - это переопределить пару методов стандартнного класса WorkflowWorkitemParticipantProvider. По-моему вполне неплохой подход.

Насчет автоделегирования - можно настроить в меню Сервис - Параметры - закладка Делегирование и выбрать конфигурацию рабочего процесса.

Я еще практически ничего не смыслю ни в программинге аксапты ни в ее настройке, поэтому пишу о том, что успел попробовать. Возможно, мои решения не совсем правильные и могут быть реализованы другим путем или проще.
За это сообщение автора поблагодарили: mazzy (2).
Старый 05.04.2010, 16:36   #12  
ALES is offline
ALES
Участник
Злыдни
 
220 / 45 (2) +++
Регистрация: 11.08.2004
Цитата:
Сообщение от AlexeyVS Посмотреть сообщение
Но там же можно выбрать в Назначении группу....
Это где именно? в настройках для уже запрограммированных MS процессов? А много таких в системе? В тех же складских журналах что-то не видно поля "статус" для WF
Старый 05.04.2010, 17:04   #13  
Ivanhoe is offline
Ivanhoe
Участник
Аватар для Ivanhoe
Лучший по профессии 2017
Лучший по профессии 2015
Лучший по профессии 2014
Лучший по профессии AXAWARD 2013
Лучший по профессии 2011
 
4,143 / 2156 (80) +++++++++
Регистрация: 29.09.2005
Адрес: Санкт-Петербург
Насчет "размножить" исполнителей, действительно - используйте группу пользователей (это и будет - роль). Есть более сложный "размножитель" - который понимает оргструктуру. Т.е. писать свого "провайдера" нужно при совсем уж сложном подборе исполнителей.

Насчет склада - действительно, нет в стандарте, но написание нового WF с нуля занимает 4-6 часов, если иметь опыт - то и того быстрее. Если есть уже готовое универсальное решение, написанное сбоку, то понятно что WF проиграет (надеюсь, пока). Но если ничего нет - то мне кажется логичным использовать то, что есть.

Насчет делегирования - ответственный сотрудник может и вручную "делегировать" кому-то, и автоматически (как написали выше, с учетом дат и "модулей" / процессов, т.е. в разных процессах заместители могут быть разные).

Из примеров mazzy:
1. беру паузу, сейчас нету времени вникать, чуть позже отвечу.
2. Параллельный процесс - как написал AlexeyVS делаем Утверждением, с вариантом завершения "Все утверждающие", последовательные задачи в отделе кадров - делаем как Задачи, добавляем по вкусу нужное количество (обратите внимание, добавлять Утверждения и Задачи в шаблон (Template) не обязательно - их можно добавлять опционально при настройке конфигурации). Вполне удобно.
3. Про делегирование уже написал.
__________________
Ivanhoe as is..
Старый 05.04.2010, 17:08   #14  
Ivanhoe is offline
Ivanhoe
Участник
Аватар для Ivanhoe
Лучший по профессии 2017
Лучший по профессии 2015
Лучший по профессии 2014
Лучший по профессии AXAWARD 2013
Лучший по профессии 2011
 
4,143 / 2156 (80) +++++++++
Регистрация: 29.09.2005
Адрес: Санкт-Петербург
Цитата:
Сообщение от ALES Посмотреть сообщение
Очень хочется независимо от обходного еще и процесс рассчета ЗП запустить или что-то еще по тому же сотруднику.
С учетом того, что "обработку" документа, который и является основанием WF, нужно в любом случае программировать (для нестандартных WF) - можно и расчет прикрутить, и что угодно. =)
__________________
Ivanhoe as is..
Старый 05.04.2010, 17:43   #15  
ALES is offline
ALES
Участник
Злыдни
 
220 / 45 (2) +++
Регистрация: 11.08.2004
Talking
Цитата:
Сообщение от Ivanhoe Посмотреть сообщение
С учетом того, что "обработку" документа, который и является основанием WF, нужно в любом случае программировать (для нестандартных WF) - можно и расчет прикрутить, и что угодно. =)
Можно =). А для процесса "увольнение" еще и ветку на случай краха IIS закодить.. чтоб уж наверняка...
За это сообщение автора поблагодарили: Ivanhoe (2).
Старый 05.04.2010, 17:50   #16  
Ivanhoe is offline
Ivanhoe
Участник
Аватар для Ivanhoe
Лучший по профессии 2017
Лучший по профессии 2015
Лучший по профессии 2014
Лучший по профессии AXAWARD 2013
Лучший по профессии 2011
 
4,143 / 2156 (80) +++++++++
Регистрация: 29.09.2005
Адрес: Санкт-Петербург
Пример mazzy №1. Продажа со скидками.
В стандарте нет такого WF, нет соответствующих признаков у заказа на продажу (разрешена скидка, разрешена сумма, разрешена отгрузка).

1.Для реализации необходимо попрограммировать:
1.1. Добавить статус "Статус WF" в заказ на продажу.
1.2. Разработать Шаблон.
1.3. Разработать Утверждение.
1.4. Разработать Задачу.
2. Настроить документооборот.

В связи с тем, что нужна доработка - стоит продолжать разбор примера, или считаем, что WF в Аксапте "плохой" и ничего не умеет?
__________________
Ivanhoe as is..
За это сообщение автора поблагодарили: mazzy (2).
Старый 05.04.2010, 17:51   #17  
Ivanhoe is offline
Ivanhoe
Участник
Аватар для Ivanhoe
Лучший по профессии 2017
Лучший по профессии 2015
Лучший по профессии 2014
Лучший по профессии AXAWARD 2013
Лучший по профессии 2011
 
4,143 / 2156 (80) +++++++++
Регистрация: 29.09.2005
Адрес: Санкт-Петербург
Цитата:
Сообщение от ALES Посмотреть сообщение
Можно =). А для процесса "увольнение" еще и ветку на случай краха IIS закодить.. чтоб уж наверняка...
Не забудьте еще обучить кадровика и заготовить шаблоны приказов, на случай краха Аксапты
__________________
Ivanhoe as is..
Старый 05.04.2010, 17:56   #18  
mazzy is offline
mazzy
Участник
Аватар для mazzy
Лучший по профессии 2015
Лучший по профессии 2014
Лучший по профессии AXAWARD 2013
Лучший по профессии 2011
Лучший по профессии 2009
 
29,472 / 4494 (208) ++++++++++
Регистрация: 29.11.2001
Адрес: Москва
Записей в блоге: 10
Цитата:
Сообщение от AlexeyVS Посмотреть сообщение
Но там же можно выбрать в Назначении группу.
Цитата:
Сообщение от Ivanhoe Посмотреть сообщение
Насчет "размножить" исполнителей, действительно - используйте группу пользователей (это и будет - роль).
Могу я попросить прикладывать скриншоты и/или пути к формам, где можно выбрать/размножить/использовать?


Цитата:
Сообщение от Ivanhoe Посмотреть сообщение
В связи с тем, что нужна доработка - стоит продолжать разбор примера, или считаем, что WF в Аксапте "плохой" и ничего не умеет?
Если честно... То, да. Я так и считаю.
__________________
полезное на axForum, github, vk, coub.
Старый 05.04.2010, 17:59   #19  
FE is offline
FE
Участник
 
224 / 58 (2) ++++
Регистрация: 28.07.2005
Адрес: Петербург
Угу, и запускать процедуру увольнения автоматически при достижении каких-либо критических параметров...
Старый 05.04.2010, 21:45   #20  
AX2009
Гость
 
n/a
Цитата:
Сообщение от mazzy Посмотреть сообщение
-Нет параллельных маршрутов.
Черещ субворкфлоу можно настроить
Теги
ax2009, document handling, workflow, документооборот

 

Похожие темы
Тема Автор Раздел Ответов Посл. сообщение
fed: Cost Explorer in DAX2009 Blog bot DAX Blogs 3 24.11.2009 17:32
Отходы по закупке в DAX2009 Starling DAX: Функционал 14 19.11.2009 20:52
Вопросы по OLAP в DAX2009 oleg_e DAX: Функционал 9 10.12.2008 02:02
Апгрейд существующего приложения на DAX2009 petr DAX: Администрирование 3 03.09.2008 18:54
Кто нибудь пытался релизовать ДОКУМЕНТООБОРОТ в Аксапта? edd DAX: Функционал 10 21.07.2003 15:48

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

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

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