Ошибка формата файла обмена универсальный обмен данными

   790th

30.09.15 — 09:40

Вопрос: Почему не принимает данные, сформированные в настройке обмена (но при этом принимает если данные сформировать обработкой обмена)?

Создал правила выгрузки одного элементарного справочника из УТ 10.3.16.1 (обычное приложение, платформа 8.2.19.102) в Самописную (управляемое приложение, платформа 8.3.6.2152)

Настроил в УТ узлы и планы обмена, сделал настройку обмена данными и выгрузил. В файл данных вошло два элемента справочника.

Привожу содержание «ошибочного» XML:

<?xml version=»1.0″ encoding=»UTF-8″?>

<ФайлОбмена ВерсияФормата=»2.0″ ДатаВыгрузки=»2015-09-30T09:03:50″ ИмяКонфигурацииИсточника=»УправлениеТорговлей» ИмяКонфигурацииПриемника=»Конфигурация» ИдПравилКонвертации=»fc7e8361-6fbe-42bb-90d4-6ee69b6c1794″ Комментарий=»»>

<ПравилаОбмена>

    <ВерсияФормата>2.01</ВерсияФормата>

    <Ид>fc7e8361-6fbe-42bb-90d4-6ee69b6c1794</Ид>

    <Наименование>СервисДляCRM —&gt; CRM</Наименование>

    <ДатаВремяСоздания>2015-09-28T12:18:38</ДатаВремяСоздания>

    <Источник>УправлениеТорговлей</Источник>

    <Приемник>Конфигурация</Приемник>

    <Параметры/>

    <Обработки/>

    <ПравилаКонвертацииОбъектов>

        <Правило>

            <Код>Направления</Код>

            <Источник>СправочникСсылка.Айсберг_Направления</Источник>

            <Приемник>СправочникСсылка.Направления</Приемник>

        </Правило>

    </ПравилаКонвертацииОбъектов>

    <ПравилаОчисткиДанных/>

    <Алгоритмы/>

    <Запросы/>

</ПравилаОбмена>

<ИнформацияОТипахДанных>

    <ТипДанных Имя=»СправочникСсылка.Направления»>

        <Код>Строка</Код>

        <ПометкаУдаления>Булево</ПометкаУдаления>

        <Наименование>Строка</Наименование>

        <Родитель>СправочникСсылка.Направления</Родитель>

        <ЭтоГруппа>Булево</ЭтоГруппа>

    </ТипДанных>

</ИнформацияОТипахДанных>

<ДанныеПоОбмену ПланОбмена=»МоскваCRM» Кому=»CRM» ОтКого=»Москва» НомерИсходящегоСообщения=»5″ НомерВходящегоСообщения=»0″/>

<ДанныеПоФоновомуОбмену ПланОбмена=»» Кому=»0″ ОтКого=»0″ ДобавлениеОбъектовИзФоновогоОбмена=»0″ КоличествоОбъектовДляФоновогоОбмена=»500″ ПереданоОбъектовФоновогоОбмена=»0″/>

<Объект Нпп=»1″ Тип=»СправочникСсылка.Направления» ИмяПравила=»Направления»><Ссылка Нпп=»1″>

    <Свойство Имя=»{КлючПоискаВИБИсточнике}»>

        <Значение>{«#»,0bd0deec-1479-4cdf-ae4b-f10e71f3205a,111:9ed000248cc4a20411e26f88824de171}</Значение>

    </Свойство>

    <Свойство Имя=»{ИмяТипаВИБИсточнике}»>

        <Значение>СправочникСсылка.Айсберг_Направления</Значение>

    </Свойство>

    <Свойство Имя=»{ИмяТипаВИБПриемнике}»>

        <Значение>СправочникСсылка.Направления</Значение>

    </Свойство>

    <Свойство Имя=»Код»>

        <Значение>000000013</Значение>

    </Свойство>

</Ссылка>

    <Свойство Имя=»Наименование»>

        <Значение>СВЧ</Значение>

    </Свойство>

    <Свойство Имя=»ПометкаУдаления»>

        <Значение>false</Значение>

    </Свойство>

    <Свойство Имя=»Родитель»/>

    <Свойство Имя=»ЭтоГруппа»>

        <Значение>false</Значение>

    </Свойство>

</Объект>

<Объект Нпп=»2″ Тип=»СправочникСсылка.Направления» ИмяПравила=»Направления»><Ссылка Нпп=»2″>

    <Свойство Имя=»{КлючПоискаВИБИсточнике}»>

        <Значение>{«#»,0bd0deec-1479-4cdf-ae4b-f10e71f3205a,111:9ed000248cc4a20411e26f88824de173}</Значение>

    </Свойство>

    <Свойство Имя=»{ИмяТипаВИБИсточнике}»>

        <Значение>СправочникСсылка.Айсберг_Направления</Значение>

    </Свойство>

    <Свойство Имя=»{ИмяТипаВИБПриемнике}»>

        <Значение>СправочникСсылка.Направления</Значение>

    </Свойство>

    <Свойство Имя=»Код»>

        <Значение>000000014</Значение>

    </Свойство>

</Ссылка>

    <Свойство Имя=»Наименование»>

        <Значение>СМ</Значение>

    </Свойство>

    <Свойство Имя=»ПометкаУдаления»>

        <Значение>false</Значение>

    </Свойство>

    <Свойство Имя=»Родитель»/>

    <Свойство Имя=»ЭтоГруппа»>

        <Значение>false</Значение>

    </Свойство>

</Объект>

</ФайлОбмена>

Для загрузки использую обработку из поставки КД 2.1.8.2: V8Exchan83.epf в режиме работы На сервере.

Получаю ошибки:

Ошибка формата файла обмена

    ИмяУзла                =  ДанныеПоОбмену

Ошибка при загрузке данных: {ВнешняяОбработка.УниверсальныйОбменДаннымиXML.МодульОбъекта(5256)}: Ошибка при вызове метода контекста (Выполнить): {(1, 68)}: Синтаксическая ошибка «=»

ВЫБРАТЬ Ссылка ИЗ Справочник.Направления ГДЕ {ИмяТипаВИБИсточнике} <<?>>= &{ИмяТипаВИБИсточнике} И Код = &Код И {ИмяТипаВИБПриемнике} = &{ИмяТипаВИБПриемнике} И {КлючПоискаВИБИсточнике} = &{КлючПоискаВИБИсточнике}

Загружено объектов: 0

(см. фото) https://yadi.sk/i/LwzcPBr-jQxMw

НО! это при выгрузке из УТ через настройку обмена. Ошибка исчезает если выгружать данные обработкой из поставки КД: V8Exchan82.epf (82 не смотря на то что платформа 83, т.к. в режиме Обычного приложения).

Привожу содержание «правильного» XML:

<?xml version=»1.0″ encoding=»UTF-8″?>

<ФайлОбмена ВерсияФормата=»2.0″ ДатаВыгрузки=»2015-09-30T09:26:42″ НачалоПериодаВыгрузки=»0001-01-01T00:00:00″ ОкончаниеПериодаВыгрузки=»0001-01-01T00:00:00″ ИмяКонфигурацииИсточника=»УправлениеТорговлей» ИмяКонфигурацииПриемника=»Конфигурация» ИдПравилКонвертации=»fc7e8361-6fbe-42bb-90d4-6ee69b6c1794″ Комментарий=»»>

<ПравилаОбмена>

    <ВерсияФормата>2.01</ВерсияФормата>

    <Ид>fc7e8361-6fbe-42bb-90d4-6ee69b6c1794</Ид>

    <Наименование>СервисДляCRM —&gt; CRM</Наименование>

    <ДатаВремяСоздания>2015-09-28T12:18:38</ДатаВремяСоздания>

    <Источник>УправлениеТорговлей</Источник>

    <Приемник>Конфигурация</Приемник>

    <Параметры/>

    <Обработки/>

    <ПравилаКонвертацииОбъектов>

        <Правило>

            <Код>Направления</Код>

            <Источник>СправочникСсылка.Айсберг_Направления</Источник>

            <Приемник>СправочникСсылка.Направления</Приемник>

        </Правило>

    </ПравилаКонвертацииОбъектов>

    <ПравилаОчисткиДанных/>

    <Алгоритмы/>

    <Запросы/>

</ПравилаОбмена>

<Объект Нпп=»1″ Тип=»СправочникСсылка.Направления» ИмяПравила=»Направления»><Ссылка Нпп=»1″>

    <Свойство Имя=»Код» Тип=»Строка»>

        <Значение>000000013</Значение>

    </Свойство>

</Ссылка>

    <Свойство Имя=»Наименование» Тип=»Строка»>

        <Значение>СВЧ</Значение>

    </Свойство>

    <Свойство Имя=»ПометкаУдаления» Тип=»Булево»>

        <Значение>false</Значение>

    </Свойство><Свойство Имя=»Родитель» Тип=»СправочникСсылка.Направления»>

    <Пусто/>

</Свойство>

    <Свойство Имя=»ЭтоГруппа» Тип=»Булево»>

        <Значение>false</Значение>

    </Свойство>

</Объект>

<Объект Нпп=»2″ Тип=»СправочникСсылка.Направления» ИмяПравила=»Направления»><Ссылка Нпп=»2″>

    <Свойство Имя=»Код» Тип=»Строка»>

        <Значение>000000014</Значение>

    </Свойство>

</Ссылка>

    <Свойство Имя=»Наименование» Тип=»Строка»>

        <Значение>СМ</Значение>

    </Свойство>

    <Свойство Имя=»ПометкаУдаления» Тип=»Булево»>

        <Значение>false</Значение>

    </Свойство><Свойство Имя=»Родитель» Тип=»СправочникСсылка.Направления»>

    <Пусто/>

</Свойство>

    <Свойство Имя=»ЭтоГруппа» Тип=»Булево»>

        <Значение>false</Значение>

    </Свойство>

</Объект>

</ФайлОбмена>

И еще в Управляемом приложении не позволяет сформировать модуль отладки загрузки. При нажатии на любую из указанных кнопок ничего не происходит (см. фото) https://yadi.sk/i/pk8RMDXxjQyCm

   790th

7 — 30.09.15 — 11:41

Правила от КД 2.1.8.2

Удалось избавиться от главной ошибки

«Ошибка при загрузке данных: {Обработка.УниверсальныйОбменДаннымиXML.МодульОбъекта(5255)}: Ошибка при вызове метода контекста (Выполнить): {(1, 68)}: Синтаксическая ошибка «=»

ВЫБРАТЬ Ссылка ИЗ Справочник.Направления ГДЕ {ИмяТипаВИБИсточнике} <<?>>= &{ИмяТипаВИБИсточнике} И Код = &Код И {ИмяТипаВИБПриемнике} = &{ИмяТипаВИБПриемнике} И {КлючПоискаВИБИсточнике} = &{КлючПоискаВИБИсточнике}»

Таким образом вставил кусок из обработки из УТ. Поместил в обработку Приемника (коммент //Юрасов):

Обработка.УниверсальныйОбменДаннымиXML.МодульОбъекта.НайтиЭлементЗапросом(…)

// не по всем параметрам можно искать

Если ИмяПараметра = «{УникальныйИдентификатор}»

    ИЛИ ИмяПараметра = «{ИмяПредопределенногоЭлемента}»

    //Юрасов++

    ИЛИ ИмяПараметра = «{КлючПоискаВИБИсточнике}»

    ИЛИ ИмяПараметра = «{КлючПоискаВИБПриемнике}»

    ИЛИ ИмяПараметра = «{ИмяТипаВИБИсточнике}»

    ИЛИ ИмяПараметра = «{ИмяТипаВИБПриемнике}» Тогда

    //Юрасов—    

    Продолжить;                

КонецЕсли;

Теперь загружает данные, хоть и остались ошибки:

Ошибка формата файла обмена

    ИмяУзла                =  ДанныеПоОбмену

Ошибка формата файла обмена

    ИмяУзла                =  ДанныеПоФоновомуОбмену

   790th

8 — 30.09.15 — 13:09

Эти две ошибки тоже убрал. Пришлось перенести еще один кусок в приемник:

Обработка.УниверсальныйОбменДаннымиXML.МодульОбъекта.ПроизвестиЧтениеДанных(…)

ИначеЕсли (ИмяУзла = «ФайлОбмена») И (ФайлОбмена.ТипУзла = одТипУзлаXML_КонецЭлемента) Тогда

    
//Юрасов++

ИначеЕсли ИмяУзла = «ДанныеПоОбмену» Тогда

    
    // обработка удаления объекта из информационной базы

    ИмяПланаОбмена = одАтрибут(ФайлОбмена, одТипСтрока, «ПланОбмена»);

    
    КодКому = одАтрибут(ФайлОбмена, одТипСтрока, «Кому»);

    КодОтКого = одАтрибут(ФайлОбмена, одТипСтрока, «ОтКого»);

    
    УзелОбменаЗагрузкаДанных = ПланыОбмена[ИмяПланаОбмена].НайтиПоКоду(КодОтКого);

    
    Если Не ЗначениеЗаполнено(УзелОбменаЗагрузкаДанных) Тогда

        
        ВызватьИсключение «Не найден узел обмена для загрузки данных. План обмена: » + ИмяПланаОбмена + «, Код: » + КодОтКого;        

        
    КонецЕсли;

    
    мНомерВходящегоСообщения = одАтрибут(ФайлОбмена, одТипЧисло, «НомерИсходящегоСообщения»);

    НомерПринятогоСообщения = одАтрибут(ФайлОбмена, одТипЧисло, «НомерВходящегоСообщения»);

    
    Если УзелОбменаЗагрузкаДанных.НомерПринятого >= мНомерВходящегоСообщения Тогда

        
        ВызватьИсключение «Номер сообщения меньше либо равен ранее принятому»;        

        
    КонецЕсли;

    
    //Юрасов++

    //ПланыОбмена.УдалитьРегистрациюИзменений(УзелОбменаЗагрузкаДанных, НомерПринятогоСообщения);                                

    //мЗапросНаличияСтрокВРегистреСоответствия.УстановитьПараметр(«Узел», УзелОбменаЗагрузкаДанных);

    //мЗапросНаличияПустыхДляИсточникаВРегистреСоответствия.УстановитьПараметр(«Узел», УзелОбменаЗагрузкаДанных);

    //Юрасов—

    Попытка

        мПрефиксДокументовПриЗагрузке = СокрЛП(УзелОбменаЗагрузкаДанных.ПрефиксДляЗагружаемыхДокументов);

        мДлинаПрефиксаДокументовПриЗагрузке = СтрДлина(мПрефиксДокументовПриЗагрузке);                    

    Исключение

        мПрефиксДокументовПриЗагрузке = «»;

        мДлинаПрефиксаДокументовПриЗагрузке = 0;                    

    КонецПопытки;

    
    Попытка

        мДатаДокументовДляУстановкиПрефикса = УзелОбменаЗагрузкаДанных.ДатаНачалаВыгрузкиДокументов;

    Исключение

        мДатаДокументовДляУстановкиПрефикса = Неопределено;

    КонецПопытки;

    
    Попытка

        мИспользоватьИнформациюОМестеСозданияОбъектовПриЗагрузке = УзелОбменаЗагрузкаДанных.ИспользоватьИнформациюОМестеСозданияОбъектовПриВыгрузкеИЗагрузкеДанных;

    Исключение

        мИспользоватьИнформациюОМестеСозданияОбъектовПриЗагрузке = Неопределено;

    КонецПопытки;

    
    одПропустить(ФайлОбмена, «ДанныеПоОбмену»);    

    
ИначеЕсли ИмяУзла = «ДанныеПоФоновомуОбмену» Тогда

    
    // обработка удаления объекта из информационной базы

    ИмяПланаОбмена = одАтрибут(ФайлОбмена, одТипСтрока, «ПланОбмена»);

    
    КодКому = одАтрибут(ФайлОбмена, одТипСтрока, «Кому»);

    КодОтКого = одАтрибут(ФайлОбмена, одТипСтрока, «ОтКого»);

    
    Если Не ПустаяСтрока(ИмяПланаОбмена) Тогда

        
        Попытка

            УзелОбменаЗагрузкаФоновыхДанных = ПланыОбмена[ИмяПланаОбмена].НайтиПоКоду(КодОтКого);

        Исключение

            УзелОбменаЗагрузкаФоновыхДанных = Неопределено;

        КонецПопытки;

    
    Иначе

        УзелОбменаЗагрузкаФоновыхДанных = Неопределено;

    КонецЕсли;

    
    ДобавлениеОбъектовИзФоновогоОбменаЗагрузка = одАтрибут(ФайлОбмена, одТипЧисло, «ДобавлениеОбъектовИзФоновогоОбмена»);

    КоличествоОбъектовДляФоновогоОбменаЗагрузка = одАтрибут(ФайлОбмена, одТипЧисло, «КоличествоОбъектовДляФоновогоОбмена»);

    ПолученоОбъектовФоновогоОбмена = одАтрибут(ФайлОбмена, одТипЧисло, «ПереданоОбъектовФоновогоОбмена»);

                                
    одПропустить(ФайлОбмена, «ДанныеПоФоновомуОбмену»);

    
//    Если Не ПустаяСтрока(Конвертация.ПослеПолученияИнформацииОбУзлахОбмена) Тогда

//

//        Попытка

//            

//            Если ФлагРежимОтладкиОбработчиков Тогда

//                

//                Выполнить(ПолучитьСтрокуВызоваОбработчика(Конвертация, «ПослеПолученияИнформацииОбУзлахОбмена»));

//                

//            Иначе

//                

//                Выполнить(Конвертация.ПослеПолученияИнформацииОбУзлахОбмена);

//                

//            КонецЕсли;

//            

//        Исключение

//            СтрокаСообщенияОбОшибке = ЗаписатьИнформациюОбОшибкеОбработчикиКонвертации(176, ОписаниеОшибки(), «ПослеПолученияИнформацииОбУзлахОбмена (конвертация)»);

//            

//            Если Не ФлагРежимОтладки Тогда

//                ВызватьИсключение СтрокаСообщенияОбОшибке;

//            КонецЕсли;

//            

//            //Возврат Ложь;

//            Возврат;

//        КонецПопытки;

//    

//    КонецЕсли;

    //Юрасов—

    
Иначе

    СтруктураЗаписи = Новый Структура(«ИмяУзла», ИмяУзла);

    ЗаписатьВПротоколВыполнения(9, СтруктураЗаписи);

КонецЕсли;

Вопрос: Почему не принимает данные, сформированные в настройке обмена (но при этом принимает если данные сформировать обработкой обмена)?

Создал правила выгрузки одного элементарного справочника из УТ 10.3.16.1 (обычное приложение, платформа 8.2.19.102) в Самописную (управляемое приложение, платформа 8.3.6.2152)

Настроил в УТ узлы и планы обмена, сделал настройку обмена данными и выгрузил. В файл данных вошло два элемента справочника.

Привожу содержание «ошибочного» XML:

<?xml version=»1.0″ encoding=»UTF-8″?>

<ФайлОбмена ВерсияФормата=»2.0″ ДатаВыгрузки=»2015-09-30T09:03:50″ ИмяКонфигурацииИсточника=»УправлениеТорговлей» ИмяКонфигурацииПриемника=»Конфигурация» ИдПравилКонвертации=»fc7e8361-6fbe-42bb-90d4-6ee69b6c1794″ Комментарий=»»>

<ПравилаОбмена>

    <ВерсияФормата>2.01</ВерсияФормата>

    <Ид>fc7e8361-6fbe-42bb-90d4-6ee69b6c1794</Ид>

    <Наименование>СервисДляCRM —&gt; CRM</Наименование>

    <ДатаВремяСоздания>2015-09-28T12:18:38</ДатаВремяСоздания>

    <Источник>УправлениеТорговлей</Источник>

    <Приемник>Конфигурация</Приемник>

    <Параметры/>

    <Обработки/>

    <ПравилаКонвертацииОбъектов>

        <Правило>

            <Код>Направления</Код>

            <Источник>СправочникСсылка.Айсберг_Направления</Источник>

            <Приемник>СправочникСсылка.Направления</Приемник>

        </Правило>

    </ПравилаКонвертацииОбъектов>

    <ПравилаОчисткиДанных/>

    <Алгоритмы/>

    <Запросы/>

</ПравилаОбмена>

<ИнформацияОТипахДанных>

    <ТипДанных Имя=»СправочникСсылка.Направления»>

        <Код>Строка</Код>

        <ПометкаУдаления>Булево</ПометкаУдаления>

        <Наименование>Строка</Наименование>

        <Родитель>СправочникСсылка.Направления</Родитель>

        <ЭтоГруппа>Булево</ЭтоГруппа>

    </ТипДанных>

</ИнформацияОТипахДанных>

<ДанныеПоОбмену ПланОбмена=»МоскваCRM» Кому=»CRM» ОтКого=»Москва» НомерИсходящегоСообщения=»5″ НомерВходящегоСообщения=»0″/>

<ДанныеПоФоновомуОбмену ПланОбмена=»» Кому=»0″ ОтКого=»0″ ДобавлениеОбъектовИзФоновогоОбмена=»0″ КоличествоОбъектовДляФоновогоОбмена=»500″ ПереданоОбъектовФоновогоОбмена=»0″/>

<Объект Нпп=»1″ Тип=»СправочникСсылка.Направления» ИмяПравила=»Направления»><Ссылка Нпп=»1″>

    <Свойство Имя=»{КлючПоискаВИБИсточнике}»>

        <Значение>{«#»,0bd0deec-1479-4cdf-ae4b-f10e71f3205a,111:9ed000248cc4a20411e26f88824de171}</Значение>

    </Свойство>

    <Свойство Имя=»{ИмяТипаВИБИсточнике}»>

        <Значение>СправочникСсылка.Айсберг_Направления</Значение>

    </Свойство>

    <Свойство Имя=»{ИмяТипаВИБПриемнике}»>

        <Значение>СправочникСсылка.Направления</Значение>

    </Свойство>

    <Свойство Имя=»Код»>

        <Значение>000000013</Значение>

    </Свойство>

</Ссылка>

    <Свойство Имя=»Наименование»>

        <Значение>СВЧ</Значение>

    </Свойство>

    <Свойство Имя=»ПометкаУдаления»>

        <Значение>false</Значение>

    </Свойство>

    <Свойство Имя=»Родитель»/>

    <Свойство Имя=»ЭтоГруппа»>

        <Значение>false</Значение>

    </Свойство>

</Объект>

<Объект Нпп=»2″ Тип=»СправочникСсылка.Направления» ИмяПравила=»Направления»><Ссылка Нпп=»2″>

    <Свойство Имя=»{КлючПоискаВИБИсточнике}»>

        <Значение>{«#»,0bd0deec-1479-4cdf-ae4b-f10e71f3205a,111:9ed000248cc4a20411e26f88824de173}</Значение>

    </Свойство>

    <Свойство Имя=»{ИмяТипаВИБИсточнике}»>

        <Значение>СправочникСсылка.Айсберг_Направления</Значение>

    </Свойство>

    <Свойство Имя=»{ИмяТипаВИБПриемнике}»>

        <Значение>СправочникСсылка.Направления</Значение>

    </Свойство>

    <Свойство Имя=»Код»>

        <Значение>000000014</Значение>

    </Свойство>

</Ссылка>

    <Свойство Имя=»Наименование»>

        <Значение>СМ</Значение>

    </Свойство>

    <Свойство Имя=»ПометкаУдаления»>

        <Значение>false</Значение>

    </Свойство>

    <Свойство Имя=»Родитель»/>

    <Свойство Имя=»ЭтоГруппа»>

        <Значение>false</Значение>

    </Свойство>

</Объект>

</ФайлОбмена>

Для загрузки использую обработку из поставки КД 2.1.8.2: V8Exchan83.epf в режиме работы На сервере.

Получаю ошибки:

Ошибка формата файла обмена

    ИмяУзла                =  ДанныеПоОбмену

НО! это при выгрузке из УТ через настройку обмена. Ошибка исчезает если выгружать данные обработкой из поставки КД: V8Exchan82.epf (82 не смотря на то что платформа 83, т.к. в режиме Обычного приложения).

Привожу содержание «правильного» XML:

<?xml version=»1.0″ encoding=»UTF-8″?>

<ФайлОбмена ВерсияФормата=»2.0″ ДатаВыгрузки=»2015-09-30T09:26:42″ НачалоПериодаВыгрузки=»0001-01-01T00:00:00″ ОкончаниеПериодаВыгрузки=»0001-01-01T00:00:00″ ИмяКонфигурацииИсточника=»УправлениеТорговлей» ИмяКонфигурацииПриемника=»Конфигурация» ИдПравилКонвертации=»fc7e8361-6fbe-42bb-90d4-6ee69b6c1794″ Комментарий=»»>

<ПравилаОбмена>

    <ВерсияФормата>2.01</ВерсияФормата>

    <Ид>fc7e8361-6fbe-42bb-90d4-6ee69b6c1794</Ид>

    <Наименование>СервисДляCRM —&gt; CRM</Наименование>

    <ДатаВремяСоздания>2015-09-28T12:18:38</ДатаВремяСоздания>

    <Источник>УправлениеТорговлей</Источник>

    <Приемник>Конфигурация</Приемник>

    <Параметры/>

    <Обработки/>

    <ПравилаКонвертацииОбъектов>

        <Правило>

            <Код>Направления</Код>

            <Источник>СправочникСсылка.Айсберг_Направления</Источник>

            <Приемник>СправочникСсылка.Направления</Приемник>

        </Правило>

    </ПравилаКонвертацииОбъектов>

    <ПравилаОчисткиДанных/>

    <Алгоритмы/>

    <Запросы/>

</ПравилаОбмена>

<Объект Нпп=»1″ Тип=»СправочникСсылка.Направления» ИмяПравила=»Направления»><Ссылка Нпп=»1″>

    <Свойство Имя=»Код» Тип=»Строка»>

        <Значение>000000013</Значение>

    </Свойство>

</Ссылка>

    <Свойство Имя=»Наименование» Тип=»Строка»>

        <Значение>СВЧ</Значение>

    </Свойство>

    <Свойство Имя=»ПометкаУдаления» Тип=»Булево»>

        <Значение>false</Значение>

    </Свойство><Свойство Имя=»Родитель» Тип=»СправочникСсылка.Направления»>

    <Пусто/>

</Свойство>

    <Свойство Имя=»ЭтоГруппа» Тип=»Булево»>

        <Значение>false</Значение>

    </Свойство>

</Объект>

<Объект Нпп=»2″ Тип=»СправочникСсылка.Направления» ИмяПравила=»Направления»><Ссылка Нпп=»2″>

    <Свойство Имя=»Код» Тип=»Строка»>

        <Значение>000000014</Значение>

    </Свойство>

</Ссылка>

    <Свойство Имя=»Наименование» Тип=»Строка»>

        <Значение>СМ</Значение>

    </Свойство>

    <Свойство Имя=»ПометкаУдаления» Тип=»Булево»>

        <Значение>false</Значение>

    </Свойство><Свойство Имя=»Родитель» Тип=»СправочникСсылка.Направления»>

    <Пусто/>

</Свойство>

    <Свойство Имя=»ЭтоГруппа» Тип=»Булево»>

        <Значение>false</Значение>

    </Свойство>

</Объект>

</ФайлОбмена>

И еще в Управляемом приложении не позволяет сформировать модуль отладки загрузки. При нажатии на любую из указанных кнопок ничего не происходит (см. фото) https://yadi.sk/i/pk8RMDXxjQyCm

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

Удалил секции: <ИнформацияОТипахДанных> <ДанныеПоОбмену.. <ДанныеПоФоновомуОбмену.. Теперь пишет: Ошибка при загрузке данных: {Обработка.УниверсальныйОбменДаннымиXML.МодульОбъекта(5255)}: Ошибка при вызове метода контекста (Выполнить): {(1, 68)}: Синтаксическая ошибка «=» ВЫБРАТЬ Ссылка ИЗ Справочник.Направления ГДЕ {ИмяТипаВИБИсточнике} <<?>>= &{ИмяТипаВИБИсточнике} И Код = &Код И {ИмяТипаВИБПриемнике} = &{ИмяТипаВИБПриемнике} И {КлючПоискаВИБИсточнике} = &{КлючПоискаВИБИсточнике}

выгрузку и загрузку желательно надо проводить обработками одной версии. Или лезть в отладчик.

Боюсь что затянуть из последней УТ свежую версию Настройки обмена, будет непросто, т.к. этот механизм там не сконцентрирован в одном месте а «размазан» по всей конфигурации (

Так. А вот еще принципиальное отличние:

В этой записи нет никакой ошибки.

Правила от КД 2.1.8.2 Удалось избавиться от главной ошибки «Ошибка при загрузке данных: {Обработка.УниверсальныйОбменДаннымиXML.МодульОбъекта(5255)}: Ошибка при вызове метода контекста (Выполнить): {(1, 68)}: Синтаксическая ошибка «=» ВЫБРАТЬ Ссылка ИЗ Справочник.Направления ГДЕ {ИмяТипаВИБИсточнике} <<?>>= &{ИмяТипаВИБИсточнике} И Код = &Код И {ИмяТипаВИБПриемнике} = &{ИмяТипаВИБПриемнике} И {КлючПоискаВИБИсточнике} = &{КлючПоискаВИБИсточнике}» Таким образом вставил кусок из обработки из УТ. Поместил в обработку Приемника (коммент //Юрасов): Обработка.УниверсальныйОбменДаннымиXML.МодульОбъекта.НайтиЭлементЗапросом(…) … Теперь загружает данные, хоть и остались ошибки: Ошибка формата файла обмена     ИмяУзла                =  ДанныеПоОбмену … Ошибка формата файла обмена     ИмяУзла                =  ДанныеПоФоновомуОбмену

Эти две ошибки тоже убрал. Пришлось перенести еще один кусок в приемник: Обработка.УниверсальныйОбменДаннымиXML.МодульОбъекта.ПроизвестиЧтениеДанных(…) …         ВызватьИсключение «Не найден узел обмена для загрузки данных. План обмена: » + ИмяПланаОбмена + «, Код: » + КодОтКого;                          ВызватьИсключение «Номер сообщения меньше либо равен ранее принятому»;

В итоге решение примерно такое. захожу отладчиком при загрудке и смотрю на что ругается. вижу что в коде нет варианта для обработки такого поля или параметра. Иду в конфигурацию откуда выгружал, смотрю как этот код работает там. вижу такую же функцию но с дополнительным кодом. вижу что этого то кода и нехватает что бы обработать данный параметр. копировать/встаить. проверка синтаксиса. ругается. смотрю если что то для меня не важное убираю. если важное разбираюсь почему ругается и что еще нужно копипастнуть. проверяю правила. и так вылизываю пока не пропадут все ошибки при загрузке

у тебя просто древние релизы конфигураций, в них встроенная обработка универсального обмена старой версии.

Тэги: 1С 8

Комментарии доступны только авторизированным пользователям

0

17.12.2015 — 12:44


Конфа ЕРП20, терминально захожу к клиенту и запускаю «Универсальный обмен данными XML» версия 2.1.8, делаю загрузку файла, выдает «Указанный файл не существует», хотя «лупой» при просмотре открывается и на тестовой конфе локально тот же файл прекрасно грузится…кто нить сталкивался с подобным???

1

17.12.2015 — 13:37

Атрибут только для чтения?

2

17.12.2015 — 13:38

Файл лежит на локальной машине? Переложи на терминал.

3

17.12.2015 — 13:46

(1)чтение и редактирование
(2)лежит на терминале

4

17.12.2015 — 14:02

Путь к файлу покажи

5

17.12.2015 — 14:21

путь к файлу выглядит как обычная строка. Т.е на серваке есть диск Е: и
E:НЕ УДАЛЯТЬПереносыПоСреднемуОстаткиПоСреднемуАбзе лиловскоеВыгруженныеДанные.xml
причем в просмотре он открывается и пользователь на стороне работодателя файлы грузит…от туда же

6

17.12.2015 — 14:51

(5) Попробуй другую папку, чтобы полная длина имени файла не превышала 64 символа.

7

17.12.2015 — 14:56

(5)…пробовал Е:ВыгруженныеДанные.xml не превышает…
один х…

8

17.12.2015 — 14:57

5-_U2 > «E:НЕ УДАЛЯТЬПереносыПоСреднемуОстаткиПоСреднемуАбзе лиловскоеВыгруженныеДанные.xml«
Какие любители ставить пробелы в файловых именах…
Каким образом в реквизит загнали эту парашу? Добросовестными пальчиками, или штатной процедурой интерактивного выбора файла?
В последнем случае вроде как ошибки по ненахождению файла нигде не проявляются…

Есть еще вариант (при «пальцевом» наборе), что заместо девайса E: обработка пытается что-то найти на девайсе Е:
;)

9

17.12.2015 — 15:09

Ха, пропустил мимо ушей в (0) слово «терминально»… Тады да, возможен косяк разработчиков платформы.

10

17.12.2015 — 15:15

+(9) … и прикладных разработчиков: не надо экономить на сообщениях.

11

17.12.2015 — 16:03

(8)…этот пробел получился при копировании маршрута…я его видел…хотя при «анально-терминальном» доступе могет ставиться какой нить разделитель, который не видно…скажем через 64,128 символов…

12

17.12.2015 — 16:05

Все завтра поеду на территорию заказчика…там все сделаю…а вот непонятки остались…:-((

13

17.12.2015 — 20:50

Переходите на 1С77.

14

18.12.2015 — 08:47

…МОК ТВОЮ ЯТЬ…пришел к клиенту..а они там грузят, тоже терминально..короче…везде где я работал под 3.0,
я грузил в «Режим работы (на сервере)» иначе не активно окно выбора файла загрузки. Бухи в такие тонкости не лезли, открыли обработку, по умолчанию стоит «Режим работы (на клиенте)», потом тыкнули загрузить (хотя что грузить неизвестно)…тогда обработка сама предлагает выбрать файл выгрузки с корня…а ты ищещь файл …находишь, тыкаешь в него…И ОН ГРУЗИТСЯ!!! геморойно но работает…НИИИИ ФИИИИГАААА СЕБЕЕЕ…:-))))

bless18
15.10.2012 16:54 Прочитано: 16684

Добрый день! В 1С КД редакции 2.1 (2.1.5.1) создала правила конвертации между двумя идентичным БП редакция 2.0 (2.0.38.6). При загрузке обработкой КД V8Exchan82.epf выдается сообщение: «Ошибка формата файла обмена»
С чем это может быть связано?

Yandex
Возможно, вас также заинтересует

Реклама на портале

E_Migachev
15.10.2012 17:56 Ответ № 1

(0) bless18, ошибка где-то в правилах, надо снять новые снимки метаданных и загрузить их в КД, далее посмотреть правила и попробовать выгрузку

Подсказка: Для выделения Кода используйте (в редакторе).

Понравилась статья? Поделить с друзьями:
  • Ошибка формата файла не удается открыть файл
  • Ошибка формата файл не является pdf или поврежден
  • Ошибка формата таблицы этикеток 1с
  • Ошибка формата сообщения минбанк
  • Ошибка формата сообщения unsupported type