Данныепофоновомуобмену ошибка формата сообщения обмена

0

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

1

790th

30.09.15

09:47

Удалил секции:

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

<ДанныеПоОбмену..

<ДанныеПоФоновомуОбмену..

Теперь пишет:

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

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

2

vicof

30.09.15

09:50

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

3

790th

30.09.15

09:57

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

4

790th

30.09.15

10:14

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

«Правильный» файл:

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

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

«Ошибочный» файл:

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

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

5

Naumov

30.09.15

11:02

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

6

Naumov

30.09.15

11:03

А правила не от КД 3.0?

7

790th

30.09.15

11:41

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

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

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

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

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

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

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

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

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

    //Юрасов++

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

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

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

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

    //Юрасов—    

    Продолжить;                

КонецЕсли;

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

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

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

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

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

8

790th

30.09.15

13:09

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

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

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

    
//Юрасов++

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

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

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

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

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

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

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

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

        
    КонецЕсли;

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

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

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

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

        
    КонецЕсли;

    
    //Юрасов++

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

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

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

    //Юрасов—

    Попытка

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

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

    Исключение

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

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

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

    
    Попытка

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

    Исключение

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

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

    
    Попытка

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

    Исключение

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

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

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

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

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

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

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

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

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

        
        Попытка

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

        Исключение

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

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

    
    Иначе

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

    КонецЕсли;

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

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

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

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

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

//

//        Попытка

//            

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

//                

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

//                

//            Иначе

//                

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

//                

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

//            

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

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

//            

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

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

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

//            

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

//            Возврат;

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

//    

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

    //Юрасов—

    
Иначе

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

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

КонецЕсли;

9

790th

30.09.15

13:13

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

10

Naumov

30.09.15

14:14

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

Вопрос: Почему не принимает данные, сформированные в настройке обмена (но при этом принимает если данные сформировать обработкой обмена)? Создал правила выгрузки одного элементарного справочника из УТ 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

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

Ошибка формата сообщения обмена?

Настраиваю обмен между ERP 2.4 и УПП 1.3 с помощью правил в кд2.
На стороне УПП всё работает принимает — выгружает файлы. А вот на стороне ERP файлы выгружаются, но не принимаются, пишет, что «Ошибка формата сообщения обмена». В чём проблема и на какой стороне её искать?


  • Вопрос задан

  • 734 просмотра

Пригласить эксперта

Мне кажется, у Вас в ERP правила не соответствуют тем, по которым данные выгружаются из УПП.

Настраиваю обмен между ERP 2.4 и УПП 1.3 с помощью правил в кд2.

может всетаки КД3??…
Или 1с сделал обмен таки…. для КД2, я то упустил.
Вообще ошибка, относится в КД2. Проявляется если выгружать полныстью объект, поставьте галку «Не запоминать выгруженные объекты» и должно заработать.


  • Показать ещё
    Загружается…

22 сент. 2023, в 00:39

30000 руб./за проект

21 сент. 2023, в 22:23

5000 руб./за проект

21 сент. 2023, в 20:54

10000 руб./за проект

Минуточку внимания

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

Добрый день! В 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, ошибка где-то в правилах, надо снять новые снимки метаданных и загрузить их в КД, далее посмотреть правила и попробовать выгрузку

Подсказка: Для быстрого перемещения к последнему ответу или к вопросу используйте или .

Ошибка формата сообщения обмена — одна из распространенных проблем, с которой сталкиваются пользователи системы 1С при взаимодействии с другими программами или устройствами. Из-за ошибок в формате сообщения обмена 1С может перестать правильно обрабатывать данные или вовсе не обмениваться информацией с внешними системами.

Причины возникновения ошибки формата сообщения обмена могут быть разными. Например, неправильная настройка параметров обмена или неправильное формирование сообщения. Также часто проблемы могут возникать из-за несовместимости версий программного обеспечения или неподдерживаемых типов данных. Кроме того, ошибки могут возникать при передаче данных через сеть или посредством носителей информации, если в процессе передачи происходят искажения или потери данных.

Для решения проблемы формата сообщения обмена необходимо провести тщательный анализ и исследование возможных причин ошибки. Первым шагом следует проверить настройки обмена и формат сообщений в программной системе 1С. Возможно, требуется обновление программного обеспечения или установка дополнительных модулей для поддержки необходимых типов данных.

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

Содержание

  1. Ошибка формата сообщения обмена 1С: причины и способы решения
  2. Ошибки формата сообщения обмена 1C и их причины
  3. Решение проблемы формата сообщения обмена 1C

Ошибка формата сообщения обмена 1С: причины и способы решения

Ошибка формата сообщения обмена 1С может возникнуть по разным причинам. Она может быть вызвана некорректным форматированием данных, нарушением структуры сообщения или отсутствием обязательных полей.

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

Существует несколько способов исправления ошибки формата сообщения обмена 1С:

  1. Проверьте правильность заполнения полей. Убедитесь, что все обязательные поля заполнены и содержат корректные значения. Проверьте также форматирование данных и необходимые ограничения на длину данных.
  2. Проверьте структуру сообщения. Убедитесь, что структура сообщения соответствует требованиям системы обмена данными. Проверьте наличие всех необходимых сегментов и полей, а также их порядок.
  3. Обратитесь к документации. Изучите документацию по системе обмена данными и проверьте, что вы правильно понимаете требования и формат сообщений.

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

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

Ошибки формата сообщения обмена 1C и их причины

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

Ошибки формата сообщения обмена 1C могут быть вызваны следующими причинами:

  1. Неверный формат XML-сообщения. XML-сообщение должно соответствовать установленной схеме, иначе возникнет ошибка. Например, неправильное оформление тегов, нарушение иерархии или несоответствие структуры сообщения ожидаемой схеме.
  2. Некорректное кодирование данных. Если данные содержат неправильную кодировку, то при обмене между информационными базами может возникнуть ошибка формата. Например, если данные содержат символы, не поддерживаемые текущей кодировкой.
  3. Неправильное заполнение полей сообщения. Если в сообщении обмена указаны некорректные значения или не заполнены обязательные поля, то будет сгенерирована ошибка формата. Например, некорректное значение в поле «Код» или отсутствие значения в поле «Наименование».
  4. Отсутствие необходимой информации. Если в сообщении отсутствуют необходимые данные или ссылки на объекты, то будет ошибка формата. Например, если в сообщении не указан объект, на который должна быть выполнена операция.

Чтобы избежать ошибок формата сообщения обмена 1C, необходимо следовать правилам формата сообщений, правильно кодировать данные, заполнять поля сообщения согласно ожидаемой схеме и обеспечивать наличие всех необходимых данных.

Если возникают ошибки формата сообщения обмена 1C, необходимо провести анализ и определить их причины. Для этого можно использовать логи обмена, средства отладки или обратиться к специалистам по 1C.

Внимательное следование правилам и правильное использование формата сообщений обмена позволит избежать ошибок и обеспечит стабильность и надежность процесса обмена данными между информационными базами в 1C.

Решение проблемы формата сообщения обмена 1C

Ошибка формата сообщения обмена может возникать по разным причинам, однако существуют варианты решения данной проблемы:

  1. Проверьте настройки обмена

    Первым делом стоит убедиться, что настройки обмена данных в системе 1C сконфигурированы правильно. Возможно, произошли неправильные изменения в настройках или некорректно указаны параметры обмена. Убедитесь, что все необходимые параметры указаны верно и соответствуют требованиям.

  2. Проверьте структуру XML-файла

    Ошибка формата сообщения обмена может возникать из-за неправильной структуры XML-файла, который используется для обмена данными между системами. Убедитесь, что файл соответствует требуемой структуре и не содержит синтаксических ошибок.

  3. Проверьте права доступа

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

  4. Обратитесь к специалистам

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

Помните, что ошибка формата сообщения обмена может быть вызвана разными факторами, поэтому важно проводить тщательный анализ и использовать все доступные инструменты для ее решения.

Понравилась статья? Поделить с друзьями:
  • Дальнобойщики 2 при запуске вылазит ошибка
  • Данфосс ошибка al4
  • Данные сохранения повреждены rocket league ошибка загрузки
  • Дарам земли обеспечена хорошая сохранность ошибка
  • Данфосс ошибка al28