Как удовлетворить шефа (изыски в шаблонах workflow)
Как удовлетворить шефа (изыски в шаблонах workflow)
Не хочется изобретать велосипед. Возможно кто-то уже решал похожие задачи.
Суть: Работает шаблон служебных записок, который позволяет порождать их, направлять адресату (адресатам) и отслеживать получение ответа.
Весьма примитивный шаблон без наворотов: начало - переход на скрытую задачу (вынужденный этап для серверных действий) - переход на разветвитель по адресатам (здесь еще переход на ветку для иерархического типа служебных, но это атавизм, мы его сейчас игнорируем) - переход на задачу адресата - на объединитель - конец. С задачи адресата есть еще ветка получения визы, но она тоже сейчас не интересна.
Повторюсь: шаблон работает и до сих пор удовлетворял.
Однако, нет предела человеческим желаниям. Родилось (не буду показывать пальцем, у кого) желание следующее. Если документ адресован начальнику подразделения, получить его автоматически должен и его зам. Кто первый выполнит, того и тапки, т.е. второму выполнять уже не надо, но видеть задачу он должен. Задача осложняется тем фактом, что документ может быть направлен нескольким адресатам, как абсолютно независимый, собственно, поэтому используется разветвитель.
Вариант перехода к заму по истечении какого-то времени, или назначение замещения здесь не интересен.
Пожалуйста, поделитесь опытом или мыслями.
Суть: Работает шаблон служебных записок, который позволяет порождать их, направлять адресату (адресатам) и отслеживать получение ответа.
Весьма примитивный шаблон без наворотов: начало - переход на скрытую задачу (вынужденный этап для серверных действий) - переход на разветвитель по адресатам (здесь еще переход на ветку для иерархического типа служебных, но это атавизм, мы его сейчас игнорируем) - переход на задачу адресата - на объединитель - конец. С задачи адресата есть еще ветка получения визы, но она тоже сейчас не интересна.
Повторюсь: шаблон работает и до сих пор удовлетворял.
Однако, нет предела человеческим желаниям. Родилось (не буду показывать пальцем, у кого) желание следующее. Если документ адресован начальнику подразделения, получить его автоматически должен и его зам. Кто первый выполнит, того и тапки, т.е. второму выполнять уже не надо, но видеть задачу он должен. Задача осложняется тем фактом, что документ может быть направлен нескольким адресатам, как абсолютно независимый, собственно, поэтому используется разветвитель.
Вариант перехода к заму по истечении какого-то времени, или назначение замещения здесь не интересен.
Пожалуйста, поделитесь опытом или мыслями.
- Disillusioned
- Активный участник
- Сообщения: 420
- Зарегистрирован: 15 июл 2004, 15:12
- Используемое ПО: Lotsia PDM PLUS
- Откуда: Подольск
- Контактная информация:
Re: Как удовлетворить шефа (изыски в шаблонах workflow)
Желание самое что ни на есть правильное. Особенно для пользователей, которые по долгу службы часто отсутствуют на рабочем месте.
Для моделирования данных о том кто-кого замещает нужна будет соответствующая объектная модель, где как минимум будут указаны коды пользователей основного и замещающего исполнителя. В шаблоне на задачу в качестве исполнителей вешаем две переменные типа "Пользователь" (можно как одиночные, так и массивы), одну для основного исполнителя(ей), другую для заместителя(ей). После того как выбрали основного исполнителя(ей) находим соответствующего заместителя(ей). Если никаких заместителей нет, то в переменную заместителя(ей) записываем значение переменной основного исполнителя(ей), благо что одно и то же сообщение пользователю дважды не приходит.
Для моделирования данных о том кто-кого замещает нужна будет соответствующая объектная модель, где как минимум будут указаны коды пользователей основного и замещающего исполнителя. В шаблоне на задачу в качестве исполнителей вешаем две переменные типа "Пользователь" (можно как одиночные, так и массивы), одну для основного исполнителя(ей), другую для заместителя(ей). После того как выбрали основного исполнителя(ей) находим соответствующего заместителя(ей). Если никаких заместителей нет, то в переменную заместителя(ей) записываем значение переменной основного исполнителя(ей), благо что одно и то же сообщение пользователю дважды не приходит.
Последний раз редактировалось Disillusioned 25 ноя 2008, 11:49, всего редактировалось 1 раз.
Ах и с ними невозможно
И без них никак нельзя
И без них никак нельзя
- Старик Крупский
- Активный участник
- Сообщения: 803
- Зарегистрирован: 27 июл 2006, 22:17
- Откуда: Москва
Re: Как удовлетворить шефа (изыски в шаблонах workflow)
Можно попытаться сделать через повторы ветки, только мне кажется, что это тупиковый вариант. Проще, наверное, вот как. Есть, например, массив их трех колонок:
ИД начальника|ИД заместителя|Признак приема в работу
Таким образом, для каждой ветки нужно в массиве находить в первых двух колонках текущего юзера и оставить только его строчку. Ну и тогда в третью колонку проставлять признак приема в работу. Соответственно, на этот признак и ориентироваться.
ИД начальника|ИД заместителя|Признак приема в работу
Таким образом, для каждой ветки нужно в массиве находить в первых двух колонках текущего юзера и оставить только его строчку. Ну и тогда в третью колонку проставлять признак приема в работу. Соответственно, на этот признак и ориентироваться.
"Лучше меньше, да лучше" (C)
- Старик Крупский
- Активный участник
- Сообщения: 803
- Зарегистрирован: 27 июл 2006, 22:17
- Откуда: Москва
Re: Как удовлетворить шефа (изыски в шаблонах workflow)
To Disillusioned:
Здесь используется разветвитель и все получат задачу равноправно. Объектная модель может (и должна) использоваться как способ хранения информации о том, кто начальник, а кто заместитель. А вот "кто первый - того и тапки" - вот где собака порылась!
Здесь используется разветвитель и все получат задачу равноправно. Объектная модель может (и должна) использоваться как способ хранения информации о том, кто начальник, а кто заместитель. А вот "кто первый - того и тапки" - вот где собака порылась!
"Лучше меньше, да лучше" (C)
- Disillusioned
- Активный участник
- Сообщения: 420
- Зарегистрирован: 15 июл 2004, 15:12
- Используемое ПО: Lotsia PDM PLUS
- Откуда: Подольск
- Контактная информация:
Re: Как удовлетворить шефа (изыски в шаблонах workflow)
Не понял в чем проблема с "тапками". В Workflow вроде для того и есть возможность принимать задачу в работу... Видишь, что "Принять" недоступна, значит ты был не первый...
Ах и с ними невозможно
И без них никак нельзя
И без них никак нельзя
Re: Как удовлетворить шефа (изыски в шаблонах workflow)
Давайте, немного разжуем.
Как я для себя поняла: на первой задаче отобрали получателей - массив "Адресаты". Каким-то образом (пока неважно, каким), анализируя "Адресаты", получаем массив "Замы". Причем, зависимость такая: адресаты[1]->замы[1]. При этом допустимо наличие адресата в массиве замов (сам себе зам).
Делаем разветвление по исполнителям.
На задаче после разветвителя в качестве исполнителей прописываем "Адресаты" с приоритетом 0 и "Замы" с приоритетом 1.
Я правильно поняла?
И Вы утверждаете, что 1) задание прийдет одновременно всем из обоих массивов, 2) результат от выполнения зачтется от одного из пары адресат-зам?
Как я для себя поняла: на первой задаче отобрали получателей - массив "Адресаты". Каким-то образом (пока неважно, каким), анализируя "Адресаты", получаем массив "Замы". Причем, зависимость такая: адресаты[1]->замы[1]. При этом допустимо наличие адресата в массиве замов (сам себе зам).
Делаем разветвление по исполнителям.
На задаче после разветвителя в качестве исполнителей прописываем "Адресаты" с приоритетом 0 и "Замы" с приоритетом 1.
Я правильно поняла?
И Вы утверждаете, что 1) задание прийдет одновременно всем из обоих массивов, 2) результат от выполнения зачтется от одного из пары адресат-зам?
Re: Как удовлетворить шефа (изыски в шаблонах workflow)
поправка по 1) не всем из обоих массивов, а всем, за исключением одинаковых, т.е. если я сам себе зам, то получу 1 задание, а не 2.
Так?
Так?
- Disillusioned
- Активный участник
- Сообщения: 420
- Зарегистрирован: 15 июл 2004, 15:12
- Используемое ПО: Lotsia PDM PLUS
- Откуда: Подольск
- Контактная информация:
Re: Как удовлетворить шефа (изыски в шаблонах workflow)
Замов определяем во время разветвления.
Для основного исполнителя и его заместителя - одна и та же задача (исполнители - две переменные, которые в случае отсутствия замов будут иметь одинаковое значение).
В остальном, все верно...
Для основного исполнителя и его заместителя - одна и та же задача (исполнители - две переменные, которые в случае отсутствия замов будут иметь одинаковое значение).
В остальном, все верно...
Ах и с ними невозможно
И без них никак нельзя
И без них никак нельзя
Re: Как удовлетворить шефа (изыски в шаблонах workflow)
не поняла этого уточнения. Я до сих пор в механизм разветвления не встревала. Для меня это как черный ящик: подсовываю массив исполнителей, а как там что, не знаю. Вы как предлагаете?Disillusioned писал(а):Замов определяем во время разветвления.
Если я подготовлю, например, на своей скрытой задаче два моих массива, это будет неправильно? в смысле, не сработает?
- Disillusioned
- Активный участник
- Сообщения: 420
- Зарегистрирован: 15 июл 2004, 15:12
- Используемое ПО: Lotsia PDM PLUS
- Откуда: Подольск
- Контактная информация:
Re: Как удовлетворить шефа (изыски в шаблонах workflow)
"Разветвлять по исполнителям" здесь само собой не прокатит, так как в этом случае одна задача - один исполнитель...
Используем вариант "Повторять ветку..". Указываем число повторений равное числу пользователей в массиве. В действиях над переменными на переходе после разветвителя присваиваем локальным переменным user1 и user2 значения (user1 будет очередным значением из массива исполнителей, user2 определяем через SQL).
Используем вариант "Повторять ветку..". Указываем число повторений равное числу пользователей в массиве. В действиях над переменными на переходе после разветвителя присваиваем локальным переменным user1 и user2 значения (user1 будет очередным значением из массива исполнителей, user2 определяем через SQL).
Ах и с ними невозможно
И без них никак нельзя
И без них никак нельзя
Re: Как удовлетворить шефа (изыски в шаблонах workflow)
ясно. спасибо. пробую
Re: Как удовлетворить шефа (изыски в шаблонах workflow)
еще раз огромное спасибо. работает. сейчас еще все нюансы проверю, но первое впечатление - то, что требовалось
Re: Как удовлетворить шефа (изыски в шаблонах workflow)
первое впечатление оказалось обманчивым. Собственно, задача была ПОЧТИ решена. Оставался пустяк (не скажу, сущий). У меня на ветке работает действие, которое создает новый объект с параметрами основного исполнителя. Если бы я не уперлась, а вынесла это действие на задачу раньше, то была бы счастлива. А так я получала объекты с нулевыми параметрами. До зарезу захотела узнать, в чем собака порылась. То, что я узнала ввергло меня в кому...
- Anderyt
- Активный участник
- Сообщения: 777
- Зарегистрирован: 15 июл 2004, 13:15
- Используемое ПО: Lotsia PDM PLUS
- Откуда: Тюмень
- Контактная информация:
Re: Как удовлетворить шефа (изыски в шаблонах workflow)
ну дак и что в итоге?? не работает? или уже вышла из комы? 

лучше день потерять, потом за пять минут долететь!
Re: Как удовлетворить шефа (изыски в шаблонах workflow)
да... как сказать
очень не хочется употреблять обидные слова, ребята (это я про Лоцию), в принципе, хорошие, терпеливые...
в общем, как я поняла, настроить можно, слегка извернувшись, но работать это будет не долго.
Сейчас готовится обновление, в котором переделаны многие вещи. Я попыталась настроить в нем этот механизм. Чтобы он заработал, мне посоветовали такую трехэтажную структуру нагородить, что я только сейчас выкорабкиваюсь из комы
очень не хочется употреблять обидные слова, ребята (это я про Лоцию), в принципе, хорошие, терпеливые...
в общем, как я поняла, настроить можно, слегка извернувшись, но работать это будет не долго.
Сейчас готовится обновление, в котором переделаны многие вещи. Я попыталась настроить в нем этот механизм. Чтобы он заработал, мне посоветовали такую трехэтажную структуру нагородить, что я только сейчас выкорабкиваюсь из комы