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