При начале работы с чистой информационной базой конфигурации «1С:Документооборот» (особенно в редакциях 2.1 и 3.0) администраторы часто сталкиваются с неочевидным поведением системы: флаг «Вести учет по организациям» в настройках программы установлен, но сам справочник Организации полностью отсутствует в панели навигации раздела «НСИ» (Нормативно-справочная информация). Пользователь с полными правами не может найти даже ссылку на этот объект, хотя физически в конфигурации справочник существует.
В этой статье мы подробно разберем, почему платформа «1С:Предприятие 8» скрывает этот справочник, как устроена внутренняя логика системы и какими способами можно вернуть отображение справочника Организации в стандартный интерфейс.
Разработчики типовых решений 1С (включая «1С:Документооборот», «1С:ERP» и «1С:Управление торговлей») применяют механизм динамической оптимизации интерфейса. Если в информационной базе не создано ни одной организации или присутствует только одна запись, система автоматически считает, что учет ведется в рамках одной компании (монокомпании).
Для того чтобы не перегружать интерфейс конечного пользователя лишними деталями, команда вызова списка организаций программно исключается из панели навигации. Как только в справочнике появляется хотя бы два элемента, система переходит в многоорганизационный режим и возвращает ссылку в меню НСИ.
Выясним, как обойти это ограничение на чистой базе данных. Нам необходимо принудительно открыть справочник и добавить туда хотя бы одну запись вручную. Сделать это можно несколькими способами:
Справочники, найдем Организации и откроем его. После создания первой организации интерфейс обновится.
e1cib/list/Справочник.Организации
После перехода по ссылке откроется стандартная форма списка, где мы сможем нажать кнопку «Создать» и заполнить реквизиты нашей компании.Включение ведения учета по нескольким организациям регулируется специальным объектом метаданных — Функциональной опцией. В конфигурации «1С:Документооборот» эта опция привязана к константе ИспользоватьУчетПоОрганизациям.
Проанализируем техническую сторону процесса. Платформа «1С:Предприятие» в целях оптимизации быстродействия кэширует значения функциональных опций на стороне клиента. При установке флага «Вести учет по организациям» в пользовательском интерфейсе (меню «Настройки программы» -> «Делопроизводство») соответствующая константа принимает значение Истина, но кэш сеанса может не обновиться мгновенно. Из-за этого командный интерфейс панели навигации остается прежним.
Для решения этой проблемы выполним следующие действия:
/ClearCache).Иногда функциональная опция включена, организации в базе созданы, но ссылка в разделе «НСИ» все равно не отображается. Причиной может быть индивидуальная настройка панели навигации конкретного пользователя, при которой команда вызова справочника была скрыта или удалена.
Разберем по шагам, как вернуть справочник через стандартный механизм настройки интерфейса:
Организации.После выполнения этих действий ссылка на справочник гарантированно появится в панели разделов.
Если вышеописанные способы не дают результата, необходимо проанализировать права доступа текущего пользователя. Даже если вы работаете под учетной записью с административными функциями, в «1С:Документооборот» права могут быть ограничены на уровне профилей групп доступа.
Рассмотрим, какие роли отвечают за доступ к справочнику Организации:
ПолныеПрава (Администратор) и специализированной роли ДобавлениеИзменениеОрганизаций (входит в профиль «Ответственный за НСИ»).ЧтениеОрганизаций или общая роль БазовыеПраваДокументооборот.Если в системе настроен RLS (Row Level Security — ограничение доступа на уровне записей), то некорректно настроенные группы доступа могут скрывать элементы справочника даже от пользователей с административными правами. Убедитесь, что ваша учетная запись включена в группу доступа «Администраторы» и для нее не заданы исключающие ограничения.
Для программной проверки доступности справочника под текущим пользователем мы можем использовать следующий фрагмент кода во внешней обработке:
Если ПравоДоступа("Чтение", Метаданные.Справочники.Организации) Тогда
Сообщить("Доступ на чтение справочника присутствует.");
Иначе
Сообщить("Доступ к справочнику Организации заблокирован на уровне прав роли!");
КонецЕсли;
Применение этого кода позволит быстро локализовать проблему и понять, связана ли она с ограничениями прав доступа или кроется в особенностях настройки интерфейса управляемых форм.