AXForum  
Вернуться   AXForum > Microsoft Dynamics CRM > Dynamics CRM: Разработка
All
Забыли пароль?
Зарегистрироваться Правила Справка Пользователи Сообщения за день Поиск Все разделы прочитаны

 
 
Опции темы Поиск в этой теме Опции просмотра
Старый 02.04.2018, 13:42   #1  
ximik33rus is offline
ximik33rus
Участник
 
58 / 10 (1) +
Регистрация: 05.03.2018
Адрес: Россия, Владимир
Red face Выполнение логики по рассписанию (CRM 365 он праймис)
Доброго дня!
Имеется необходимость производить по расписанию, ежедневно (несколько раз в день) определенную логику действий с данными в CRM.

К примеру, переназначать Owner-ов в некоторых сущностях.

Первое что приходит в голову - это использование планировщика Windows или nnCron, который запускал бы некое консольное приложение устанавливающее соединение с базой и делающее свое дело.
Второе, более массивное - тот же "крон" и приложение - создающее соединение посредством Web API и активирующее событие, на которое реагирует плагин (который и выполняет определенную логику).
Третье - в моем случае не подходит, так как действие не может быль привязано к бизнес-процессу и происходить должно независимо - это использование WorkFlow-плагина.

Господа, подскажите, возможно имеются еще способы для решения задачи? Возможно более удобные и лаконичные.

UPD: Пока ждал ответов нашел еще вариант - зацикливание Бизнес-процесса самого на себя (каждые 5 минут, что не вызывает защиты от зацикливания), или зацикливание одного бизнес-процесса на другой, который снова выполняет первый.

Последний раз редактировалось ximik33rus; 02.04.2018 в 14:22.
Старый 02.04.2018, 15:05   #2  
ZooY is offline
ZooY
Участник
Аватар для ZooY
 
377 / 46 (2) +++
Регистрация: 24.06.2008
Адрес: Россия, Москва
Хороший вариант - консольное приложение, которое запускается планировщиком Windows и выполняет Action в CRM.
В планировщике вы можете гибко управлять временем запуска. В случае необходимости можно запустить приложение вручную.
При этом приложение (совместно с планировщиком) будет отвечать только за тайминг запуска. Всю основную логику разместить в Action.
__________________
Моё: Cайт - Код - Dynamics365 Tools
Старый 02.04.2018, 17:07   #3  
a33ik is offline
a33ik
Чайный пьяница
Аватар для a33ik
MCP
MCBMSS
Злыдни
Соотечественники
Most Valuable Professional
Лучший по профессии 2017
Лучший по профессии 2015
Лучший по профессии 2014
Лучший по профессии AXAWARD 2013
Лучший по профессии 2011
Лучший по профессии 2009
 
3,243 / 896 (36) +++++++
Регистрация: 02.07.2008
Адрес: Greenville, SC
Варианты, что вы описали - все рабочие. Вот ещё пара:
1. Использование Bulk-Delete - https://www.crmsoftwareblog.com/2012...ing-workflows/
2. Использование SQL Agent + SSIS DTS - https://docs.microsoft.com/en-us/sql...kages#packages
__________________
Эмо разработчик, сначала пишу код, потом плачу над его несовершенством.

Подписывайтесь на мой блог, twitter и YouTube канал.
Пользуйтесь моим Ultimate Workflow Toolkit
Старый 02.04.2018, 17:21   #4  
ximik33rus is offline
ximik33rus
Участник
 
58 / 10 (1) +
Регистрация: 05.03.2018
Адрес: Россия, Владимир
Цитата:
Сообщение от ZooY Посмотреть сообщение
Хороший вариант - консольное приложение, которое запускается планировщиком Windows и выполняет Action в CRM.
В планировщике вы можете гибко управлять временем запуска. В случае необходимости можно запустить приложение вручную.
При этом приложение (совместно с планировщиком) будет отвечать только за тайминг запуска. Всю основную логику разместить в Action.
Я тоже пока что остановился на варианте консольного приложения.

Хотя хотелось бы избежать децентрализации системы на несколько внешних компонент, но зацикливание или Bulk-Delete тоже как то костыльно выглядит. Выбрал меньшее из зол.

Спасибо за ответы! Возможно, кто то еще выскажется о своих предпочтениях?
Старый 03.04.2018, 09:41   #5  
ZooY is offline
ZooY
Участник
Аватар для ZooY
 
377 / 46 (2) +++
Регистрация: 24.06.2008
Адрес: Россия, Москва
Цитата:
Сообщение от ximik33rus Посмотреть сообщение
Хотя хотелось бы избежать децентрализации системы...
Вы всегда можете оправдать свои действия тем, что выполнение заданий по таймауту - это не функция CRM В связи с этим, логично передать этот функционал в специально заточенную на то систему.
__________________
Моё: Cайт - Код - Dynamics365 Tools
Старый 04.04.2018, 13:51   #6  
Артем Enot Грунин is offline
Артем Enot Грунин
Moderator
Аватар для Артем Enot Грунин
MCBMSS
Злыдни
Most Valuable Professional
Лучший по профессии 2017
Лучший по профессии 2015
Лучший по профессии 2014
Лучший по профессии AXAWARD 2013
Лучший по профессии 2011
Лучший по профессии 2009
 
3,912 / 623 (28) +++++++
Регистрация: 16.08.2007
Адрес: Пермь!
Записей в блоге: 151
Поддерживаю вариант - держать все компоненты внутри CRM. Классическими подходами является использование массового удаления (некий хак) или зацикленных рабочих процессов. Вот хорошая подборка подобных решений: https://blog.apex.it/2016/11/schedul...-dynamics-crm/
__________________
http://fixrm.wordpress.com, снятие/наведение порчи. Быстро, дорого, гарантия.

MS Certified Dirty Magic Professional
Теги
crm 365, cron

 

Похожие темы
Тема Автор Раздел Ответов Посл. сообщение
crminthefield: Podcast and Overview: Microsoft Dynamics CRM 2011 Update Rollup 15 Blog bot Dynamics CRM: Blogs 1 10.02.2016 10:26
crminthefield: Podcast and Overview: Microsoft Dynamics CRM 2011 Update Rollup 17 Blog bot Dynamics CRM: Blogs 0 10.05.2014 06:30
crminthefield: Podcast and Overview: Microsoft Dynamics CRM 2013 Update Rollup 2 Blog bot Dynamics CRM: Blogs 0 15.04.2014 01:15
crminthefield: Podcast and Overview: Microsoft Dynamics CRM 2011 Update Rollup 16 Blog bot Dynamics CRM: Blogs 0 23.01.2014 03:15
crminthefield: Podcast and Overview: Microsoft Dynamics CRM 2011 Update Rollup 10 Blog bot Dynamics CRM: Blogs 0 17.08.2012 03:27
Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск
Опции просмотра

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.
Быстрый переход

Рейтинг@Mail.ru
Часовой пояс GMT +3, время: 22:58.
Powered by vBulletin® v3.8.5. Перевод: zCarot
Контактная информация, Реклама.