Добрый день!
Появилась необходимость ввести новый статус в Задачах, смысл в том, чтоб при выборе данного статуса (например "Административная эскалация") Задача не считалась просроченной и не рассылались напоминания ответственным по ней, на все время нахождения в этом статусе. Подскажите варианты решения...
Нравится
Добрый день, Александр!
Добавьте в справочник "Состояния задач" новое значение: Административная эскалация (код: Administration). В сервисе Tasks\General\Main Grid\scr_TaskEdit в методе UpdateControlsAndDataByStatusID после
var StatusCode = GetTaskStatusCodeByID(TaskStatusID); if (StatusCode == 'Running') { SetActualDates(BaseDBEdit.Dataset, 'ActualStartDate', true); }
вставьте еще один блок уловия:
if (StatusCode == 'Administration') { chbRemindToAuthor.IsChecked = false; chbRemindToOwner.IsChecked = false; }
Для того чтобы задачи со статусом "Административная эскалация" не отображались в отчете "Просроченные задачи", например, измените сервис Tasks\Reports\Overdue Tasks\ds_ReportOverdueTasksScript:
function SelfOnDatasetCalcFields(Dataset) { var TaskStatusID = Dataset.Values('StatusID'); var StatusCode = GetTaskStatusCodeByID(TaskStatusID); if (StatusCode != 'Administration') { CalcActualDuration(Dataset); Dataset.Values('DelayDaysStr') = GetOverdueTaskDelayString(Dataset); } }