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 —> 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 —> CRM</Наименование>
<ДатаВремяСоздания>2015-09-28T12:18:38</ДатаВремяСоздания>
<Источник>УправлениеТорговлей</Источник>
<Приемник>Конфигурация</Приемник>
<Параметры/>
<Обработки/>
<ПравилаКонвертацииОбъектов>
<Правило>
<Код>Направления</Код>
<Источник>СправочникСсылка.Айсберг_Направления</Источник>
<Приемник>СправочникСсылка.Направления</Приемник>
</Правило>
</ПравилаКонвертацииОбъектов>
<ПравилаОчисткиДанных/>
<Алгоритмы/>
<Запросы/>
</ПравилаОбмена>
<Объект Нпп=»1″ Тип=»СправочникСсылка.Направления» ИмяПравила=»Направления»><Ссылка Нпп=»1″>
<Свойство Имя=»Код» Тип=»Строка»>
<Значение>000000013</Значение>
</Свойство>
</Ссылка>
<Свойство Имя=»Наименование» Тип=»Строка»>
<Значение>СВЧ</Значение>
</Свойство>
<Свойство Имя=»ПометкаУдаления» Тип=»Булево»>
<Значение>false</Значение>
</Свойство><Свойство Имя=»Родитель» Тип=»СправочникСсылка.Направления»>
<Пусто/>
</Свойство>
<Свойство Имя=»ЭтоГруппа» Тип=»Булево»>
<Значение>false</Значение>
</Свойство>
</Объект>
<Объект Нпп=»2″ Тип=»СправочникСсылка.Направления» ИмяПравила=»Направления»><Ссылка Нпп=»2″>
<Свойство Имя=»Код» Тип=»Строка»>
<Значение>000000014</Значение>
</Свойство>
</Ссылка>
<Свойство Имя=»Наименование» Тип=»Строка»>
<Значение>СМ</Значение>
</Свойство>
<Свойство Имя=»ПометкаУдаления» Тип=»Булево»>
<Значение>false</Значение>
</Свойство><Свойство Имя=»Родитель» Тип=»СправочникСсылка.Направления»>
<Пусто/>
</Свойство>
<Свойство Имя=»ЭтоГруппа» Тип=»Булево»>
<Значение>false</Значение>
</Свойство>
</Объект>
</ФайлОбмена>
И еще в Управляемом приложении не позволяет сформировать модуль отладки загрузки. При нажатии на любую из указанных кнопок ничего не происходит (см. фото) https://yadi.sk/i/pk8RMDXxjQyCm
7 — 30.09.15 — 11:41
Правила от КД 2.1.8.2
Удалось избавиться от главной ошибки
«Ошибка при загрузке данных: {Обработка.УниверсальныйОбменДаннымиXML.МодульОбъекта(5255)}: Ошибка при вызове метода контекста (Выполнить): {(1, 68)}: Синтаксическая ошибка «=»
ВЫБРАТЬ Ссылка ИЗ Справочник.Направления ГДЕ {ИмяТипаВИБИсточнике} <<?>>= &{ИмяТипаВИБИсточнике} И Код = &Код И {ИмяТипаВИБПриемнике} = &{ИмяТипаВИБПриемнике} И {КлючПоискаВИБИсточнике} = &{КлючПоискаВИБИсточнике}»
Таким образом вставил кусок из обработки из УТ. Поместил в обработку Приемника (коммент //Юрасов):
Обработка.УниверсальныйОбменДаннымиXML.МодульОбъекта.НайтиЭлементЗапросом(…)
…
// не по всем параметрам можно искать
Если ИмяПараметра = «{УникальныйИдентификатор}»
ИЛИ ИмяПараметра = «{ИмяПредопределенногоЭлемента}»
//Юрасов++
ИЛИ ИмяПараметра = «{КлючПоискаВИБИсточнике}»
ИЛИ ИмяПараметра = «{КлючПоискаВИБПриемнике}»
ИЛИ ИмяПараметра = «{ИмяТипаВИБИсточнике}»
ИЛИ ИмяПараметра = «{ИмяТипаВИБПриемнике}» Тогда
//Юрасов—
Продолжить;
КонецЕсли;
Теперь загружает данные, хоть и остались ошибки:
Ошибка формата файла обмена
ИмяУзла = ДанныеПоОбмену
…
Ошибка формата файла обмена
ИмяУзла = ДанныеПоФоновомуОбмену
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 —> 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 —> 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 |
|
||
---|---|---|---|
Добрый день! В 1С КД редакции 2.1 (2.1.5.1) создала правила конвертации между двумя идентичным БП редакция 2.0 (2.0.38.6). При загрузке обработкой КД V8Exchan82.epf выдается сообщение: «Ошибка формата файла обмена» |
Yandex |
|
||
---|---|---|---|
E_Migachev |
|
||
---|---|---|---|
(0) bless18, ошибка где-то в правилах, надо снять новые снимки метаданных и загрузить их в КД, далее посмотреть правила и попробовать выгрузку |
Подсказка: Для выделения Кода используйте (в редакторе). |