Объект 'Стикер' и как его использовать?

Здесь обсуждаем систему TDM/PDM/Workflow Lotsia PDM PLUS (PartY PLUS).
Ответить
Аватара пользователя
Александр
Активный участник
Сообщения: 1652
Зарегистрирован: 24 авг 2006, 08:06
Используемое ПО: Lotsia PDM PLUS
Откуда: 55.745578,37.665825

Объект 'Стикер' и как его использовать?

Сообщение Александр »

Не подскажите,
у нас используется объект 'Стикер' с двумя атрибутами
- Текст cтикера
- Дата погашения стикера

и мы вешаем этот самый стикер куда не поподя, в смысле к объектам требующим напоминания (и просматриваем эти стикера в виде отчета - что не совсем логично)

А как запустить напоминание по стикеру? (в виде сообщения) о необходимости погашения стикера если его и системная дата совпали или уже близки?

Как оформить это в докобороте? - если можно не подскажите алгоритм действий? (поподробнее) :?
(Если не сделаю - пользователи меня прибьют, отговорки уже почему то не действуют :wink:)

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

Софт - RicCRM<<LotsiaPDM(4.40)<<MsSQL(5/8)
Уровень администрирования - Альтернативный

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

Сообщение Anderyt »

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

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

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

вообщем, это нужно взвесить, сколько будет одновременно висящих переходов и уже от этого плясать.

в принципе, если будет очень очень много - то можно усложнить систему, сделав работы, которые бы проверяли сразу массив стикеров и в случае наступления даты запускали по нужному стикеру внешнюю работу. возможно, так автосерверу будет легче
лучше день потерять, потом за пять минут долететь!
Аватара пользователя
Александр
Активный участник
Сообщения: 1652
Зарегистрирован: 24 авг 2006, 08:06
Используемое ПО: Lotsia PDM PLUS
Откуда: 55.745578,37.665825

Сообщение Александр »

- то можно точнее расписать
Слушай неудобно тебя отвлекать, но если будет время не рапишешь для особо бестолковых

А на счет загрузки автосервера - нельзя ли сделать такую штуку
Запустить работу которая представляет из себя очередь работ.
Т.е. набираем в очередь кучу работ и эта самая работа смотрит- ага подошло время запустить работу из очереди-и заряжает ее в автосервер

Таким образом и автосервер рагрузится и всем будет хорошо. (Простой стек FIFO первый вошел первый вышел (по дате))

Софт - RicCRM<<LotsiaPDM(4.40)<<MsSQL(5/8)
Уровень администрирования - Альтернативный

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

Сообщение Anderyt »

попробую расписать, но только не сейчас, из дома напишу, сейчас реально много работы висит...

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

я вот здесь не совсем понял идею Лоции. Сделали совсем новый функционал, кучу новых таблиц, добавили кучу функций, которые могут автоматически создавать задачи в календарях юзеров... а вот напоминания - нету. что мне с того, что у меня в календаре есть запись о событии, если я о них не узнаю вовремя? я вот лично активно пользуюсь напоминаниями в своем мобильнике, но если бы телефон не мог мне сказать о наступлении события и мне приходилось бы время от времени просматривать список событий... нет уж... это совсем уже не то.
лучше день потерять, потом за пять минут долететь!
Аватара пользователя
Александр
Активный участник
Сообщения: 1652
Зарегистрирован: 24 авг 2006, 08:06
Используемое ПО: Lotsia PDM PLUS
Откуда: 55.745578,37.665825

Сообщение Александр »

Спасибо :wink:
Просто дополнение ...
т.е. как я понял можно реализовать такую схему
1. Создали объект стикер - он автоматически обновил массив Работы_1 следящей за стикерами
2. Эта Работа_1 на автосервере раз в день смотрит свой текущий массив стикеров и при подходе какой либо даты-запускает Работу_Current по теплому стикеру (за 2 дня до срока) при этом вычеркивая этот стикер из своего массива
3. И уже Работа_Current ждет когда стикер дозреет и просто формирует сообщение юзеру автору стикера и все.

т.е. действие Party обновляет переменные WorkFlow (массив) Работы_1 которая живет себе своей жизнью, раз в день проверя свой массив и особо не напрягается...
Если да то Ок, ладно спасибо еще раз .....буду ждать
Последний раз редактировалось Александр 22 дек 2006, 07:12, всего редактировалось 1 раз.

Софт - RicCRM<<LotsiaPDM(4.40)<<MsSQL(5/8)
Уровень администрирования - Альтернативный

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

Сообщение Anderyt »

итак, постараюсь выполнить свое обещание :-) но скажу сразу, работу, которая проверяла бы МАССИВ объектов, я пока не делал. поэтому попробую рассказать о простом варианте, когда каждому объекту соответствует одна работа.

шаблон работы выглядит так:
Начало работы
переход 1
Ожидание
переход 2
Окончание работы

из переменных нужны:
obj - документ-объект, по идее - сам стикер, у которого есть нужная нам дата
date - переменная типа Дата-время
user - переменная типа Пользователь

на переходе 1 можно сделать такое действие над переменными:
date = obj.атрибут_с_датой
user = работа.код_инициатора_работы
сам по себе переход должен быть ручным, форму перехода лучше не показывать.

этап ожидание лучше назначить какому нибудь виртуальному юзеру, чтобы эта задача не висела ни на ком. мы для этого выдумали пользователя Автосервер и все задачи, выполнение которых не зависит от действий пользователя напрямую, назначаем этому юзеру.
формы у этого этапа может не быть (смысле, можно оставить стандартную)

переход 2 д.б. автоматическим, выполняющимся по условию:
date<=БД.Текущий_момент
галочку Выполнение условия лучше поставить

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

можно пойти дальше и сделать возможность продления напоминания, чтобы пользователь мог сказать, получив единожды напоминание - "а напомни мне об этом еще раз через 2 дня" или "... такого то числа"
для этого нужно будет между этапами Ожидание и Окончание работы вставить еще один этап Напоминание, от которого сделать обратный переход на этап Ожидание. если юзер говорит "да, спасибо, что напомнили" - то работа переходит на окончание работы (которое кстати в этом случаее лучше сделать автоматически завершаемым), а если юзер говорит "да, спасибо, что напомнили, но давайте еще разик, через, скажем, два дня", то тогда работа идет по возвратному переходу от Напоминания к Ожиданию, при этом соответствующим образом обновляя переменную date, date = сегодня+2 (с помощью функции relativedate, кажется)

кстати, сейчас, когда функция автоматического запуска работы (без отображения окна Старт новой работы) еще не реализована, юзеров, возможно, будет напрягать каждый раз, после нажатия на объекте-стикере кнопки Напомнить, нажимать еще и ОК и Да (в том самом окне старта новой работы). выходов несколько:
1. можно создавать объект-стикер при старте новой работы. юзер тыкает на кнопку Напомнить на форме ОБЪЕКТА (а не стикера, так как стикера еще нету), открывается окно Старт новой работы, юзер вводит описание стикера и дату, когда он хочет получить напоминание. жмет ОК и Да. после этого работа или на клиенте, или на автосервере, создает объект-стикер в текущем объекте и продолжает жить своей жизнью, ожидая наступления даты.
можно атрибут Дата добавлять в сам объект и потом запускать работу по напоминанию.

НО. если атрибут как таковой не нужен (для тех же отчетов), то для реализации напоминаний можно обойтись и без стикера, и без атрибута у объекта. вся инфа будет хранится в работе. кстати, такой вариант, если не ошибаюсь, показывал Дмитрий Садовников на последней конференции.

вот, пожалуй, и все. надеюсь, ответил на вопрос. если есть новые вопросы - всегда велкам! :-)
лучше день потерять, потом за пять минут долететь!
Аватара пользователя
Александр
Активный участник
Сообщения: 1652
Зарегистрирован: 24 авг 2006, 08:06
Используемое ПО: Lotsia PDM PLUS
Откуда: 55.745578,37.665825

Сообщение Александр »

Андрей! Нет слов! Спасибо! Щас прикрутим! :wink:

Софт - RicCRM<<LotsiaPDM(4.40)<<MsSQL(5/8)
Уровень администрирования - Альтернативный

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

Сообщение Anderyt »

неужели понятно объяснил??? о чудо!... для меня это редкость :-)

потом сообщите, что получилось, ладно?
лучше день потерять, потом за пять минут долететь!
Аватара пользователя
Александр
Активный участник
Сообщения: 1652
Зарегистрирован: 24 авг 2006, 08:06
Используемое ПО: Lotsia PDM PLUS
Откуда: 55.745578,37.665825

Сообщение Александр »

Зря ты это спросил... :D
А что у пользователя Автоюзер, если я правильно понял, будет скапливаться Гора сообщений? и за ним нужно будет убирать? :lol:
Да - Тяжелая у нас работа - создать себе проблему и самому же над ней помучаться (хотя в принципе за это деньги и получаем :wink: ) :lol:

Ок, что получится, сообщу...

Софт - RicCRM<<LotsiaPDM(4.40)<<MsSQL(5/8)
Уровень администрирования - Альтернативный

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

Сообщение Anderyt »

да, ему будут приходить сообщения, но они будут задачами, и поэтому будут удаляться при удалении карт работ. так что с этим все нормально.
хотя есть одна тонкость. тот самый счетчик непрочитанных писем, как показывает практика, у этого Автосервера начинает расти с невероятной быстротой :-)
никому от этого ни холодно, ни жарко, но тем не менее, лучше вставлять на переход ПЕРЕД автоматическим этапом действие над переменными с функцией Следующая_задача.Скрытая = 'Y'. при этом сообщение станет прочитанным и попадет в корзину этого Автосервера.
лучше день потерять, потом за пять минут долететь!
Аватара пользователя
Александр
Активный участник
Сообщения: 1652
Зарегистрирован: 24 авг 2006, 08:06
Используемое ПО: Lotsia PDM PLUS
Откуда: 55.745578,37.665825

Сообщение Александр »

Однозначно - ты круче теххелпа....
Еще раз спасибо :wink:

Софт - RicCRM<<LotsiaPDM(4.40)<<MsSQL(5/8)
Уровень администрирования - Альтернативный

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

Сообщение Anderyt »

ну что вы, право, не стОит! :-)

что бы мы делали без нашего Теххелпа...
лучше день потерять, потом за пять минут долететь!
Ответить