Xml файл не соответствует схеме
Файл не соответствует XSD-схеме СЗВ-М — общее обозначение группы ошибок, связанных с заполнением отдельных граф отчета СЗВ-М. О том, что это за ошибки и что следует делать в случае их возникновения, поговорим в этой статье.
Что такое XSD-схема файла и ошибка в ней?
XSD — это программный язык. С помощью XSD описывается структура XML-документа:
- разделы, содержащие информацию;
- модель (параметры) содержания;
- тип и вид данных;
- синтаксис данных.
То есть XSD-схема СЗВ-М — это выполненное программным языком описание структуры отчета СЗВ-М. Если во внесенной в СЗВ-М информации содержатся ошибки или неточности, то при контроле файла тоже средствами XSD информация является нечитаемой. Поэтому система формирует пользователю предупреждение: «отчет СЗВ-М не соответствует XSD-схеме». Это означает, что программное обеспечение не может воспринять данные из отчета, т. к. они некорректные с точки зрения языка XSD.
ОБРАТИТЕ ВНИМАНИЕ! Ошибка XSD может быть как в самих введенных данных (например, в ИНН или регистрационном номере организации), так и в том, как именно эти данные введены (например, указаны лишние нули, или пробелы, или дефисы). То есть для установления и устранения ошибки нужно в каждом конкретном случае проверять конкретный файл!
Что означает «неправильное имя файла» или «имя не соответствует утвержденному формату 00042»?
Как должно выглядеть правильное имя файла отчета СЗВ-М (формат 00042), установлено распоряжением правления ПФР «Об утверждении формата данных СЗВ-М» от 25.02.2016 № 70р. Корректное имя должно содержать следующие разделы:
- 1 — орган, куда представляется отчет;
- 2 — регистрационный номер страхователя;
- 3 — код территориального органа ПФР, принимающего сведения, содержащиеся в файле (по классификатору территориальных органов ПФР);
- 4 — вид представляемого отчета;
- 5 — дата отчета в формате ГГГГММДД;
- 6 — уникальный идентификатор электронного документа (должен формироваться программой). Значение GUID должно быть идентично значению GUID документа, содержащегося в файле;
- 7 — расширение файла отчета (только xml).
Корректное имя должно выглядеть следующим образом:
Если в имени файла пропущены или неверно заполнены какие-то разделы, он не проходит форматно-логический контроль и не принимается ПФР.
ВАЖНО! Часто ошибки в автоматически формируемом имени файла возникают, если в программе, в которой составляется отчет, не заполнены какие-либо разделы в обязательных реквизитах. Например, если в реквизитах не заполнен отдельно код территориального органа ПФР, при формировании имени файла этот раздел будет пропущен программой, и имя будет неверным. Отчет не пройдет.
Порядок действий в случае форматных ошибок
Как уже отмечалось выше, ошибки в XSD-схеме носят индивидуальный характер. В данном случае необходимо:
1. Перепроверить заполнение всех обязательных полей документа, в т. ч. на наличие ошибок, воспринимаемых программой как синтаксические: лишние пробелы, дефисы и т. п.
- сам файл отчета (обязательно);
- файл (протокол) с уведомлением об ошибке (обязательно);
- информацию о наименовании, дате, времени отправки отчета (по требованию системщиков вашей рабочей программы);
- ИНН и КПП организации (по требованию системщиков);
- иные сведения (по необходимости).
Для исправления ошибки в имени файла существует следующий путь:
1. Определить, пользуясь предложенной выше структурой имени, в чем ошибка.
4. Если самостоятельно проделать действия выше не удалось – обратиться в техподдержку программного продукта, в котором формируется отчет.
Итоги
Ошибка «файл не соответствует XSD-схеме СЗВ-М» означает, что какие-то поля отчета заполнены некорректно. В разных отчетах могут встречаться разные ошибки, поэтому решение проблемы требует индивидуального подхода. Ошибка «СЗВ-М не соответствует утвержденному формату 00042» означает, что некорректно сформировалось имя файла. Для устранения проблемы, как правило, достаточно внести в программу дополнительные сведения и заново сформировать файл в формате XML.
Проверять файл по XSD-схеме целесообрано в исключительных случаях, например, если скрипт xml-healer.py не справился с исправлением файла. Подробнее в главе IV. Скрипт для замены служебных символов в XML .
XMLPad уступает по удобству и возможностям MS Visual Studio, но если вы не являетесь программистом и у вас не установлена MS Visual Studio, лучше воспользоваться XMLPad.
Проверка по XSD-схеме в XMLPad¶
- Откройте XML-файл, который требуется проверить в XMLPad File > Open.
- Чтобы проверить файл по заданной XSD-схеме, его надо с ней ассоциировать. Перейдите в меню XML > Assign Schema/DTD.
- Выберите W3C Schema и нажмите Browse, затем выберите XSD-схему для проверки.
- После того, как XSD-схема ассоциирована, нажмите F7 или XML > Validate, чтобы проверить файл. В нижней части окна будут выведены ошибки, нажав на которые можно подсветить строку, в которой они находятся.
Для удобства отображения можно включить переносы строк Edit > Word Wrap.
Проверка по XSD-схеме в MS Visual Studio¶
- Откройте XML-файл, который требуется проверить в MS Visual Studio Файл > Открыть > Файл.
- Чтобы проверить файл по заданной XSD-схеме, его надо с ней ассоциировать. Перейдите в меню XML-код > Схемы. .
Проверка на соответсвие XSD-схеме будет осуществляться автоматически на лету. Внизу в окне Списка ошибок будет отображаться список ошибок. При нажатии на ошибку, она будет подсвечена в редакторе.
Добавить окно Списка ошибок можно через Вид > Списка ошибок.
Файл не соответствует XSD-схеме СЗВ-М — общее обозначение группы ошибок, связанных с заполнением отдельных граф отчета СЗВ-М. О том, что это за ошибки и что следует делать в случае их возникновения, поговорим в этой статье.
Что такое XSD-схема файла и ошибка в ней?
XSD — это программный язык. С помощью XSD описывается структура XML-документа:
- разделы, содержащие информацию;
- модель (параметры) содержания;
- тип и вид данных;
- синтаксис данных.
То есть XSD-схема СЗВ-М — это выполненное программным языком описание структуры отчета СЗВ-М. Если во внесенной в СЗВ-М информации содержатся ошибки или неточности, то при контроле файла тоже средствами XSD информация является нечитаемой. Поэтому система формирует пользователю предупреждение: «отчет СЗВ-М не соответствует XSD-схеме». Это означает, что программное обеспечение не может воспринять данные из отчета, т. к. они некорректные с точки зрения языка XSD.
ОБРАТИТЕ ВНИМАНИЕ! Ошибка XSD может быть как в самих введенных данных (например, в ИНН или регистрационном номере организации), так и в том, как именно эти данные введены (например, указаны лишние нули, или пробелы, или дефисы). То есть для установления и устранения ошибки нужно в каждом конкретном случае проверять конкретный файл!
Что означает «неправильное имя файла» или «имя не соответствует утвержденному формату 00042»?
Как должно выглядеть правильное имя файла отчета СЗВ-М (формат 00042), установлено распоряжением правления ПФР «Об утверждении формата данных СЗВ-М» от 25.02.2016 № 70р. Корректное имя должно содержать следующие разделы:
- 1 — орган, куда представляется отчет;
- 2 — регистрационный номер страхователя;
- 3 — код территориального органа ПФР, принимающего сведения, содержащиеся в файле (по классификатору территориальных органов ПФР);
- 4 — вид представляемого отчета;
- 5 — дата отчета в формате ГГГГММДД;
- 6 — уникальный идентификатор электронного документа (должен формироваться программой). Значение GUID должно быть идентично значению GUID документа, содержащегося в файле;
- 7 — расширение файла отчета (только xml).
Корректное имя должно выглядеть следующим образом:
Если в имени файла пропущены или неверно заполнены какие-то разделы, он не проходит форматно-логический контроль и не принимается ПФР.
ВАЖНО! Часто ошибки в автоматически формируемом имени файла возникают, если в программе, в которой составляется отчет, не заполнены какие-либо разделы в обязательных реквизитах. Например, если в реквизитах не заполнен отдельно код территориального органа ПФР, при формировании имени файла этот раздел будет пропущен программой, и имя будет неверным. Отчет не пройдет.
Порядок действий в случае форматных ошибок
Как уже отмечалось выше, ошибки в XSD-схеме носят индивидуальный характер. В данном случае необходимо:
1. Перепроверить заполнение всех обязательных полей документа, в т. ч. на наличие ошибок, воспринимаемых программой как синтаксические: лишние пробелы, дефисы и т. п.
- сам файл отчета (обязательно);
- файл (протокол) с уведомлением об ошибке (обязательно);
- информацию о наименовании, дате, времени отправки отчета (по требованию системщиков вашей рабочей программы);
- ИНН и КПП организации (по требованию системщиков);
- иные сведения (по необходимости).
Для исправления ошибки в имени файла существует следующий путь:
1. Определить, пользуясь предложенной выше структурой имени, в чем ошибка.
4. Если самостоятельно проделать действия выше не удалось – обратиться в техподдержку программного продукта, в котором формируется отчет.
Итоги
Ошибка «файл не соответствует XSD-схеме СЗВ-М» означает, что какие-то поля отчета заполнены некорректно. В разных отчетах могут встречаться разные ошибки, поэтому решение проблемы требует индивидуального подхода. Ошибка «СЗВ-М не соответствует утвержденному формату 00042» означает, что некорректно сформировалось имя файла. Для устранения проблемы, как правило, достаточно внести в программу дополнительные сведения и заново сформировать файл в формате XML.
Системные требования: необходимо наличие служб MSXML 6.0. Во всех современных версиях Windows (начиная с Vista и позже) они присутствуют после установки. Если же версии Windows старые (XP/2003), тогда может понадобиться их установка (взять можно здесь), но, скорее всего, даже на этих версиях Windows они уже установлены, если система периодически обновляется. Так что рекомендую сначала попробовать обработку, и только в случае неудачи устанавливать службы MSXML 6.0.
Специальные предложения
Абсолютно бесполезная вещь.
Открою страшный секрет: валидность с точки зрения утилит msxml и с точки зрения 1С - совершенно разные вещи. Будьте готовы к тому, что файл, признанный валидным, не сработает, вызовет вылетание платформы, просто никак не прочитается и прочая. Аналогично, валидность xsd-схемы как таковой для большинства нормальных приложений и для 1С - разная. Многие схемы просто не грузятся, причём 1С ничего вообще не сообщает - тихо игнорит и всё. Фабрика может не скушать xsd, xml может "не подойти", хоть его 100% подгоняй, и прочее.
Например, полезнейшая штука построения xsd по имеющемуся файлу xml выдаёт схему, которую легко читают и понимают все, кроме 1С.
Это я к чему - имея дело с xml-механикой 1С, не полагайтесь на НЕ-1Сные фичи.
(1) Yashazz, собственно, я и не позиционировал обработку как проверялку для закачки файлов парсером 1С.
обработка делает ровно то, что и заявлено - проверяет файл на соответствие стандарту XML и приложенной схеме XSD.
лично я очень часто использую этот функционал при:
1. написании и отладки кода по формированию/выгрузке xml-файлов для сторонних приложений/сервисов, когда структура оговорена схемой
2. после отладки - внедряю в код для выгрузки автоматическую проверку выгруженного файла по схеме. позволяет сэкономить время, укорачивая цепочку - многие ошибки сразу показываются при выгрузке, а не после закачки на какой-нибудь портал.
P.S. открою секрет - абсолютно бесполезных вещей не бывает! бывают бесполезные для кого-то
(2),(3) А, ну "тады да". Тогда вопросов больше не имею. Если 1С-ные грабли известны, и сторонний функционал взят нарочно, то, может, это и правда best practice.а сторонний функционал (msxml) был выбран именно потому, что я довольно пообщался с функционалом 1С касательно xml/xsd, чтобы опасаться его использовать в этом вопросе
(6) При желании можно найти и бесплатный аналог, и лекарство от жадности. А вообще нормальный программист найдет денег для того, чтобы купить себе хороший инструмент. А вообще нормальный программист найдет денег для того, чтобы купить себе хороший инструмент.нормальный программист может также найти время на написание инструмента самому, не так ли?
- Зачем изобретать велосипед?
- Будет ли потраченное время стоить тех денег, которые придется заплатить за уже существующий инструмент?
(9) CagoBHuK, я оценил, и решил, что быстрее и дешевле написать самому обработочку, юзающую msxml, и пользоваться. тем более, что больше от альтовы мне ничего не надо (кроме валидации). и даже решил поделиться с общественностью
раз в винде заложен данный функционал - почему бы им не воспользоваться? ну, а у кого есть лишние деньги - пусть покупают хоть альтову, хоть другое ПО - я ж не против.
только не пойму, какой смысл агитировать за покупку коммерческого ПО в камментах к бесплатному продукту
(10) Я никого ни к чему не агитирую. Я специально сделал приписку, что при желании можно найти бесплатный продукт. Эээ.. а в штатном снеговике разве нет валидации по схеме ?.. (12) Ёпрст, лично у меня не получилось это сделать со штатным функционалом. если есть реально рабочий пример - милости просим Я не проверял, мне лень, как то валидацию, в своих поделках повыкидывал, за ненадобностью. Да чего-то Microsoft Validator это конечно лучше, чем от 1С но тоже есть непонятки. Altova тоже советую. Спасибо, огромное, искал аж с ног сбился - декларант-алко не запускается, а файлы перед отправкой проверить хочется.
+1
Пытался проверить файл по схеме ЕГАИС:
==================================================================16.12.2015 14:14:18: Начата проверка по схеме файла: C:\111.xml
Не удалось подключить схему: C:\ЕГАИС\xsd\WB_DOC_SINGLE_01.xsd
16.12.2015 14:14:18: Проверка завершена
============================================================ ======
(17) и что именно непонятно? написано же, что не смог подключить схему. значит, нужно проверить наличие файла схемы, а также его корректность На схемы от ЦБ тоже ругается
. Не удалось подключить схему: .
"Обнаружена ошибка:
Смещение = 612, строка = 8, позиция = 17, код ошибки: -1072898035
Описание ошибки: Элемент ''< http://fsrar.ru/WEGAIS/TTNSingle_v2 >Identity'' используется, но не был объявлен в DTD и схеме."
В самой схеме "TTNSingle_v2" объявление "Identity" есть. Подскажите, в чем может быть проблема?
У меня тоже выдала ошибку
28.11.2016 16:39:42: Начата проверка по схеме файла: D:\val\v8_D76D_7b.xml
Не удалось подключить схему: D:\val\TTNSingle_v2.XSD
28.11.2016 16:39:43: Проверка завершена
работающий вариант: кусок кода процедуры Проверка по схеме клиент
однако выводимая ошибка не очень информативна
Обнаружена ошибка:
Смещение = 215, строка = 2, позиция = 193, код ошибки: -1072897676
Описание ошибки: Значение не может быть пустым
понятно что какой то элемент не заполнен, а вот какой не говорит, собака
Добрый день, andrewks
Помогите пжл. разобраться в такой проблеме.
Скачал последнюю вашу обработку с рабочим кодом, файл проверяется по схеме, но при этом всегда сообщается, что "Файл успешно прошёл проверку по схеме!", хотя я файл специально "ломаю", чтобы получить ошибку при проверке.
Т.е.в коде система почему то не проваливается в условие
Получается, что "ДОМ.parseError.errorCode" всегда равно 0, хотя ошибки есть 100%
Во вложении сама обработка, файл, который нужно проверить и схема (для наглядности)
18.10.2018 17:43:17: Начата проверка по схеме файла: D:\debug\R2_3019021828_098_18102018_7b85db23-df15-494d-b8b2-819f1e829034.xml
Не удалось подключить схему: D:\12-o.xsd
Описание ошибки: : Ошибка при вызове метода контекста (add): Типы не совпадают (1)
18.10.2018 17:43:19: Проверка завершена
Схема.add("",ИмяФайлаСхемы); решило эту проблему.
Просмотры 36235
Загрузки 192
Рейтинг 16
Создание 03.10.13 09:18
Обновление 03.10.13 09:18
№ Публикации 202643
Конфигурация Не имеет значения
Операционная система Windows
Вид учета Не имеет значения
Доступ к файлу Абонемент ($m)
Код открыт Не указано
Курс представляет собой отработанные и проверенные личным опытом основателей Школы инструменты решения вопросов с подчиненными, коллегами, заказчиком и руководством.См. также
Конвертация любых адресов, написанных в свободной форме, к ФИАС Промо
Допустим у нас есть база с адресами клиентов, и написаны они могут быть как душе угодно. С опечатками, без индексов, без разделителей, в совершенно любом формате. Вот было бы здорово иметь функцию, которая одним нажатием кнопки преобразует любую белиберду к строгому представлению адреса по ФИАС? Восстановит индекс, исправит опечатки и вернёт на 100% валидный адрес. Для всех, кто мечтательно сказал "ДА!", выкладываю данную обработку.
2 стартмани
30.06.2020 7583 69 XilDen 15
Управление платформенными обработками (расширение для типовых)
Расширение использует недокументированную возможность для управления платформенными обработками. Например, чтобы подменить "Активные пользователи" или доработать "Конструктор запросов".
1 стартмани
07.10.2021 3289 5 SeiOkami 23
Работа с картами в 1С на примере бесплатной библиотеки Leaflet
Разработка функционала отображения и выбора пунктов доставки на карте прямо в 1С с помощью бесплатной библиотеки Leaflet. Тестирование производилось на платформе 8.3.15.1534 на тонком клиенте.
1 стартмани
31.03.2021 10341 30 Parsec1C 11
Универсальная обработка переноса данных из основной конфигурации в расширение
Обработка предназначена для разработчиков, для тех случаев, когда ранее дописанный функционал, перенесен в расширение и появляется необходимость перенести данные из объектов основной конфигурации в объекты расширения. Перенос осуществляется настройкой соответствия объектов основной конфигурации объектам расширения.
5 стартмани
05.10.2020 10297 65 biz-intel 71
Удаление и/или копирование сохраненных в 1С настроек (например настроек печати табличных форм) Промо
Иногда нужно удалить сохраненную в 1С "покореженную" настройку или скопировать "удачную" другому пользователю.
1 стартмани
01.09.2012 66761 1378 AnryMc 46
Улучшенная обработка универсального обмена данными в формате XML (УФ)
Улучшенная обработка "Универсальный обмен данными" с полноценными возможностями СКД для выборки данных (не только для отборов).
1 стартмани
23.06.2020 12867 135 Lem0n 1
Панель команд текущего объекта (документа, справочника и т.д.) со следующим возможностями: Редактор реквизитов, таблиц и движений текущего объекта, Анализ прав доступа к текущему объекту, Поиск ссылок на объект с отборами, Сторно движений документа, Выгрузка/загрузка текущего объекта между базами. Реализована всплывающей панелью в форме объекта. Подключается как расширение конфигурации (*.cfe) либо отдельными обработками.
1 стартмани
01.05.2020 15235 112 sapervodichka 1
Работа с файлами (обычная и управляемая форма)
Нужно загрузить файл с клиента на сервер или же, наоборот, файл загрузить с сервера на клиент, а впридачу все это на web-клиенте, да еще и асинхронно? Нет ничего проще, читай далее, как это сделать!
1 стартмани
10.06.2019 41450 220 Xershi 77
Групповая корректировка записей регистров (Управляемое приложение) v 2.1 Промо
Обработка предназначена для групповой корректировки записей регистров Накопления, Сведений и Бухгалтерии. Разработана специально для Управляемого приложения.
3 стартмани
06.09.2013 68729 321 kser87 59
Электронная таблица средствами 1С (Версия 2.0)
Функционал электронной таблицы для программ на платформе 1С реализован на основе табличных документов. Функционал реализован в виде обработки. Большую часть формы обработки занимают листы (закладки) с табличными документами, которые выполняет роль электронной таблицы. Листы могут быть добавлены, удалены или переименованы. Ограничение по количеству листов определяется возможностью платформы. В формулах электронной таблицы можно использовать любые языковые конструкции, процедуры и функции 1С, ссылки на другие ячейки электронной таблицы расположенные в том числе и на других листах. Допустимо обращаться к ячейкам электронной таблицы по имени именованной области. В случае использования в формулах электронной таблицы данных из самой таблицы пересчет зависимых ячеек с формулами производится автоматически. Электронную таблицу можно сохранить в файл.
1 стартмани
23.04.2019 23741 78 user706545_kseg1971 40
Удобная консоль регламентных и фоновых заданий
1 стартмани
06.02.2019 22116 211 Alxby 20
Редактор объектов информационной базы 8.3
Универсальная внешняя обработка для редактирования реквизитов и табличных частей объектов информационной базы, редактирование движений документов. Доступ ко всем реквизитам объектов, есть возможность выгрузки и загрузки данных (объекты и движения документов) через XML. Платформа 8.3, управляемые формы. Версия 1.1.0.57 от 09.10.2021
2 стартмани
23.01.2019 43174 485 ROL32 50
Установка предопределенных элементов: просмотр, исправление и поиск ошибок (задвоенных и отсутствующих) Промо
Простая обработка для просмотра и установки значений предопределенных элементов. Позволяет заменить значение предопределенного элемента с одного элемента справочника на другой, удалить предопределенный элемент (снять пометку предопределенности), установить пометку переопределенного элемента. Проверяет предопределенные данные на наличие задвоений и отсутствующих. Работает со справочниками, планами счетов, планами видов характеристик, планами видов расчетов.
Читайте также: