При регулярном обновлении типовых конфигураций разработчики постепенно выводят устаревшие механизмы из эксплуатации. Начиная с релиза Бухгалтерия предприятия 3.0.44, из интерфейса и типовых алгоритмов подсистемы синхронизации данных был исключен классический обмен на базе технологии «Конвертация данных 2.1» (КД 2) с «Управление торговлей 11». В результате пользователи сталкиваются с ситуацией, когда ранее созданная и стабильно работавшая настройка обмена пропадает из списка синхронизаций, а в интерфейсе предлагается только универсальный формат (EnterpriseData).
Проанализируем причины этой проблемы, разберем программный способ быстрого возврата работы старого плана обмена и рассмотрим правильный типовой подход к выборочной выгрузке документов без использования устаревших механизмов.
В типовых конфигурациях на платформе «1С:Предприятие 8.3» на базе Библиотеки стандартных подсистем (БСП) обмен между УТ 11 и БП 3 переведен на EnterpriseData. План обмена ОбменУправлениеТорговлейБухгалтерияПредприятия30 был признан устаревшим разработчиками «1С». В релизе БП 3.0.44 разработчики удалили его регистрацию из перечня используемых планов обмена подсистемы.
Из-за этого графический интерфейс настройки и регламентные задания БСП перестают распознавать данный план обмена, хотя сам объект метаданных и правила в базе еще могут присутствовать. При этом файл выгрузки из УТ 11 (Message_...) продолжает формироваться, но база-приемник БП 3 больше не может принять его в автоматическом режиме.
Разберем, как восстановить видимость и работоспособность плана обмена в конфигурации «Бухгалтерия предприятия». Для этого необходимо заново зарегистрировать план обмена в перечне поддерживаемых подсистемой БСП.
Откроем конфигуратор и обратимся к общему модулю ОбменДаннымиПереопределяемый. Найдем экспортную процедуру ПолучитьПланыОбмена. Чтобы вернуть поддержку обмена, добавим метаданные плана обмена в передаваемый массив:
Процедура ПолучитьПланыОбмена(ПланыОбменаПодсистемы) Экспорт
// Добавляем ранее отключенный план обмена КД 2
ПланыОбменаПодсистемы.Добавить(Метаданные.ПланыОбмена.ОбменУправлениеТорговлейБухгалтерияПредприятия30);
КонецПроцедуры
Если база находится на официальной поддержке без возможности редактирования модулей, крайне не рекомендуется снимать ее с поддержки ради одной строки. Вместо этого применим механизм расширений конфигурации:
ОбменДаннымиПереопределяемый.ПолучитьПланыОбмена с аннотацией &После:
&После("ПолучитьПланыОбмена")
Процедура Расш_ПолучитьПланыОбмена(ПланыОбменаПодсистемы)
ПланыОбменаПодсистемы.Добавить(Метаданные.ПланыОбмена.ОбменУправлениеТорговлейБухгалтерияПредприятия30);
КонецПроцедуры
После применения изменений перезапустим информационную базу «1С:Бухгалтерия предприятия». Ранее настроенный узел обмена появится в списке синхронизаций данных, и штатный прием сообщений обмена с отправкой файлов квитанций возобновится.
Если внести изменения в код базы оперативно невозможно, но требуется срочно загрузить данные и получить подтверждение (квитанцию), рассмотрим работу со встроенной обработкой Универсальный обмен данными в формате XML (ОбменДаннымиЧерезXML):
ОбменУправлениеТорговлейБухгалтерияПредприятия30.При использовании режима обмена по плану обмена номера сообщений фиксируются корректно, а механизм квитирования формирует ответный пакет с квитанцией, благодаря чему в УТ 11 очистятся зарегистрированные изменения.
Важно понимать, что возврат к КД 2 — это временная мера. В последующих релизах конфигураций план обмена получает префикс Удалить..., правила внутри макетов перестают обновляться, а затем объект удаляется окончательно. Кроме того, изменения законодательства (форматы счетов-фактур, учет прослеживаемости, маркировка, новые ставки НДС) в правила КД 2 больше не вносятся разработчиками «1С». Это потребует постоянной ручной доработки правил обмена при каждом обновлении конфигураций.
Исходной причиной возврата к КД 2 часто является необходимость передавать во вторую базу только один конкретный вид документа, тогда как типовая синхронизация переносит весь объем данных. Разберем, как решить эту задачу штатными средствами универсального формата без возврата к устаревшей технологии.
Принципы регистрации изменений в универсальном формате работают аналогично КД 2. Правила регистрации данных (ПРД) для EnterpriseData по-прежнему редактируются в конфигурации «1С:Конвертация данных 2.1». Разберем по шагам, как ограничить выгрузку только нужным документом:
СинхронизацияДанныхЧерезУниверсальныйФормат (или выгрузим их из формы настройки синхронизации).После загрузки персональных правил регистрации в данный узел УТ 11 начнет регистрировать к отправке исключительно выбранный тип документов, а основной узел синхронизации с первой базой продолжит работать по полным типовым правилам.
Также фильтрацию можно реализовать без снятия с поддержки через расширение в базе-источнике: перехватить события модуля МенеджерОбменаЧерезУниверсальныйФормат и для ненужных типов документов выставить отказ от формирования пакета данных.