|  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 | 
|  |