бизнес-процесс
задачи
Бизнес-процессы
Разработка

Статусы в Задачах

Добрый день!

Появилась необходимость ввести новый статус в Задачах, смысл в том, чтоб при выборе данного статуса (например "Административная эскалация") Задача не считалась просроченной и не рассылались напоминания ответственным по ней, на все время нахождения в этом статусе. Подскажите варианты решения...

Нравится

2 комментария

Добрый день, Александр!

Добавьте в справочник "Состояния задач" новое значение: Административная эскалация (код: Administration). В сервисе Tasks\General\Main Grid\scr_TaskEdit в методе UpdateControlsAndDataByStatusID после
[javascript]

var StatusCode = GetTaskStatusCodeByID(TaskStatusID);
if (StatusCode == 'Running') {
SetActualDates(BaseDBEdit.Dataset, 'ActualStartDate', true);
}
[/javascript]

вставьте еще один блок уловия:
[javascript]
if (StatusCode == 'Administration') {
chbRemindToAuthor.IsChecked = false;
chbRemindToOwner.IsChecked = false;
}
[/javascript]

Для того чтобы задачи со статусом "Административная эскалация" не отображались в отчете "Просроченные задачи", например, измените сервис Tasks\Reports\Overdue Tasks\ds_ReportOverdueTasksScript:
[javascript]
function SelfOnDatasetCalcFields(Dataset) {
var TaskStatusID = Dataset.Values('StatusID');
var StatusCode = GetTaskStatusCodeByID(TaskStatusID);

if (StatusCode != 'Administration') {
CalcActualDuration(Dataset);
Dataset.Values('DelayDaysStr') = GetOverdueTaskDelayString(Dataset);
}
}
[/javascript]

Спасибо за развернутый ответ!

Показать все комментарии