Утилитки
24
Фев
0

Workflow Automation

У CRM’ных Бизнес-процессов есть такая особенность – система способна обнаруживать бесконечные циклы выполнения (это когда Бизнес-процесс вызывает сам себя) и после 5-6 итераций останавливает их выполнение. Но довольно часто нам нужна такая потребность – например, для регулярного напоминания о каком-либо событии с помощью Бизнес-процесса. Для этого создается Бизнес-процесс, который ждет очередной даты, выполняет бизнес-логику и обновляет дату следующей итерации, тем самым вызывая самого себя на ожидание.

Workflow Automation это утилита, которая позволяет обойти это ограничение и автоматизировать выполнение бесконечного цикла.

Работает это так: создается Бизнес-процесс с ручным запуском -> затем создается периодическое задание в Планировщике задач Windows, которое и будет запускать Бизнес-процесс.

Использование:

  • Создайте нужный Вам Бизнес-процесс.
    Примечание: рекомендуется поставить галку (в настройках Бизнес-процесса), удаляющую завершенные задания Бизнес-процессов;
  • Скачайте Workflow Automation и распакуйте куда-нибудь на локальный диск;
  • В файле Credentials.xm (конфигурационный XML-файл для настройки соединения с CRM сервером) произведите следующие настройки:
    • ServerAddress: URL CRM сервера;
    • OrganizationName: название организации CRM;
    • DiscoveryUri: URL CRM Discovery сервиса;
    • OrganizationUri: URL CRM Organization сервиса;
    • Credentials: домин, логин и пароль под которыми утилита будет ломиться в CRM. Оставьте это поле пустым, если в CRM нужно заходить под текущем пользователем;
    • EndPointType: тип авторизации (может быть: ActiveDirectory, Federation или LiveId).

    Например:

    <?xml version="1.0" encoding="utf-8" ?>
    <Configurations>
      <Configuration>
        <ServerAddress>crmserver:5555</ServerAddress>
        <OrganizationName>ORG_NAME</OrganizationName>
        <DiscoveryUri>http://crmserver:5555/XRMServices/2011/Discovery.svc</DiscoveryUri>
        <OrganizationUri>http://crmserver:5555/ORG_NAME/XRMServices/2011/Organization.svc</OrganizationUri>
        <HomeRealmUri>
        </HomeRealmUri>
        <Credentials>
          <UserName></UserName>
          <Domain></Domain>
          <Password></Password>
        </Credentials>
        <!-- EndPointType valid values: ActiveDirectory, Federation, LiveId-->
        <EndpointType>ActiveDirectory</EndpointType>
      </Configuration>
    </Configurations>
    
  • В файле Workflows.xml (конфигурационный XML-файл для настройки выполнения Бизнес-процесса) создайте необходимое количество узлов «workflow» со следующими выполните следующие настройки:
    • WorkflowGUID: GUID Бизнес-процесса (его Вы можете найти в строке URL формы Бизнес-процесса);
    • Enabled: работает или нет правило выполнения текущего узла workflow (true или false);
    • FetchXML: FetchXML запрос, записи которые он вернет будут подсунуты Бизнес-процессу. Сам запрос должн быть помещен внутри <![CDATA[ … ]]>.

    Например:

    <?xml version="1.0" encoding="utf-8" ?>
    <Workflows>
      <Workflow>
        <WorkflowGUID>9045FE46-5DC5-42C9-8761-9B26BAEB3160</WorkflowGUID>
        <Enabled>true</Enabled>
        <FetchXML>
          <![CDATA[<fetch version="1.0" output-format="xml-platform" mapping="logical" distinct="false">
            <entity name="account">
              <attribute name="accountid" />
              <filter type="and">
                <condition attribute="statecode" operator="eq" value="0" />
              </filter>
            </entity>
          </fetch>]]>
        </FetchXML>
      </Workflow>
    </Workflows>
    
  • В Планировщике задач Windows создайте задачу, периодически запускающую WorkflowAutomation.exe, при этом в поле «Start in» укажите полный путь к папке с программой. Также убедитесь, что поставлена галка «Run whether user is logged on or not», чтобы задача выполнялась и после выхода пользователя из системы;




Комментарии (0)

*

code