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