При внедрении и эксплуатации системы 1С:Документооборот предприятия часто сталкиваются со стандартным жизненным циклом внутреннего документа: файл создается исполнителем, проходит согласование, регистрируется делопроизводителем, а затем возникает необходимость подгрузить скан-копию оригинала с «живыми» подписями и печатями. Однако после присвоения статуса Зарегистрирован система по умолчанию блокирует кнопки «Добавить» и «Редактировать» в списке прикрепленных файлов даже для пользователей с полными правами на чтение и изменение.
Разберем детально, почему так происходит, чем различается поведение конфигураций версий ПРОФ и КОРП, и рассмотрим все варианты решения этой задачи — от пользовательских настроек до программной доработки.
Проанализируем поведение системы при изменении статуса документа. В 1С:Документооборот доступность реквизитов и табличных частей карточки жестко привязана к его состоянию (например, «Проект», «На согласовании», «Зарегистрирован»).
Посмотрим на ключевую разницу между версиями конфигурации:
Делопроизводство, а поведение управляется общим флагом системы.Рассмотрим штатный способ решения в редакции ПРОФ, не требующий модификации конфигурации. Если специфика работы компании требует свободного прикрепления файлов на этапе после регистрации, мы можем отключить общую системную блокировку.
Разберем по шагам, как это сделать:
ОграничиватьДоступностьПолейПоСостоянию).При снятии этого флага форма зарегистрированного документа больше не будет блокировать свои поля и список файлов. Обратите внимание: безопасность данных в таком сценарии обеспечивается базовыми правами доступа, правами на папки и включенным версионированием объектов.
Если бизнес-требования не позволяют открывать доступ ко всем полям зарегистрированного документа для всех пользователей, выясним причину блокировки в коде. Управление доступностью элементов формы выполняется процедурой УстановитьДоступностьПоСостоянию в общем модуле Делопроизводство.
Посмотрим на пример доработки алгоритма. Чтобы не снимать типовую конфигурацию с поддержки, реализуем изменение через механизм расширений конфигурации (аннотация &Вместо или &После):
// В общем модуле Делопроизводство
// Устанавливает доступность полей карточки документа в зависимости от состояния
Процедура УстановитьДоступностьПоСостоянию(Форма, Состояние, ДоступныеПоля = "") Экспорт
Если Константы.ОграничиватьДоступностьПолейПоСостоянию.Получить() Тогда
Если Состояние = Перечисления.СостоянияДокументов.НаРегистрации Тогда
Если РольДелопроизводитель Тогда
ДоступныеПоля = "";
НедоступныеПоля = "";
Иначе
ДоступныеПоля = Новый Структура("Состояние, ОткрытьФайл, СохранитьКак, НастроитьСписок, ВывестиСписок, Изменить, КонтекстноеМенюФайлыОткрытьФайл, КонтекстноеМенюФайлыСохранитьКак");
КонецЕсли;
ИначеЕсли (Состояние = Перечисления.СостоянияДокументов.Зарегистрирован) И (ТипЗнч(Форма.Объект.Ссылка) = Тип("СправочникСсылка.ВнутренниеДокументы")) Тогда
// Проверяем наличие специальной роли у текущего пользователя
Если РольДоступна("У_ПравоИзменятьДокПослеРегистрации") Тогда
ДоступныеПоля = "";
НедоступныеПоля = "";
Иначе
// Типовое поведение для остальных пользователей
ДоступныеПоля = Новый Структура("ОткрытьФайл, СохранитьКак, НастроитьСписок, ВывестиСписок, Изменить, КонтекстноеМенюФайлыОткрытьФайл, КонтекстноеМенюФайлыСохранитьКак");
КонецЕсли;
КонецЕсли;
КонецЕсли;
КонецПроцедуры
Рассмотрим подробнее логику данного алгоритма: если у сотрудника включена дополнительная роль (например, У_ПравоИзменятьДокПослеРегистрации), структура ДоступныеПоля очищается, благодаря чему система не накладывает программных запретов на форму, и кнопки добавления файлов остаются активными.
Если конфигурация находится на строгой поддержке и менять глобальную константу делопроизводства запрещено регламентом, разберем альтернативный организационно-технический подход:
Вкладка связей доступна для модификации даже при заблокированных реквизитах основного документа, что позволяет сохранить целостность цепочки без изменения кода конфигурации.
Если база работает на редакции 1С:Документооборот КОРП, дорабатывать код не требуется. Проанализируем действия администратора:
Часто причиной недоступности файлов становятся смежные ограничения прав, не связанные со статусом регистрации. Проверим следующие параметры:
Изменение на конкретную папку, в которой лежит внутренний документ.