В процессе работы с системой 1С:Документооборот (редакции 2.1 и 3.0) пользователи часто сталкиваются с ситуацией, когда задача согласования исчезает из списка «Задачи в работе», а в дереве процессов рядом с исполнителем появляется желтая иконка (галка). При этом попытки изменить дату выполнения или продлить срок стандартными методами ни к чему не приводят: система выдает ошибку или блокирует поля для редактирования. Проанализируем, почему это происходит, и разберем по шагам, как восстановить процесс или корректно изменить данные.
Первым делом разберем природу появления этой пометки. В стандартной логике 1С:Документооборот желтая пиктограмма в списке задач процесса однозначно указывает на то, что задача была завершена автоматически программными механизмами, а не физическим нажатием кнопки пользователем. Это происходит в рамках настроенного регламента эскалации задач.
Рассмотрим подробнее механизм эскалации. Эскалация — это предопределенная реакция системы на просрочку задачи. Когда наступает крайний срок выполнения, регламентное задание проверяет условия и выполняет одно из действий:
В вашем случае сработал первый вариант. Система посчитала, что по истечении заданного времени (например, 4 дня) задача должна быть закрыта автоматически, чтобы не тормозить общий бизнес-процесс. Именно поэтому задача исчезла из списка «Задачи в работе» исполнителя — для системы она официально завершена.
Проанализируем ситуацию с технической точки зрения. В 1С:Документооборот объект ЗадачаИсполнителя имеет статусное состояние. Кнопка «Запросить перенос срока» или ручное изменение даты возможны только тогда, когда задача находится в статусе «В работе» и у нее не установлен признак Выполнена.
Как только сработал механизм эскалации:
Выполнена устанавливается в значение Истина.ДатаЗавершения.Попытка изменить дату у уже выполненной задачи воспринимается системой как нарушение целостности данных процесса. Именно поэтому вы видите ошибки при попытке редактирования или удаления из списка.
Если вам критически важно, чтобы именно этот исполнитель поставил свою визу или физически нажал кнопку, нам потребуется вмешательство администратора. Рассмотрим алгоритм «оживления» задачи через встроенные инструменты платформы.
Воспользуемся обработкой «Групповое изменение реквизитов». Это позволит нам программно вернуть задачу в активное состояние. Разберем по шагам:
Задача исполнителя.Выполнена и установим значение Ложь.Состояние и установим значение, соответствующее активной задаче (обычно это В работе).Дата завершения (установим пустую дату).Важное предостережение: использование этого метода может привести к несоответствию данных в отчетах по исполнительской дисциплине, так как фактически задача будет «просрочена», а потом «воскрешена».
Если конфигурация системы не позволяет «откатывать» задачи или вы работаете в версии 3.0, где логика процессов более жесткая, правильнее будет использовать механизм циклов. Посмотрим, как это сделать без прав администратора:
Если согласование идет параллельно, и другие участники еще не завершили свои задачи, инициатор может дождаться общего завершения этапа. Если результат документа «Не согласовано» (или согласовано с замечаниями), инициатор отправляет документ на новый цикл согласования. При этом в список согласующих снова добавляется нужный сотрудник, и для него формируется новая задача с новым сроком.
В 1С:Документооборот 3.0 это реализуется через «Правила обработки документов». Если задача закрылась по эскалации некорректно, можно просто добавить участника вручную в текущий процесс, если это позволяют настройки схемы.
Чтобы ситуация не повторялась, проанализируем настройки программы. Выясним, где именно задаются правила, закрывающие задачи без ведома пользователей.
Для версии 2.1:
Для версии 3.0:
В новой версии настройки стали более гибкими. Проверим настройки в разделе Управление процессами. Обратите внимание на Правила обработки документов для конкретного вида документа. Там настраиваются сроки и действия при их истечении. Если вы видите, что задачи закрываются «сами», скорее всего, в схеме процесса или в глобальных настройках включено автоматическое выполнение при просрочке.
Рассмотрим нюанс, связанный с фиксацией дат. Даже если мы программно изменим дату задачи, в системе ведется История выполнения задач. При автоматическом завершении по эскалации в истории часто фиксируется, что задачу выполнил «Системный администратор» (или учетная запись регламентного задания).
Если вам нужно просто «подправить отчет», помните, что в 1С:Документооборот есть разница между:
СрокИсполнения (плановая дата);ДатаЗавершения (фактическая дата выполнения);КрайнийСрок (дата, после которой наступает просрочка).Проанализируем пример того, как программно можно скорректировать срок задачи, не прибегая к групповому изменению, если у нас есть доступ к консоли кода:
ЗадачаОбъект = ЗадачаСсылка.ПолучитьОбъект();
// Снимаем признак выполнения, чтобы система позволила менять дату
ЗадачаОбъект.Выполнена = Ложь;
ЗадачаОбъект.СостояниеЗадачи = Перечисления.СостоянияЗадач.ВРаботе;
// Устанавливаем новый срок
ЗадачаОбъект.СрокИсполнения = ТекущаяДата() + 86400 * 2; // Продляем на 2 дня
ЗадачаОбъект.Записать();
Этот фрагмент кода наглядно показывает, что для изменения срока у «желтой» задачи необходимо сначала сбросить флаг ее завершения. После этого Задача исполнителя снова станет доступной для редактирования стандартными средствами интерфейса.
Подводя итог нашему разбору, отметим: автоматическое завершение задач — это полезный инструмент для ускорения документооборота, но он требует точной настройки. Если вы столкнулись с невозможностью продления срока:
Выполнена на Ложь), если нужно срочно дать пользователю возможность отработать задачу.Такой системный подход позволит вам сохранить контроль над процессами и избежать технических ошибок при управлении сроками в 1С:Документооборот.