Как исправить ошибку «Не найдено ПОД для объекта метаданных: Патенты» при обмене УТ 11 и БП 3.0?

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

При настройке или выполнении регулярной синхронизации данных между конфигурациями «Управление торговлей 11» (УТ 11) и «Бухгалтерия предприятия 3.0» (БП 3.0) специалисты часто сталкиваются с критической ошибкой, которая полностью блокирует процесс выгрузки данных. Ошибка сопровождается техническим сообщением в журнале регистрации: Не найдено ПОД для объекта метаданных. Объект метаданных: Патенты. Давайте подробно разберем, почему возникает эта проблема и как ее устранить различными методами.

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

Анализируя структуру универсального формата обмена EnterpriseData, можно прийти к выводу, что проблема носит сугубо технический характер. Аббревиатура ПОД расшифровывается как Правило Обработки Данных. В механизме обмена за каждый объект метаданных (справочник, документ) отвечает определенное правило, которое описывает, как именно данные должны быть преобразованы в формат XML/XDTO для передачи в другую базу.

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


{ОбщийМодуль.ОбменДаннымиXDTOСервер.Модуль(6919)}: ВызватьИсключение СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку...
{ОбщийМодуль.ОбменДаннымиXDTOСервер.Модуль(665)}: ПолучитьПравилоОбработкиДляОбъекта(КомпонентыОбмена, Объект, ПравилоОбработки);

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

Способ 1. Исключение справочника из состава отправляемых данных (Оперативное решение)

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

  1. Перейдем в раздел Администрирование — Синхронизация данных.
  2. Откроем список Настройки синхронизации данных.
  3. Выделим нужную настройку обмена с «Бухгалтерией предприятия» и нажмем кнопку Состав отправляемых данных (иконка с синим чемоданчиком или через меню «Еще»).
  4. В открывшемся окне найдем в дереве объектов справочник Патенты.
  5. Нажмем правую кнопку мыши на этом справочнике и выберем пункт Отменить регистрацию всех объектов данного типа.

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

Способ 2. Отключение автоматической регистрации через правила

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

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

Способ 3. Загрузка внешних правил обмена

Зачастую разработчики выпускают исправленные правила обмена (файлы .xml) быстрее, чем выходит полноценное обновление конфигурации. Посмотрим, как обновить логику обмена без обновления всей УТ 11:

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

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

Способ 4. Использование расширений конфигурации

Рассмотрим ситуацию, когда обновление конфигурации невозможно из-за доработок, а внешние правила не помогают. В сообществе 1С существуют готовые расширения-патчи. Суть их работы заключается в перехвате функции ПолучитьПравилоОбработкиДляОбъекта в модуле ОбменДаннымиXDTOСервер.

Программно это выглядит примерно так: в расширении создается процедура-префикс или процедура-вместо, которая проверяет тип объекта. Если тип объекта равен СправочникСсылка.Патенты, расширение просто возвращает пустую структуру или игнорирует вызов, предотвращая вызов исключения ВызватьИсключение.

Пример логики, которую можно внедрить через расширение:


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

Способ 5. Проверка версии формата EnterpriseData

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

  1. Зайдите в настройки подключения синхронизации.
  2. Найдите параметр Версия формата обмена.
  3. Попробуйте повысить версию до 1.10 или выше (если обе конфигурации поддерживают эту версию).

В новых версиях формата EnterpriseData состав объектов расширяется, и правила для справочника Патенты становятся стандартными, что устраняет конфликт «пустых правил».

Рекомендации по профилактике

Чтобы в будущем избежать подобных проблем при обмене между УТ 11 и БП 3.0, рекомендуем придерживаться следующих правил:

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

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

← На главную