Как удовлетворить шефа (изыски в шаблонах workflow)

Здесь обсуждаем систему TDM/PDM/Workflow Lotsia PDM PLUS (PartY PLUS).
gali
Активный участник
Сообщения: 285
Зарегистрирован: 27 мар 2007, 07:43

Как удовлетворить шефа (изыски в шаблонах workflow)

Сообщение gali »

Не хочется изобретать велосипед. Возможно кто-то уже решал похожие задачи.

Суть: Работает шаблон служебных записок, который позволяет порождать их, направлять адресату (адресатам) и отслеживать получение ответа.
Весьма примитивный шаблон без наворотов: начало - переход на скрытую задачу (вынужденный этап для серверных действий) - переход на разветвитель по адресатам (здесь еще переход на ветку для иерархического типа служебных, но это атавизм, мы его сейчас игнорируем) - переход на задачу адресата - на объединитель - конец. С задачи адресата есть еще ветка получения визы, но она тоже сейчас не интересна.
Повторюсь: шаблон работает и до сих пор удовлетворял.
Однако, нет предела человеческим желаниям. Родилось (не буду показывать пальцем, у кого) желание следующее. Если документ адресован начальнику подразделения, получить его автоматически должен и его зам. Кто первый выполнит, того и тапки, т.е. второму выполнять уже не надо, но видеть задачу он должен. Задача осложняется тем фактом, что документ может быть направлен нескольким адресатам, как абсолютно независимый, собственно, поэтому используется разветвитель.
Вариант перехода к заму по истечении какого-то времени, или назначение замещения здесь не интересен.

Пожалуйста, поделитесь опытом или мыслями.
Аватара пользователя
Disillusioned
Активный участник
Сообщения: 420
Зарегистрирован: 15 июл 2004, 15:12
Используемое ПО: Lotsia PDM PLUS
Откуда: Подольск
Контактная информация:

Re: Как удовлетворить шефа (изыски в шаблонах workflow)

Сообщение Disillusioned »

Желание самое что ни на есть правильное. Особенно для пользователей, которые по долгу службы часто отсутствуют на рабочем месте.
Для моделирования данных о том кто-кого замещает нужна будет соответствующая объектная модель, где как минимум будут указаны коды пользователей основного и замещающего исполнителя. В шаблоне на задачу в качестве исполнителей вешаем две переменные типа "Пользователь" (можно как одиночные, так и массивы), одну для основного исполнителя(ей), другую для заместителя(ей). После того как выбрали основного исполнителя(ей) находим соответствующего заместителя(ей). Если никаких заместителей нет, то в переменную заместителя(ей) записываем значение переменной основного исполнителя(ей), благо что одно и то же сообщение пользователю дважды не приходит.
Последний раз редактировалось 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)

Сообщение Disillusioned »

Не понял в чем проблема с "тапками". В Workflow вроде для того и есть возможность принимать задачу в работу... Видишь, что "Принять" недоступна, значит ты был не первый...
Ах и с ними невозможно
И без них никак нельзя
gali
Активный участник
Сообщения: 285
Зарегистрирован: 27 мар 2007, 07:43

Re: Как удовлетворить шефа (изыски в шаблонах workflow)

Сообщение gali »

Давайте, немного разжуем.
Как я для себя поняла: на первой задаче отобрали получателей - массив "Адресаты". Каким-то образом (пока неважно, каким), анализируя "Адресаты", получаем массив "Замы". Причем, зависимость такая: адресаты[1]->замы[1]. При этом допустимо наличие адресата в массиве замов (сам себе зам).
Делаем разветвление по исполнителям.
На задаче после разветвителя в качестве исполнителей прописываем "Адресаты" с приоритетом 0 и "Замы" с приоритетом 1.
Я правильно поняла?
И Вы утверждаете, что 1) задание прийдет одновременно всем из обоих массивов, 2) результат от выполнения зачтется от одного из пары адресат-зам?
gali
Активный участник
Сообщения: 285
Зарегистрирован: 27 мар 2007, 07:43

Re: Как удовлетворить шефа (изыски в шаблонах workflow)

Сообщение gali »

поправка по 1) не всем из обоих массивов, а всем, за исключением одинаковых, т.е. если я сам себе зам, то получу 1 задание, а не 2.
Так?
Аватара пользователя
Disillusioned
Активный участник
Сообщения: 420
Зарегистрирован: 15 июл 2004, 15:12
Используемое ПО: Lotsia PDM PLUS
Откуда: Подольск
Контактная информация:

Re: Как удовлетворить шефа (изыски в шаблонах workflow)

Сообщение Disillusioned »

Замов определяем во время разветвления.
Для основного исполнителя и его заместителя - одна и та же задача (исполнители - две переменные, которые в случае отсутствия замов будут иметь одинаковое значение).

В остальном, все верно...
Ах и с ними невозможно
И без них никак нельзя
gali
Активный участник
Сообщения: 285
Зарегистрирован: 27 мар 2007, 07:43

Re: Как удовлетворить шефа (изыски в шаблонах workflow)

Сообщение gali »

Disillusioned писал(а):Замов определяем во время разветвления.
не поняла этого уточнения. Я до сих пор в механизм разветвления не встревала. Для меня это как черный ящик: подсовываю массив исполнителей, а как там что, не знаю. Вы как предлагаете?
Если я подготовлю, например, на своей скрытой задаче два моих массива, это будет неправильно? в смысле, не сработает?
Аватара пользователя
Disillusioned
Активный участник
Сообщения: 420
Зарегистрирован: 15 июл 2004, 15:12
Используемое ПО: Lotsia PDM PLUS
Откуда: Подольск
Контактная информация:

Re: Как удовлетворить шефа (изыски в шаблонах workflow)

Сообщение Disillusioned »

"Разветвлять по исполнителям" здесь само собой не прокатит, так как в этом случае одна задача - один исполнитель...
Используем вариант "Повторять ветку..". Указываем число повторений равное числу пользователей в массиве. В действиях над переменными на переходе после разветвителя присваиваем локальным переменным user1 и user2 значения (user1 будет очередным значением из массива исполнителей, user2 определяем через SQL).
Ах и с ними невозможно
И без них никак нельзя
gali
Активный участник
Сообщения: 285
Зарегистрирован: 27 мар 2007, 07:43

Re: Как удовлетворить шефа (изыски в шаблонах workflow)

Сообщение gali »

ясно. спасибо. пробую
gali
Активный участник
Сообщения: 285
Зарегистрирован: 27 мар 2007, 07:43

Re: Как удовлетворить шефа (изыски в шаблонах workflow)

Сообщение gali »

еще раз огромное спасибо. работает. сейчас еще все нюансы проверю, но первое впечатление - то, что требовалось
gali
Активный участник
Сообщения: 285
Зарегистрирован: 27 мар 2007, 07:43

Re: Как удовлетворить шефа (изыски в шаблонах workflow)

Сообщение gali »

первое впечатление оказалось обманчивым. Собственно, задача была ПОЧТИ решена. Оставался пустяк (не скажу, сущий). У меня на ветке работает действие, которое создает новый объект с параметрами основного исполнителя. Если бы я не уперлась, а вынесла это действие на задачу раньше, то была бы счастлива. А так я получала объекты с нулевыми параметрами. До зарезу захотела узнать, в чем собака порылась. То, что я узнала ввергло меня в кому...
Аватара пользователя
Anderyt
Активный участник
Сообщения: 777
Зарегистрирован: 15 июл 2004, 13:15
Используемое ПО: Lotsia PDM PLUS
Откуда: Тюмень
Контактная информация:

Re: Как удовлетворить шефа (изыски в шаблонах workflow)

Сообщение Anderyt »

ну дак и что в итоге?? не работает? или уже вышла из комы? ;-)
лучше день потерять, потом за пять минут долететь!
gali
Активный участник
Сообщения: 285
Зарегистрирован: 27 мар 2007, 07:43

Re: Как удовлетворить шефа (изыски в шаблонах workflow)

Сообщение gali »

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