11.05.2011, 12:53 | #1 |
Участник
|
периодическое выполнение
Здравствуйте,коллеги)) хотел бы узнать возможно ли средствами crm выполнять задачи периодически. грубо говоря каждый день в 12.00 совершать определенные действия
к примеру просматривать объекты: если дата < текущей переводить в неактивное состояние. скриптами, плагинами, процессами как угодно.
__________________
rurik |
|
11.05.2011, 13:05 | #2 |
Чайный пьяница
|
Есть несколько вариантов. Например:
1. Через рекурсивные БП (т.е. БП который ожидает времени запуска - через Workflow Timeout, затем выполняет необходимые действия, затем запускает ещё один экземпляр этого же БП). 2. Через какое либо внешнее приложение (например Windows Service) - я бы делал именно так.
__________________
Эмо разработчик, сначала пишу код, потом плачу над его несовершенством. Подписывайтесь на мой блог, twitter и YouTube канал. Пользуйтесь моим Ultimate Workflow Toolkit |
|
11.05.2011, 13:15 | #3 |
Kostya Afendikov
|
Цитата:
|
|
11.05.2011, 15:47 | #4 |
Участник
|
спасибо большое за наведение на путь истинный))) но у меня все таки есть вопрос:
1)я наткнулся на описание этой же тулзу вот здесь http://mmcrm.ru/?p=385 ,но там подробно описывается как запускать бизнес процесс с помощью этой тулзы, интересно можно ли запускать с ее помощью js скрипт??
__________________
rurik Последний раз редактировалось u.rastegaev; 11.05.2011 в 15:50. |
|
11.05.2011, 15:55 | #5 |
Чайный пьяница
|
Цитата:
Сообщение от u.rastegaev
спасибо большое за наведение на путь истинный))) но у меня все таки есть вопрос:
1)я наткнулся на описание этой же тулзу вот здесь http://mmcrm.ru/?p=385 ,но там подробно описывается как запускать бизнес процесс с помощью этой тулзы, интересно можно ли запускать с ее помощью js скрипт?? Как по мне - не хотите мучаться - сделайте БП. Прекрассно работает и подтверждено не одним внедрением.
__________________
Эмо разработчик, сначала пишу код, потом плачу над его несовершенством. Подписывайтесь на мой блог, twitter и YouTube канал. Пользуйтесь моим Ultimate Workflow Toolkit |
|
11.05.2011, 16:25 | #6 |
Участник
|
просто имеется не самый тривиальный механизм подсчета цены на js, который сейчас отрабатывает на клиентах и понадобилось его запускать периодически и я не уверен можно ли его реализовать с помощью бизнесс процессов
__________________
rurik |
|
11.05.2011, 16:29 | #7 |
Участник
|
а прокатит ли такая как я подозреваю кривая схема:
держать запущенным один клиент создать БП который возбуждает fireOnChange с нужным мне скриптом ? P.S. правда не знаю можно ли из БП возбуждать fireOnChange
__________________
rurik |
|
11.05.2011, 16:45 | #8 |
Kostya Afendikov
|
Цитата:
Если нет - переписывайте свои калькуляции и сделайте плагин к примеру или все на БП перенесите |
|
11.05.2011, 16:48 | #9 |
Moderator
|
Постойте, речь же шла про перевод старых записей в неактивное состояние?
Перенести логику JS на C# - дело 5 минут, какой бы сложной она не была.
__________________
http://fixrm.wordpress.com, снятие/наведение порчи. Быстро, дорого, гарантия. MS Certified Dirty Magic Professional |
|
11.05.2011, 16:54 | #10 |
Участник
|
опять же встает вопрос если переписать на плагин,как заставить запускаться его периодически??
я правильно понимаю: повесить плагин как обычно на событие(например на onChange), а уже в БП изменять сущьность.(вот с этого момента правильно рассуждаю??) сущьность изменяется-> срабатывает событие-> срабатывает плагин, отрабатывает логику. или не получится?
__________________
rurik |
|
11.05.2011, 16:57 | #11 |
Участник
|
to Артем Enot Грунин : про перевод записей в неактивное состояние- это я пример привел.
__________________
rurik |
|
11.05.2011, 17:03 | #12 |
Чайный пьяница
|
Цитата:
Сообщение от u.rastegaev
опять же встает вопрос если переписать на плагин,как заставить запускаться его периодически??
я правильно понимаю: повесить плагин как обычно на событие(например на onChange), а уже в БП изменять сущьность.(вот с этого момента правильно рассуждаю??) сущьность изменяется-> срабатывает событие-> срабатывает плагин, отрабатывает логику. или не получится?
__________________
Эмо разработчик, сначала пишу код, потом плачу над его несовершенством. Подписывайтесь на мой блог, twitter и YouTube канал. Пользуйтесь моим Ultimate Workflow Toolkit |
|
|
За это сообщение автора поблагодарили: u.rastegaev (1). |
11.05.2011, 17:05 | #13 |
Moderator
|
Разница между задачами существенная! Запустить логику по событию - это тривиально. Периодически - это уже задача.
Плагины, как и JS срабатывают по событиям. Разница в том, что диапазон событий у плагинов больше и код выполняется на сервере. Если нужно что-то вычислить при сохранении или изменении записи, то плагины - идеальный вариант. Если нужно чтобы клиент видел результат операций, например, как меняется сумма при изменении процента скидки, то нужно использовать JS. Если какая-то операция должна по расписанию, то это однозачно сторонняя разработка. Опишите все же вашу задачу, возможно тогда станет понятно как ее решать.
__________________
http://fixrm.wordpress.com, снятие/наведение порчи. Быстро, дорого, гарантия. MS Certified Dirty Magic Professional |
|
11.05.2011, 17:21 | #14 |
Участник
|
задача такова: есть сущьность контракт и в ней есть поле продукт и поле цена. эта цена рассчитывается исходя из значения АБС, но значение этого абс задается в связанной сущьности, которая имеет срок годности.Если такой сущьности не прикреплено берется дефолтное значение АБС.
соответственно хочется пересчитывать цену в контракте по дефолтному абс как только указанная дата срока годности этой связанной сущьности истекает.
__________________
rurik |
|
11.05.2011, 17:59 | #15 |
Moderator
|
Тогда при создании связанной сущности можно запускать рабочий процесс, который будет ждать истечения срока годности этой сущности (если нельзя его менять после создания, то все вообще просто). Далее по таймеру зовется слудующий шаг, который закрывает ваш объект, после чего ваш кастомный шаг, который находит родительский контракт и делает необходимые расчеты.
__________________
http://fixrm.wordpress.com, снятие/наведение порчи. Быстро, дорого, гарантия. MS Certified Dirty Magic Professional |
|