Почему после обновления УНФ с версии 1.5 до 1.6 пропадают разделы меню и как их вернуть?

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

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

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

Причины скрытия разделов интерфейса

Проанализируем архитектуру командного интерфейса в «1С:Предприятие 8.3». Отображение подсистем и команд зависит не только от назначенных ролей, но и от функциональных опций. В платформе функциональные опции имеют безусловный приоритет: если функциональная опция выключена, привязанные к ней объекты и подсистемы полностью исключаются из интерфейса, независимо от прав текущего пользователя.

При переходе между мажорными версиями 1.5 и 1.6 состав функциональных опций и структура метаданных кардинально меняются. Основные причины сбоя:

  1. Пропуск обработчиков обновления БСП: Если обновление выполнялось сразу «скачком» через файл конфигурации (*.cf) без последовательного входа в режим «1С:Предприятие» на промежуточных релизах, специальные процедуры инициализации констант не успевают отработать.
  2. Неинициализированная константа: При переходе с редакции 1.5 видимость ключевых подсистем привязана к функциональной опции, зависящей от системной константы ЭтоОбычноеПриложение (или аналогичных настроек интерфейса). Если значение константы не установлено в Истина, платформа считает интерфейс отключенным.
  3. Перенос данных: При выгрузке и загрузке данных через универсальные обработки формата XML в пустую базу 1.6 значения системных констант из старой базы могут перезаписать инициализированные значения новой конфигурации.

Способ 1. Программное включение константы через внешнюю обработку

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

Создадим новую внешнюю обработку, добавим команду на форму и выполним следующий код:


&НаКлиенте
Процедура ВосстановитьИнтерфейс(Команда)
    ВосстановитьИнтерфейсНаСервере();
    ПоказатьОповещениеПользователя("Готово", , "Константы обновлены, перезапустите сеанс.");
КонецПроцедуры

&НаСервере
Процедура ВосстановитьИнтерфейсНаСервере()
    // Проверяем и устанавливаем значение константы
    Константы.ЭтоОбычноеПриложение.Установить(Истина);
    
    // Сбрасываем кэш повторно используемых значений платформы
    ОбновитьПовторноИспользуемыеЗначения();
КонецПроцедуры

После выполнения обработки закройте сеанс «1С:Предприятие» и запустите базу заново. Командный интерфейс перестроится, и все стандартные разделы вернутся на панель.

Способ 2. Корректная последовательность обновления через пользовательский режим

Если вы только планируете обновление или восстанавливаете базу из резервной копии, разберем правильный регламент перехода между версиями:

  1. Пошаговое обновление конфигурации: Не перескакивайте сразу через несколько релизов напрямую в конфигураторе. Обновляйте конфигурацию последовательно по цепочке релизов, рекомендованной фирмой «1С».
  2. Запуск в режиме «1С:Предприятие»: После применения каждого промежуточного файла обновления (*.cfu или *.cf) обязательно запускайте базу в пользовательском режиме от имени пользователя с правами администратора.
  3. Ожидание процедур БСП: Дождитесь полного завершения фоновых и регламентных заданий обновления информационной базы (процедуры Библиотеки стандартных подсистем должны успешно зафиксировать завершение миграции всех регистров и констант).

Способ 3. Перезапуск процедур обновления БСП и сброс настроек

Если программная установка отдельной константы не решила проблему целиком (например, не отображаются специфические настройки подсистем), проанализируем состояние обработчиков миграции БСП:

  1. Откройте регистр сведений ОбработчикиОбновления (или форму «Результаты обновления программы» в разделе администрирования).
  2. Проверьте, нет ли обработчиков со статусом ошибки или незавершенных процедур перехода с редакции 1.5.
  3. Запустите принудительное выполнение процедур миграции через вызов функции общего модуля: ОбновлениеИнформационнойБазы.ВыполнитьОбновление();
  4. Если разделы отображаются у администратора, но отсутствуют у других пользователей, выполните сброс пользовательских настроек интерфейса. Для этого откройте «Настройка панели разделов» и нажмите кнопку «Установить стандартные настройки» либо программно очистите настройки через объект ХранилищеСистемныхНастроек.
← На главную