Почему в 1С:Бухгалтерии 3.0 не отображаются или отсутствуют предопределенные элементы справочников?

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

При разворачивании новой чистой базы или настройке конфигурации 1С:Бухгалтерия 8 (редакция 3.0) разработчики и администраторы часто сталкиваются с ситуацией, когда в режиме «1С:Предприятие» в справочнике (например, СтатьиДвиженияДенежныхСредств) отсутствует часть или все предопределенные элементы, хотя в конфигураторе они объявлены. Проанализируем, почему так происходит, как устроена логика платформы 8.3 и Библиотеки Стандартных Подсистем (БСП), и какими способами можно восстановить или включить отображение этих данных.

Причина 1. Зависимость от функциональных опций

В современных конфигурациях 1С на платформе 8.3 многие предопределенные элементы справочников и сами справочники привязаны к функциональным опциям (ФО). Если функциональная опция выключена (например, отключено ведение учета по статьям движения денежных средств), система скрывает соответствующий интерфейс и связанные с ним элементы.

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

Причина 2. Инициализация при начальном заполнении ИБ

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

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

Причина 3. Режим обновления предопределенных данных платформы

В платформе 8.3 у объектов метаданных имеется свойство ОбновлениеПредопределенныхДанных. Если для базы данных или конкретного справочника установлено значение, отличное от автоматического обновления, платформа не создает записи в базе данных автоматически при реструктуризации.

Как решить проблему и восстановить предопределенные элементы

Разберем по шагам основные способы решения этой проблемы.

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

Таким образом, отсутствие предопределенных элементов в режиме пользователя чаще всего не является сбоем, а обусловлено работой функциональных опций и механизмов начального заполнения БСП.

← На главную