При работе с конфигурацией "Конвертация данных 3.0" (КД 3.0) разработчики часто сталкиваются с ситуацией, когда попытка загрузить правила обмена, выгруженные из другой базы (например, "1С:Бухгалтерия"), завершается ошибкой: "Ошибка загрузки файла на сервер: info.xml. Убедитесь, что файл существует". При этом проверка показывает, что такого файла действительно нет в выгрузке. Разберем, почему возникает эта ошибка и как правильно выполнять загрузку правил в КД 3.0.
Чтобы понять корень проблемы, давайте проанализируем, как устроен механизм загрузки правил в КД 3.0. Если заглянуть в код конфигурации, можно увидеть, что система ожидает не один файл, а целый каталог с определенным набором XML-файлов.
Посмотрим на фрагмент кода из формы загрузки в КД 3.0, который наглядно демонстрирует эту логику:
&НаКлиенте
Процедура ЗавершениеВыбораКаталогаЗагрузки(ВыбранныеФайлы, ДополнительныеПараметры) Экспорт
...
Объект.КаталогОбмена = СокрЛП(ВыбранныеФайлы[0]);
// Файлы правил надо поместить в хранилище
МассивИменФайлов = Новый Массив;
МассивИменФайлов.Добавить("info.xml");
МассивИменФайлов.Добавить("POD.xml");
МассивИменФайлов.Добавить("PKO.xml");
МассивИменФайлов.Добавить("PKPD.xml");
МассивИменФайлов.Добавить("Param.xml");
Для Каждого ИмяФайла Из МассивИменФайлов Цикл
ПолноеИмя = Объект.КаталогОбмена + "/" + ИмяФайла;
// ... далее идет проверка и загрузка файла
КонецЦикла;
...
КонецПроцедуры
Как видно из кода, система последовательно пытается найти и загрузить файлы из жестко заданного списка, и первым в этом списке идет info.xml. Если его нет, процесс прерывается с ошибкой. Это не баг, а штатное поведение, обусловленное архитектурой КД 3.0.
Основная причина, по которой у вас отсутствует этот файл, — вы пытаетесь загрузить правила, созданные для "Конвертации данных 2.0". Эти форматы принципиально несовместимы.
Распознать "старые" правила очень просто. Откройте выгруженный XML-файл в текстовом редакторе и посмотрите на его структуру. Если вы видите строку, похожую на эту, значит, правила относятся к формату КД 2.0:
<?xml version="1.0"?>
<ПравилаРегистрации>
<ВерсияФормата>2.01</ВерсияФормата>
...
</ПравилаРегистрации>
Тег <ВерсияФормата>2.01</ВерсияФормата> однозначно указывает на старый формат. КД 3.0 работает на совершенно ином принципе, основанном на универсальном формате EnterpriseData, и требует другой структуры правил.
Чтобы успешно загрузить правила в КД 3.0 для их анализа или доработки, необходимо выгрузить их из исходной конфигурации правильным способом. Для этого существует два основных метода.
Это основной и самый надежный способ. Он предполагает использование обработки, которая поставляется вместе с конфигурацией "Конвертация данных 3.0".
Рассмотрим по шагам:
Найдите обработку. В комплекте поставки КД 3.0 найдите обработку с названием вроде Выгрузка правил синхронизации через универсальный формат.epf.
Запустите обработку в исходной базе. Откройте информационную базу, из которой вы хотите выгрузить правила (например, "1С:Бухгалтерия"), через меню "Файл" -> "Открыть" и выберите файл обработки.
Укажите параметры выгрузки. В форме обработки обычно нужно указать, для какого обмена выгружаются правила (например, обмен с "Управление торговлей").
Выполните выгрузку. Укажите пустой каталог, куда будут сохранены файлы. Обработка создаст в нем набор XML-файлов, среди которых обязательно будут info.xml, PKO.xml, POD.xml и другие, необходимые для КД 3.0.
Загрузите правила в КД 3.0. В конфигурации "Конвертация данных 3.0" при загрузке правил укажите не отдельный файл, а путь к каталогу, который вы создали на предыдущем шаге. Система автоматически обнаружит и загрузит все необходимые компоненты правил.
Именно такой подход гарантирует, что вы получите правила в корректном формате, который полностью совместим с КД 3.0.
В современных типовых конфигурациях правила обмена через универсальный формат часто хранятся не в виде отдельных файлов или макетов, а непосредственно в тексте общих модулей. Это делается для удобства обновления и поддержки. Вы также можете загрузить эти правила в КД 3.0 для анализа.
Порядок действий:
Откройте конфигуратор. Запустите исходную информационную базу в режиме "Конфигуратор".
Найдите нужный общий модуль. В дереве конфигурации найдите общий модуль, отвечающий за обмен. Обычно его название содержит слова "МенеджерОбмена" или "СинхронизацияДанных". Например, МенеджерОбменаЧерезУниверсальныйФормат.
Сохраните текст модуля в файл. Откройте модуль, выделите весь его текст (Ctrl+A), скопируйте (Ctrl+C) и вставьте в любой текстовый редактор. Сохраните этот текст в файл с расширением .txt или .xml.
Используйте помощник в КД 3.0. В конфигурации "Конвертация данных 3.0" запустите помощник "Загрузка конвертации XDTO". На одном из шагов помощник предложит указать файл с правилами — выберите тот файл, который вы только что сохранили.
Этот способ отлично подходит, если вам нужно быстро проанализировать или доработать типовые правила обмена, встроенные в конфигурацию.
Таким образом, ошибка, связанная с отсутствием файла info.xml, является не технической неисправностью, а следствием методологической ошибки — попытки использовать несовместимые форматы правил. Используя штатные средства выгрузки, предназначенные для КД 3.0, вы легко решите эту проблему.