Почему после обновления УТ 11.5 пропали дополнительные реквизиты в списках и как их вернуть?

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

При обновлении конфигурации 1С:Управление торговлей (УТ) 11.5 на актуальные релизы (начиная с 11.5.12.270 и выше) многие технические специалисты сталкиваются с неприятным сюрпризом: дополнительные реквизиты, которые ранее активно использовались в формах списка, отборах цен и скидок, внезапно становятся недоступными — для их восстановления и управления есть инструмент массового изменения дополнительных реквизитов. Система перестает видеть их как поля, доступные «через точку» от ссылки, а в настройках формы они пропадают из общего списка доступных реквизитов.

В этой статье мы подробно разберем причины возникновения этой проблемы, связанные с багами платформы 1С:Предприятие 8.3 и изменениями в Библиотеке стандартных подсистем (БСП), а также изучим пошаговые алгоритмы обновления УТ 11.5 и восстановления работоспособности базы.

Анализируем техническую причину сбоя

Проблема чаще всего кроется не в коде самой конфигурации УТ, а в поведении платформы при выполнении операции «Загрузить конфигурацию из файла (.cf)». Для анализа ошибок в конфигурации можно использовать специализированные инструменты — для этого подойдёт инструментарий для технического анализа и диагностики 1С. В версиях платформы ниже 8.3.25.1257 присутствует критическая ошибка: при загрузке файла конфигурации у некоторых объектов метаданных (прежде всего у справочника Номенклатура) может самопроизвольно очищаться свойство «Характеристики».

Свойство Характеристики (расположенное на вкладке «Данные» в Конфигураторе) отвечает за связь объекта с Планом видов характеристик (ПВХ) ДополнительныеРеквизитыИСведения и регистром сведений ДополнительныеЗначения. Если это свойство очищено, платформа «забывает», что у объекта есть дополнительные реквизиты, и исключает их из механизмов автоматического построения запросов для динамических списков и систем компоновки данных (СКД).

Способ 1: Ручное восстановление свойств метаданных

Если обновление уже выполнено и вы обнаружили проблему, первым делом необходимо проверить целостность метаданных. Также можно проанализировать реквизиты объекта метаданных (удобно через обработка для технического аудита и редактирования метаданных) или изучить ситуацию в Конфигураторе:

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

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

После внесения этих правок и сохранения конфигурации базы данных (клавиша F7), дополнительные реквизиты снова станут доступны для выбора в формах списков и отборах.

Способ 2: «Магический ритуал» обновления для обхода бага платформы

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

  1. Запустим Конфигуратор и выполним команду «Конфигурация — Загрузить конфигурацию из файла», выбрав нужный .cf.
  2. Внимание! После завершения загрузки, когда система предложит обновить конфигурацию базы данных, необходимо нажать «Нет».
  3. Сразу после этого закроем Конфигуратор полностью.
  4. Снова запустим Конфигуратор той же базы.
  5. Теперь выполним обновление конфигурации базы данных (клавиша F7 или кнопка «Обновить конфигурацию базы данных»).

Такая перезагрузка Конфигуратора между загрузкой .cf и применением изменений к БД принудительно обновляет внутренний кэш метаданных платформы и предотвращает потерю свойства Характеристики.

Способ 3: Проверка уникальности заголовков (сквозной контроль)

В новых версиях УТ 11.5 (на базе БСП 3.1.7+) был усилен контроль за именованием дополнительных реквизитов. Если в системе существуют дополнительные реквизиты с одинаковыми заголовками для разных видов номенклатуры, это может привести к конфликтам при формировании динамических списков.

Проанализируем План видов характеристик ДополнительныеРеквизитыИСведения. Если мы обнаружим дублирующиеся наименования (заголовки), их необходимо привести к уникальному виду. Посмотрим на пример кода для массового исправления заголовков:


// Пример групповой обработки для синхронизации заголовка с наименованием
Запрос = Новый Запрос;
Запрос.Текст = 
    "ВЫБРАТЬ
    |   ДополнительныеРеквизитыИСведения.Ссылка КАК Ссылка
    |ИЗ
    |   ПланВидовХарактеристик.ДополнительныеРеквизитыИСведения КАК ДополнительныеРеквизитыИСведения
    |ГДЕ
    |   НЕ ДополнительныеРеквизитыИСведения.ПометкаУдаления";

РезультатЗапроса = Запрос.Выполнить();
ВыборкаДетальныеЗаписи = РезультатЗапроса.Выбрать();

Пока ВыборкаДетальныеЗаписи.Следующий() Цикл
    ОбъектСвойства = ВыборкаДетальныеЗаписи.Ссылка.ПолучитьОбъект();
    // Устанавливаем заголовок равным наименованию для прохождения валидации БСП
    ОбъектСвойства.Заголовок = ОбъектСвойства.Наименование;
    Попытка
        ОбъектСвойства.Записать();
    Исключение
        Сообщить("Ошибка при записи свойства: " + ОбъектСвойства.Наименование);
    КонецПопытки;
КонецЦикла;

Дополнительные настройки видимости в списках

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

  1. Перейдем в раздел «Администрирование — Общие настройки — Дополнительные реквизиты и сведения».
  2. Найдем нужный набор реквизитов (например, для определенного Вида номенклатуры).
  3. Убедимся, что для конкретного реквизита установлена настройка «Видимость: Везде» или «Доступен в списках».
  4. Если используется механизм «Быстрого отбора», проверим выполнение регламентного задания Заполнение данных для быстрого отбора в списках.

Работа с кэшем конфигурации

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

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

Резюмируем: Основная проблема релизов УТ 11.5.12.270+ связана с багом платформы, «стирающим» связь объекта с его дополнительными реквизитами в метаданных. Проверка и ручное заполнение свойства Характеристики в Конфигураторе — самый надежный способ вернуть привычный функционал отборов и отображения данных, а расширить возможности списков поможет расширение для вывода характеристик товаров в формах списка.

← На главную