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