...

Запуск процесса из сценария на дату

Тема в разделе "Разработчикам", создана пользователем gaidarina, 1 июн 2017.

  1. gaidarina

    gaidarina New Member

    Здравствуйте, подскажите, можно ли осуществить запуск процесса из сценария на определенную дату, если да, то как?
    Пыталась обратиться через instance.Date, но, соответственно, не получилось.
     
    Последнее редактирование: 1 июн 2017
  2. Segey

    Segey New Member

    Пользуюсь для запуска процесса таймером, если день точно не известен запускаю по таймеру скрипт который просчитывает на какой день запустить второй таймер. Или я вас не понял...
     
  3. gaidarina

    gaidarina New Member

    Есть процесс (картинка 1), есть сценарий к нему, который считывает данные из блока и должен запустить процессы на дату=дата в блоке-100 дней.
    Как выяснилось, что даже в таком виде код не работает.
     

    Вложения:

    • 1.JPG
      1.JPG
      Размер файла:
      69,6 КБ
      Просмотров:
      17
    • 2.JPG
      2.JPG
      Размер файла:
      39 КБ
      Просмотров:
      17
    • 3.JPG
      3.JPG
      Размер файла:
      28,9 КБ
      Просмотров:
      16
    • 4.JPG
      4.JPG
      Размер файла:
      27,1 КБ
      Просмотров:
      17
    • 5.JPG
      5.JPG
      Размер файла:
      56,7 КБ
      Просмотров:
      17
  4. arkarimov

    arkarimov Member

    1. Ваш код не запускает процесс на заданную дату, а просто пытается поменять свойство Date у экземпляра процесса. Это никак не приведет к желаемому. Для запуска необходимо делать так как посоветовали - перед запуском процесса таймер, как сработал таймер - запустить экземпляр или партию экземпляров.
    2. На схеме обозначен запуск процесса, этот же процесс запускается сценарием в коде, определитесь и оставьте какой то один вариант. Для массового запуска лучше запуск процесса специальным элементом, сценарий стоит использовать когда этот элемент никак не задействовать из-за специфики.
    3. Список уникальных дат окончания трудовых договоров можно получить проще
    var massiv=context.TrudovyeDogovory.Select(x=>x.DataOkonchaniaTrudovogoDogovora).Distinct(); //мог ошибиться в написании названий переменных
    4. Глобальные переменные, если вы их планируете использовать для хранения данных на протяжении жизни всего экземпляра процесса сыграют злую роль, лучше писать данные на которые опирается процесс в контекст.
     
  5. gaidarina

    gaidarina New Member

    Очень заинтересовало место про специальный элемент, немного не поняла, что это именно. Просто экземпляр должен быть запущен по количеству дат в листе (т.е. если там находятся даты 30.06.2017, 18.08.2017, 20.10.2017, то подпроцесс должен запуститься трижды). Читала на эту тему пост https://www.elma-bpm.ru/kb/article-517.html , но в силу относительно малого изучения платформы+ незнание C# не совсем его поняла и написала как могу:)
     
  6. arkarimov

    arkarimov Member

    Зелененький квадратик на вашей схеме который на ней подписан "Объявление конкурса" это и есть специальный элемент для запуска процесса. Чтобы он запускался N раз нужно сделать примерно так как указано в статье на которую вы ссылаетесь т.е. организовать цикл из 3х элементов - сценарий подготовки данных - запуск процесса - шлюз для проверки все ли нужные процессы запущены.
     

Поделиться: