Как настроить согласование и утверждение документа внешним госорганом в «1С:Документооборот»?

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

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

Главная сложность, с которой сталкиваются администраторы и бизнес-аналитики, заключается в блокировке реквизитов. Как только внутренний документ получает статус «Согласован», система штатно запрещает рядовым пользователям изменять его поля. Как же тогда внести отметку об утверждении внешним органом без предоставления административных прав обычным сотрудникам? Разберем подробно несколько эффективных способов решения этой задачи средствами платформы 1С:Предприятие 8.3.

Вариант 1. Настройка доступности реквизитов по состоянию документа

Это самый простой и логичный способ, заложенный в типовой функционал программы. Нам не нужно прибегать к программированию или выдавать пользователям избыточные права администратора системы. Мы настроим точечное исключение для конкретного реквизита документа.

Проанализируем этот механизм по шагам:

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

В результате, когда документ перейдет в состояние «Согласован», все его основные реквизиты и прикрепленные файлы останутся защищенными от изменений, но ответственный сотрудник сможет без труда заполнить поле с решением госоргана, не нарушая прав доступа.

Вариант 2. Использование дополнительных реквизитов задач

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

Рассмотрим, как настроить данный вариант:

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

Этот способ элегантен тем, что карточка самого документа гарантированно остается неизменной, а вся история согласования фиксируется непосредственно в бизнес-процессе.

Вариант 3. Настройка делегирования прав («Секретарь за руководителя»)

Что делать, если в процессе настроена отправка задачи утверждения на конкретную роль или пользователя («Представитель госоргана»), но физически кнопку «Утвердить» должен нажимать секретарь организации после получения бумажного письма?

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

Выполним следующие настройки:

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

При такой настройке секретарь в своем списке задач увидит чужую задачу «Утвердить за: Чиновник госоргана» и сможет выполнить ее от своего имени. В системе останется корректный след: задача выполнена секретарем за представителя ведомства.

Вариант 4. Настройка маршрутизации в комплексном процессе

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


// Проверим решение госоргана, зафиксированное в дополнительном реквизите документа
СвойствоРешение = ПланыВидовХарактеристик.ДополнительныеРеквизитыИСведения.НайтиПоНаименованию("Решение госоргана");
Если ЗначениеЗаполнено(СвойствоРешение) Тогда
    РешениеЗначение = УправлениеСвойствами.ЗначениеСвойства(Ссылка, СвойствоРешение);
    Если РешениеЗначение = Справочники.ЗначенияСвойствОбъектов.НайтиПоНаименованию("Утверждено") Тогда
        Результат = Истина; // Маршрут идет по ветке успешного выполнения
    Иначе
        Результат = Ложь;   // Документ направляется на ветку доработки
    КонецЕсли;
КонецЕсли;

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

← На главную