Параметры настройки выполнения утилиты задаются в конфигурационном файле task_duedate_alert.json.
Пример конфигурационного файла:
[
{
"WebUrl": "http://localhost:57314",
"Login": "vitroUserLogin",
"Password": "vitroUserPassword",
"CountDaysUntil": 3,
"CountDaysLeft": -1,
"Filter": "item => item.GetLookupId(\"assignedto\") != null && !new Guid[] { Guid(\"ae7cf376-0098-4a76-b172-af0a0059978d\")}.Contains(item.GetLookupId(\"task_status\")) && new Guid[] { Guid(\"ff49f892-7524-4a03-9b9b-52d85ffd6a74\")}.Contains(item.GetLookupId(\"content_type_id\")) && item.GetValueAsDateTime(\"end_date_plan\") <= \"{CountDaysUntil}\" && item.GetValueAsDateTime(\"end_date_plan\") >= \"{CountDaysLeft}\"",
"IsTest": false
}
]
Описание параметров запуска:
WebUrl [строка] – веб-адрес приложения развёрнутого на сервере
Login [строка] – Учетная запись под которой будет выполняться изменение элементов
Password [строка] – пароль для учетной записи
CountDaysUntil [число] – количество дней, добавляемых в фильтр CountDaysUntil. При стандартном фильтре - количество дней, перед которыми начнет приходить оповещение по задаче. (по умолчанию - 3 дня, то есть за 3 дня до даты окончания)
CountDaysLeft [число] – количество дней, добавляемых в фильтр CountDaysLeft. При стандартном фильтре – число, означающее сколько дней после просрочки оповещать о задаче. Для текущего режима число должно быть отрицательным. Если положительное, то за {CountDaysLeft} оповещение не придет
Filter [строка] – query запрос к списку задач. В него подставляются значения CountDaysUntil и CountDaysLeft с вычисленными датами. В фильтре можно ограничить:
- Типы элементов (Задачи/Замечания/Задачи на согласования) по которым буду приходить оповещения
- Статусы задач, по которым придет оповещение
- другие атрибуты, по которым необходимо отфильтровать список задач (см https://portal.vitrocad.ru/pages/viewpage.action?pageId=41091079)
Test [флаг] – включить/отключить тестовый режим без отправки email, только получение списка задач.
Утилита получает задачи по фильтру из параметра Filter, группирует задачи по исполнителю, после чего каждому исполнителю посылается его список задач по шаблону TaskDueDate.trdp (О настройке шаблонов оповещений см. статью )