Ошибки при выполнении операции невалидная версия формата xml

 

Пользователь 258321

Заглянувший

Сообщений: 42
Баллов: 2
Авторитет:

1

Рейтинг пользователя:

0

Регистрация: 06.05.2014

Подскажите, только разбираюсь с импортом данных из 1с в Битрикс.
Зачем 2 файла???
И там и там есть каталог продуктов. Цены в одном, характеристики(размер, цвет) в другом.
У  категорий не выгружается код. Есть грамотная документация по данным.  
<Группа>
<Ид>f4de118e-f5fa-11e2-9362-8c89a55a8b12</Ид>
<Наименование>Аксессуары</Наименование>

Можно ли указывать в 1с какие поля мы хотим выгрузить? Я вижу только фильтры срезов данных для выгрузки.

Заранее спасибо

 

Пользователь 247005

Постоянный посетитель

Сообщений: 125
Баллов: 10
Авторитет:

1

Рейтинг пользователя:

0

Регистрация: 11.03.2014

import.xml — товары

offer.xml — предложения, остатки и цены

Подробного описание нет, но в принципе там так половина понятна.

И ещё ползуйтесь модулем от Битрикса, типовой обмен очень ограничен.

 

Пользователь 258321

Заглянувший

Сообщений: 42
Баллов: 2
Авторитет:

1

Рейтинг пользователя:

0

Регистрация: 06.05.2014

 

Пользователь 247005

Постоянный посетитель

Сообщений: 125
Баллов: 10
Авторитет:

1

Рейтинг пользователя:

0

Регистрация: 11.03.2014

 

Пользователь 258321

Заглянувший

Сообщений: 42
Баллов: 2
Авторитет:

1

Рейтинг пользователя:

0

Регистрация: 06.05.2014

 

Пользователь 258321

Заглянувший

Сообщений: 42
Баллов: 2
Авторитет:

1

Рейтинг пользователя:

0

Регистрация: 06.05.2014

не пойму где модуль сам????? наживаешь тестировать и вываливается просто Битрикс и его редакции

 

Пользователь 258321

Заглянувший

Сообщений: 42
Баллов: 2
Авторитет:

1

Рейтинг пользователя:

0

Регистрация: 06.05.2014

И главное в чем разница от того что просто руками вгружаем. Что он делает и как посмотреть разницу. И сколько стоит? не поймешь тут на сайте.

 

Пользователь 258321

Заглянувший

Сообщений: 42
Баллов: 2
Авторитет:

1

Рейтинг пользователя:

0

Регистрация: 06.05.2014

Подскажите. Запуталась. Нажимаю. тестировать  и далее по ссылка на редакции и демо версию попадаю уже в саму систему. Где то надстройка то? Или это просто услуги предлагают

 

Пользователь 247005

Постоянный посетитель

Сообщений: 125
Баллов: 10
Авторитет:

1

Рейтинг пользователя:

0

Регистрация: 11.03.2014

 

Пользователь 258321

Заглянувший

Сообщений: 42
Баллов: 2
Авторитет:

1

Рейтинг пользователя:

0

Регистрация: 06.05.2014

#10

0

26.05.2014 17:10:17

Ладно. Это второй этап.
Вы написали

«import.xml — товары

offer.xml — предложения, остатки и цены «

Однако В Import (Товар) почему то лежат размеры и цвета, которые относятся именно к товарным предложениям :

<Товар>
<Ид>a5bc2cc6-1938-11e3-a633-8c89a55a8b12#a33a20e0-60c9-11e3-9ee0-8c89a55a8b12</Ид>
<Артикул>8326</Артикул>
<Наименование>Alpha moda 8326 Пальто</Наименование>
<БазоваяЕдиница Код=»796″ НаименованиеПолное=»Штука» МеждународноеСокращение=»PCE»>шт</БазоваяЕдиница>
<ХарактеристикиТовара>
<ХарактеристикаТовара>
<Наименование>Идентификатор комплекта</Наименование>
</ХарактеристикаТовара>
<ХарактеристикаТовара>
<Наименование>Размер</Наименование>
<Значение>S</Значение>
</ХарактеристикаТовара>
<ХарактеристикаТовара>
<Наименование>Размер российский</Наименование>
<Значение>42-44</Значение>
</ХарактеристикаТовара>
<ХарактеристикаТовара>
<Наименование>Цвет</Наименование>
<Значение>бежевый</Значение>
</ХарактеристикаТовара>
<ХарактеристикаТовара>
<Наименование>Цвет поставщика</Наименование>
<Значение>бежевый</Значение>
</ХарактеристикаТовара>
</ХарактеристикиТовара>
<ЗначенияРеквизитов>
<ЗначениеРеквизита>
<Наименование>ВидНоменклатуры</Наименование>
<Значение>Товар</Значение>
</ЗначениеРеквизита>
<ЗначениеРеквизита>
<Наименование>ТипНоменклатуры</Наименование>
<Значение>Товар</Значение>
</ЗначениеРеквизита>
<ЗначениеРеквизита>
<Наименование>Полное наименование</Наименование>
<Значение>Alpha moda 8326 Пальто</Значение>
</ЗначениеРеквизита>
</ЗначенияРеквизитов>
<СтавкиНалогов>
<СтавкаНалога>
<Наименование>НДС</Наименование>
<Ставка>18</Ставка>
</СтавкаНалога>
</СтавкиНалогов>
<Группы>
<Ид>8f426033-a103-11e2-ab6e-8c89a55a8b12</Ид>
</Группы>
<Описание>пальто</Описание>
<Картинка>import_files/a5/a5bc2cc6-1938-11e3-a633-8c89a55a8b12.jpeg</Картинка>
<ЗначенияСвойств>
<ЗначенияСвойства>
<Ид>72889fc1-e6ac-11e1-9eb0-001cc0756924</Ид>
<Значение>Пальто</Значение>
</ЗначенияСвойства>
<ЗначенияСвойства>
<Ид>72889fc6-e6ac-11e1-9eb0-001cc0756924</Ид>
<Значение>70% полиестр 30% шерсть</Значение>
</ЗначенияСвойства>
<ЗначенияСвойства>
<Ид>72889fc7-e6ac-11e1-9eb0-001cc0756924</Ид>
<Значение>01.01.0001 0:00:00</Значение>
</ЗначенияСвойства>
</ЗначенияСвойств>
</Товар>

А в Offer.xml (товарных предложениях ) почему то лежат цены, хотя они относятся не к товарным предложениям а к товару.

<Предложения>

<Предложение>

<Ид>
a5bc2cbb-1938-11e3-a633-8c89a55a8b12#a33a20de-60c9-11e3-9ee0-8c89a55a8b12
</Ид>

<Артикул>81120</Артикул>
<Наименование>Alpha moda 81120 Пальто</Наименование>
<БазоваяЕдиница Код=»796″ НаименованиеПолное=»Штука» МеждународноеСокращение=»PCE»>шт</БазоваяЕдиница>

<Цены>

<Цена>
<Представление>4 490 RUB за шт</Представление>
<ИдТипаЦены>c8a4e547-1f4f-11e2-bce0-001cc0756924</ИдТипаЦены>
<ЦенаЗаЕдиницу>4490</ЦенаЗаЕдиницу>
<Валюта>RUB</Валюта>
<Единица>шт</Единица>
<Коэффициент>1</Коэффициент>
</Цена>

<Цена>
<Представление>4 490 RUB за шт</Представление>
<ИдТипаЦены>62de2028-1e85-11e2-bce0-001cc0756924</ИдТипаЦены>
<ЦенаЗаЕдиницу>4490</ЦенаЗаЕдиницу>
<Валюта>RUB</Валюта>
<Единица>шт</Единица>
<Коэффициент>1</Коэффициент>
</Цена>

<Цена>
<Представление>3 500 RUB за шт</Представление>
<ИдТипаЦены>c226713d-1ddf-11e2-bce0-001cc0756924</ИдТипаЦены>
<ЦенаЗаЕдиницу>3500</ЦенаЗаЕдиницу>
<Валюта>RUB</Валюта>
<Единица>шт</Единица>
<Коэффициент>1</Коэффициент>

</Цена>

</Цены>

<Количество>5</Количество>

</Предложение>

 

Пользователь 247005

Постоянный посетитель

Сообщений: 125
Баллов: 10
Авторитет:

1

Рейтинг пользователя:

0

Регистрация: 11.03.2014

#11

0

26.05.2014 17:41:54

По свойствам я не помню, они у вас точно только на характеристики в 1С заданы? Но возможно они для товары выгружаются.
А вот для предложений свойства не выгружаются в типовом обмене.

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

 

Пользователь 258321

Заглянувший

Сообщений: 42
Баллов: 2
Авторитет:

1

Рейтинг пользователя:

0

Регистрация: 06.05.2014

#12

0

27.05.2014 15:57:40

Спасибо!

Выгружаю пока xml. При попытке занянуть этот xml в битрикс выдает Невалидная версия формата XML.
При этом именно в import выгружаются все товарные предложения, а не товары.  То есть именно в импорте лежат товарные предложения.
В характеристиках лежит именно то что определяем sku ЦВЕТ и РАЗМЕР.
<ХарактеристикиТовара>
<ХарактеристикаТовара>
<Наименование>Идентификатор комплекта</Наименование>
</ХарактеристикаТовара>
<ХарактеристикаТовара>
<Наименование>Размер</Наименование>
<Значение>L</Значение>
</ХарактеристикаТовара>
<ХарактеристикаТовара>
<Наименование>Размер российский</Наименование>
<Значение>46-48</Значение>
</ХарактеристикаТовара>
<ХарактеристикаТовара>
<Наименование>Цвет</Наименование>
<Значение>бежевый</Значение>
</ХарактеристикаТовара>
<ХарактеристикаТовара>
<Наименование>Цвет поставщика</Наименование>
<Значение>бежевый</Значение>
</ХарактеристикаТовара>
</ХарактеристикиТовара>

С свойствах лежит то, что на закладке свойства в 1с
<ЗначенияСвойств>
<ЗначенияСвойства>
<Ид>72889fc1-e6ac-11e1-9eb0-001cc0756924</Ид>
<Значение>Пальто</Значение>
</ЗначенияСвойства>
<ЗначенияСвойства>
<Ид>72889fc6-e6ac-11e1-9eb0-001cc0756924</Ид>
<Значение>70% полиестр 30% шерсть</Значение>
</ЗначенияСвойства>
<ЗначенияСвойства>
<Ид>72889fc7-e6ac-11e1-9eb0-001cc0756924</Ид>
<Значение>01.01.0001 0:00:00</Значение>
</ЗначенияСвойства>
</ЗначенияСвойств>.

НО !! все наши свойства ( или реквизиты товара) лежат в 1с на закладке Дополнительно. Я нашла в конфигураторе в этих справочниках галочку  что то типа использовать для обмена с web сайтом, установила. Но все равно в xml ничего нет. Только эти характеристики и свойства.

Как вообще правильно настроить эту всю историю обмена, когда уже есть работающий 1с и мы только создаем сайт на битриксе.
Не могу найти толковую инструкцию.  Может у вас есть на примете.
До  битрикса мы использовали другую системы и формат данных для сайта у нас уже есть. Из 1с мы формировали excel и загружали в базу сайта.

ЗАРАНЕЕ большое спасибо!

 

Пользователь 247005

Постоянный посетитель

Сообщений: 125
Баллов: 10
Авторитет:

1

Рейтинг пользователя:

0

Регистрация: 11.03.2014

#13

0

27.05.2014 16:27:05

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

 

Пользователь 258321

Заглянувший

Сообщений: 42
Баллов: 2
Авторитет:

1

Рейтинг пользователя:

0

Регистрация: 06.05.2014

#14

0

27.05.2014 16:40:45

Спасибо!

Дописать обмен на какой стороне? На стороне 1С? Каким образом?
Если на стороне Битрикса, то там есть парсер на php, который разбирает этот commerceLm, это я нашла, но в этот xml должны попасть данные из закладки карточки товара в 1с ДОПОЛНИТЕЛЬНАЯ АНАЛИТИКА, чтобы парсить их.

То есть, уточняю,  даже если установить модуль обмена, то все равно создается xml из данных закладок ПО УМОЛЧАНИЮ и СВОЙСТВА?

Чтобы грузить сразу на сайт. нужно создать все свойства в Битриксе или сам он создаст?

 

Пользователь 247005

Постоянный посетитель

Сообщений: 125
Баллов: 10
Авторитет:

1

Рейтинг пользователя:

0

Регистрация: 11.03.2014

#15

0

27.05.2014 17:43:46

Цитата
Яна Вопичка пишет:
Дописать обмен на какой стороне? На стороне 1С? Каким образом?

Ну это зависит от вас, что вы знаете php или 1С. Я допиливал 1С.

Цитата
Яна Вопичка пишет:
То есть, уточняю,даже если установить модуль обмена, то все равно создается xml из данных закладок ПО УМОЛЧАНИЮ и СВОЙСТВА?

Надо как то с терминологией определится, Не понятно, что у вас за данные в закладках.
Я честно Битрисовский модуль не копал сильно, копал 1С-овский. Там перечисление основных реквизитов, которые и выгружаются. Хотите расширить список, надо добавлять.

Цитата
Яна Вопичка пишет:
Чтобы грузить сразу на сайт. нужно создать все свойства в Битриксе или сам он создаст?

Ни чего создавать не надо! Задвоится. Все загрузится само.
Внешний код инфоблока надо синхронизировать только.

___
Вобще интеграция 1С и Битрикс это не простая задача и так её с наскока по форуму не взять. Или пользоваться типовым функционалам и подгонять данные в 1С под логику обмена и Битрикс.
Или готовить четкое ТЗ и дорабатывать и 1С, и возможно Битрикс.

 

Александр Денисюк

Администратор

Сообщений: 4916
Баллов: 827
Авторитет:

1

Рейтинг пользователя:

3

Регистрация: 16.10.2013

#16

0

27.05.2014 18:59:30

Цитата
Алексей Беспалов пишет:
import.xml — товары

offer.xml — предложения, остатки и цены

Подробного описание нет, но в принципе там так половина понятна.

И ещё ползуйтесь модулем от Битрикса, типовой обмен очень ограничен.

import — товары
offers — предложения
rests — остатки
prices — цены
Documents — документы
contragents — контрагенты

Цитата
Алексей Беспалов пишет:
По свойствам я не помню, они у вас точно только на характеристики в 1С заданы? Но возможно они для товары выгружаются.
А вот для предложений свойства не выгружаются в типовом обмене.

Создаются.
В первом файле offers выгружаются сами свойства предложений, а в предложениях значения свойств предложений

 

Пользователь 247005

Постоянный посетитель

Сообщений: 125
Баллов: 10
Авторитет:

1

Рейтинг пользователя:

0

Регистрация: 11.03.2014

#17

0

28.05.2014 07:31:29

Тут речь пока вроде про встроенный в 1С обмен идет или уже про модуль от Битрикса?

 

Пользователь 258321

Заглянувший

Сообщений: 42
Баллов: 2
Авторитет:

1

Рейтинг пользователя:

0

Регистрация: 06.05.2014

#18

0

29.05.2014 14:25:11

Спасибо за ответы.

Я смотрю пока типовой функционал выгрузки.
В нем вообще никаких настроек нет, кроме задания фильтров для выгрузки. А где настраивается перечень полей для выгрузки и настраивается ли?

Цитата
Алексей Беспалов пишет:
Надо как то с терминологией определится, Не понятно, что у вас за данные в закладках.
Я честно Битрисовский модуль не копал сильно, копал 1С-овский. Там перечисление основных реквизитов, которые и выгружаются. Хотите расширить список, надо добавлять.

Так и я не копаю Битриксовский, смотрю только типовой функционал в 1C. Основные реквизиты это какие?

Вот закладки 1с

Закладка первая ‘по умолчанию’

Закладка свойства- отсюда используется нами только 3 поля.

Закладка ‘Характеристики’, отсюда формируются товарные предложения.

Закладка ‘Доп аналитика’, именно здесь хранятся основные свойства, которые мы не используем.

Цитата
Алексей Беспалов пишет:
Ни чего создавать не надо! Задвоится. Все загрузится само.
Внешний код инфоблока надо синхронизировать только.

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

Спасибо!

 

Пользователь 247005

Постоянный посетитель

Сообщений: 125
Баллов: 10
Авторитет:

1

Рейтинг пользователя:

0

Регистрация: 11.03.2014

#19

0

29.05.2014 15:12:06

Цитата
Яна Вопичка пишет:
На счет загрузится само,а когда повторно будет вгружаться не буцдет же создаваться свойства, то есть он просто помечает как то их что они из 1с?

Связь осуществляется по идентификатору УИД, в Битриксе он записывается в поле  XML_ID.

Цитата
Яна Вопичка пишет:
Что вы называете внешний вид инфоблока?

http://dev.1c-bitrix.ru/learning/course/index.php?COURSE_ID=42&CHAPTER_ID=1158

Вот тут почитайте все написано.

По поводу закладок:
Конкретно выгрузку для УТ 10.3. я не смотрел, я работал с Розницей, там обмен, как в УТ 11.

Выгрузятся характеристики и все свойства. Вот только для характеристик в Рознице свойства не выгружались, а значит связать товар и торговое предложение в Битрикс не получалось.
Что касается закладки Аналитика от туда ничего не выгрузится.

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

 

Пользователь 258321

Заглянувший

Сообщений: 42
Баллов: 2
Авторитет:

1

Рейтинг пользователя:

0

Регистрация: 06.05.2014

#20

0

04.06.2014 16:06:46

Вы имеете в виду это?

Управление торговлей ред. 10.3 10.3.29.1

4.0.0.14 (скачать)

beta!  

10.3.26.4 (скачать)

Управление торговлей ред. 11.1

Поставили 10.3.26.4 на 1C 10.3.3.3, валятся ошибки.

Обработка.ПомощникНастройкиОбменаДаннымиССайтом(44,2)}: Переменная не определена (ПроцедурыОбменаДаннымиКлиент)
<<?>>ПроцедурыОбменаДаннымиКлиент.ОбработчикОткрытиеДляФайла(Элемент, СтандартнаяОбработка);
{Обработка.ПомощникНастройкиОбменаДаннымиССайтом(60,20)}: Переменная не определена (РаботаСФайлами)
РезультатВыбора = <<?>>РаботаСФайлами.ВыбратьКаталог(Элемент.Значение);

Ждем программистов 1с.
У нас не типовая конфигурация. И непонятно как быть теперь. Все аналитики карточки товаров хранятся на закладке доп. аналитика.

 

Пользователь 247005

Постоянный посетитель

Сообщений: 125
Баллов: 10
Авторитет:

1

Рейтинг пользователя:

0

Регистрация: 11.03.2014

#21

0

04.06.2014 16:48:45

Цитата
Яна Вопичка пишет:
Вы имеете в виду это?

Управление торговлей ред. 10.3 10.3.29.1

4.0.0.14 (скачать) beta! 10.3.26.4 (скачать) Управление торговлей ред. 11.1

Поставили 10.3.26.4 на 1C 10.3.3.3, валятся ошибки.

Обработка.ПомощникНастройкиОбменаДаннымиССайтом(44,2)}: Переменная не определена (ПроцедурыОбменаДаннымиКлиент)
<<?>>ПроцедурыОбменаДаннымиКлиент.ОбработчикОткрытиеДляФайла(Элемент, СтандартнаяОбработка);
{Обработка.ПомощникНастройкиОбменаДаннымиССайтом(60,20)}: Переменная не определена (РаботаСФайлами)
РезультатВыбора = <<?>>РаботаСФайлами.ВыбратьКаталог(Элемент.Значение);

Ждем программистов 1с.
У нас не типовая конфигурация. И непонятно как быть теперь. Все аналитики карточки товаров хранятся на закладке доп. аналитика.

Возможно это из того, что версия Торговли не совпадает, придется частично хотя бы обновлять.
Ну и под доп полям я писал, что дописывать надо будет. Никуда не деться.
1С-ники то есть?

 

Пользователь 258321

Заглянувший

Сообщений: 42
Баллов: 2
Авторитет:

1

Рейтинг пользователя:

0

Регистрация: 06.05.2014

#22

0

04.06.2014 17:26:54

Спасибо. В требованиях к 1С указано, что

http://1c.1c-bitrix.ru/ecommerce/require_1C.php

 что 1С версии 10.3.2.4, у нас 10.3.3.3 нетиповая конфигурация. Да, есть кому допиливать, но они не в теме Битрикса.

 

Пользователь 247005

Постоянный посетитель

Сообщений: 125
Баллов: 10
Авторитет:

1

Рейтинг пользователя:

0

Регистрация: 11.03.2014

#23

0

04.06.2014 18:18:12

Что-то судя по версиям эта информация более чем годовалой давности.

 

Пользователь 116646

Эксперт

Сообщений: 650
Баллов: 116
Авторитет:

1

Рейтинг пользователя:

0

Регистрация: 10.02.2012

#24

0

05.06.2014 09:15:45

Касаемо требований со стороны 1С не значит, что модуль для актуальных версий подойдет, будет успешно интегрирован и так же успешно работать. По поводу версии 10.3.2.4 вероятнее всего было указано, что начиная с этой версии имеется штатный обмен данными с сайтом (хотя это спорный вопрос). Следовательно, нужно актуальный модуль адаптировать для вашей версии конфигурации (не важно, типовой или нет). Так что про программиста 1С у вас начали правильно уточнять

Всем несогласным — мыло и веревка!

 

Пользователь 258321

Заглянувший

Сообщений: 42
Баллов: 2
Авторитет:

1

Рейтинг пользователя:

0

Регистрация: 06.05.2014

#25

0

11.06.2014 17:17:40

Сейчас самое реальное я думаю напрямую из базы хранимой процедурой создать эти 2 файла offer.xml и import.xml.
Не могу найти нормальное описание форматов этих файлов.

Я
   TrudnyiRebenok

03.05.18 — 13:32

Файл сделал по этой инструкции рук.по эскпл. УТМ

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

<Cheque

inn=»7726015994″

datetime=»1211151723″

kpp=»772401001″

kassa=»45664″

address=»г. Москва, ул. Никопольская,4″

name=»Гармония»

number=»45″

shift=»1″

>

<Bottle barcode=»16N00001CJPFO4450G71NSP20905004004797o326811691897119682191882211821″

ean=»177736216338″ price=»150.00″ volume=»1.0000″/>

<Bottle

barcode=»19N00000XOPN13MM66T0HVF311220130003476539219152175585956302712947109″

ean=»177736216338″ price=»123.45″ volume=»0.7500″ />

</Cheque>»

Вставил, соответственно, своё название магазина, его данные и все данные чека, соблюдая все форматы, однако…

Пишет: Невалидный xml документ

В чем может быть причина?

   pablo_escobar

1 — 03.05.18 — 13:44

А кавычки в начале и конце в файле тоже есть?

   TrudnyiRebenok

2 — 03.05.18 — 14:06

(1) Нет конечно, это я тут поставил, чтобы отделить.

   TrudnyiRebenok

3 — 03.05.18 — 14:07

Адрес взят из одного из предыдущий файлов, так же как и наименование магазина. Все данные чека, всё как по нотам, что надо?

   TrudnyiRebenok

4 — 03.05.18 — 14:09

Единственное, я взял данные из 1с розница, из одного из прошлых чеков. Только кодировки я там не вижу, поставил UTF-8, файл сформирован в 1с с сохранением в этой кодировке. Может какая другая нужна?

   TrudnyiRebenok

5 — 03.05.18 — 14:30

Кодировка вроде именно эта нужна. В браузере файл открывается без вопросов, а в УТМ видит невалидность. Видно ещё какой-то формат в нем предусмотрен. Знать бы какой, УТМ больше ничего не пишет.

   kupec

6 — 03.05.18 — 14:34

сохранил и открыл в опере

This page contains the following errors:

error on line 2 at column 1: Encoding error

Below is a rendering of the page up to the first error.

   TrudnyiRebenok

7 — 03.05.18 — 14:41

(6) Это текст из документации. У меня в ЕИ открывается без проблем.

   kupec

8 — 03.05.18 — 14:42

(7) да я тупанул, файл был сохранен в другой кодировке, сохранил в УТФ и тоже открылся

   kupec

9 — 03.05.18 — 14:42

а софт какой используешь для отправки?

   TrudnyiRebenok

10 — 03.05.18 — 14:45

(9) УТМ из домашней страницы.

   kupec

11 — 03.05.18 — 14:50

я видно чего то не знаю, а как с домашней страницы можно отправить файл в УТМ? Версия УТМ какая?

   kupec

12 — 03.05.18 — 15:06

+(11) нашел ))

   kupec

13 — 03.05.18 — 15:07

может через УТМ нельзя чек отправлять?

   TrudnyiRebenok

14 — 03.05.18 — 15:43

(13) Может быть. Только вот отправить надо, а как сделать, вот и не знаю. Вижу, что файл такой формировать можно, как отправить? Может кто знает.

   EgaisZavis2

15 — 03.05.18 — 16:17

Отправляй через curl, как в документации написано. Там ничего сложного нет. Просто с домашней страницы файлы отправляются по другому адресу.

  

TrudnyiRebenok

16 — 04.05.18 — 10:33

(15) Благодарю всех за участие. Отправил через curl.

ВНИМАНИЕ! Если вы потеряли окно ввода сообщения, нажмите Ctrl-F5 или Ctrl-R или кнопку «Обновить» в браузере.

Тема не обновлялась длительное время, и была помечена как архивная. Добавление сообщений невозможно.
Но вы можете создать новую ветку и вам обязательно ответят!
Каждый час на Волшебном форуме бывает более 2000 человек.

В данной главе приведены некоторые практические приемы работы с XML-файлами.

Если по каким-то причинам между тегами оказывается символ < или лбой другой управляющий символ (подробнее смотрите Таблица I.1 — Сущности), то при синтаксическом анализе XML-файла возникнет ошибка «Невалидный XML».

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

Примечание

Сообщение о невалидности XML-файла может возникать если после закрывающего родительского тега (см. раздел parrent-tag) находится еще какой-либо текст. В данном случае достаточно удалить все, что идет после закрывающего родительского тега.

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

Теги в структуре XML образуют многострочные блоки. Иногда возникает необходимость удалить ряд целых блоков по заданному условию. В качестве примера будет рассмотрена ситуация с отчетом по НДС.

Для передачи налоговой отчетности по ТКС в контролирующие органы используется XML. Весь учет ведется в одних программах (например, в 1С), затем выгружается из них в xml формате и отправляется по ТКС непосредственно в контролирующие органы.

Из-за несовершенства некоторых программ, периодически возникают проблемы при передаче файлов в контролирующие органы.

Суть проблемы¶

Согласно приказу ФНС от 29 октября 2014 г. N ММВ-7-3/558@ в Книге продаж элемент <СвПокуп> (Сведения о покупателе, его ИНН/КПП) является необязательным, другими словами он может полностью отсутствовать.

Отрывок книги продаж выглядит следующим образом:

<КнПродСтр НомерПор="134" НомСчФПрод="11444" ДатаСчФПрод="27.11.2014" СтоимПродСФ="397917.28" СтоимПродСФ0="397917.28">
    <КодВидОпер>01</КодВидОпер>
    <СвПокуп>
        <СведЮЛ ИННЮЛ="0190670940" КПП="000000000"/>
    </СвПокуп>
</КнПродСтр>
<КнПродСтр НомерПор="135" НомСчФПрод="2332838" ДатаСчФПрод="23.10.2014" СтоимПродСФ="6790000.00" СумНДССФ18="603389.90">
    <КодВидОпер>02</КодВидОпер>
    <СвПокуп>
        <СведЮЛ ИННЮЛ="7743596506" КПП="774301001"/>
    </СвПокуп>
</КнПродСтр>

А нижеприведенный блок в Книге продаж необязателен:

<СвПокуп>
        <СведЮЛ ИННЮЛ="7743596506" КПП="774301001"/>
</СвПокуп>

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

Чтобы обойти эту ошибку пришлось вместо ИНН указать регистрационный номер контрагента в стране регистрации, а вместо КПП указать девять нулей.

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

Проверка файла отчета программой Tester

Проверка файла отчета программой Tester

Примечание

ИНН и КПП это не произвольный набор чисел, они содержат определенные контрольные соотношения.

Теперь следовало вручную исправить XML файл отчета и удалить лишние блоки с фиктивными данными.

Решение проблемы¶

Так как файл содержал свыше 15000 строк и большое количество сделок, надо было автоматизировать данный процесс.

С помощью запроса Xpath и сервиса Xpath-Tester были найдены все сделки с иностранными контрагентами. Запрос имел
вид //СвПокуп[СведЮЛ[@КПП0"000000000"]]. Получилось приличное количество сделок, свыше 200.

Запрос Xpath

Надо было удалить порядка 700 строк, полностью содержащих блоки (причем
с разными псевдо-ИНН):

<СвПокуп>
    <СведЮЛ ИННЮЛ="0291265150" КПП="000000000"/>
</СвПокуп>

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

С этим успешно справилась программа UVFilesCorrector. Интерфейс программы прост до невозможности. В нижней части на вкладке Файлы выбираем нужный нам файл.

В верхнем поле Список замен необходимо нажать на пустое поле и создаем правило для замены. В данном случае оно выглядело так:

На скриншоте видно не все выражение, в поле Что найти: в режиме
Шаблон (регулярное выражение) введено:

<СвПокуп>rn
    <СведЮЛ ИННЮЛ=".........." КПП="000000000"/>rn
 </СвПокуп>

Десять точек в ИННЮЛ=".........." являются регулярным выражением и означают, что на их месте может стоять любой символ. В итоге получилось, что под замену попадали все блоки, имеющие нулевые КПП. Комбинация символов rn также является регулярным выражением и означает перенос строки.

Всего у организации было 14 контрагентов, с которыми в общей сумме было
заключено 266 сделок. Следовательно, после нажатия на кнопку Заменить
получилось 266 замены.

Буквально за один простой шаг по заданному условию было удалено свыше
700 строк. Проверка Tester’ом ошибок не выявила и файл был успешно отправлен в контролирующий орган.

Работа с файлами отчетов Росстата¶

Файлы отчетов Росстата формируются в одну строку, что создает определенные сложности при просмотре в обычных тектовых редакторах.

В отличии, например, от файлов отчетов ФНС.

С файлами Росстата лучше работать с помощью программы XMLPad.

XMLPad имеет несколько режимов отображения:

  1. Стандартный режим (Source) отображения и редактирования кода.

В левой панели отображается структура XML-файла. Значения элементов можно отреактировать напрямую, либо через левую нижнюю панель.

  1. Режим отображения сеткой (Grid).

  1. Табличный вид (Table View).

  1. Режим предпросмотра (Preview).

Господа, прошу помочь с xml, так как я с ним на Вы и шёпотом. Задание: Тестировщики прислали фрагмент лога, содержащий невалидную XML. Нужно исправить ошибки и отформатировать его согласно стандарту. Кроме того, необходимо установить значение ErrorCode = «200», значение ErrorText = «OK».

Подсказка: Для редактирования и валидации XML следует использовать специализированный инструмент. Ниже представлен сам документ:

2016-08-30 02:16:20,952 [stenerThreadPool : 0] [ STANDARD] [ SbrfUclp:01.09.01] ( engine.internal.ServiceHelper) DEBUG JMS|ESBServicePackage|Services|RouteServiceRequest |AAEEFFA6707985389ED029CA9DDBFC86B — Received java.lang.String value ‘<NS1:Envelope xmlns:NS1=»http://sbrf.ru/NCPCA/CRM/TransferReferenceMessageElements/»><NS2:Header xmlns:NS2=»http://sbrf.ru/ESB/mq/headers»><NS2:message-id>9384A3F16E3E11e6B17000144FFBF9B0</NS2:message-id><NS2:request-time>2016-08-29T23:16:10Z</NS2:request-time><NS2:eis-name>urn:sbrfsystems:99-crmcorp</NS2:eis-name><NS2:system-id>urn:sbrfsystems:99-apkkb</NS2:system-id><NS2:operation-name>TransferReferenceRq</NS2:operation-name></NS2:Header><NS1:Body><NS3:TransferReferenceRq xmlns:NS3=»http://sbrf.ru/NCPCA/CRM/TransferReferenceRq/»><NS3: DirectoryData><NS3:ErrorText>Not found</NS3:errortext><NS3:ErrorCode>404</NS3:ErrorCode</NS3: DirectoryData></NS3:TransferReferenceRq></NS1:Body></NS1:Envelope><NS1:Envelope></NS1:Envelope>’, mapping to Clipboard

__________________
Помощь в написании контрольных, курсовых и дипломных работ, диссертаций здесь

Ошибка преобразования данных XML при работе в 1С является стандартной и распространенной ошибкой. При возникновении этой ошибки блокируется дальнейшая работа с документами.

Напомним, что XML это язык программирования, чем-то похожий на HTML. Разница в том, что HTML регламентирует отображение элементов на странице, то есть браузер «считывает» HTML теги и показывает пользователям веб-страницу, согласно тегам. А XML ничего не регламентирует, он только сохраняет и транспортирует информацию. 

Что такое ошибка преобразования данных XML

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

Ошибка преобразования данных XML в 1С: основные причины

Практика показывает, что есть несколько распространенных причин, почему ошибка преобразования данных появляется в 1С:

  1. Иногда ошибка преобразования данных XML возникает по достаточно простой причине, например, из-за того, что в передаваемом документе присутствуют недопустимые символы, а второстепенный узел просто не может их прочитать. Так ли это? Можно проверить на отправляющем узле, если открыть проверку «ВыгрузкаЗагрузкаДанныхXML.epf». Если причина в этом, тогда вы получите соответствующее сообщение. Если сообщения нет, тогда можно искать другие причины и устранять их.

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

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

Заключение

Ошибка преобразования данных XML возникает в 1С нечасто, но в то же время это самый распространенный вид ошибки. Причин возникновения может быть несколько, и о них мы сегодня написали. Все ли причины возникновения ошибки мы перечислили? Нет, не все, но это самые распространенные, которые наиболее часто встречаются на практике.

Ладно. Это второй этап.
Вы написали

«import.xml — товары

offer.xml — предложения, остатки и цены «

Однако В Import (Товар) почему то лежат размеры и цвета, которые относятся именно к товарным предложениям :

<Товар>
<Ид>a5bc2cc6-1938-11e3-a633-8c89a55a8b12#a33a20e0-60c9-11e3-9ee0-8c89a55a8b12</Ид>
<Артикул>8326</Артикул>
<Наименование>Alpha moda 8326 Пальто</Наименование>
<БазоваяЕдиница Код=»796″ НаименованиеПолное=»Штука» МеждународноеСокращение=»PCE»>шт</БазоваяЕдиница>
<ХарактеристикиТовара>
<ХарактеристикаТовара>
<Наименование>Идентификатор комплекта</Наименование>
</ХарактеристикаТовара>
<ХарактеристикаТовара>
<Наименование>Размер</Наименование>
<Значение>S</Значение>
</ХарактеристикаТовара>
<ХарактеристикаТовара>
<Наименование>Размер российский</Наименование>
<Значение>42-44</Значение>
</ХарактеристикаТовара>
<ХарактеристикаТовара>
<Наименование>Цвет</Наименование>
<Значение>бежевый</Значение>
</ХарактеристикаТовара>
<ХарактеристикаТовара>
<Наименование>Цвет поставщика</Наименование>
<Значение>бежевый</Значение>
</ХарактеристикаТовара>
</ХарактеристикиТовара>
<ЗначенияРеквизитов>
<ЗначениеРеквизита>
<Наименование>ВидНоменклатуры</Наименование>
<Значение>Товар</Значение>
</ЗначениеРеквизита>
<ЗначениеРеквизита>
<Наименование>ТипНоменклатуры</Наименование>
<Значение>Товар</Значение>
</ЗначениеРеквизита>
<ЗначениеРеквизита>
<Наименование>Полное наименование</Наименование>
<Значение>Alpha moda 8326 Пальто</Значение>
</ЗначениеРеквизита>
</ЗначенияРеквизитов>
<СтавкиНалогов>
<СтавкаНалога>
<Наименование>НДС</Наименование>
<Ставка>18</Ставка>
</СтавкаНалога>
</СтавкиНалогов>
<Группы>
<Ид>8f426033-a103-11e2-ab6e-8c89a55a8b12</Ид>
</Группы>
<Описание>пальто</Описание>
<Картинка>import_files/a5/a5bc2cc6-1938-11e3-a633-8c89a55a8b12.jpeg</Картинка>
<ЗначенияСвойств>
<ЗначенияСвойства>
<Ид>72889fc1-e6ac-11e1-9eb0-001cc0756924</Ид>
<Значение>Пальто</Значение>
</ЗначенияСвойства>
<ЗначенияСвойства>
<Ид>72889fc6-e6ac-11e1-9eb0-001cc0756924</Ид>
<Значение>70% полиестр 30% шерсть</Значение>
</ЗначенияСвойства>
<ЗначенияСвойства>
<Ид>72889fc7-e6ac-11e1-9eb0-001cc0756924</Ид>
<Значение>01.01.0001 0:00:00</Значение>
</ЗначенияСвойства>
</ЗначенияСвойств>
</Товар>

А в Offer.xml (товарных предложениях ) почему то лежат цены, хотя они относятся не к товарным предложениям а к товару.

<Предложения>

<Предложение>

<Ид>
a5bc2cbb-1938-11e3-a633-8c89a55a8b12#a33a20de-60c9-11e3-9ee0-8c89a55a8b12
</Ид>

<Артикул>81120</Артикул>
<Наименование>Alpha moda 81120 Пальто</Наименование>
<БазоваяЕдиница Код=»796″ НаименованиеПолное=»Штука» МеждународноеСокращение=»PCE»>шт</БазоваяЕдиница>

<Цены>

<Цена>
<Представление>4 490 RUB за шт</Представление>
<ИдТипаЦены>c8a4e547-1f4f-11e2-bce0-001cc0756924</ИдТипаЦены>
<ЦенаЗаЕдиницу>4490</ЦенаЗаЕдиницу>
<Валюта>RUB</Валюта>
<Единица>шт</Единица>
<Коэффициент>1</Коэффициент>
</Цена>

<Цена>
<Представление>4 490 RUB за шт</Представление>
<ИдТипаЦены>62de2028-1e85-11e2-bce0-001cc0756924</ИдТипаЦены>
<ЦенаЗаЕдиницу>4490</ЦенаЗаЕдиницу>
<Валюта>RUB</Валюта>
<Единица>шт</Единица>
<Коэффициент>1</Коэффициент>
</Цена>

<Цена>
<Представление>3 500 RUB за шт</Представление>
<ИдТипаЦены>c226713d-1ddf-11e2-bce0-001cc0756924</ИдТипаЦены>
<ЦенаЗаЕдиницу>3500</ЦенаЗаЕдиницу>
<Валюта>RUB</Валюта>
<Единица>шт</Единица>
<Коэффициент>1</Коэффициент>

</Цена>

</Цены>

<Количество>5</Количество>

</Предложение>

При импорте информации о заказах из 1С в Bitrix, скрипт выдает ошибку «Невалидная версия XML» (стандартный скрипт импорта Bitrix). Насколько понял по коду, он ожидает CommerceML 2.x, у меня же из 1С приходит 3.1. Притом, и 1С, и модуль интернет-магазина в Bitrix, насколько я знаю, обновлены до последних версий. Кто-нибудь сталкивался с подобной проблемой? Как с этим бороться?


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

    более трёх лет назад

  • 148 просмотров

Никита-Романов

— BETA VERS, подскажите какую версию XML он от меня ожидает? Пытаюсь ему стандартный import.xml из 1С скормить — ругается на формат файла

russian

software

it

bitrix

07:34 17.07.2020


1

ответов

Точнее вот так — Ошибки при выполнении операции:
Невалидная версия формата XML

07:35 17.07.2020

Похожие вопросы

Студворк — интернет-сервис помощи студентам

Господа, прошу помочь с xml, так как я с ним на Вы и шёпотом. Задание: Тестировщики прислали фрагмент лога, содержащий невалидную XML. Нужно исправить ошибки и отформатировать его согласно стандарту. Кроме того, необходимо установить значение ErrorCode = «200», значение ErrorText = «OK».

Подсказка: Для редактирования и валидации XML следует использовать специализированный инструмент. Ниже представлен сам документ:

2016-08-30 02:16:20,952 [stenerThreadPool : 0] [ STANDARD] [ SbrfUclp:01.09.01] ( engine.internal.ServiceHelper) DEBUG JMS|ESBServicePackage|Services|RouteServiceRequest|AAEEFFA6707985389ED029CA9DDBF C86B — Received java.lang.String value ‘<NS1:Envelope xmlns:NS1=»http://sbrf.ru/NCPCA/CRM/TransferReferenceMessageElements/»><NS2:Header xmlns:NS2=»http://sbrf.ru/ESB/mq/headers»><NS2:message-id>9384A3F16E3E11e6B17000144FFBF9B0</NS2:message-id><NS2:request-time>2016-08-29T23:16:10Z</NS2:request-time><NS2:eis-name>urn:sbrfsystems:99-crmcorp</NS2:eis-name><NS2:system-id>urn:sbrfsystems:99-apkkb</NS2:system-id><NS2:operation-name>TransferReferenceRq</NS2:operation-name></NS2:Header><NS1:Body><NS3:TransferReferenceRq xmlns:NS3=»http://sbrf.ru/NCPCA/CRM/TransferReferenceRq/»><NS3: DirectoryData><NS3:ErrorText>Not found</NS3:errortext><NS3:ErrorCode>404</NS3:ErrorCode</NS3: DirectoryData></NS3:TransferReferenceRq></NS1:Body></NS1:Envelope><NS1:Envelope></NS1:Envelope>’, mapping to Clipboard

Обсуждают сегодня

Расскажите, как вразумительно сохранить проекты и вложения к ним?

Если Оду вдруг загрустит, то как восстанавливается это всё потом?

Вложения лежат в filestore или в базе дан…


Roman


37

Привет! Как реализовать паттерн outbox, когда есть 2 реплики его читающие?

Есть 2 го сервиса, которые вычитывают outbox табличку и создают ивенты. Но т.к. реплики 2, то кажда…


Rostislav Teryaev


30

Что делаете с подобным ?


Gonchik Tsymzhitov


25

Как я понял MVC примерно так работает, да?


.


22

С чем такая хрень может быть связана? Мускул запущен и работает


Роман Праслов


20

Здравствуйте. Посоветуйте плиз.
Есть статистика посещений, храним ее в Elasticsearch (но полнотекстовый поиск не используется). 1 день = 1 индекс,параметров около 20, потом к…


Павел Г.


20

а что вы имеете в виду под локами?


capybara


19

Ребят, я возможно отстал от поезда, подскажите по поводу синхронной репикации. Я правильно понимаю, что настройка самой репликации в box.cfg аналогична по параметрам асинхронн…


Dmitry Lukovkin


17

А какие можно пет проекты сделать на go?

Кто то что то пишет сейчас?


saddam hussein 🇮🇶


17

Приветствую. Подскажите пожалуйста есть ли возможность сформировать https ссылку на конкретное изменение определенного коммита в репозитории? Чтобы, к примеру, пользоваться эт…


sol4rinn


16

На чтение 4 мин Опубликовано Обновлено

XML (eXtensible Markup Language) — это язык разметки, используемый для хранения и передачи структурированных данных. Он широко используется в различных областях, таких как веб-разработка, обмен данных, настройка программного обеспечения и других. Однако при работе с XML-документами могут возникать различные ошибки, которые могут затруднить выполнение операции.

Одной из распространенных ошибок является невалидная версия формата XML. Это означает, что XML-документ не соответствует стандарту версии XML, определенному W3C (World Wide Web Consortium). Как правило, валидная версия XML должна быть указана в начале документа, используя атрибут version.

Чтобы исправить эту ошибку, необходимо проверить версию XML-документа и убедиться, что она соответствует одной из валидных версий. Версии XML указываются в формате «1.0» или «1.1». Если версия не указана вовсе или указана некорректно, необходимо внести соответствующие изменения, чтобы указать верную версию XML.

Важно отметить, что версия XML может отличаться в зависимости от потребностей или требований системы, с которой вы работаете. Поэтому перед внесением изменений всегда рекомендуется ознакомиться с документацией или обратиться к специалистам, чтобы убедиться, что выбранная версия является правильной.

Частая ошибка: невалидная версия формата XML

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

Если вы столкнулись с ошибкой «Невалидная версия формата XML», вам потребуется выполнить ряд действий, чтобы ее исправить:

  1. Проверьте версию XML-документа. Убедитесь, что указана поддерживаемая версия формата XML. Версия обычно указывается в самом начале XML-документа, в декларации ‘‘. Если версия указана неверно или отсутствует, исправьте или добавьте правильную версию. Например, ‘‘.
  2. Проверьте структуру XML-документа. Убедитесь, что все теги корректно закрыты и расположены вложенными друг в друга. Проверьте наличие открывающих и закрывающих тегов. Используйте отступы и форматирование, чтобы легче проследить структуру документа.
  3. Убедитесь, что используется правильная кодировка. Проверьте, что XML-документ сохранен в правильной кодировке, например, UTF-8. Проверьте указание кодировки в декларации ‘‘. Если указана неправильная кодировка, исправьте ее на правильную.
  4. Проверьте наличие недопустимых символов. XML-документ не должен содержать недопустимые символы, такие как управляющие символы или символы, зарезервированные для использования в XML. Проверьте документ на наличие таких символов и удалите их.
  5. Используйте валидатор XML. Инструменты валидации XML, такие как XML-валидаторы, помогут вам проверить XML-документ на соответствие стандарту и обнаружить возможные ошибки. Используйте валидатор XML для проверки вашего документа и исправления ошибок.

Исправление ошибки «Невалидная версия формата XML» может потребовать некоторых усилий и внимания со стороны разработчика. Однако следуя вышеперечисленным шагам, вы сможете диагностировать и устранить возникшую проблему. Будьте внимательны при работе с XML и следуйте стандартам, чтобы избежать подобных ошибок.

Как исправить ошибку с невалидной версией XML

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

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

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

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

В данной главе приведены некоторые практические приемы работы с XML-файлами.

Исправление невалидных XML-файлов¶

Если по каким-то причинам между тегами оказывается символ < или лбой другой управляющий символ (подробнее смотрите Таблица I.1 — Сущности), то при синтаксическом анализе XML-файла возникнет ошибка «Невалидный XML».

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

Примечание

Сообщение о невалидности XML-файла может возникать если после закрывающего родительского тега (см. раздел parrent-tag) находится еще какой-либо текст. В данном случае достаточно удалить все, что идет после закрывающего родительского тега.

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

Удаление лишних блоков(абзацев) из XML по заданному условию¶

Теги в структуре XML образуют многострочные блоки. Иногда возникает необходимость удалить ряд целых блоков по заданному условию. В качестве примера будет рассмотрена ситуация с отчетом по НДС.

Для передачи налоговой отчетности по ТКС в контролирующие органы используется XML. Весь учет ведется в одних программах (например, в 1С), затем выгружается из них в xml формате и отправляется по ТКС непосредственно в контролирующие органы.

Из-за несовершенства некоторых программ, периодически возникают проблемы при передаче файлов в контролирующие органы.

Суть проблемы¶

Согласно приказу ФНС от 29 октября 2014 г. N ММВ-7-3/558@ в Книге продаж элемент <СвПокуп> (Сведения о покупателе, его ИНН/КПП) является необязательным, другими словами он может полностью отсутствовать.

Отрывок книги продаж выглядит следующим образом:

<КнПродСтр НомерПор="134" НомСчФПрод="11444" ДатаСчФПрод="27.11.2014" СтоимПродСФ="397917.28" СтоимПродСФ0="397917.28">
    <КодВидОпер>01</КодВидОпер>
    <СвПокуп>
        <СведЮЛ ИННЮЛ="0190670940" КПП="000000000"/>
    </СвПокуп>
</КнПродСтр>
<КнПродСтр НомерПор="135" НомСчФПрод="2332838" ДатаСчФПрод="23.10.2014" СтоимПродСФ="6790000.00" СумНДССФ18="603389.90">
    <КодВидОпер>02</КодВидОпер>
    <СвПокуп>
        <СведЮЛ ИННЮЛ="7743596506" КПП="774301001"/>
    </СвПокуп>
</КнПродСтр>

А нижеприведенный блок в Книге продаж необязателен:

<СвПокуп>
        <СведЮЛ ИННЮЛ="7743596506" КПП="774301001"/>
</СвПокуп>

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

Чтобы обойти эту ошибку пришлось вместо ИНН указать регистрационный номер контрагента в стране регистрации, а вместо КПП указать девять нулей.

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

Проверка файла отчета программой Tester

Проверка файла отчета программой Tester

Примечание

ИНН и КПП это не произвольный набор чисел, они содержат определенные контрольные соотношения.

Теперь следовало вручную исправить XML файл отчета и удалить лишние блоки с фиктивными данными.

Решение проблемы¶

Так как файл содержал свыше 15000 строк и большое количество сделок, надо было автоматизировать данный процесс.

С помощью запроса Xpath и сервиса Xpath-Tester были найдены все сделки с иностранными контрагентами. Запрос имел
вид //СвПокуп[СведЮЛ[@КПП0"000000000"]]. Получилось приличное количество сделок, свыше 200.

Запрос Xpath

Надо было удалить порядка 700 строк, полностью содержащих блоки (причем
с разными псевдо-ИНН):

<СвПокуп>
    <СведЮЛ ИННЮЛ="0291265150" КПП="000000000"/>
</СвПокуп>

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

С этим успешно справилась программа UVFilesCorrector. Интерфейс программы прост до невозможности. В нижней части на вкладке Файлы выбираем нужный нам файл.

В верхнем поле Список замен необходимо нажать на пустое поле и создаем правило для замены. В данном случае оно выглядело так:

На скриншоте видно не все выражение, в поле Что найти: в режиме
Шаблон (регулярное выражение) введено:

<СвПокуп>\r\n
    <СведЮЛ ИННЮЛ=".........." КПП="000000000"/>\r\n
 </СвПокуп>

Десять точек в ИННЮЛ=".........." являются регулярным выражением и означают, что на их месте может стоять любой символ. В итоге получилось, что под замену попадали все блоки, имеющие нулевые КПП. Комбинация символов \r\n также является регулярным выражением и означает перенос строки.

Всего у организации было 14 контрагентов, с которыми в общей сумме было
заключено 266 сделок. Следовательно, после нажатия на кнопку Заменить
получилось 266 замены.

Буквально за один простой шаг по заданному условию было удалено свыше
700 строк. Проверка Tester’ом ошибок не выявила и файл был успешно отправлен в контролирующий орган.

Работа с файлами отчетов Росстата¶

Файлы отчетов Росстата формируются в одну строку, что создает определенные сложности при просмотре в обычных тектовых редакторах.

В отличии, например, от файлов отчетов ФНС.

С файлами Росстата лучше работать с помощью программы XMLPad.

XMLPad имеет несколько режимов отображения:

  1. Стандартный режим (Source) отображения и редактирования кода.

В левой панели отображается структура XML-файла. Значения элементов можно отреактировать напрямую, либо через левую нижнюю панель.

  1. Режим отображения сеткой (Grid).

  1. Табличный вид (Table View).

  1. Режим предпросмотра (Preview).

При отправке xml-чека в ЕГАИС по УТМ пишет Невалидный xml документ ☑ 0

TrudnyiRebenok

03.05.18

13:32

Файл сделал по этой инструкции рук.по эскпл. УТМ

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

<Cheque

inn=»7726015994″

datetime=»1211151723″

kpp=»772401001″

kassa=»45664″

address=»г. Москва, ул. Никопольская,4″

name=»Гармония»

number=»45″

shift=»1″

>

<Bottle barcode=»16N00001CJPFO4450G71NSP20905004004797o326811691897119682191882211821″

ean=»177736216338″ price=»150.00″ volume=»1.0000″/>

<Bottle

barcode=»19N00000XOPN13MM66T0HVF311220130003476539219152175585956302712947109″

ean=»177736216338″ price=»123.45″ volume=»0.7500″ />

</Cheque>»

Вставил, соответственно, своё название магазина, его данные и все данные чека, соблюдая все форматы, однако…

Пишет: Невалидный xml документ

В чем может быть причина?

1

pablo_escobar

03.05.18

13:44

А кавычки в начале и конце в файле тоже есть?

2

TrudnyiRebenok

03.05.18

14:06

(1) Нет конечно, это я тут поставил, чтобы отделить.

3

TrudnyiRebenok

03.05.18

14:07

Адрес взят из одного из предыдущий файлов, так же как и наименование магазина. Все данные чека, всё как по нотам, что надо?

4

TrudnyiRebenok

03.05.18

14:09

Единственное, я взял данные из 1с розница, из одного из прошлых чеков. Только кодировки я там не вижу, поставил UTF-8, файл сформирован в 1с с сохранением в этой кодировке. Может какая другая нужна?

5

TrudnyiRebenok

03.05.18

14:30

Кодировка вроде именно эта нужна. В браузере файл открывается без вопросов, а в УТМ видит невалидность. Видно ещё какой-то формат в нем предусмотрен. Знать бы какой, УТМ больше ничего не пишет.

6

kupec

03.05.18

14:34

сохранил и открыл в опере

This page contains the following errors:

error on line 2 at column 1: Encoding error

Below is a rendering of the page up to the first error.

7

TrudnyiRebenok

03.05.18

14:41

(6) Это текст из документации. У меня в ЕИ открывается без проблем.

8

kupec

03.05.18

14:42

(7) да я тупанул, файл был сохранен в другой кодировке, сохранил в УТФ и тоже открылся

9

kupec

03.05.18

14:42

а софт какой используешь для отправки?

10

TrudnyiRebenok

03.05.18

14:45

(9) УТМ из домашней страницы.

11

kupec

03.05.18

14:50

я видно чего то не знаю, а как с домашней страницы можно отправить файл в УТМ? Версия УТМ какая?

12

kupec

03.05.18

15:06

+(11) нашел ))

13

kupec

03.05.18

15:07

может через УТМ нельзя чек отправлять?

14

TrudnyiRebenok

03.05.18

15:43

(13) Может быть. Только вот отправить надо, а как сделать, вот и не знаю. Вижу, что файл такой формировать можно, как отправить? Может кто знает.

15

EgaisZavis2

03.05.18

16:17

Отправляй через curl, как в документации написано. Там ничего сложного нет. Просто с домашней страницы файлы отправляются по другому адресу.

16

TrudnyiRebenok

04.05.18

10:33

(15) Благодарю всех за участие. Отправил через curl.

Понравилась статья? Поделить с друзьями:
  • Ошибки при выборе шкафа
  • Ошибки при выполнении окрашивания волос перманентными красителями
  • Ошибки при выборе системы налогообложения
  • Ошибки при выполнении метания гранаты
  • Ошибки при выполнении мелирования волос