Как узнать, в каких шаблонах процессов фигурирует определённый пользователь в 1С:Документооборот?

Программист 1С v8.3 (Управляемые формы) 1С:Документооборот IT и автоматизация бизнеса
← На главную

В процессе сопровождения конфигурации 1С:Документооборот (1С:ДО) регулярно возникает задача изменения маршрутов бизнес-процессов при кадровых перестановках. Например, когда сотрудник (условный «Вася») переводится на другую должность или увольняется, а его задачи по согласованию документов должен выполнять другой сотрудник («Петя»). Если в шаблонах процессов исполнители были указаны персонально, администратору необходимо оперативно найти все такие шаблоны и заменить одного пользователя на другого.

В этой статье мы подробно рассмотрим, какими способами можно решить эту задачу, проанализируем структуру хранения данных в системе и разберем по шагам наиболее эффективные методы поиска и замены исполнителей как для версии 2.1, так и для новой редакции 3.0.

Способ 1. Стандартные инструменты платформы (без программирования)

Если перед нами стоит задача быстро найти и заменить пользователя без написания программного кода и сложных запросов, мы можем воспользоваться стандартными сервисными возможностями платформы 1С:Предприятие 8. Для этого у администратора системы должны быть соответствующие права доступа.

Разберем по шагам алгоритм поиска ссылок на пользователя:

  1. Откроем меню «Функции для технического специалиста» (в старых версиях платформы этот пункт назывался «Все функции»). Найти его можно в главном меню программы.
  2. В открывшемся дереве объектов раскроем ветку «Стандартные».
  3. Выберем инструмент «Поиск ссылок на объекты». Это встроенная обработка платформы, которая позволяет сканировать всю базу данных на предмет использования конкретного элемента.
  4. В качестве искомого объекта выберем справочник Пользователи и укажем конкретного сотрудника (нашего «Васю»), которого необходимо заменить.
  5. Нажмем кнопку «Найти». Система проанализирует все таблицы базы данных, включая табличные части всех видов шаблонов бизнес-процессов, и выведет на экран структурированный список всех мест, где данный пользователь выбран в качестве исполнителя или согласующего лица.

Если нашей целью является не просто аудит, а полная замена одного пользователя на другого или на заранее созданную роль исполнителя, эффективнее использовать другой инструмент — «Поиск и замена дублей» (или специализированную обработку «Поиск и замена ссылок»).

С помощью этого инструмента мы можем указать системе, что все ссылки на «Васю» во всех найденных объектах (включая шаблоны процессов) необходимо заменить на ссылки на «Петю» или на соответствующую РольИсполнителя. Обработка выполнит замену автоматически за один проход во всех найденных шаблонах.

Способ 2. Как составить запрос к базе данных (для разработчиков)

Если мы хотим автоматизировать процесс или написать собственную обработку для анализа шаблонов, нам потребуется составить поисковый запрос к базе данных. Выясним причину, почему нельзя написать простой запрос к одной таблице: в 1С:ДО версии 2.1 шаблоны различных видов процессов хранятся в разных справочниках.

Чтобы найти пользователя во всех возможных шаблонах процессов, нам необходимо объединить результаты запросов к табличным частям Исполнители (или аналогичным табличным частям, хранящим состав участников) следующих справочников:

Рассмотрим пример консолидированного запроса, который находит шаблоны согласования и исполнения, где фигурирует нужный нам пользователь:


ВЫБРАТЬ
	"Шаблон согласования" КАК ТипШаблона,
	ТЧ.Ссылка КАК ШаблонПроцесса,
	ТЧ.Ссылка.Наименование КАК НаименованиеШаблона,
	ТЧ.Исполнитель КАК Исполнитель
ИЗ
	Справочник.ШаблоныСогласования.Исполнители КАК ТЧ
ГДЕ
	ТЧ.Исполнитель = &ИскомыйПользователь

ОБЪЕДИНИТЬ ВСЕ

ВЫБРАТЬ
	"Шаблон исполнения",
	ТЧ.Ссылка,
	ТЧ.Ссылка.Наименование,
	ТЧ.Исполнитель
ИЗ
	Справочник.ШаблоныИсполнения.Исполнители КАК ТЧ
ГДЕ
	ТЧ.Исполнитель = &ИскомыйПользователь

Проанализируем важный нюанс, касающийся комплексных процессов. Шаблоны комплексных процессов (Справочник.ШаблоныКомплексныхБизнесПроцессов) устроены сложнее. Сама по себе карточка комплексного процесса напрямую не хранит конечных исполнителей в своих табличных частях. Вместо этого комплексный процесс состоит из цепочки простых («атомарных») шаблонов, которые система автоматически генерирует как служебные подчиненные объекты.

Когда наш запрос выполнит поиск по простым шаблонам (например, по Справочнику.ШаблоныСогласования), он обязательно найдет эти служебные шаблоны. Чтобы определить, к какому именно родительскому комплексному шаблону относится найденный служебный элемент, нам необходимо в запросе обратиться к реквизиту владельца или родительского шаблона. Для этого у простых шаблонов анализируется реквизит, указывающий на комплексный процесс-владелец.

Способ 3. Переход на ролевую адресацию (лучшая практика)

Как справедливо заметили участники обсуждения на форуме, использование конкретных физических лиц (персональной адресации типа «Вася» или «Петя») непосредственно в шаблонах бизнес-процессов — это архитектурная ошибка и «пережиток прошлого». При увольнении или отпуске такого сотрудника администратору приходится вручную перенастраивать десятки шаблонов.

Правильным и современным подходом является внедрение ролевой адресации. Вместо указания конкретного пользователя в шаблоне процесса выбирается определенная РольИсполнителя (например, «Главный бухгалтер», «Юрист», «Руководитель IT-отдела»).

Преимущества ролевой адресации:

Поэтому в процессе поиска «Васи» в шаблонах лучшим решением будет не просто заменить его на «Петю», а создать соответствующую роль, назначить на нее «Петю», а в шаблонах вместо персонального исполнителя указать эту новую роль.

Способ 4. Особенности поиска в «1С:Документооборот» версии 3.0

Если ваша организация использует или планирует переход на современную редакцию 1С:Документооборот 3.0, важно учитывать, что концепция настройки и прохождения процессов в этой версии была полностью переработана разработчиками фирмы «1С».

Рассмотрим ключевые отличия новой редакции:

Для поиска участников процессов в 1С:ДО 3.0 необходимо анализировать другие объекты конфигурации. Настройки участников этапов обработки документов теперь хранятся в таких справочниках, как Справочник.НастройкиОбработкиДокументов и Справочник.ПравилаОбработкиДокументов, а также в связанных регистрах сведений, отвечающих за маршрутизацию и правила распределения задач. При написании поисковых запросов в версии 3.0 необходимо обращаться именно к этим новым метаданным.

← На главную