Почему в отчетах 1С:ERP исчезли дополнительные реквизиты после обновления и как их вернуть?

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

При переходе на новые релизы 1С:ERP Управление предприятием (с веток 2.4 на 2.5 или внутри минорных обновлений 2.4) пользователи часто сталкиваются с неприятной ситуацией: в типовых отчетах пропадает возможность выбирать дополнительные реквизиты в настройках отборов, группировок или дополнительных полей. При этом в самих карточках объектов (например, в справочнике Номенклатура или ДоговорыКонтрагентов) реквизиты видны и доступны для редактирования. В данной статье мы подробно разберем, почему это происходит и как восстановить работоспособность системы.

Выясним причину возникновения проблемы

Проанализируем ситуацию: основная причина кроется в обновлении Библиотеки стандартных подсистем (БСП), которая является фундаментом для ERP. В свежих версиях механизмы хранения и сопоставления характеристик объектов претерпели изменения. Система компоновки данных (СКД), на которой построены все типовые отчеты, черпает информацию о доступных «виртуальных» полях (которыми являются доп. реквизиты) из специальных настроек метаданных. Если в процессе обновления произошел сбой или автоматические обработчики обновления не смогли корректно сопоставить старые идентификаторы наборов с новыми, связка разрывается. Также стоит найти «битые» запросы после обновления.

Часто это проявляется в справочнике НаборыДополнительныхРеквизитовИСведений, где предопределенные элементы внезапно получают префикс "Удалить_". Для системы это означает, что старый набор больше не используется, а новый еще не «подцепился» к метаданным объекта.

Способ 1: Проверка базовых настроек в пользовательском режиме

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

  1. Перейдем в раздел НСИ и администрирование — Общие настройки.
  2. Развернем группу Дополнительные реквизиты и сведения.
  3. Убедимся, что флаг Дополнительные реквизиты и сведения установлен. Если он стоит, попробуем снять его и установить заново (в некоторых случаях это инициирует обновление кэша характеристик).
  4. В самом отчете попробуем сбросить настройки до стандартных (кнопка Еще — Установить стандартные настройки).

Способ 2: Восстановление характеристик в конфигураторе

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

Разобьем процесс на этапы:

  1. Откроем Конфигуратор и найдем объект, в котором пропали реквизиты.
  2. Перейдем на вкладку Данные.
  3. Нажмем кнопку Характеристики... в нижней части окна.
  4. Проанализируем открывшееся окно. Часто после «кривого» обновления список характеристик оказывается пустым или содержит некорректные ссылки.

Нам необходимо заполнить три основные таблицы в окне характеристик:

Виды характеристик: здесь указывается запрос или ссылка на справочник, где хранятся определения реквизитов. Обычно это ПланВидовХарактеристик.ДополнительныеРеквизитыИСведения.

Значения характеристик: указывается табличная часть объекта (например, ДополнительныеРеквизиты), где хранятся конкретные значения для каждого элемента.

Источник наборов: это критически важная часть. Здесь указывается, как система определяет, какой набор реквизитов использовать для данного объекта.

Если вы видите, что поля очистились, лучше всего открыть копию базы до обновления и перенести настройки один в один. Обычно настройки выглядят следующим образом (в качестве примера для справочника):


Тип характеристик: ПланВидовХарактеристикСсылка.ДополнительныеРеквизитыИСведения
Источник видов: Справочник.НаборыДополнительныхРеквизитовИСведений
Значения характеристик: Табличная часть "ДополнительныеРеквизиты"
Связь по владельцу (набору): Характеристика.Владелец = Ссылка.НаборСвойств

Способ 3: Использование расширений для баз на поддержке

Рассмотрим ситуацию, когда конфигурация находится на строгом замке (на поддержке без возможности изменения), и вы не хотите снимать её с поддержки ради правки характеристик.

Создадим новое расширение и добавим в него проблемный справочник. В расширении нам также доступна кнопка Характеристики на вкладке Данные. Заполнив эти данные в расширении, мы перекроем пустые настройки основной конфигурации. Это «элегантный» способ вернуть реквизиты в отчеты СКД, сохранив возможность легкого обновления типового решения в будущем, а анализ состава расширений поможет избежать ошибок.

Способ 4: Исправление предопределенных элементов (программный метод)

Если мы обнаружили в справочнике НаборыДополнительныхРеквизитовИСведений элементы с префиксом "Удалить_", значит, ссылки в базе данных «поплыли». Нам нужно программно переназначить предопределенные элементы. Посмотрим на пример кода, который можно запустить во внешней обработке для исправления ситуации:


// Пример восстановления предопределенного узла
НаборОбъект = Справочники.НаборыДополнительныхРеквизитовИСведений.НайтиПоНаименованию("Удалить_Справочник_Номенклатура").ПолучитьОбъект();
Если НаборОбъект <> Неопределено Тогда
    НаборОбъект.ИмяПредопределенныхДанных = "Справочник_Номенклатура";
    НаборОбъект.Наименование = "Справочник ""Номенклатура""";
    НаборОбъект.Записать();
КонецЕсли;

Внимание: подобные манипуляции требуют предварительного создания резервной копии базы данных, так как изменение имен предопределенных данных напрямую влияет на логику работы БСП.

Важность очистки серверного кэша

Проанализируем еще один важный момент: иногда после внесения правок в конфигураторе изменения всё равно не отображаются в пользовательском режиме. Это происходит из-за агрессивного кэширования метаданных платформой 1С:Предприятие 8.3.

Для решения проблемы выполним следующие действия:

  1. Остановим службу сервера 1С.
  2. Удалим содержимое папок srvinfo/reg_1541/snccntx... (кэш сеансовых данных).
  3. Запустим службу заново.
  4. Для пользователя запустим базу с параметром /ClearCache.

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

Заключение

Подводя итог, отметим, что проблема исчезновения доп. реквизитов — это следствие эволюции метаданных внутри ERP. Основной «лечебный» эффект дает восстановление настроек на вкладке Характеристики в конфигураторе или через расширение. Помните, что регулярная проверка справочника Наборы дополнительных реквизитов и сведений на наличие элементов с префиксом Удалить поможет вам вовремя заметить сбои в процессе обновления информационной базы.

← На главную