При работе в толстом клиенте на обычных формах (например, в «1С:Комплексная автоматизация 1.1» или «1С:Управление производственным предприятием») пользователи нередко сталкиваются с ситуацией, когда привычный пункт верхнего меню — например, «Документы» или «Справочники» — внезапно пропадает. Простая перезагрузка программы при этом не дает результата. Разберем причины такого поведения платформы, рассмотрим надежные способы вернуть меню на место, а также выясним, по какому принципу система выбирает и переключает интерфейсы по умолчанию.
Проанализируем механику работы графической оболочки обычных форм платформы «1С:Предприятие 8». В толстом клиенте реализован механизм быстрой пользовательской настройки панелей «на лету» без обязательного открытия специального диалогового окна. Для этого используется системная клавиша Alt:
Перезапуск программы не восстанавливает удаленный пункт, поскольку все персональные изменения расположения кнопок сразу сохраняются в локальном пользовательском кэше настроек сеанса (в файле конфигурации профиля 1Cv8.pfl).
Рассмотрим самый простой и штатный способ вернуть главное меню к типовому состоянию непосредственно из пользовательского режима. Разберем по шагам порядок действий:
После выполнения этих шагов платформа восстановит исходный макет меню, заложенный в конфигурации, и удаленный раздел вновь появится на своем месте.
В типовых конфигурациях на обычных формах (КА 1.1, УПП 1.3) предусмотрен встроенный инструмент для управления интерфейсными профилями пользователей. Если пользователь не может выполнить сброс самостоятельно, администратор может применить следующий подход:
Если графический интерфейс поврежден настолько, что вызвать контекстное меню невозможно, разберем радикальный способ — сброс файла локальных настроек. Все параметры расположения панелей и форм сохраняются в системных каталогах профиля Windows (каталоги AppData\Local\1C\1Cv8 и AppData\Roaming\1C\1Cv8). Закройте программу 1С и удалите файлы с расширением .pfl (в частности, 1Cv8.pfl) в папке соответствующей информационной базы. При следующем запуске платформа создаст настройки по умолчанию.
Выясним причину того, почему открывается тот или иной интерфейс, когда у конкретного пользователя в справочнике или списке пользователей он явно не указан. Платформа и конфигурация применяют строгую иерархию правил:
НастройкиПользователей или реквизит ОсновнойИнтерфейс справочника Пользователи. Если там выбрано значение, выполняется программный вызов переключения.ОсновнойИнтерфейс.Использование, платформа открывает первый попавшийся интерфейс из дерева метаданных, на который у пользователя есть соответствующие права.Переключаемый отключено, накладываются поверх основного и дополняют его (например, интерфейс Общий).Нередко возникает ситуация: интерфейс помечен свойством Переключаемый, но в пункте меню «Переключить интерфейс» его нет. Разберем, почему это происходит:
В обычных формах подменю переключения интерфейсов не формируется платформой динамически. Разработчик конфигурации вручную наполняет это подменю кнопками (обычно в общем интерфейсе) и жестко связывает каждую кнопку со стандартным действием. Если разработчик добавил новый интерфейс в дерево метаданных, но не добавил соответствующую кнопку в меню общего интерфейса, пункт в списке не появится.
Если требуется переключиться на такой интерфейс программно (например, через внешнюю обработку), можно выполнить простую команду встроенного языка:
ГлавныйИнтерфейс.ПереключитьИнтерфейс("ИмяИнтерфейсаВМетаданных");
Команда мгновенно применит нужное рабочее окружение без необходимости перезапуска базы данных.