Как настроить замещение сотрудников и делегирование прав в 1С:Документооборот 2.1?

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

Приветствуем вас, коллеги! Представим стандартную рабочую ситуацию: ключевой сотрудник собирается в долгожданный отпуск. На этот период вместо него согласовывать документы и выполнять задачи должен другой специалист. Естественно, перед администратором встает задача быстро настроить замещение в программе 1С:Документооборот 2.1 (ДО 2.1).

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

Почему скрыта настройка «Делегирование прав»?

В первую очередь проанализируем поведение системы, на которое часто жалуются пользователи: в разделе Настройка и администрирование отсутствует команда Делегирование прав, а в самом справочнике нет табличной части для выбора делегируемых ролей.

Дело в том, что в редакции ДО 2.1 механизм делегирования прав технически и архитектурно является частью общей подсистемы ограничения прав доступа. Настройки программы работают по следующей логике:

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

  1. Перейдем в раздел Настройка и администрирование.
  2. Выберем пункт Настройка программы и перейдем во вкладку Права доступа.
  3. Установим флаг Ограничивать права доступа.

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

Особенности и ограничения механизма «Отсутствие сотрудников»

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

Выясним, как ведет себя система при создании такой записи:

Практические варианты решения проблемы без включения ограничений прав

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

Способ 1. Ролевая адресация задач

Это наиболее надежный и методологически верный подход. Если бизнес-процессы в вашей системе настроены так, что задачи направляются не на конкретного сотрудника (например, Иванов), а на определенную роль (например, Ведущий юрист или Согласующий договоров), то на время отпуска Иванова достаточно зайти в справочник роли и временно добавить туда его заместителя. Задачи начнут приходить заместителю автоматически.

Способ 2. Правила эскалации задач

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

Способ 3. Ручное перенаправление

Если задач немного, сам уходящий в отпуск сотрудник (или администратор под его учетной записью) может открыть список Задачи мне непосредственно перед уходом, выделить все активные задачи списком и перенаправить их коллеге через стандартное контекстное меню Перенаправить.

Способ 4. Программное перенаправление через внешнюю обработку

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


// Программный перебор и переадресация задач
Запрос = Новый Запрос;
Запрос.Текст = 
    "ВЫБРАТЬ
    |	ЗадачаИсполнителя.Ссылка КАК Задача
    |ИЗ
    |	Задача.ЗадачаИсполнителя КАК ЗадачаИсполнителя
    |ГДЕ
    |	ЗадачаИсполнителя.Исполнитель = &ОтсутствующийСотрудник
    |	И ЗадачаИсполнителя.Выполнена = ЛОЖЬ";

Запрос.УстановитьПараметр("ОтсутствующийСотрудник", Параметры.Отсутствующий);
РезультатЗапроса = Запрос.Выполнить();
ВыборкаДетальныеЗаписи = РезультатЗапроса.Выбрать();

Пока ВыборкаДетальныеЗаписи.Следующий() Цикл
    ОбъектЗадача = ВыборкаДетальныеЗаписи.Задача.ПолучитьОбъект();
    ОбъектЗадача.Исполнитель = Параметры.Заместитель;
    ОбъектЗадача.Записать();
КонецЦикла;

Использование подобных скриптов в регламентных заданиях позволяет настроить бесшовную переадресацию задач на период отпусков без изменения типовой конфигурации и ухудшения производительности базы данных.

Как эта задача решена в 1С:Документооборот 3.0?

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

Таким образом, если вы работаете на редакции 2.1, вам необходимо выбрать между включением опции Ограничивать права доступа для активации штатного делегирования или использованием альтернативных методов (роли, эскалация, внешние доработки). Если же бизнес-процессы компании требуют частого и гибкого замещения сотрудников, имеет смысл рассмотреть вопрос перехода на современную редакцию 3.0.

← На главную