Ошибка при формировании xml файла

Обновлено: 01.07.2024

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Запрос Xpath

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

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

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


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


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

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

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



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

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

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


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


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

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

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


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

Попробуйте подвигать мышкой, когда индикатор дойдет о конца.

>А что именно нужно искать в панели задач и как её устранить

Подключиться к Вам мы сможем в наше рабочее время - рабочие дни с 9:00 до 18:00 мск

Новые версии XML-схем, соответствующие изменениям 30 июня, до сих пор Росреестром не опубликованы (по новым требованиям вступят в силу они только спустя 2 месяца после публикации). Старые версии XML-схем не позволяют выгрузить новые сведения, добавленные с 30 июня. Официальных разъяснений как быть в такой ситуации на данный момент, насколько мы знаем, не было. Нам видится тут два варианта: первый - указать новые сведения в заключении, второй - включить в приложение эл.образы бумажных разделов, содержащие такие сведения. Также есть и третий вариант: указать дату кадастровых работ до 30 июня и сдавать межевой или технический план по старым требованиям.

>Во время создания виртуального принтера произошла ошибка.
>Возможно у Вас не установлен виртуальный принтер PDFCreator.
>Параметр задан неверно. (E_INVALIDARG)

'Контур участка :ЗУ(1)'Заданная погрешность площади (dP=29,11) округлена в соответствии с ограничениями XML-схемы (29). При необходимости можно указать реальное значение погрешности площади в заключении.

'Контур участка :ЗУ(2)'Заданная погрешность площади (dP=48,48) округлена в соответствии с ограничениями XML-схемы (48). При необходимости можно указать реальное значение погрешности площади в заключении.

Данное ограничение xml-схемы непреодолимо и любые попытки его нарушить приведут к несоответствию электронного документа утвержденной xml-схеме.

Интересует что значит " а также один XML-файл, содержащий семантические сведения межевого плана"

Я считаю, что это просто некорректно составленный текст, который автор не удосужился перечитать и понять после сочинения, по простонародному называемый "бред". В этом можно убедиться, прочитав самостоятельно документ, упоминаемый в начале этого набора букв: письмо Росреестра от 01.07.2014 № 14-исх/07450-ГЕ/14. Ни одного слова "ZIP-архив, содержащий межевой план в формате XML-документов, подготовленный с использованием актуальных XML-схем, размещенных на официальном сайте Росреестра в сети Интернет, а также один XML-файл, содержащий семантические сведения межевого плана" в этом письме попросту нет.

Бредом являются именно слова "а также один XML-файл, содержащий семантические сведения межевого плана" как новое понятие, доселе никому не известное, отсутствующее в исходном письме и потенциально могущее сбить с толку не уверенного в себе человека. (Что за еще один XML-файл дополнительно к XML-файлу межевого плана. )

Засовывание скана всего межевого плана (или отдельных его разделов) не выглядит чем-то безумным, такая практика уже была, когда страна стояла на перепутье между 3 и 4 версиями xml-схем. Реализуется это довольно просто: формируется бумажный документ (или нужные разделы), сохраняется в pdf и добавляется в проект как документ приложения.

Практика показывает, что проблемы с отправкой отчетности возникают, как правило, из-за одних и тех же ошибок.

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

В противном случае направляется уведомление об отказе с указанием кода ошибки.

0200100000 - Структура имени файла не соответствует требованиям формата

Проще говоря, название файла отчетности не соответствует установленным требованиям.

Название файла отчетности формируется из структурных элементов, схематично оно должно иметь вид:

R_T - префикс, обозначающий принадлежность информации файла к определенному виду. (Вид и тип информации представляются сочетанием символов (латинские буквы и цифры));

A - идентификатор получателя, которому направляется файл отчетности;

K - идентификатор конечного получателя, для которого предназначена информация из данного файла отчетности;

    Каждый из идентификаторов (A и K) имеет вид:
  1. для организаций - девятнадцатиразрядный код (ИНН и КПП юридического лица);
  2. для физических лиц - двенадцатиразрядный код (ИНН физического лица, имеющего ИНН, при отсутствии ИНН - последовательность из двенадцати нулей);
  3. для налоговых органов - четырехразрядный код (код налогового органа).

O - идентификатор отправителя информации, имеет вид:

  1. для организаций идентификатор отправителя информации представляется в виде девятнадцатиразрядного кода (ИНН и КПП юридического лица);
  2. для физических лиц - двенадцатиразрядный код (ИНН физического лица, имеющего ИНН. При отсутствии ИНН - последовательность из двенадцати нулей);
  3. для налоговых органов - четырехразрядный код (код налогового органа ).

GGGG - год формирования передаваемого файла, MM - месяц, DD - день;

N - идентификационный уникальный номер файла. (Длина - от 1 до 36 знаков. Идентификационный номер файла должен обеспечивать уникальность файла.)

Расширение имени файла должно быть xml .

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

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

0300300000 - Структура файла не соответствует требованиям формата

Данная ошибка очень часто возникает в том случае, если мы отправляем отчетность по старому формату.

То есть данная форма и формат были обновлены, а наша программа формирует файлы в старом формате по неактуальной форме.

Для исправления этой ошибки нам нужно обновить свою программу подготовки отчетности и тем самым обновятся формы и их форматы.

По этой же причине может возникнуть ошибка: "Файл не соответствует xsd-схеме", с кодом: 0300300001

0400100001 - Не найден плательщик по ИНН и КПП или ИНН, представленному в файле

Данная ошибка возникает в следующих случаях:

  1. неправильное указание данных налогоплательщика в налоговой отчетности;
  2. налогоплательщик снят с учета;
  3. сведения о налогоплательщике отсутствуют в базе ФНС России.

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

Не исключено, что нам придется связаться с налоговой инспекцией, чтобы уточнить там - не был ли налогоплательщик снят с учета или переведен в другую налоговую (в связи с реорганизацией) и проверить регистрацию его в базе ФНС России.

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

0500100000 - Значение элемента отсутствует в справочнике

Данная ошибка возникает, как правило, из-за отсутствия обновления программного обеспечения на стороне налогового органа.

Под справочником имеется ввиду справочники СППФД/СФНД:

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

Это ведомственные справочники ФНС России, которые используются в программном обеспечении налоговых органов для формирования, передачи и приема налоговой документации (информации) при взаимодействии налоговых органов с юридическими и физическими лицами в электронном виде.

В данной статье речь пойдёт о причинах возникновения фатальной ошибки «Ошибка разбора XML» и способах устранения данной неполадки. Также будет дана инструкция не по устранению, но «обходу» ошибки, то есть действиям на опережение.

XML (с английского – extensible markup language – расширяемый язык разметки) – это язык разметки, который рекомендует Консорциум Всемирной паутины. Обычно язык разметки XML служит для описания документации, соответствующего типа, а также описывает действия соответствующих процессоров. Расширяемый язык разметки имеет довольно простой синтаксис, поэтому используется по всему миру, чтобы создавать и обрабатывать документацию программным способом. Он создавался именно для использования в Интернете. XML назвали именно расширяемым языком разметки, так как в нём нет фиксации разметки, которая содержится внутри документа, а именно: программист может создавать любую разметку, а ограничения будут встречаться лишь в синтаксисе.

2. Устранение Ошибки разбора XML в 1С

«Ошибка разбора XML» возникает исключительно в тонком клиенте 1С. Также стоит отметить, что «Ошибка разбора XML» также довольна схожа с ошибкой по формату потока, которая возникает в толстом клиенте. Обычно в 1С «Ошибка разбора XML» возникает по причине наличия кэша метаданных. И если очистить кэш, то ошибка будет устранена. Выглядит окно с ошибкой, а также окно с комментариями от технической поддержки следующим образом:



Рис. 1 Окно Ошибки разбора XML в 1С

XML данные читаются по потокам, так что в каждый из моментов времени объект «сосредоточен» в некотором узле XML. Из-за этого также может возникать фатальная ошибка «Ошибка разбора XML». Для того чтобы её устранить, можно вызвать функцию «ИсключениеЧтенияXml», как показано на скриншоте примера ниже:



Рис. 2 Вызов функции ИсключениеЧтенияXML для устранения Ошибки разбора XML в 1С

3. «Обход» Ошибки разбора XML в 1С

Данные два способа (очистка кэша метаданных и функция «ИсключениеЧтенияXml») – не все возможные варианты устранения ошибки разбора XML. Далее рассмотрим нестандартный подход, который позволит избежать ошибки еще до её возникновения.

Для наглядности будем работать в конфигурации 1С:Бухгалтерия предприятия, одной из наиболее распространенных программ фирмы 1С. У многих людей, которые пользуются программой 1С:Отчётность появляются неполадки при попытках открыть данные/файлы от налоговой. Чтобы открыть такой файл повторяем следующие действия:

· Переходим по пути: «Настройки 1С:Отчётности → Журнал обмена с контролирующими органами», как показано на скриншоте ниже:



Рис. 3 Настройка 1С Отчетности

· Далее кликаем на «Запросы» и выделяем ту выписку, которую не было возможности открыть из-за ошибки, как продемонстрировано на скриншоте ниже:



Рис. 4 Выбор выписки с Ошибкой разбора XML в 1С



Рис. 5 Стадия отправки документа с Ошибкой разбора XML в 1С

Читайте также: