Пользователь 258321 Заглянувший Сообщений: 42 |
Подскажите, только разбираюсь с импортом данных из 1с в Битрикс. Можно ли указывать в 1с какие поля мы хотим выгрузить? Я вижу только фильтры срезов данных для выгрузки. Заранее спасибо |
Пользователь 247005 Постоянный посетитель Сообщений: 125 |
import.xml — товары offer.xml — предложения, остатки и цены Подробного описание нет, но в принципе там так половина понятна. И ещё ползуйтесь модулем от Битрикса, типовой обмен очень ограничен. |
Пользователь 258321 Заглянувший Сообщений: 42 |
|
Пользователь 247005 Постоянный посетитель Сообщений: 125 |
|
Пользователь 258321 Заглянувший Сообщений: 42 |
|
Пользователь 258321 Заглянувший Сообщений: 42 |
не пойму где модуль сам????? наживаешь тестировать и вываливается просто Битрикс и его редакции |
Пользователь 258321 Заглянувший Сообщений: 42 |
И главное в чем разница от того что просто руками вгружаем. Что он делает и как посмотреть разницу. И сколько стоит? не поймешь тут на сайте. |
Пользователь 258321 Заглянувший Сообщений: 42 |
Подскажите. Запуталась. Нажимаю. тестировать и далее по ссылка на редакции и демо версию попадаю уже в саму систему. Где то надстройка то? Или это просто услуги предлагают |
Пользователь 247005 Постоянный посетитель Сообщений: 125 |
|
Пользователь 258321 Заглянувший Сообщений: 42 |
#10 0 26.05.2014 17:10:17 Ладно. Это второй этап. «import.xml — товары offer.xml — предложения, остатки и цены « Однако В Import (Товар) почему то лежат размеры и цвета, которые относятся именно к товарным предложениям : <Товар> А в Offer.xml (товарных предложениях ) почему то лежат цены, хотя они относятся не к товарным предложениям а к товару. <Предложения> <Предложение> <Ид> <Артикул>81120</Артикул> <Цены> <Цена> <Цена> <Цена> </Цена> </Цены> <Количество>5</Количество> </Предложение> |
Пользователь 247005 Постоянный посетитель Сообщений: 125 |
#11 0 26.05.2014 17:41:54 По свойствам я не помню, они у вас точно только на характеристики в 1С заданы? Но возможно они для товары выгружаются. Ну и на каждый товар, при выгрузки создается предложение с ценами и остатками. Это один из поводов не использовать типовой обмен. |
Пользователь 258321 Заглянувший Сообщений: 42 |
#12 0 27.05.2014 15:57:40 Спасибо! Выгружаю пока xml. При попытке занянуть этот xml в битрикс выдает Невалидная версия формата XML. С свойствах лежит то, что на закладке свойства в 1с НО !! все наши свойства ( или реквизиты товара) лежат в 1с на закладке Дополнительно. Я нашла в конфигураторе в этих справочниках галочку что то типа использовать для обмена с web сайтом, установила. Но все равно в xml ничего нет. Только эти характеристики и свойства. Как вообще правильно настроить эту всю историю обмена, когда уже есть работающий 1с и мы только создаем сайт на битриксе. ЗАРАНЕЕ большое спасибо! |
Пользователь 247005 Постоянный посетитель Сообщений: 125 |
#13 0 27.05.2014 16:27:05 Из 1с выгружаются только свойства и основные реквизиты. И выгружать нужно сразу на сайт. Из хмл не грузится. Чтобы авгружать что то своё нужно дописовать обмен. |
Пользователь 258321 Заглянувший Сообщений: 42 |
#14 0 27.05.2014 16:40:45 Спасибо! Дописать обмен на какой стороне? На стороне 1С? Каким образом? То есть, уточняю, даже если установить модуль обмена, то все равно создается xml из данных закладок ПО УМОЛЧАНИЮ и СВОЙСТВА? Чтобы грузить сразу на сайт. нужно создать все свойства в Битриксе или сам он создаст? |
Пользователь 247005 Постоянный посетитель Сообщений: 125 |
#15 0 27.05.2014 17:43:46
Ну это зависит от вас, что вы знаете php или 1С. Я допиливал 1С.
Надо как то с терминологией определится, Не понятно, что у вас за данные в закладках.
Ни чего создавать не надо! Задвоится. Все загрузится само. ___ |
||||||
Александр Денисюк
Администратор Сообщений: 4916 |
#16 0 27.05.2014 18:59:30
import — товары
Создаются. |
||||
Пользователь 247005 Постоянный посетитель Сообщений: 125 |
#17 0 28.05.2014 07:31:29 Тут речь пока вроде про встроенный в 1С обмен идет или уже про модуль от Битрикса? |
Пользователь 258321 Заглянувший Сообщений: 42 |
#18 0 29.05.2014 14:25:11 Спасибо за ответы. Я смотрю пока типовой функционал выгрузки.
Так и я не копаю Битриксовский, смотрю только типовой функционал в 1C. Основные реквизиты это какие? Вот закладки 1с Закладка первая ‘по умолчанию’ Закладка свойства- отсюда используется нами только 3 поля. Закладка ‘Характеристики’, отсюда формируются товарные предложения. Закладка ‘Доп аналитика’, именно здесь хранятся основные свойства, которые мы не используем.
На счет загрузится само, а когда повторно будет вгружаться не буцдет же создаваться свойства, то есть он просто помечает как то их что они из 1с? Спасибо! |
||||
Пользователь 247005 Постоянный посетитель Сообщений: 125 |
#19 0 29.05.2014 15:12:06
Связь осуществляется по идентификатору УИД, в Битриксе он записывается в поле XML_ID.
http://dev.1c-bitrix.ru/learning/course/index.php?COURSE_ID=42&CHAPTER_ID=1158 Вот тут почитайте все написано. По поводу закладок: Выгрузятся характеристики и все свойства. Вот только для характеристик в Рознице свойства не выгружались, а значит связать товар и торговое предложение в Битрикс не получалось. __ |
||||
Пользователь 258321 Заглянувший Сообщений: 42 |
#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)}: Переменная не определена (ПроцедурыОбменаДаннымиКлиент) Ждем программистов 1с. |
Пользователь 247005 Постоянный посетитель Сообщений: 125 |
#21 0 04.06.2014 16:48:45
Возможно это из того, что версия Торговли не совпадает, придется частично хотя бы обновлять. |
||
Пользователь 258321 Заглянувший Сообщений: 42 |
#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 |
#23 0 04.06.2014 18:18:12 Что-то судя по версиям эта информация более чем годовалой давности. |
Пользователь 116646 Эксперт Сообщений: 650 |
#24 0 05.06.2014 09:15:45 Касаемо требований со стороны 1С не значит, что модуль для актуальных версий подойдет, будет успешно интегрирован и так же успешно работать. По поводу версии 10.3.2.4 вероятнее всего было указано, что начиная с этой версии имеется штатный обмен данными с сайтом (хотя это спорный вопрос). Следовательно, нужно актуальный модуль адаптировать для вашей версии конфигурации (не важно, типовой или нет). Так что про программиста 1С у вас начали правильно уточнять Всем несогласным — мыло и веревка! |
Пользователь 258321 Заглянувший Сообщений: 42 |
#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
Примечание
ИНН и КПП это не произвольный набор чисел, они содержат определенные контрольные соотношения.
Теперь следовало вручную исправить XML файл отчета и удалить лишние блоки с фиктивными данными.
Решение проблемы¶
Так как файл содержал свыше 15000 строк и большое количество сделок, надо было автоматизировать данный процесс.
С помощью запроса Xpath и сервиса Xpath-Tester были найдены все сделки с иностранными контрагентами. Запрос имел
вид //СвПокуп[СведЮЛ[@КПП0"000000000"]]
. Получилось приличное количество сделок, свыше 200.
Надо было удалить порядка 700 строк, полностью содержащих блоки (причем
с разными псевдо-ИНН):
<СвПокуп> <СведЮЛ ИННЮЛ="0291265150" КПП="000000000"/> </СвПокуп>
Большинство программ умеет искать и заменять максимум одну строку на
другую. В данном случае надо было искать и заменять блок текста из трех
строк.
С этим успешно справилась программа UVFilesCorrector. Интерфейс программы прост до невозможности. В нижней части на вкладке Файлы выбираем нужный нам файл.
В верхнем поле Список замен необходимо нажать на пустое поле и создаем правило для замены. В данном случае оно выглядело так:
На скриншоте видно не все выражение, в поле Что найти: в режиме
Шаблон (регулярное выражение) введено:
<СвПокуп>rn <СведЮЛ ИННЮЛ=".........." КПП="000000000"/>rn </СвПокуп>
Десять точек в ИННЮЛ=".........."
являются регулярным выражением и означают, что на их месте может стоять любой символ. В итоге получилось, что под замену попадали все блоки, имеющие нулевые КПП. Комбинация символов rn
также является регулярным выражением и означает перенос строки.
Всего у организации было 14 контрагентов, с которыми в общей сумме было
заключено 266 сделок. Следовательно, после нажатия на кнопку Заменить
получилось 266 замены.
Буквально за один простой шаг по заданному условию было удалено свыше
700 строк. Проверка Tester’ом ошибок не выявила и файл был успешно отправлен в контролирующий орган.
Работа с файлами отчетов Росстата¶
Файлы отчетов Росстата формируются в одну строку, что создает определенные сложности при просмотре в обычных тектовых редакторах.
В отличии, например, от файлов отчетов ФНС.
С файлами Росстата лучше работать с помощью программы XMLPad.
XMLPad имеет несколько режимов отображения:
- Стандартный режим (Source) отображения и редактирования кода.
В левой панели отображается структура XML-файла. Значения элементов можно отреактировать напрямую, либо через левую нижнюю панель.
- Режим отображения сеткой (Grid).
- Табличный вид (Table View).
- Режим предпросмотра (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С:
Иногда ошибка преобразования данных XML возникает по достаточно простой причине, например, из-за того, что в передаваемом документе присутствуют недопустимые символы, а второстепенный узел просто не может их прочитать. Так ли это? Можно проверить на отправляющем узле, если открыть проверку «ВыгрузкаЗагрузкаДанныхXML.epf». Если причина в этом, тогда вы получите соответствующее сообщение. Если сообщения нет, тогда можно искать другие причины и устранять их.
Технические неполадки в файловой системе. Ошибка появляется, потому что XML-файл не может быть прочитан. Такая проблема может быть связана с неправильным именем передаваемого файла, то есть узел-получатель не может прочитать имя передаваемого файла. Чтобы устранить эту причину, нужно на узле-отправителе поменять имя у передаваемого файла и отправить его еще раз. Если ошибка преобразования данных XML была из-за имени, тогда после переименования она устранится.
Не соответствуют метаданные между узлом—отправителем и узлом—получателем. Важно помнить, что безошибочная передача данных 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», вам потребуется выполнить ряд действий, чтобы ее исправить:
- Проверьте версию XML-документа. Убедитесь, что указана поддерживаемая версия формата XML. Версия обычно указывается в самом начале XML-документа, в декларации ‘‘. Если версия указана неверно или отсутствует, исправьте или добавьте правильную версию. Например, ‘‘.
- Проверьте структуру XML-документа. Убедитесь, что все теги корректно закрыты и расположены вложенными друг в друга. Проверьте наличие открывающих и закрывающих тегов. Используйте отступы и форматирование, чтобы легче проследить структуру документа.
- Убедитесь, что используется правильная кодировка. Проверьте, что XML-документ сохранен в правильной кодировке, например, UTF-8. Проверьте указание кодировки в декларации ‘‘. Если указана неправильная кодировка, исправьте ее на правильную.
- Проверьте наличие недопустимых символов. XML-документ не должен содержать недопустимые символы, такие как управляющие символы или символы, зарезервированные для использования в XML. Проверьте документ на наличие таких символов и удалите их.
- Используйте валидатор XML. Инструменты валидации XML, такие как XML-валидаторы, помогут вам проверить XML-документ на соответствие стандарту и обнаружить возможные ошибки. Используйте валидатор XML для проверки вашего документа и исправления ошибок.
Исправление ошибки «Невалидная версия формата XML» может потребовать некоторых усилий и внимания со стороны разработчика. Однако следуя вышеперечисленным шагам, вы сможете диагностировать и устранить возникшую проблему. Будьте внимательны при работе с XML и следуйте стандартам, чтобы избежать подобных ошибок.
Как исправить ошибку с невалидной версией XML
Ошибка с невалидной версией формата XML может возникнуть при попытке выполнить операцию с XML-файлом, если он содержит некорректную версию или форматирование. Эта ошибка может привести к неработоспособности программы или неправильному отображению данных.
Для исправления ошибки с невалидной версией XML рекомендуется выполнить следующие шаги:
- Проверьте версию XML-файла: убедитесь, что файл имеет версию XML, которая соответствует требованиям программы или библиотеки, с которой вы работаете. Если файл содержит устаревшую версию, необходимо обновить его до совместимой версии.
- Проверьте правильность форматирования XML-файла: откройте файл в текстовом редакторе и убедитесь, что все теги и атрибуты правильно расставлены и закрыты. Ошибки форматирования, такие как неправильное закрытие тегов или отсутствие закрывающих скобок, могут привести к ошибке с невалидной версией XML.
- Используйте проверку синтаксиса XML: существуют специальные инструменты, такие как XML валидаторы, которые позволяют проверить синтаксис и структуру XML-файла. Вы можете воспользоваться такими инструментами, чтобы найти и исправить любые ошибки, которые могут привести к ошибке с невалидной версией XML.
- Обратитесь за помощью к разработчикам программы или библиотеки: если вы не можете самостоятельно исправить ошибку с невалидной версией 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
Примечание
ИНН и КПП это не произвольный набор чисел, они содержат определенные контрольные соотношения.
Теперь следовало вручную исправить XML файл отчета и удалить лишние блоки с фиктивными данными.
Решение проблемы¶
Так как файл содержал свыше 15000 строк и большое количество сделок, надо было автоматизировать данный процесс.
С помощью запроса Xpath и сервиса Xpath-Tester были найдены все сделки с иностранными контрагентами. Запрос имел
вид //СвПокуп[СведЮЛ[@КПП0"000000000"]]
. Получилось приличное количество сделок, свыше 200.
Надо было удалить порядка 700 строк, полностью содержащих блоки (причем
с разными псевдо-ИНН):
<СвПокуп> <СведЮЛ ИННЮЛ="0291265150" КПП="000000000"/> </СвПокуп>
Большинство программ умеет искать и заменять максимум одну строку на
другую. В данном случае надо было искать и заменять блок текста из трех
строк.
С этим успешно справилась программа UVFilesCorrector. Интерфейс программы прост до невозможности. В нижней части на вкладке Файлы выбираем нужный нам файл.
В верхнем поле Список замен необходимо нажать на пустое поле и создаем правило для замены. В данном случае оно выглядело так:
На скриншоте видно не все выражение, в поле Что найти: в режиме
Шаблон (регулярное выражение) введено:
<СвПокуп>\r\n <СведЮЛ ИННЮЛ=".........." КПП="000000000"/>\r\n </СвПокуп>
Десять точек в ИННЮЛ=".........."
являются регулярным выражением и означают, что на их месте может стоять любой символ. В итоге получилось, что под замену попадали все блоки, имеющие нулевые КПП. Комбинация символов \r\n
также является регулярным выражением и означает перенос строки.
Всего у организации было 14 контрагентов, с которыми в общей сумме было
заключено 266 сделок. Следовательно, после нажатия на кнопку Заменить
получилось 266 замены.
Буквально за один простой шаг по заданному условию было удалено свыше
700 строк. Проверка Tester’ом ошибок не выявила и файл был успешно отправлен в контролирующий орган.
Работа с файлами отчетов Росстата¶
Файлы отчетов Росстата формируются в одну строку, что создает определенные сложности при просмотре в обычных тектовых редакторах.
В отличии, например, от файлов отчетов ФНС.
С файлами Росстата лучше работать с помощью программы XMLPad.
XMLPad имеет несколько режимов отображения:
- Стандартный режим (Source) отображения и редактирования кода.
В левой панели отображается структура XML-файла. Значения элементов можно отреактировать напрямую, либо через левую нижнюю панель.
- Режим отображения сеткой (Grid).
- Табличный вид (Table View).
- Режим предпросмотра (Preview).
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
03.05.18
✎
13:44
А кавычки в начале и конце в файле тоже есть?
TrudnyiRebenok
03.05.18
✎
14:06
(1) Нет конечно, это я тут поставил, чтобы отделить.
TrudnyiRebenok
03.05.18
✎
14:07
Адрес взят из одного из предыдущий файлов, так же как и наименование магазина. Все данные чека, всё как по нотам, что надо?
TrudnyiRebenok
03.05.18
✎
14:09
Единственное, я взял данные из 1с розница, из одного из прошлых чеков. Только кодировки я там не вижу, поставил UTF-8, файл сформирован в 1с с сохранением в этой кодировке. Может какая другая нужна?
TrudnyiRebenok
03.05.18
✎
14:30
Кодировка вроде именно эта нужна. В браузере файл открывается без вопросов, а в УТМ видит невалидность. Видно ещё какой-то формат в нем предусмотрен. Знать бы какой, УТМ больше ничего не пишет.
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.
TrudnyiRebenok
03.05.18
✎
14:41
(6) Это текст из документации. У меня в ЕИ открывается без проблем.
kupec
03.05.18
✎
14:42
(7) да я тупанул, файл был сохранен в другой кодировке, сохранил в УТФ и тоже открылся
kupec
03.05.18
✎
14:42
а софт какой используешь для отправки?
TrudnyiRebenok
03.05.18
✎
14:45
(9) УТМ из домашней страницы.
kupec
03.05.18
✎
14:50
я видно чего то не знаю, а как с домашней страницы можно отправить файл в УТМ? Версия УТМ какая?
kupec
03.05.18
✎
15:06
+(11) нашел ))
kupec
03.05.18
✎
15:07
может через УТМ нельзя чек отправлять?
TrudnyiRebenok
03.05.18
✎
15:43
(13) Может быть. Только вот отправить надо, а как сделать, вот и не знаю. Вижу, что файл такой формировать можно, как отправить? Может кто знает.
EgaisZavis2
03.05.18
✎
16:17
Отправляй через curl, как в документации написано. Там ничего сложного нет. Просто с домашней страницы файлы отправляются по другому адресу.
TrudnyiRebenok
04.05.18
✎
10:33
(15) Благодарю всех за участие. Отправил через curl.