Как исправить ошибку «Поле не найдено Номенклатура.ВидНоменклатуры» при обмене с сайтом в 1С:Комплексная автоматизация 2?

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

При обновлении конфигураций (например, при переходе с редакции 2.2 на 2.4 или более свежие релизы «1С:Комплексная автоматизация» и «1С:ERP») разработчики и администраторы нередко сталкиваются со сбоем регламентного обмена с интернет-магазином. В журнале регистрации или при ручном запуске процесса возникает исключение:


{ОбщийМодуль.ОбменССайтом.Модуль(658)}: Ошибка при вызове метода контекста (Выполнить)
    МакетКомпоновки = КомпоновщикМакета.Выполнить(СхемаКомпоновкиДанных, КомпоновщикНастроек1.Настройки,,,
по причине:
Ошибка компоновки макета
по причине:
Поле не найдено "Номенклатура.ВидНоменклатуры"

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

Причины возникновения ошибки

Проанализируем механизм формирования данных для выгрузки. Типовой обмен с сайтом использует механизм компоновки данных (СКД). Процесс выгрузки строится следующим образом:

  1. Из метаданных конфигурации (или внешнего модуля) берется базовая СхемаКомпоновкиДанных.
  2. Из конкретного узла плана обмена загружаются сохраненные пользователем отборы и настройки (КомпоновщикНастроек1.Настройки).
  3. Метод КомпоновщикМакета.Выполнить() объединяет схему с пользовательскими настройками в готовый макет компоновки.

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

Где в конфигурации находятся настройки и схема обмена

Посмотрим, где физически расположены используемые компоненты:

  1. План обмена: В дереве метаданных конфигуратора найдем ветку ПланыОбмена → ОбменССайтом (или аналогичный узел специализированного модуля интеграции).
  2. Макеты СКД: Внутри плана обмена в ветке Макеты расположены схемы компоновки данных, отвечающие за формирование выгрузки каталога товаров, цен, остатков и заказов.
  3. Пользовательские настройки: Фильтры по номенклатуре, складам и организациям хранятся непосредственно в элементах (узлах) плана обмена в информационной базе.

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

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

  1. Откроем информационную базу в режиме 1С:Предприятие с правами администратора.
  2. Перейдем в раздел НСИ и администрирование → Интеграция с сайтом (или откроем список узлов обмена через Все функции / Функции для технического специалиста → Планы обмена → Обмен с сайтом).
  3. Откроем карточку проблемной настройки обмена.
  4. Перейдем на вкладку Выгрузка товаров в раздел правил отбора данных.
  5. Полностью очистим или удалим все строки с отборами, особенно касающиеся номенклатуры и видов номенклатуры. При наличии кнопки восстановления стандартных настроек сбросим параметры к значениям по умолчанию.
  6. Заново добавим необходимые фильтры, выбирая поля непосредственно из открывающегося дерева доступных реквизитов новой схемы.
  7. Запишем и закроем настройку узла. При сохранении в базу запишется актуальная структура настроек компоновщика.

Способ 2. Создание нового узла плана обмена

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

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

Способ 3. Проверка схемы компоновки в конфигураторе

Если конфигурация дорабатывалась или схема выгрузки была изменена программистом, необходимо проверить корректность самой СКД. Рассмотрим порядок действий:

  1. Откроем конфигуратор и найдем макет схемы компоновки данных в плане обмена ОбменССайтом.
  2. Откроем макет СКД и перейдем на вкладку Наборы данных.
  3. Проверим текст запроса: убедимся, что поле ВидНоменклатуры присутствует в выборке таблицы номенклатуры и не переопределено некорректным псевдонимом.
  4. Перейдем на вкладку Настройки и проверим стандартные варианты отчетов и предустановленные фильтры на наличие устаревших неразрешенных путей к полям.

Альтернативное решение: использование официального модуля интеграции

Если типовой функционал обмена в конфигурации устарел или регулярно дает сбои при обновлениях релиза, рекомендуется использовать специализированный официальный модуль интеграции для вашей CMS (например, модуль обмена с 1С-Битрикс).

Установка такого модуля в виде отдельного расширения конфигурации (.cfe) изолирует механизмы обмена от типовых объектов конфигурации, упрощает обновление метаданных и предоставляет более гибкие инструменты управления выгрузкой каталога и заказов.

← На главную