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 —> 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
790th
30.09.15
✎
09:47
Удалил секции:
<ИнформацияОТипахДанных>
<ДанныеПоОбмену..
<ДанныеПоФоновомуОбмену..
Теперь пишет:
Ошибка при загрузке данных: {Обработка.УниверсальныйОбменДаннымиXML.МодульОбъекта(5255)}: Ошибка при вызове метода контекста (Выполнить): {(1, 68)}: Синтаксическая ошибка «=»
ВЫБРАТЬ Ссылка ИЗ Справочник.Направления ГДЕ {ИмяТипаВИБИсточнике} <<?>>= &{ИмяТипаВИБИсточнике} И Код = &Код И {ИмяТипаВИБПриемнике} = &{ИмяТипаВИБПриемнике} И {КлючПоискаВИБИсточнике} = &{КлючПоискаВИБИсточнике}
vicof
30.09.15
✎
09:50
выгрузку и загрузку желательно надо проводить обработками одной версии. Или лезть в отладчик.
790th
30.09.15
✎
09:57
Боюсь что затянуть из последней УТ свежую версию Настройки обмена, будет непросто, т.к. этот механизм там не сконцентрирован в одном месте а «размазан» по всей конфигурации (
790th
30.09.15
✎
10:14
Так. А вот еще принципиальное отличние:
«Правильный» файл:
<Свойство Имя=»Код» Тип=»Строка»>
<Значение>000000013</Значение>
«Ошибочный» файл:
<Свойство Имя=»{КлючПоискаВИБИсточнике}»>
<Значение>{«#»,0bd0deec-1479-4cdf-ae4b-f10e71f3205a,111:9ed000248cc4a20411e26f88824de171}</Значение>
Naumov
30.09.15
✎
11:02
(4) В этой записи нет никакой ошибки.
Naumov
30.09.15
✎
11:03
А правила не от КД 3.0?
790th
30.09.15
✎
11:41
Правила от КД 2.1.8.2
Удалось избавиться от главной ошибки
«Ошибка при загрузке данных: {Обработка.УниверсальныйОбменДаннымиXML.МодульОбъекта(5255)}: Ошибка при вызове метода контекста (Выполнить): {(1, 68)}: Синтаксическая ошибка «=»
ВЫБРАТЬ Ссылка ИЗ Справочник.Направления ГДЕ {ИмяТипаВИБИсточнике} <<?>>= &{ИмяТипаВИБИсточнике} И Код = &Код И {ИмяТипаВИБПриемнике} = &{ИмяТипаВИБПриемнике} И {КлючПоискаВИБИсточнике} = &{КлючПоискаВИБИсточнике}»
Таким образом вставил кусок из обработки из УТ. Поместил в обработку Приемника (коммент //Юрасов):
Обработка.УниверсальныйОбменДаннымиXML.МодульОбъекта.НайтиЭлементЗапросом(…)
…
// не по всем параметрам можно искать
Если ИмяПараметра = «{УникальныйИдентификатор}»
ИЛИ ИмяПараметра = «{ИмяПредопределенногоЭлемента}»
//Юрасов++
ИЛИ ИмяПараметра = «{КлючПоискаВИБИсточнике}»
ИЛИ ИмяПараметра = «{КлючПоискаВИБПриемнике}»
ИЛИ ИмяПараметра = «{ИмяТипаВИБИсточнике}»
ИЛИ ИмяПараметра = «{ИмяТипаВИБПриемнике}» Тогда
//Юрасов—
Продолжить;
КонецЕсли;
Теперь загружает данные, хоть и остались ошибки:
Ошибка формата файла обмена
ИмяУзла = ДанныеПоОбмену
…
Ошибка формата файла обмена
ИмяУзла = ДанныеПоФоновомуОбмену
790th
30.09.15
✎
13:09
Эти две ошибки тоже убрал. Пришлось перенести еще один кусок в приемник:
Обработка.УниверсальныйОбменДаннымиXML.МодульОбъекта.ПроизвестиЧтениеДанных(…)
…
ИначеЕсли (ИмяУзла = «ФайлОбмена») И (ФайлОбмена.ТипУзла = одТипУзлаXML_КонецЭлемента) Тогда
//Юрасов++
ИначеЕсли ИмяУзла = «ДанныеПоОбмену» Тогда
// обработка удаления объекта из информационной базы
ИмяПланаОбмена = одАтрибут(ФайлОбмена, одТипСтрока, «ПланОбмена»);
КодКому = одАтрибут(ФайлОбмена, одТипСтрока, «Кому»);
КодОтКого = одАтрибут(ФайлОбмена, одТипСтрока, «ОтКого»);
УзелОбменаЗагрузкаДанных = ПланыОбмена[ИмяПланаОбмена].НайтиПоКоду(КодОтКого);
Если Не ЗначениеЗаполнено(УзелОбменаЗагрузкаДанных) Тогда
ВызватьИсключение «Не найден узел обмена для загрузки данных. План обмена: » + ИмяПланаОбмена + «, Код: » + КодОтКого;
КонецЕсли;
мНомерВходящегоСообщения = одАтрибут(ФайлОбмена, одТипЧисло, «НомерИсходящегоСообщения»);
НомерПринятогоСообщения = одАтрибут(ФайлОбмена, одТипЧисло, «НомерВходящегоСообщения»);
Если УзелОбменаЗагрузкаДанных.НомерПринятого >= мНомерВходящегоСообщения Тогда
ВызватьИсключение «Номер сообщения меньше либо равен ранее принятому»;
КонецЕсли;
//Юрасов++
//ПланыОбмена.УдалитьРегистрациюИзменений(УзелОбменаЗагрузкаДанных, НомерПринятогоСообщения);
//мЗапросНаличияСтрокВРегистреСоответствия.УстановитьПараметр(«Узел», УзелОбменаЗагрузкаДанных);
//мЗапросНаличияПустыхДляИсточникаВРегистреСоответствия.УстановитьПараметр(«Узел», УзелОбменаЗагрузкаДанных);
//Юрасов—
Попытка
мПрефиксДокументовПриЗагрузке = СокрЛП(УзелОбменаЗагрузкаДанных.ПрефиксДляЗагружаемыхДокументов);
мДлинаПрефиксаДокументовПриЗагрузке = СтрДлина(мПрефиксДокументовПриЗагрузке);
Исключение
мПрефиксДокументовПриЗагрузке = «»;
мДлинаПрефиксаДокументовПриЗагрузке = 0;
КонецПопытки;
Попытка
мДатаДокументовДляУстановкиПрефикса = УзелОбменаЗагрузкаДанных.ДатаНачалаВыгрузкиДокументов;
Исключение
мДатаДокументовДляУстановкиПрефикса = Неопределено;
КонецПопытки;
Попытка
мИспользоватьИнформациюОМестеСозданияОбъектовПриЗагрузке = УзелОбменаЗагрузкаДанных.ИспользоватьИнформациюОМестеСозданияОбъектовПриВыгрузкеИЗагрузкеДанных;
Исключение
мИспользоватьИнформациюОМестеСозданияОбъектовПриЗагрузке = Неопределено;
КонецПопытки;
одПропустить(ФайлОбмена, «ДанныеПоОбмену»);
ИначеЕсли ИмяУзла = «ДанныеПоФоновомуОбмену» Тогда
// обработка удаления объекта из информационной базы
ИмяПланаОбмена = одАтрибут(ФайлОбмена, одТипСтрока, «ПланОбмена»);
КодКому = одАтрибут(ФайлОбмена, одТипСтрока, «Кому»);
КодОтКого = одАтрибут(ФайлОбмена, одТипСтрока, «ОтКого»);
Если Не ПустаяСтрока(ИмяПланаОбмена) Тогда
Попытка
УзелОбменаЗагрузкаФоновыхДанных = ПланыОбмена[ИмяПланаОбмена].НайтиПоКоду(КодОтКого);
Исключение
УзелОбменаЗагрузкаФоновыхДанных = Неопределено;
КонецПопытки;
Иначе
УзелОбменаЗагрузкаФоновыхДанных = Неопределено;
КонецЕсли;
ДобавлениеОбъектовИзФоновогоОбменаЗагрузка = одАтрибут(ФайлОбмена, одТипЧисло, «ДобавлениеОбъектовИзФоновогоОбмена»);
КоличествоОбъектовДляФоновогоОбменаЗагрузка = одАтрибут(ФайлОбмена, одТипЧисло, «КоличествоОбъектовДляФоновогоОбмена»);
ПолученоОбъектовФоновогоОбмена = одАтрибут(ФайлОбмена, одТипЧисло, «ПереданоОбъектовФоновогоОбмена»);
одПропустить(ФайлОбмена, «ДанныеПоФоновомуОбмену»);
// Если Не ПустаяСтрока(Конвертация.ПослеПолученияИнформацииОбУзлахОбмена) Тогда
//
// Попытка
//
// Если ФлагРежимОтладкиОбработчиков Тогда
//
// Выполнить(ПолучитьСтрокуВызоваОбработчика(Конвертация, «ПослеПолученияИнформацииОбУзлахОбмена»));
//
// Иначе
//
// Выполнить(Конвертация.ПослеПолученияИнформацииОбУзлахОбмена);
//
// КонецЕсли;
//
// Исключение
// СтрокаСообщенияОбОшибке = ЗаписатьИнформациюОбОшибкеОбработчикиКонвертации(176, ОписаниеОшибки(), «ПослеПолученияИнформацииОбУзлахОбмена (конвертация)»);
//
// Если Не ФлагРежимОтладки Тогда
// ВызватьИсключение СтрокаСообщенияОбОшибке;
// КонецЕсли;
//
// //Возврат Ложь;
// Возврат;
// КонецПопытки;
//
// КонецЕсли;
//Юрасов—
Иначе
СтруктураЗаписи = Новый Структура(«ИмяУзла», ИмяУзла);
ЗаписатьВПротоколВыполнения(9, СтруктураЗаписи);
КонецЕсли;
790th
30.09.15
✎
13:13
В итоге решение примерно такое. захожу отладчиком при загрудке и смотрю на что ругается. вижу что в коде нет варианта для обработки такого поля или параметра. Иду в конфигурацию откуда выгружал, смотрю как этот код работает там. вижу такую же функцию но с дополнительным кодом. вижу что этого то кода и нехватает что бы обработать данный параметр. копировать/встаить. проверка синтаксиса. ругается. смотрю если что то для меня не важное убираю. если важное разбираюсь почему ругается и что еще нужно копипастнуть. проверяю правила. и так вылизываю пока не пропадут все ошибки при загрузке
Naumov
30.09.15
✎
14:14
у тебя просто древние релизы конфигураций, в них встроенная обработка универсального обмена старой версии.
bless18 |
|
||
---|---|---|---|
Добрый день! В 1С КД редакции 2.1 (2.1.5.1) создала правила конвертации между двумя идентичным БП редакция 2.0 (2.0.38.6). При загрузке обработкой КД V8Exchan82.epf выдается сообщение: «Ошибка формата файла обмена» |
Yandex |
|
||
---|---|---|---|
E_Migachev |
|
||
---|---|---|---|
(0) bless18, ошибка где-то в правилах, надо снять новые снимки метаданных и загрузить их в КД, далее посмотреть правила и попробовать выгрузку |
Подсказка: Для быстрого перемещения к последнему ответу или к вопросу используйте или . |
Показывать по
10
20
40
сообщений
Новая тема
Ответить
firelli
Дата регистрации: 25.07.2010
Сообщений: 36
Доброго времени суток! В конфигурации бухгалтерии 7.7 ред. 4.5 было добавлено новое перечисление. Как добавить новый реквизит в типовые правила RAc4_Pr2? Пробовал на 1с8.1_КД 2.0 и 1с7.7_КД 1.0 правила не загружаются пишет ошибку «Ошибка формата файла обмена. Не возможности обработать узел: Инструкция»
Рисовод
Дата регистрации: 26.12.2007
Сообщений: 25775
> В конфигурации бухгалтерии 7.7 ред. 4.5 было добавлено новое перечисление<br>Это перечисление теперь является аналитикой к какому-то счету? Т.е. план счетов не типовой?
firelli
Дата регистрации: 25.07.2010
Сообщений: 36
Да это аналитика «ИсточникФинансирования» для основных средств и других счетов. Может вы подскажите как изменить правила обмена?
Рисовод
Дата регистрации: 26.12.2007
Сообщений: 25775
Нет! Я не знаю! Просто то-же сталкивался с подобной проблемой и заказывали спецу! Самое обидное то, что эта аналитака потом оказалась никому не нужна!
Thorvardr
Дата регистрации: 25.02.2005
Сообщений: 3082
Такие небольшие точечные изменения проще делать в каком нибудь обычном текстовом редакторе.<br>Берем, например Far manager. <br>1. открываем RAC4_PR2.XML в текстовом редакторе, видим: http://s008.radikal.ru/i306/1010/74/751364b116b9.jpg<br>2. идем в самый конец строки с текстом, видим: http://s008.radikal.ru/i304/1010/35/39fb5a9a06e6.jpg<br>3. обращаем внимание на то, что строка заканчивается закрывающим тэгом <br>4. ставим курсор вот сюда: http://s007.radikal.ru/i300/1010/62/9bc8b644256b.jpg<br>5. жмем Enter раз 5, получим: http://s011.radikal.ru/i318/1010/52/8dc3f3d9615d.jpg<br>6. по аналогии с тем как описаны правила переноса значений стандартных перечислений добавляем в образованное нами пространство примерно такой текст: http://s014.radikal.ru/i329/1010/d1/2a4effb17da4.jpg<br>По ширине в картинку не влезло, но не беда, я результат выложу, там увидите полностью.<br>7. Сохраняем файл, делаем выгрузку из Бух, выгрузится все как надо.<br>Пара важных замечаний:<br><br>Почему 1С присваивает своим правилам идентификаторы «ЗначенияСубконто_1С_0001ХХХ», а я присвоил идентификатор правилу «ЗначенияСубконто_My_0000001»? Идентификатор правила должен быть уникален в рамках файла и, вообще то, может быть любым, я не стал вписываться в нумерацию 1С и не стал присваивать номер, например ЗначенияСубконто_1С_0001470 (очередной), потому что если 1С поменяет правила и добавит в них что то, то запросто такой идентификатор займут (они то не знают о моих изменениях) и это не позволит мне при обновлениях простым copy-paste поддерживать сделанное в правилах изменение. Поэтому идентификатор у нас свой, который точно у 1С не появится. Идентификаторы реквизитам тоже я присвоил «IDMy_000001», «IDMy_000002» по той же причине.<br><br>При переносе «имени» субконто идет перенос Строка->Реквизит приемника и строку мы явно описываем как Преобразование=»Источник финансирования». Почему именно так, а не «Ист. фин.», например? Тут важный момент. То что написано в кавычках должно точно совпадать с синонимом вида субконто, как его описали в Бухгалтерии. Вот так:<br>http://s009.radikal.ru/i307/1010/ec/1a65ea3de892.jpg<br><br>В общем, вот что вышло в результате: http://zalil.ru/29885236<br><br>А вообще, больший интерес представляет перенос из ЗиК в Бух. Тут то задача разовая, ерунда, а там в правила тоже придется написать что то подобное и поддерживать это при обновлениях релизов, поэтому я чуть написал про идентификаторы.
firelli
Дата регистрации: 25.07.2010
Сообщений: 36
Спасибо огромное за содержательный ответ!
Показывать по
10
20
40
сообщений
Читают тему:
Вопрос: Почему не принимает данные, сформированные в настройке обмена (но при этом принимает если данные сформировать обработкой обмена)? Создал правила выгрузки одного элементарного справочника из УТ 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
Комментарии доступны только авторизированным пользователям
Ошибка Формата Файла Обмена Не Возможности Обработать Узел Инструкция Rating: 9,0/10 1036reviews
GBdsGi8E/Vl_jp7gkaZI/AAAAAAAACVI/TALdoMteagw/s1600/%25D0%2594%25D0%25B5%25D1%2582%25D0%25B0%25D0%25BB%25D0%25B8%25D0%25B7%25D0%25B0%25D1%2586%25D0%25B8%25D1%258F%2B%25D0%25B7%25D0%25B2%25D0%25BE%25D0%25BD%25D0%25BA%25D0%25BE%25D0%25B2%2B2015-12-03%2B09-37-34.png’ alt=’Ошибка Формата Файла Обмена Не Возможности Обработать Узел Инструкция’ title=’Ошибка Формата Файла Обмена Не Возможности Обработать Узел Инструкция’ />Гарантирует отсутствия ошибок в данном документе. Никакая часть данного документа не может быть воспроизведена или передана в какой бы то ни было. Инструкции по работе с внешними системами, приложениями и. Структура файлов обмена данными текстового формата с БС 1С Предприя. D0%93%D0%BB3_27_1.png’ alt=’Ошибка Формата Файла Обмена Не Возможности Обработать Узел Инструкция’ title=’Ошибка Формата Файла Обмена Не Возможности Обработать Узел Инструкция’ />Ниже перечислены возможности инфраструктуры звукового графа среды. Узлы ввода файлов поддерживают следующие форматы. Узел вывода аудиокадра позволяет получать и обрабатывать. За 5 последних лет я сделал более 1000 mindmap 1043 файлов с разрешением. Орфографические ошибки. Это не дает перенести самые значимые узлы в центр. Начну с себя мне не хватает возможности иметь в одной. Java. Script Википедия. Не следует путать с Java. Java. Script. Класс языка. Тип исполненияинтерпретация, трансляция в байт код Java. Поддерживает объектно ориентированный, императивный и функциональный стили. Является реализацией языка ECMAScript стандарт ECMA 2. Наиболее широкое применение находит в браузерах как язык сценариев для придания интерактивностивеб страницам. Языком Java. Script не владеет какая либо компания или организация, что отличает его от ряда языков программирования, используемых в веб разработке. Главным отличием от Си была работа с памятью. В новом языке вс управление памятью осуществлялось автоматически не было необходимости создавать буфера, объявлять переменные, осуществлять преобразование типов. В остальном языки сильно походили друг на друга в частности, Cmm поддерживал стандартные функции и операторы Си. Cmm был переименован в Script. Ease, поскольку исходное название звучало слишком негативно, а упоминание в нм Си отпугивало людей. На основе этого языка был создан проприетарный продукт. CEnvi. В конце ноября 1. Nombas разработала версию CEnvi, внедряемую в веб страницы. Страницы, которые можно было изменять с помощью скриптового языка, получили название Espresso Pages они демонстрировали использование скриптового языка для создания игры, проверки пользовательского ввода в формы и создания анимации. Espresso Pages позиционировались как демоверсия, призванная помочь представить, что случится, если в браузер будет внедрн язык Cmm. Работали они только в 1. Netscape Navigator под управлением Windows. Поскольку требования были размыты, Эйха перевели в группу, ответственную за серверные продукты, где он проработал месяц, занимаясь улучшением протокола HTTP. В мае разработчик был переброшен обратно, в команду, занимающуюся клиентской частью браузером, где он немедленно начал разрабатывать концепцию нового языка программирования. Менеджмент разработки браузера, включая Тома Пакина Tom Paquin, Михаэля Тоя англ., Рика Шелла Rick Schell, был убеждн, что Netscape должен поддерживать язык программирования, встраиваемый в HTML код страницы. Они ставили перед собой цель обеспечить язык для склеивания составляющих частей веб ресурса изображений, плагинов, Java апплетов, который был бы удобен для веб дизайнеров и программистов, не обладающих высокой квалификацией. На синтаксис оказали влияние языки Си и Java, и, поскольку Java в то время было модным словом. Анонс Java. Script со стороны представителей Netscape и Sun состоялся накануне выпуска второй бета версии Netscape Navigator. В нм декларируется, что 2. ИТ компаний выразили намерение использовать в своих будущих продуктах Java. Script как объектный скриптовый язык с открытым стандартом. Анонсирован этот язык был 1. Первым браузером, поддерживающим эту реализацию, был Internet Explorer 3. По инициативе компании Netscape. Стандартизированная версия имеет название ECMAScript, описывается стандартом ECMA 2. Первой версии спецификации соответствовал Java. Script версии 1. 1, а также языки JScript и Script. Easy. Он также констатирует растущую популярность Java. Script, то, что этот язык встраивается в приложения, отмечает значимость языка. Согласно TIOBE Index, базирующемуся на данных поисковых систем Google, MSN, Yahoo, Википедия и You. Tube, в апреле 2. Java. Script находился на 6 месте год назад на 9. Java. Script, наиболее часто используемый язык программирования с быстрорастущей популярностью. Си, C, Java, Shell и Java. Script. При этом Java. Script единственный из этих языков, чья доля использования увеличилась более чем на 2 процента, если считать в строках кода. Кроме того, Java. Script имеет ряд свойств, присущих функциональным языкам функции как объекты первого класса, объекты как списки, карринг, анонимные функции, замыкания. В противоположность этому ряд авторов находят BOM и DOM тесно взаимосвязанными. Это, скорее, основа для построения скриптовых языков. Спецификация ECMAScript описывает типы данных, инструкции, ключевые и зарезервированные слова, операторы, объекты, регулярные выражения, не ограничивая авторов производных языков в расширении их новыми составляющими. Объектная модель браузера браузер специфичная часть языка. Основное предназначение объектной модели браузера управление окнами браузера и обеспечение их взаимодействия. Каждое из окон браузера представляется объектом window, центральным объектом DOM. Объектная модель браузера на данный момент не стандартизирована. Согласно DOM, документ например, веб страница может быть представлен в виде дерева объектов, обладающих рядом свойств, которые позволяют производить с ним различные манипуляции генерация и добавление узлов,получение узлов,изменение узлов,изменение связей между узлами,удаление узлов. Для добавления Java. Script кода на страницу, можно использовать теги lt script lt script. Контейнеров lt script в одном документе может быть сколько угодно. Атрибут typetextjavascript указывать необязательно, данное значение используется по умолчанию. Пример использования lt ahref. Разумеется, этот код будет работать только если в браузере есть и включена поддержка Java. Script, иначе переход по ссылке произойдт без предупреждения. Использование кода Java. Script в контексте разметки страницы расценивается в рамках ненавязчивого Java. Script как плохая практика. Аналогом при условии снабжения ссылки идентификатором alert. Linklt ahref. Очердность выполнения скриптов не гарантируется. При этом атрибут language language. Обмен информацией в веб приложениях происходит по сети. Одним из преимуществ такого подхода является тот факт, что клиенты не зависят от конкретной операционной системы пользователя, поэтому веб приложения являются кроссплатформенными сервисами. Java. Script используется в AJAX, популярном подходе к построению интерактивных пользовательских интерфейсов веб приложений, заключающемся в фоновом асинхронном обмене данными браузера с веб сервером. В результате, при обновлении данных веб страница не перезагружается полностью и интерфейс веб приложения становится быстрее, чем это происходит при традиционном подходе без применения AJAX. Comet широкое понятие, описывающее механизм работы веб приложений, использующих постоянные HTTP соединения, что позволяет веб серверу отправлять данные браузеру без дополнительного запроса со стороны браузера. Учебник Отмс 2005 Года Шелепов А.М тут. Для таких приложений используются технологии, непосредственно поддерживаемые браузерами. В частности, в них широко используется Java. Script. Java. Script широко используется в браузерных операционных системах. Так, например, исходный код Indra. Desktop Web. OS на 7. Java. Script. Доля Java. Script в исходном коде eye. OS 5 . При этом используются URL адреса со спецификатором javascript. Они позволяют автоматически заполнять формы, переформатировать страницы, скрывать нежелательное содержимое и встраивать желательное для отображения содержимое, изменять поведение клиентской части веб приложений, добавлять элементы управления на страницу и т. Это обстоятельство используется для построения серверных приложений, позволяющих обрабатывать Java. Script на стороне сервера. Помимо Java 6, существует ряд платформ, использующих существующие движки интерпретаторы Java. Script для исполнения серверных приложений. Так например, Google Sites допускает подстройку с помощью Java. Script сценариев, исполняемых движком Rhino. Java. Script используется как для реализации виджетов, так и для реализации движков виджетов. В частности, при помощи Java. Script реализованы Apple Dashboard, Microsoft Gadgets англ., Yahoo Например, 1. Mozilla Firefox написано на Java. Script. Платформа Mozilla XULGecko использует Java. Script. Среди сторонних продуктов, например, Java, начиная с версии 6, содержит встроенный интерпретатор Java. Script на базе Rhino. Сценарии Java. Script поддерживаются в таких приложениях Adobe, как Adobe Photoshop, Adobe Dreamweaver, Adobe Illustrator и Adobe In.