При настройке регулярной синхронизации между конфигурациями «Управление торговлей», редакция 10.3 и «Бухгалтерия предприятия», редакция 3.0 специалисты часто сталкиваются с ситуацией, когда релиз установленной конфигурации не совпадает с релизом, указанным в типовых правилах конвертации. В результате обмен завершается аварийно, а процедура выгрузки длится часами без понятного описания ошибки. Разберем по шагам причины такого поведения и выясним, как быстро локализовать сбой и адаптировать правила обмена.
Проанализируем природу проблемы. Несоответствие версий и аварийное завершение обмена возникают по нескольким основным причинам:
Конвертация данных 2.1, носит преимущественно описательный характер. Фирма «1С» нередко собирает правила на предрелизных или внутренних сборках (например, 3.0.44.186), которые не выходят в открытый доступ, тогда как пользователи получают релиз 3.0.44.188. Однако в обработчиках правил (Перед выгрузкой данных или Перед загрузкой данных) может присутствовать жесткая проверка версии конфигурации через обращение к Метаданные.Версия, которая намеренно прерывает выполнение при несовпадении.Не будем запускать синхронизацию на всем массиве данных сразу. Чтобы локализовать проблему и исключить падение платформы из-за нехватки памяти, выполним предварительную подготовку очереди выгрузки:
Регистрация изменений для обмена данными.Контрагенты и один документ Реализация товаров и услуг за текущую дату.Выясним, где взять корректные правила. В связке УТ 10.3 и БП 3.0 ведущей конфигурацией по изменениям законодательства выступает бухгалтерия. Поэтому правила выгрузки из УТ в БП необходимо брать не из старого дистрибутива торговли, а из каталога шаблона обновления текущего релиза «Бухгалтерии предприятия» (каталог вида tmplts\1c\Accounting\3_0_XX_XX\Обмены данными\Обмен с конфигурацией Управление торговлей, ред. 10.3). Найденный XML-файл правил загрузим в узел обмена или используем для дальнейшей доработки.
Чтобы не ожидать часами выполнения фонового задания регламентного обмена, перейдем к интерактивной выгрузке. Рассмотрим порядок действий:
Универсальный обмен данными в формате XML.Выгрузка данных укажем путь к файлу правил конвертации.Параметры выгрузки обязательно включим флаг Записывать в протокол сообщения об ошибках и укажем путь к текстовому файлу журнала.Выгрузить данные.Если в процессе формирования XML возникнет исключение, обработка моментально прервет операцию и запишет в протокол точное имя правила конвертации объекта (ПКО) или правила конвертации свойства (ПКС), на котором споткнулся процесс.
Если текстового описания ошибки в протоколе недостаточно, воспользуемся штатным механизмом отладки правил КД 2.1. Разберем этот процесс по шагам:
Конвертация данных, редакция 2.1 и загрузим в нее XML-файл наших правил обмена.MD83Exp.epf актуальную структуру конфигураций УТ 10.3 и БП 3.0, после чего загрузим их в базу конвертации.Универсальный обмен данными в формате XML, перейдем на вкладку Отладка выгрузки и подключим сгенерированный файл отладчика.Посмотрим на примеры исправления типовых проблем в правилах через конфигурацию Конвертация данных:
Перед выгрузкой данных или Перед загрузкой данных. Проанализируем условие проверки версий:
// Пример проверки, вызывающей остановку обмена
Если Найти(Строка(Метаданные.Версия), "3.0.44") = 0 Тогда
ВызватьИсключение "Неподдерживаемая версия конфигурации-приемника!";
КонецЕсли;
Скорректируем условие под наш фактический номер конфигурации или временно отключим проверку.
После сохранения обновленных правил выгрузим итоговый XML-файл из «Конвертации данных» и загрузим его обратно в план обмена в рабочей базе «Управление торговлей». Выполнив тестовую синхронизацию на одном документе и убедившись в отсутствии ошибок, можно подключать регистрацию остальных массивов данных.