Имя: Пароль:
1C
1С v8
Загрузка из XML
0 Barmolei
 
28.11.11
10:23
Поставщик прислал клиенту файл XML, в котором содержится документ с данными на отгруженную номенклатуру. Уверяет, что можно загрузить в нашу базу 1С автоматически через обработку "Универальный обмен данными".
Попробовал, обработка выдаёт ошибку: "Ошибка открытия файла обмена
". Что не так?

Надо писать свой загрузчик или можно всё-таки через обработку?

Привожу пример начало файла XML:

<КоммерческаяИнформация>
<Документ>
<Ид>
1fc34567-1407-35e1-84ca-001375x34987
</Ид>
<Номер>
00000001367
</Номер>
<Дата>
2011-11-21
</Дата>
<ХозОперация>
Отпуск товара
</ХозОперация>
<Роль>
Продавец
</Роль>
<Валюта>
руб
</Валюта>
<Курс>
1
</Курс>
<Сумма>
85482.8
</Сумма>
<Контрагенты>
<Контрагент>
<Ид>
519bbdd0-ac8c-25dg-8349-0016e664754
</Ид>
<Наименование>
.................
.................
</Товары>
</Документ>
</КоммерческаяИнформация>
1 Rizhij_Nikitos
 
28.11.11
10:24
Какая конфа? Версия 8.2 платформы?
2 Axel2009
 
28.11.11
10:24
чтобы загрузить через универсальный обмен - в файле должны быть правила загрузки. а тут их нет. вас обманули
3 Rizhij_Nikitos
 
28.11.11
10:27
(2) вроде выгрузка идет с правилами обмена, а загрузка без них можно сделать, если есть пароль нужен пароль
4 Axel2009
 
28.11.11
10:28
(3) еще раз, в самом файле XML должны быть правила загрузки данных. что из этих слов непонятно? при чем тут пароль.
5 Barmolei
 
28.11.11
10:29
(1) У клиента "Розница (базовая), редакция 1.0 (1.0.15.6)", у поставщиков не знаю.
6 Barmolei
 
28.11.11
10:32
(2) Спасибо, ясно. Значит, если я правильно понимаю, для обработки данного файла надо писать свой загрузчик?
7 marty0701
 
28.11.11
10:33
НАчало должно быть примерно таким

<?xml version="1.0" encoding="UTF-8" ?>
- <ФайлОбмена ВерсияФормата="2.0" ДатаВыгрузки="2011-10-07T14:43:17" НачалоПериодаВыгрузки="2011-09-01T00:00:00" ОкончаниеПериодаВыгрузки="2011-10-31T00:00:00" ИмяКонфигурацииИсточника="ЗарплатаИУправлениеПерсоналом" ИмяКонфигурацииПриемника="БухгалтерияПредприятия" ИдПравилКонвертации="aca76474-efab-4379-aa64-344a9e34dd56" Комментарий="">
- <ПравилаОбмена>
 <ВерсияФормата>2.01</ВерсияФормата>
 <Ид>aca76474-efab-4379-aa64-344a9e34dd56</Ид>
 <Наименование>ЗарплатаИУправлениеПерсоналом --> БухгалтерияПредприятия</Наименование>
 <ДатаВремяСоздания>2011-09-12T18:03:38</ДатаВремяСоздания>
 <Источник>ЗарплатаИУправлениеПерсоналом</Источник>
 <Приемник>БухгалтерияПредприятия</Приемник>
 <ПередЗагрузкойДанных>Если Метаданные.Имя = "ЗарплатаИУправлениеПерсоналом" Тогда Сообщить("Данный файл не предназначен для загрузки в конфигурацию ""Зарплата и управление персоналом""!", СтатусСообщения.Внимание); Сообщить("Загрузка отменена!",СтатусСообщения.Важное); Отказ = Истина ИначеЕсли Найти(Метаданные.Имя,"Бухгалтерия") > 0 Тогда ТекущаяВерсияИБ = Константы.НомерВерсииКонфигурации.Получить(); КоличествоТочек = 0; ДлинаОписанияНомераРелиза = 0; Для х = 1 По СтрДлина(ТекущаяВерсияИБ) Цикл Если Сред(ТекущаяВерсияИБ, х, 1) = "." Тогда КоличествоТочек = КоличествоТочек + 1; КонецЕсли; Если КоличествоТочек = 3 Тогда ДлинаОписанияНомераРелиза = х - 1; Прервать; КонецЕсли; КонецЦикла; НомерРелиза = Число(СтрЗаменить(Лев(ТекущаяВерсияИБ, ДлинаОписанияНомераРелиза),".","")); Если (НомерРелиза < 2027) Тогда Сообщить("Загрузка данных возможна в версию конфигурации 2.0.27 или выше!", СтатусСообщения.Важное); Сообщить("Загрузка отменена!",СтатусСообщения.Важное); Отказ = Истина; КонецЕсли; КонецЕсли</ПередЗагрузкойДанных>
 <Параметры />
 <Обработки />
- <ПравилаКонвертацииОбъектов>
- <Правило>
 <Код>РасходыУСН</Код>
 <Источник>ПеречислениеСсылка.ОтражениеВУСН</Источник>
 <Приемник>ПеречислениеСсылка.ОтражениеВУСН</Приемник>
 </Правило>
- <Правило>
 <Код>ПолФизическихЛиц</Код>
 <Источник>ПеречислениеСсылка.ПолФизическихЛиц</Источник>
 <Приемник>ПеречислениеСсылка.ПолФизическихЛиц</Приемник>
 </Правило>
- <Правило>
 <Код>ВидыПлатежейВГосБюджет</Код>
 <Источник>ПеречислениеСсылка.ВидыПлатежейВГосБюджет</Источник>
 <Приемник>ПеречислениеСсылка.ВидыПлатежейВГосБюджет</Приемник>
 </Правило>
- <Правило>
 <Код>ВидыРасходовНУ</Код>
 <Источник>ПеречислениеСсылка.ВидыРасходовНУ</Источник>
 <Приемник>ПеречислениеСсылка.ВидыРасходовНУ</Приемник>
 </Правило>
- <Правило>
 <Код>ВидыПрочихДоходовИРасходов</Код>
 <Источник>ПеречислениеСсылка.ВидыПрочихДоходовИРасходов</Источник>

8 Rizhij_Nikitos
 
28.11.11
10:37
(2) аа вот ты проче, сразу не понял, я думал ты выгрузку с загрузкой перепутал.
(6) скажи свою почту скину обработку, которой пользовался для выгрузкки и загрузки, простая в использовании.
9 Barmolei
 
28.11.11
10:44
10 Vovan1975
 
28.11.11
10:46
(7) при чем тут конвертация данных?
11 Axel2009
 
28.11.11
10:54
(10) потому что универсальный обмен данными работает именно с правилами из КД
есть обработка ВыгрузкаЗагрузкаДанныхXML вот ей да, правила не нужны
Закон Брукера: Даже маленькая практика стоит большой теории.