Почему в 1С (обычные формы) исчезают пункты меню в полном интерфейсе и как это исправить?

Программист 1С v8.3 (Обычные формы) 1C:Бухгалтерия Бухгалтерский учет IT и автоматизация бизнеса
← На главную

Рассмотрим нестандартную, но довольно неприятную ситуацию, с которой можно столкнуться в конфигурации 1С:Бухгалтерия предприятия редакции 2.0 на обычных формах. Пользователь заходит в базу (часто под неявным пользователем «Не авторизован» или под вновь созданным профилем с полными правами), и замечает, что в интерфейсе «Полный» отсутствуют некоторые привычные пункты меню. При этом, если вручную переключить интерфейс через главное меню (Сервис -> Переключить интерфейс -> Полный), все пропавшие пункты возвращаются на место.

Проанализируем ситуацию подробнее. Стандартные методы диагностики и лечения базы, такие как очистка кэша, тестирование и исправление (ТИИ), утилита chdbfl, выгрузка-загрузка базы через конфигуратор и даже обновление релиза конфигурации, в данном случае не приносят результата. Выясним причину такого поведения и разберем по шагам рабочие методы восстановления интерфейса.

Почему пропадают пункты меню?

Если перенос данных через XML перетягивает за собой и саму проблему, это подтверждает, что сбой кроется внутри данных самой информационной базы. Выделим основные причины:

  1. Сохранение сбоя в системных таблицах. В обычных формах пользовательские настройки внешнего вида, панелей и меню сохраняются в системной таблице платформы SystemSettings, а также в регистрах сведений («Сохраненные настройки», «Настройки пользователей»). Платформа не предоставляет штатных визуальных средств для глубокой чистки внутренних таблиц.
  2. Копирование битых настроек дефолтного пользователя. При создании нового пользователя в пустой справочник, платформа 1С может автоматически копировать поврежденные настройки от неявного профиля «Не авторизован».
  3. Конфликт функциональных опций и констант. В БП 2.0 видимость некоторых разделов (например, производство, розница, основные средства) зависит от настроек параметров учета. При запуске алгоритм может некорректно отрабатывать скрытие, но при ручном переключении интерфейса эти программные ограничения временно игнорируются.

Способы решения проблемы

Рассмотрим несколько проверенных способов устранения этого сбоя, от самых простых пользовательских до вмешательства через конфигуратор.

1. Сброс настроек панелей и меню в пользовательском режиме

Посмотрим на самый безопасный и быстрый метод сброса кэшированных интерфейсных настроек внутри самой базы:

  1. Зайдите в базу 1С под проблемным пользователем (или без авторизации, если справочник пуст).
  2. Кликните правой кнопкой мыши на пустом месте в области панелей меню и инструментов (верхняя часть окна).
  3. Выберите пункт Настройка (или перейдите через главное меню: Вид -> Настройка).
  4. На вкладке Панели инструментов нажмите кнопку Сбросить (или Установить стандартные настройки).
  5. Перезапустите 1С и проверьте отображение.

2. Очистка регистров с настройками

Если первый метод не помог, проанализируем записи регистров. Через меню Операции -> Регистры сведений откройте регистры Сохраненные настройки и Настройки пользователей. Найдите и удалите все записи, связанные с настройками интерфейса, расположения панелей или привязанные к пользователю по умолчанию.

3. Программная очистка хранилищ настроек

Для глубокой очистки внутренних системных таблиц напишем небольшую внешнюю обработку. Этот код принудительно удаляет сохраненные системные настройки для конкретного пользователя. Создайте новую обработку, добавьте кнопку и в ее обработчике разместите следующий код:


ИмяПользователя = ИмяПользователя(); // Или укажите пустую строку "" для "Не авторизован"
ХранилищеСистемныхНастроек.Удалить(,, ИмяПользователя);
ХранилищеНастроекДанныхФорм.Удалить(,, ИмяПользователя);
Сообщить("Настройки пользователя успешно очищены!");

Запустите обработку под нужным профилем. Для пользователя «Не авторизован» может потребоваться передать в параметры пустое значение имени.

4. Удаление локального файла 1cv8cmn.pfl

Настройки главного меню обычных форм пишутся в специфический служебный файл 1cv8cmn.pfl. Даже если вы чистили основной кэш, этот файл мог остаться. Перейдите в системную папку профиля Windows: AppData\Roaming\1C\1Cv82\Идентификатор_Вашей_Базы и удалите данный файл вручную.

Альтернативные варианты (обходные пути)

Если проблема сидит слишком глубоко, применим методы принудительного перестроения настроек.

Перезапись параметров учета. Зайдите в настройки параметров учета и учетную политику. Снимите и заново установите галочки, отвечающие за виды деятельности (розничная торговля, производство и т.д.). Запишите изменения. Алгоритм инициализации меню при следующем запуске может корректно перестроить видимость пунктов.

Копирование интерфейса в конфигураторе. Откройте базу в конфигураторе, найдите в дереве метаданных интерфейс Полный. Скопируйте его и назовите, например, ПолныйНовый. Назначьте этот новый интерфейс основным для роли Полные права. Платформа воспримет его как абсолютно новый объект метаданных и создаст для него чистые рабочие настройки с нуля, игнорируя старые ошибки.

← На главную