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

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

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

Рассмотрим подробнее, как решить эту задачу различными методами — от «быстрых правок» в базе данных до методологически верных способов, предусмотренных логикой программы.

Метод 1. Повторное согласование с выборочным составом участников

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

Проанализируем алгоритм действий при запуске повторного цикла:

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

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

Метод 2. Ручная корректировка через регистры и справочники

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

Для решения проблемы выполним следующие шаги:

  1. Перейдем в РегистрСведений.ТекущиеСостоянияДокументов.
  2. Найдем запись по нашему документу и временно изменим его состояние с «Не согласован» на «На согласовании». Это «обманет» программные проверки интерфейса.
  3. Теперь зайдем в карточку документа на закладку «Визы». Поле результата станет доступным для редактирования. Изменим его на «Согласовано».
  4. Вернемся в регистр сведений и установим документу итоговое состояние «Согласован».

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


// Пример программного изменения результата визы
ВизаОбъект = СсылкаНаВизу.ПолучитьОбъект();
ВизаОбъект.РезультатСогласования = Перечисления.РезультатыСогласования.Согласовано;
ВизаОбъект.ДатаИсполнения = ТекущаяДата();
ВизаОбъект.Записать();

Метод 3. Использование групповой обработки объектов

Для администраторов наиболее безопасным инструментом является стандартная обработка «Групповое изменение реквизитов». Она позволяет изменять данные напрямую в объектах, минуя некоторые проверки экранных форм, но сохраняя при этом целостность ссылочных данных.

Посмотрим, как настроить отбор:

  1. Выбираем тип объекта: «Виза согласования».
  2. Добавляем отбор по владельцу (наш документ) и по исполнителю (тот, чью визу правим).
  3. В списке реквизитов находим Результат согласования и устанавливаем значение «Согласовано».
  4. Дополнительно может потребоваться изменить реквизит Удалена (установить в Ложь), если виза была помечена как неактуальная при прерывании процесса.

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


// Вызов бизнес-логики обновления состояния
ДокументооборотПраваДоступа.ОбновитьСостояниеДокумента(СсылкаНаДокумент);

Особенности версии 1С:Документооборот 3.0

Проанализируем изменения в новой версии программы. В 3.0 архитектура работы с процессами была пересмотрена. Появилось понятие участников действия, и работа с ними стала более гибкой. Если документ не согласован, система позволяет повторить действие только для тех участников, которые высказались «Против».

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

Рекомендации по заполнению Листа согласования

Часто после ручных манипуляций пользователи жалуются, что в печатной форме Листа согласования отображается «каша» из старых и новых решений. Разберем, как этого избежать:

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

← На главную