При администрировании типовых и доработанных конфигураций на платформе «1С:Предприятие 8.3» (особенно старых редакций, таких как «Управление торговлей 11.1») специалисты часто сталкиваются со странным поведением интерфейса. Типичный сценарий: вы заводите нового пользователя, назначаете ему максимальные права (например, роли «Администратор» и «Полные права»), заходите под ним в информационную базу, но вместо привычного рабочего стола видите абсолютно пустой экран. Панель разделов полностью отсутствует, а в настройках навигации нет ни одного доступного пункта. Более того, эта проблема может начать лавинообразно распространяться и на других пользователей системы.
В этой статье мы подробно разберем, почему возникает подобный сбой, проанализируем неочевидную главную причину, которая помогла решить проблему автору темы на форуме, а также рассмотрим комплекс альтернативных технических факторов: от специфики механизмов БСП до тонкостей работы локального кэша и серверной памяти.
Начнем с разбора ситуации, с которой столкнулся автор темы. Это одна из самых коварных ошибок, поскольку она скрыта глубоко в метаданных конфигурации и обычно не проверяется администраторами в первую очередь.
При разработке или изменении конфигурации в режиме Конфигуратор разработчики могут случайно или намеренно глобально отключить видимость подсистем для определенных ролей. Если у роли ПолныеПрава или Администратор сняты флажки видимости напротив разделов (подсистем), то любой новый пользователь, которому назначаются эти роли, получит абсолютно пустой интерфейс. При этом у старых пользователей интерфейс может продолжать отображаться корректно, так как платформа кэширует их персональные настройки панели разделов или настройки были скопированы программно.
Выполним детальную проверку прав и видимости подсистем по шагам:
Общие, а затем перейдите в подраздел Роли.ПолныеПрава, АдминистраторСистемы, ИнтерактивноеОткрытиеВнешнихОтчетовИОбработок).Подсистемы.Закупки, Продажи, Склад) и выберите «Свойства».ПолныеПрава установлена галочка напротив права Просмотр для данной подсистемы. Если видимость или просмотр отключены — установите флажки заново.После восстановления флажков видимости подсистем для ролей обязательно выполните обновление конфигурации базы данных (клавиша F7) и перезапустите сеанс пользователя.
В современных конфигурациях 1С (включая семейство «Управление торговлей 11», «ERP», «Комплексная автоматизация») управление доступом полностью делегировано программным механизмам Библиотеки стандартных подсистем (БСП).
Проанализируем разницу в создании учетных записей:
Пользователи не появляется соответствующий элемент, не создаются связи с группами доступа, и программный код БСП не может определить, какие именно интерфейсные панели выводить на экран. Как результат — пустые разделы.Если пользователь уже был некорректно создан в Конфигураторе, выполните следующие действия для исправления ситуации:
Администраторы или другие целевые профили. При записи карточки БСП сама обновит все необходимые регистры сведений и сформирует интерфейс.В процессе работы или после некорректно завершенного обновления базы данных могут повредиться кэшированные настройки БСП. В таких случаях вызов стандартного обновления параметров работы пользователей помогает принудительно восстановить настройки командного интерфейса.
Для выполнения этой процедуры воспользуемся обработкой «Групповое изменение реквизитов» или напишем небольшой одноразовый скрипт во внешней обработке:
// Принудительное обновление общих параметров интерфейса и пользователей через БСП
Процедура ОбновитьПараметрыИнтерфейсаНаСервере()
// Вызов стандартного метода обновления параметров работы пользователей
Константы.ПараметрыРаботыПользователей.СоздатьМенеджерЗначения().ОбновитьОбщиеПараметры();
// Дополнительный вызов обновления параметров работы программы
ОбновлениеИнформационнойБазыСлужебный.ПриНеобходимостиОбновитьИнформационнуюБазу();
ВызватьИсключение "Обновление параметров успешно завершено! Перезапустите сеансы.";
КонецПроцедуры
Этот код сбрасывает внутренние флаги БСП об успешности обновления и заставляет систему заново перестроить таблицы прав и видимости подсистем для всех пользователей при их следующем входе.
В конфигурациях «Управление торговлей» видимость разделов меню жестко связана с механизмами Функциональных опций (ФО). Если опция выключена, платформа физически скрывает связанные разделы и документы из интерфейса всех пользователей, независимо от их ролей.
Рассмотрим пример: если в базе данных по какой-то причине сбросилась константа ИспользоватьЗакупки, то раздел «Закупки» исчезнет даже у Полных прав. Для исправления ситуации проанализируем настройки функциональности:
Несмотря на то, что администраторы часто исключают влияние кэша при развертывании базы из резервной копии формата .dt, локальный кэш на конкретном рабочем месте все равно может содержать устаревшие метаданные отрисовки форм и интерфейса «Такси».
Разберем, как гарантированно очистить локальный кэш пользователя:
/ClearCache. Запустите базу. После успешного входа данный параметр можно удалить.%userprofile%\AppData\Local\1C\1Cv8
%userprofile%\AppData\Roaming\1C\1Cv8
В редких случаях (особенно на клиент-серверных СУБД или слабых файловых серверах) разделы меню могут пропадать из-за банального дефицита ресурсов ОЗУ, выделенных под процессы сервера 1С. При нехватке памяти служба rphost не успевает вовремя сгенерировать структуру командного интерфейса и отдает клиенту пустую форму.
Решением в данном случае является перезапуск службы сервера «1С:Предприятие» или перезагрузка ПК (если база файловая), а также последующий мониторинг потребления ресурсов и расширение объема оперативной памяти сервера.
Если после добавления пользователя в «1С:Управление торговлей 11» пропали разделы меню, рекомендуется действовать по следующему алгоритму:
ПолныеПрава и Администратор в Конфигураторе на предмет случайного снятия видимости с подсистем.