...

Сценарий для смены статуса процесса при прерывании?

Тема в разделе "Вопросы по функционалу", создана пользователем Mary Pol, 13 ноя 2019.

  1. Mary Pol

    Mary Pol New Member

    Как сформировать сценарий, который ставит статус "прерван" для прерванных процессов?
     
    Последнее редактирование: 18 ноя 2019
  2. pushkarev

    pushkarev Active Member

    По идее если все хорошо, то при прерывании процесса, статус прерван ставится автоматически. При прерывании система помимо статуса еще устанавливает того, кто прервал, комментарий при прерывании, а так же дату прерывания.
    Поясните вашу ситуацию, почему нужно выставить только статус?
     
  3. Mary Pol

    Mary Pol New Member

    Согласно руководству при прерывании процесса срабатывают следующие алгоритмы для его статуса:
    • Оставить текущий статус - значение переменной "Статус экземпляра процесса" не изменяется.
    • Обнулить статус - значение переменной "Статус экземпляра процесса" считается неопределенным.
    • Перевести в следующий статус - значение переменной "Статус экземпляра процесса" изменяется на следующий по списку статус.
    • Запустить скрипт - в этом случае в окне настройки статусов отображается дополнительный блок, в котором необходимо указать сценарий, запускаемый при прерывании экземпляра процесса.
    Согласно контекста конкретного процесса у него 4 статуса: В работе, Отклонен, Завершен, Прерван. Но их может быть и больше для сложных процессов. И в самом процессе расставлены плагины по которым этот статус меняется.
    Соответсвенно первые 3 варианта не переводят процесс в статус Прерван.
    Особенность задачи в том, что в мониторе процессов статус экземпляра должен работать как фильтр и быть отображен в соответвующей колонке так как есть необходимость выгрузки данных в exel файл.
    Вопрос касался примера сценария по которому система будет выставлять этот именно этот статус в колонку.
     
  4. pushkarev

    pushkarev Active Member

    Теперь понял, я думал вы про другой статус процесса пишите.
    Этот статус это выпадающий список, его можно задать в коде следующим образом:
    Код:
    var settings = (DropDownListSettings)context.GetSettingsFor(c => c.WorkflowInstanceStatus);
    var status = settings.Items.FirstOrDefault(i => i.Value == "Название нужного статуса");
    if (status != null)
    {
        context.WorkflowInstanceStatus = status;
    }
    Так же в код нужно будет добавить using: using EleWise.ELMA.Model.Types.Settings;
     
  5. Mary Pol

    Mary Pol New Member

    Спасибо за помощь :)
     
    1 это нравится

Поделиться: