В типовых конфигурациях 1С (таких как 1С:Управление нашей фирмой, 1С:ERP, 1С:Комплексная автоматизация и 1С:Управление торговлей) нередко возникает ситуация, когда рядовой пользователь может создавать и редактировать данные контрагента, но поля «Телефон», «Адрес» или «Email» остаются недоступными для изменения или не сохраняются. При этом под пользователем с полными правами редактирование выполняется штатно.
Проанализируем технические причины такого поведения системы, разберем особенности архитектуры контактной информации и выясним, почему попытки назначить права напрямую в Конфигураторе приводят к их постоянному сбросу.
Одна из распространенных ошибок администрирования типовых решений — установка ролей конкретному пользователю напрямую через дерево метаданных в режиме «Конфигуратор». В конфигурациях на базе Библиотеки стандартных подсистем (БСП) управление правами полностью делегировано пользовательскому режиму «1С:Предприятие».
Рассмотрим, как функционирует механизм синхронизации прав:
ПрофилиГруппДоступа и ГруппыДоступа.Пользователи или выполнении регламентного задания синхронизации состава ролей, БСП сверяет текущие роли пользователя в базе с составом назначенных ему групп доступа.Именно поэтому любые изменения, внесенные в Конфигураторе без привязки к профилям групп доступа, работают только до первой перезаписи пользователя или запуска фонового задания, после чего права «слетают».
В современных конфигурациях поля «Телефон», «Юридический адрес», «Фактический адрес» и «Электронная почта» не являются простыми реквизитами справочника Контрагенты. Они формируются программно средствами подсистемы БСП Контактная информация.
Поля ввода генерируются на форме динамически в обработчике ПриСозданииНаСервере. Если у пользователя отсутствуют права хотя бы на один связанный объект метаданных, поля переводятся в режим «Только просмотр» либо становятся невидимыми. Разберем, доступ к каким объектам необходим для полноценной работы:
Чтение для этого объекта (обычно входит в базовую роль БСП или специализированную роль ЧтениеВидовКонтактнойИнформации). Без этого форма не сможет определить формат и состав отображаемых полей.КонтактнаяИнформация справочника Контрагенты: требуются права на чтение и запись соответствующих данных.Если необходимые роли назначены, но доступ к реквизитам все еще заблокирован, проанализируем настройки внутри режима «1С:Предприятие»:
Контрагенты (например, «Юридический адрес контрагента» или «Телефон»). Проверим, не установлен ли флаг запрета редактирования или признак только для чтения.Поведение динамических форм контактной информации тесно связано с кэшированием сеансовых данных. При динамическом изменении прав доступа или обновлении конфигурации кэш метаданных на клиенте и сервере может содержать устаревшую структуру доступности элементов.
Для корректного применения настроек выполним следующие действия:
%LocalAppData%\1C\1Cv8 и %AppData%\1C\1Cv8).1С:Предприятия или выполним перезапуск службы сервера для сброса серверного кэша сеансов.Разберем по шагам, как корректно предоставить права пользователю на редактирование контактной информации контрагентов:
Пользователи, проверим его включение в соответствующую Группу доступа и сохраним изменения.