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