Проверка по схеме XML-файла (валидация по XSD)

03.10.13

Интеграция - Файловый обмен (TXT, XML, DBF), FTP

Обработка позволяет проводить проверку по схеме (валидацию) XML-файлов в среде Windows

Файлы

ВНИМАНИЕ: Файлы из Базы знаний - это исходный код разработки. Это примеры решения задач, шаблоны, заготовки, "строительные материалы" для учетной системы. Файлы ориентированы на специалистов 1С, которые могут разобраться в коде и оптимизировать программу для запуска в базе данных. Гарантии работоспособности нет. Возврата нет. Технической поддержки нет.

Наименование Скачано Купить файл
ВалидацияXML.epf
.epf 13,57Kb ver:1.00
236 2 500 руб. Купить

Подписка PRO — скачивайте любые файлы со скидкой до 85% из Базы знаний

Оформите подписку на компанию для решения рабочих задач

Оформить подписку и скачать решение со скидкой

Вы можете заказать платную доработку или адаптацию этой разработки под вашу конфигурацию на «Бирже заказов».

  • 0% комиссии — оплата напрямую исполнителю;
  • Исполнители любого масштаба — от отдельных специалистов до команд под проект;
  • Прямой обмен контактами между заказчиком и исполнителем;
  • Безопасная сделка — при необходимости;
  • Рейтинги, кейсы и прозрачная система откликов.

Довольно часто возникает необходимость проверки соответствия XML-файлов представленной схеме (XSD), но под рукой не оказывается программы, обладающей этим функционалом. Представляемая Вашему вниманию обработка очень компактна, не требует установки, и позволяет справиться с этой задачей в среде 1С:Предприятие 8.2 и выше под Windows.

Системные требования: необходимо наличие служб MSXML 6.0. Во всех современных версиях Windows (начиная с Vista и позже) они присутствуют после установки. Если же версии Windows старые (XP/2003), тогда может понадобиться их установка (взять можно здесь), но, скорее всего, даже на этих версиях Windows они уже установлены, если система периодически обновляется. Так что рекомендую сначала попробовать обработку, и только в случае неудачи устанавливать службы MSXML 6.0.

Вступайте в нашу телеграмм-группу Инфостарт

XSD XML валидация проверка схема

См. также

Перенос данных 1C Файловый обмен (TXT, XML, DBF), FTP Системный администратор Разработчик 1С:Предприятие 8 1С:Комплексная автоматизация 1.х 1С:Управление производственным предприятием 1С:Бухгалтерия 3.0 Россия Бухгалтерский учет Платные (руб)

Перенос данных из 1С:Управление производственным предприятием 1.3 в 1С:Бухгалтерия предприятия 3.0 с помощью правил обмена | Можно выполнить переход с УПП на БП 3 или запускать выгрузку данных за выбранный период времени | Переносятся документы, начальные остатки и вся справочная информация | Есть фильтр по организации и множество других параметров выгрузки | Поддерживается несколько сценариев работы: как первичный полный перенос, так и перенос только новых документов | Перенос данных возможен в "1С: Бухгалтерия 3.0" версии ПРОФ, КОРП или базовую | Переход с "1С: УПП1.3" / "1С:КА 1.1" на "1С:БП3.0" с помощью правил конвертации будет максимально комфортным! | Можно бесплатно проверить перенос на вашем сервере!

50050 руб.

25.02.2015    191701    376    295    

432

SALE! 10%

Перенос данных 1C Файловый обмен (TXT, XML, DBF), FTP Системный администратор Разработчик 1С:Предприятие 8 1С:Розница 2 1С:Управление нашей фирмой 1.6 1С:Бухгалтерия 3.0 1С:Управление торговлей 11 1С:Комплексная автоматизация 2.х 1С:Управление нашей фирмой 3.0 1С:Розница 3.0 Россия Платные (руб)

Правила в универсальном формате обмена для ERP 2.5, КА 2.5, УТ 11.5, БП 3.0, Розница, УНФ, для последних версий конфигураций. Ссылки на другие конфигурации в описании публикации. Правила совместимы со всеми другими версиями конфигураций новыми и старыми, поддерживающими обмен и синхронизацию в формате EnterpriseData. Не требуется синхронного обновления правил после обновления другой конфигурации, участвующей в обмене. Типовой обмен через планы обмена кнопкой Синхронизация вручную или автоматически по расписанию, или вручную обработкой.

27633 руб.

12.06.2017    164092    998    329    

489

Перенос данных 1C Взаиморасчеты Оптовая торговля Логистика, склад и ТМЦ Файловый обмен (TXT, XML, DBF), FTP Системный администратор Разработчик 1С:Предприятие 8 1С:Управление торговлей 10 1С:ERP Управление предприятием 2 1С:Управление торговлей 11 1С:Комплексная автоматизация 2.х Россия Управленческий учет Платные (руб)

Можно проверить до покупки, оставьте заявку! Воспользовались более 268 компаний! Перенос данных из УТ 10.3 в УТ 11 | из УТ 10.3 в КА 2 | из УТ 10.3 в ERP. Решение для перехода с УТ 10.3. Можно перенести начальные остатки, нормативно-справочную информацию и все возможные документы. При выгрузке можно установить отбор по периоду, организациям и складам.

50200 руб.

24.04.2015    210282    183    253    

301

Перенос данных 1C Файловый обмен (TXT, XML, DBF), FTP Разработчик 1С:Предприятие 8 1С:ERP Управление предприятием 2 1С:Бухгалтерия 3.0 1С:Управление торговлей 11 1С:Комплексная автоматизация 2.х Россия Платные (руб)

Перенос данных из ERP в БП 3 | из КА 2 в БП 3 | из УТ 11 в БП 3 | из ЕРП в БП 3 | Сэкономьте время - используйте готовое решение для перехода! | Перенос разработан в формате КД 2 (правила конвертации данных) | Переносятся все возможные виды документов, начальных остатков и нормативно-справочная информация| Можно опционально выгружать каждую пару "номенклатура+характеристика" как отдельную номенклатуру | Есть выгрузка настроек счетов учета и зарплатных данных из ERP / КА 2 | Можно проверить на вашем сервере перед покупкой

58000 руб.

15.04.2019    86911    233    182    

169

Перенос данных 1C Файловый обмен (TXT, XML, DBF), FTP Разработчик 1С:Предприятие 8 1С:ERP Управление предприятием 2 1С:Комплексная автоматизация 2.х 1С:Зарплата и Управление Персоналом 3.x Россия Бухгалтерский учет Управленческий учет Платные (руб)

Перенос данных из ERP в ЗУП 3 | из КА 2 в ЗУП | Готовые правила конвертации данных (КД 2) для переноса остатков, документов с движениями и справочной информации 3 | Есть перенос начальной задолженности по зарплате и начальной штатной расстановки на выбранную дату | Обороты за прошлые годы (данные для расчета среднего) переносятся свернуто в документ "Перенос данных" | Есть фильтр по организациям | Документы за текущий период переносятся сразу с движениями, поэтому не потребуется делать перерасчеты | Перенос можно проверить перед покупкой, обращайтесь!

55200 руб.

03.12.2020    46724    134    83    

123

SALE! 10%

Перенос данных 1C Файловый обмен (TXT, XML, DBF), FTP Системный администратор Разработчик 1С:Предприятие 8 1С:Управление производственным предприятием 1С:Бухгалтерия 3.0 Россия Бухгалтерский учет Управленческий учет Платные (руб)

Переносите справочную информацию, остатки и документы из УПП 1.3 в Бухгалтерию 3.0 с помощью готовых правил. Переносится более 50 видов документов. Простой интерфейс и понятные настройки.

42000 37800 руб.

15.12.2021    36356    265    68    

202

Операции по ВЭД Файловый обмен (TXT, XML, DBF), FTP Разработчик Бухгалтер 1С:Предприятие 8 1С:ERP Управление предприятием 2 1С:Бухгалтерия 3.0 1С:Управление торговлей 11 Россия Бухгалтерский учет Платные (руб)

Федеральная таможенная служба России давно поддерживает унифицированный формат электронных документов для обмена с информационными системами предприятий. xmlns="urn:customs.ru:Information:ExchangeDocuments:". Структура, утвержденная комиссией Таможенного союза. Осталось только сделать загрузку в 1С из этого формата. На выходе - два документа ГТД по импорту и Поступление (акты, накладные) Обработка актуализирована на начало 2026 года (ставка НДС 22%)

24400 руб.

09.08.2016    97106    376    379    

121

Файловый обмен (TXT, XML, DBF), FTP Перенос данных 1C Системный администратор Разработчик Бухгалтер 1С:Предприятие 8 1С:Бухгалтерия 3.0 Россия Платные (руб)

Обработка не только формирует начальные остатки по всем счетам на нужную дату (экономя время на свёртке базы БП 3), но и полностью переносит справочные данные и документы за заданный период. Гибкая настройка включает фильтр по организациям и множество параметров выгрузки. Работайте в удобном формате: выполните однократный полный переход или настройте регулярную догрузку только новых документов из БП 3 в БП 3.0. Интеграция правил конвертации в план обмена гарантирует точную выгрузку исключительно зарегистрированных объектов.

70760 руб.

10.04.2026    1304    3    8    

2
Комментарии
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
1. Yashazz 4932 03.10.13 12:22 Сейчас в теме
Абсолютно бесполезная вещь.
Открою страшный секрет: валидность с точки зрения утилит msxml и с точки зрения 1С - совершенно разные вещи. Будьте готовы к тому, что файл, признанный валидным, не сработает, вызовет вылетание платформы, просто никак не прочитается и прочая. Аналогично, валидность xsd-схемы как таковой для большинства нормальных приложений и для 1С - разная. Многие схемы просто не грузятся, причём 1С ничего вообще не сообщает - тихо игнорит и всё. Фабрика может не скушать xsd, xml может "не подойти", хоть его 100% подгоняй, и прочее.
Например, полезнейшая штука построения xsd по имеющемуся файлу xml выдаёт схему, которую легко читают и понимают все, кроме 1С.

Это я к чему - имея дело с xml-механикой 1С, не полагайтесь на НЕ-1Сные фичи.
2. andrewks 1383 03.10.13 12:43 Сейчас в теме
(1) Yashazz, собственно, я и не позиционировал обработку как проверялку для закачки файлов парсером 1С.

обработка делает ровно то, что и заявлено - проверяет файл на соответствие стандарту XML и приложенной схеме XSD.
лично я очень часто использую этот функционал при:
1. написании и отладки кода по формированию/выгрузке xml-файлов для сторонних приложений/сервисов, когда структура оговорена схемой
2. после отладки - внедряю в код для выгрузки автоматическую проверку выгруженного файла по схеме. позволяет сэкономить время, укорачивая цепочку - многие ошибки сразу показываются при выгрузке, а не после закачки на какой-нибудь портал.

P.S. открою секрет - абсолютно бесполезных вещей не бывает! бывают бесполезные для кого-то
adva; Светлый ум; +2 – Ответить
4. Yashazz 4932 03.10.13 13:21 Сейчас в теме
(2),(3) А, ну "тады да". Тогда вопросов больше не имею. Если 1С-ные грабли известны, и сторонний функционал взят нарочно, то, может, это и правда best practice.
3. andrewks 1383 03.10.13 13:10 Сейчас в теме
(1) Yashazz, поскольку форум проглючил, и сообщение не сохранилось, повторю кратко:

а сторонний функционал (msxml) был выбран именно потому, что я довольно пообщался с функционалом 1С касательно xml/xsd, чтобы опасаться его использовать в этом вопросе
Rjhev; starik-2005; +2 – Ответить
5. CagoBHuK 32 09.10.13 14:33 Сейчас в теме
Всем: пользуйтесь Altova XML Spy.
6. andrewks 1383 09.10.13 14:40 Сейчас в теме
(5) CagoBHuK, ничего, что он платный?
7. CagoBHuK 32 09.10.13 14:46 Сейчас в теме
(6) При желании можно найти и бесплатный аналог, и лекарство от жадности. А вообще нормальный программист найдет денег для того, чтобы купить себе хороший инструмент.
8. andrewks 1383 09.10.13 15:02 Сейчас в теме
(7) CagoBHuK,
А вообще нормальный программист найдет денег для того, чтобы купить себе хороший инструмент.

нормальный программист может также найти время на написание инструмента самому, не так ли?
kolibrik99; NAlex; starik-2005; +3 – Ответить
9. CagoBHuK 32 09.10.13 15:31 Сейчас в теме
(8) Да, но сначала он задастся следующими вопросами:
  • Зачем изобретать велосипед?
  • Будет ли потраченное время стоить тех денег, которые придется заплатить за уже существующий инструмент?
10. andrewks 1383 09.10.13 16:42 Сейчас в теме
(9) CagoBHuK, я оценил, и решил, что быстрее и дешевле написать самому обработочку, юзающую msxml, и пользоваться. тем более, что больше от альтовы мне ничего не надо (кроме валидации). и даже решил поделиться с общественностью

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

только не пойму, какой смысл агитировать за покупку коммерческого ПО в камментах к бесплатному продукту
11. CagoBHuK 32 09.10.13 16:46 Сейчас в теме
(10) Я никого ни к чему не агитирую. Я специально сделал приписку, что при желании можно найти бесплатный продукт.
12. Ёпрст 1068 09.10.13 16:47 Сейчас в теме
Эээ.. а в штатном снеговике разве нет валидации по схеме ?
..
13. andrewks 1383 09.10.13 17:06 Сейчас в теме
(12) Ёпрст, лично у меня не получилось это сделать со штатным функционалом. если есть реально рабочий пример - милости просим
14. Ёпрст 1068 09.10.13 18:09 Сейчас в теме
Я не проверял, мне лень, как то валидацию, в своих поделках повыкидывал, за ненадобностью.
starik-2005; +1 – Ответить
15. sikuda 686 17.03.15 14:16 Сейчас в теме
Да чего-то Microsoft Validator это конечно лучше, чем от 1С но тоже есть непонятки. Altova тоже советую...
16. Yury1001 1478 31.03.15 16:31 Сейчас в теме
Спасибо, огромное, искал аж с ног сбился - декларант-алко не запускается, а файлы перед отправкой проверить хочется.
+1
17. Широкий 693 16.12.15 14:15 Сейчас в теме
Пытался проверить файл по схеме ЕГАИС:

==================================================================
16.12.2015 14:14:18: Начата проверка по схеме файла: C:\111.xml
Не удалось подключить схему: C:\ЕГАИС\xsd\WB_DOC_SINGLE_01.xsd
16.12.2015 14:14:18: Проверка завершена
============================================================­======
18. andrewks 1383 22.12.15 23:00 Сейчас в теме
(17) и что именно непонятно? написано же, что не смог подключить схему. значит, нужно проверить наличие файла схемы, а также его корректность
19. nikulin76 140 25.02.16 16:17 Сейчас в теме
На схемы от ЦБ тоже ругается
... Не удалось подключить схему: ...
RomanUzmov; +1 – Ответить
20. RomanUzmov 40 15.03.16 19:19 Сейчас в теме
(19) nikulin76, Аналогичная ситуация
21. andrewks 1383 16.03.16 23:40 Сейчас в теме
(19) nikulin76, попробуйте такой вариант
Прикрепленные файлы:
ВалидацияXML_1.01.epf
22. EvgKo 31.10.16 21:57 Сейчас в теме
Добрый день!
При валидации ХМЛ-файла с помощью данной обработки выдается сообщение:

"Обнаружена ошибка:
Смещение = 612, строка = 8, позиция = 17, код ошибки: -1072898035
Описание ошибки: Элемент ''{http://fsrar.ru/WEGAIS/TTNSingle_v2}Identity'' используется, но не был объявлен в DTD и схеме."

В самой схеме "TTNSingle_v2" объявление "Identity" есть. Подскажите, в чем может быть проблема?
23. Rudakov_D 240 28.11.16 12:59 Сейчас в теме
У меня тоже выдала ошибку

28.11.2016 16:39:42: Начата проверка по схеме файла: D:\val\v8_D76D_7b.xml
Не удалось подключить схему: D:\val\TTNSingle_v2.XSD
28.11.2016 16:39:43: Проверка завершена
24. NAlex 11 18.01.17 17:49 Сейчас в теме
Собственно, опять же ошибка:
============================================================­======
18.01.2017 17:39:26: Начата проверка по схеме файла: C:\Users\abc\Desktop\0d13381f-79d8-430f-953d-fd4608fbc97e.xml
Не удалось подключить схему: W:\for_files\PledgeRegistry.xsd
18.01.2017 17:42:41: Проверка завершена
============================================================­======
несмотря на то, что Altova XMLSpy 2011 Enterprise Edition успешно валидировала этой файл Xml этой схеме Xsd.
В чем может быть проблема?
25. kauksi 217 30.05.17 13:54 Сейчас в теме
работающий вариант: кусок кода процедуры Проверка по схеме клиент

//Прочитаем схему
	Попытка
		xmldoc=Новый COMОбъект("MSXML2.DOMDocument.6.0");
	Исключение
		ВывестиСообщение("Не удалось создать объект DOM1Document (возможно, не установлен MSXML 6)",2);
		Схема=Неопределено;
		Возврат РезПроверки;
	КонецПопытки;
	
	xmldoc.async = false;  
	xmldoc.load(ИмяФайлаСхемы);

	Если (xmldoc.parseError.errorCode<>0) Тогда
       	// ошибки при проверке правильности
		ВывестиСообщение("При проверке по схеме выявлены ошибки!",Куда,Форматировать);
		Если ВыводитьВсеОшибки Тогда
			Для каждого parseError из xmldoc.parseError.AllErrors  Цикл
				ВывестиОшибкуРазбораХМЛ(parseError.reason,Куда,Форматировать);
			КонецЦикла;
		Иначе
			ВывестиОшибкуРазбораХМЛ(xmldoc.parseError.reason,Куда,Форматировать);
		КонецЕсли;
	КонецЕсли;

	
	// Подключим ее
	Попытка
		Схема=Новый COMОбъект("MSXML2.XMLSchemaCache.6.0");
	Исключение
		ВывестиСообщение("Не удалось создать объект XMLSchemaCache (возможно, не установлен MSXML 6)",2);
		Возврат РезПроверки;
	КонецПопытки;
	
	Попытка
		Схема.addCollection(xmldoc.namespaces);
		//Схема.add(,ИмяФайлаСхемы);
	Исключение
		ВывестиСообщение("Не удалось подключить схему: "+ИмяФайлаСхемы,2);
		Схема=Неопределено;
		Возврат РезПроверки;
	КонецПопытки;
Показать
Прикрепленные файлы:
ВалидацияXML_1.01.epf
26. kauksi 217 30.05.17 13:59 Сейчас в теме
однако выводимая ошибка не очень информативна

Обнаружена ошибка:
Смещение = 215, строка = 2, позиция = 193, код ошибки: -1072897676
Описание ошибки: Значение не может быть пустым

понятно что какой то элемент не заполнен, а вот какой не говорит, собака
27. anton448 91 20.07.17 11:56 Сейчас в теме
Добрый день, andrewks

Помогите пжл. разобраться в такой проблеме.

Скачал последнюю вашу обработку с рабочим кодом, файл проверяется по схеме, но при этом всегда сообщается, что "Файл успешно прошёл проверку по схеме!", хотя я файл специально "ломаю", чтобы получить ошибку при проверке....

Т.е.в коде система почему то не проваливается в условие

Если (ДОМ.parseError.errorCode<>0) Тогда
		// ошибки при проверке правильности
		ВывестиСообщение("При проверке по схеме выявлены ошибки!",Куда,Форматировать);
		Если ВыводитьВсеОшибки Тогда
			Для каждого parseError из ДОМ.parseError.AllErrors  Цикл
				ВывестиОшибкуРазбораХМЛ(parseError,Куда,Форматировать);
			КонецЦикла;
		Иначе
			ВывестиОшибкуРазбораХМЛ(ДОМ.parseError,Куда,Форматировать);
		КонецЕсли;
	Иначе
		ВывестиСообщение("Файл успешно прошёл проверку по схеме!",Куда,Форматировать);
		РезПроверки=Истина;
	КонецЕсли;
Показать


Получается, что "ДОМ.parseError.errorCode" всегда равно 0, хотя ошибки есть 100%

Во вложении сама обработка, файл, который нужно проверить и схема (для наглядности)

Спасибо.
Прикрепленные файлы:
ВалидацияXML_1.01_2 (рабочий вариант).epf
2017-07-19-18-58-00 WayBill-1-2017-07-19.xml
v8_2108_779 - это ТТН версия 2.xsd
Andrekaa; megatrend; +2 – Ответить
28. tezdal 30 18.10.18 16:45 Сейчас в теме
18.10.2018 17:43:17: Начата проверка по схеме файла: D:\debug\R2_3019021828_098_18102018_7b85db23-df15-494d-b8b2-819f1e829034.xml
Не удалось подключить схему: D:\12-o.xsd
Описание ошибки: {ВнешняяОбработка.ВалидацияXML.Форма.Форма.Форма(171)}: Ошибка при вызове метода контекста (add): Типы не совпадают (1)
18.10.2018 17:43:19: Проверка завершена

Схема.add("",ИмяФайлаСхемы); решило эту проблему.
Andrekaa; +1 – Ответить
Для отправки сообщения требуется регистрация/авторизация