Ошибка формата файла обмена
Вопрос: Почему не принимает данные, сформированные в настройке обмена (но при этом принимает если данные сформировать обработкой обмена)? Создал правила выгрузки одного элементарного справочника из УТ 10.3.16.1 (обычное приложение, платформа 8.2.19.102) в Самописную (управляемое приложение, платформа 8.3.6.2152) Настроил в УТ узлы и планы обмена, сделал настройку обмена данными и выгрузил. В файл данных вошло два элемента справочника. </ФайлОбмена> Для загрузки использую обработку из поставки КД 2.1.8.2: V8Exchan83.epf в режиме работы На сервере. Получаю ошибки: Ошибка формата файла обмена ИмяУзла = ДанныеПоОбмену . Ошибка при загрузке данных: : Ошибка при вызове метода контекста (Выполнить): <(1, 68)>: Синтаксическая ошибка "=" ВЫБРАТЬ Ссылка ИЗ Справочник.Направления ГДЕ <<?>>= & И Код = &Код И = & И = & . Загружено объектов: 0 (см. фото) НО! это при выгрузке из УТ через настройку обмена. Ошибка исчезает если выгружать данные обработкой из поставки КД: V8Exchan82.epf (82 не смотря на то что платформа 83, т.к. в режиме Обычного приложения). Привожу содержание "правильного" XML: И еще в Управляемом приложении не позволяет сформировать модуль отладки загрузки. При нажатии на любую из указанных кнопок ничего не происходит (см. фото)ВнешняяОбработка.УниверсальныйОбменДаннымиXML.МодульОбъекта(5256)>
Удалил секции: <ИнформацияОТипахДанных> <ДанныеПоОбмену.. <ДанныеПоФоновомуОбмену.. Теперь пишет: Ошибка при загрузке данных: : Ошибка при вызове метода контекста (Выполнить): <(1, 68)>: Синтаксическая ошибка "=" ВЫБРАТЬ Ссылка ИЗ Справочник.Направления ГДЕ <<?>>= & И Код = &Код И = & И = &
выгрузку и загрузку желательно надо проводить обработками одной версии. Или лезть в отладчик.
Боюсь что затянуть из последней УТ свежую версию Настройки обмена, будет непросто, т.к. этот механизм там не сконцентрирован в одном месте а "размазан" по всей конфигурации (
Правила от КД 2.1.8.2 Удалось избавиться от главной ошибки "Ошибка при загрузке данных: : Ошибка при вызове метода контекста (Выполнить): <(1, 68)>: Синтаксическая ошибка "=" ВЫБРАТЬ Ссылка ИЗ Справочник.Направления ГДЕ <<?>>= & И Код = &Код И = & И = &" Таким образом вставил кусок из обработки из УТ. Поместил в обработку Приемника (коммент //Юрасов): Обработка.УниверсальныйОбменДаннымиXML.МодульОбъекта.НайтиЭлементЗапросом(. ) . Теперь загружает данные, хоть и остались ошибки: Ошибка формата файла обмена ИмяУзла = ДанныеПоОбмену . Ошибка формата файла обмена ИмяУзла = ДанныеПоФоновомуОбменуОбработка.УниверсальныйОбменДаннымиXML.МодульОбъекта(5255)>
В итоге решение примерно такое. захожу отладчиком при загрудке и смотрю на что ругается. вижу что в коде нет варианта для обработки такого поля или параметра. Иду в конфигурацию откуда выгружал, смотрю как этот код работает там. вижу такую же функцию но с дополнительным кодом. вижу что этого то кода и нехватает что бы обработать данный параметр. копировать/встаить. проверка синтаксиса. ругается. смотрю если что то для меня не важное убираю. если важное разбираюсь почему ругается и что еще нужно копипастнуть. проверяю правила. и так вылизываю пока не пропадут все ошибки при загрузке
у тебя просто древние релизы конфигураций, в них встроенная обработка универсального обмена старой версии.
Читайте также: