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