Ошибка при взаимодействии УПП с ФСС - 2

31.08.22

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

При попытке отправить в УПП ответ на запрос ФСС для расчета пособия при рождении ребенка, получаем вот такой исчерпывающий ответ: Ошибка формата сообщения, Unknown format message. И что с этим делать, совершенно непонятно. Если так отвечает сервис ФСС, то похожие проблемы могут возникать и в других конфигурациях. Проблему удалось решить, но пришлось потратить пару дней. Возможно, мои заметки позволят вам в похожей ситуации решить проблему быстрее.

Итак, звонит пользователь и описывает ошибку, приведенную выше. Стандартная отмазка "Ждем новый релиз УПП" не прошла - есть сроки ответа, если не ответим вовремя, будет штраф. Пришлось включать мозг.

Смотрим исходный документ. Все поля на месте: расчетный счет, адрес, данные ребенка и т.д. Чешем репу. Благо, в документе, отправленном в ФСС виден текст XML-сообщения и это уже кое-что. Если есть XML и ошибка формата сообщения, значит где-то должна быть схема XSD для его проверки. Полдня поиска в  гугле и яндексе мало что дали. Оказалось, что всё лежит под самым носом:

Спецификации СЭДО

Схема XSD

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

from lxml import etree

# Загрузка xsd схемы
xsd_file_name = 'c:/tmp/xsd/v01/proactive/Confirmation.xsd'
schema_root = etree.parse(xsd_file_name)
schema = etree.XMLSchema(schema_root)

# Загрузка xml

xml_filename = 'c:/tmp/ans.xml'
xml = etree.parse(xml_filename)

# Проверка

if not schema.validate(xml):
    print(schema.error_log)

Здесь c:/tmp/xsd/v01/proactive/Confirmation.xsd - путь к корневому файлу схемы XSD,

c:/tmp/ans.xml - сохраненный в файл текст XML из документа.

 

Запускаем скрипт и получаем вот такую ошибку:

c:/tmp/ans.xml:4:0:ERROR:SCHEMASV:SCHEMAV_ELEMENT_CONTENT: Element '{urn:ru:fss:integration:types:proactive:benefit4:v01}benefit4Approve': This element is not expected. Expected is one of ( {urn:ru:fss:integration:types:proactive:v01}changeReason, {urn:ru:fss:integration:types:proactive:benefit1:v01}benefit1Approve, {urn:ru:fss:integration:types:proactive:benefit2:v01}benefit2Approve, {urn:ru:fss:integration:types:proactive:benefit4:v02}benefit4Approve, {urn:ru:fss:integration:types:proactive:benefit5:v01}benefit5Approve, {urn:ru:fss:integration:types:proactive:benefit6:v01}benefit6Approve, {urn:ru:fss:integration:types:proactive:v01}refuse ).

Опаньки! Оказывается для элемента benefit4Approve необходимо использовать версию спецификации пространства имен v02. Но это еще не всё. Понятно, что версия спецификации просто так не меняется, скорее всего изменилось и что-то внутри.

Редактируем в xml-файле имя пространства имен на xmlns:benefit="urn:ru:fss:integration:types:proactive:benefit4:v02"

запускаем скрипт и видим следующие ошибки:

c:/tmp/ans.xml:11:0:ERROR:SCHEMASV:SCHEMAV_ELEMENT_CONTENT: Element '{urn:ru:fss:integration:types:proactive:benefit4:v02}insuredInfo': Missing child element(s). Expected is one of ( {urn:ru:fss:integration:types:proactive:benefit4:v02}workContract, {urn:ru:fss:integration:types:proactive:benefit4:v02}childRelType ).
c:/tmp/ans.xml:55:0:ERROR:SCHEMASV:SCHEMAV_ELEMENT_CONTENT: Element '{urn:ru:fss:integration:types:proactive:benefit4:v02}cert': This element is not expected.
c:/tmp/ans.xml:60:0:ERROR:SCHEMASV:SCHEMAV_ELEMENT_CONTENT: Element '{urn:ru:fss:integration:types:proactive:benefit4:v02}birthDate': This element is not expected. Expected is one of ( {urn:ru:fss:integration:types:proactive:benefit4:v02}cert, {urn:ru:fss:integration:types:proactive:benefit4:v02}otherDoc, {urn:ru:fss:integration:types:proactive:benefit4:v02}birthReference ).

Лезем в спецификацию по поводу тегов workContract, childRelType, cert, birthDate.

Выясняем, что workContract - срочный трудовой контракт - не наш случай. childRelType - отношение к ребенку (перечисление 38 - мать, 39 - отец, 40 - попечитель, 41 - опекун, 42 - иной родственник, фактически осуществляющий уход за ребенком). Этого тэга раньше не было. 

cert - свидетельство о рождении. Раньше было, но теперь из тэга zagsAct передвинули выше, в birthInfo. 

Добавляем в XML-файл тэг <benefit:childRelType>38</benefit:childRelType> внутрь benefit:insuredInfo, перемещаем cert.

Запускаем скрипт - проходит без ошибок. Ошибка по birthDate оказалась наведенной. Теперь становится понятно, что нужно исправить в УПП, чтобы документ отправился в ФСС.

 

1. Документ ОтветНаЗапросФССДляРасчетаПособия. Модуль формы документа.

 
Процедура УсловияИсчисленияКодНачалоВыбораИзСписка 

 

2. Документ ОтветНаЗапросФССДляРасчетаПособия. Модуль объекта

 
 Функция ТекстXML
 
 Процедура ВыгрузитьИнформациюОРожденииРебенка

 

Процедура ВыгрузитьИнформациюОРожденииРебенка(Документ, МенеджерXML, УзелДанных)
	// Информация о рождении ребенка.
	УзелРебенок = МенеджерXML.ДобавитьУзел(УзелДанных, "benefit:birthInfo", Неопределено, Ложь, Истина);
	
	Если ЗначениеЗаполнено(Документ.АктоваяЗаписьОРожденииНомер)
		И ЗначениеЗаполнено(Документ.АктоваяЗаписьОРожденииДата) Тогда
		// Данные о актовой записи ЗАГС.
		УзелЗАГС = МенеджерXML.ДобавитьУзел(УзелРебенок, "benefit:zagsAct");
		МенеджерXML.ДобавитьУзел(УзелЗАГС, "benefit:num",       Документ.АктоваяЗаписьОРожденииНомер);
		МенеджерXML.ДобавитьУзел(УзелЗАГС, "benefit:issueDate", Документ.АктоваяЗаписьОРожденииДата);
	Иначе
		// Иной документ подтверждающий рождение ребенка.
		УзелИное = МенеджерXML.ДобавитьУзел(УзелРебенок, "benefit:otherDoc");
		МенеджерXML.ДобавитьУзел(УзелИное, "benefit:num",       Документ.ИнойДокументОРожденииСерияНомер, Ложь, Истина);
		МенеджерXML.ДобавитьУзел(УзелИное, "benefit:issueDate", Документ.ИнойДокументОРожденииДатаВыдачи, Ложь, Истина);
	КонецЕсли;

	// Свидетельство о рождении.
	Свидетельство = МенеджерXML.ДобавитьУзел(УзелРебенок, "benefit:cert", Неопределено, Истина, Ложь);
	МенеджерXML.ДобавитьУзел(Свидетельство, "benefit:num",       Документ.СвидетельствоОРожденииСерияНомер, Ложь, Истина);
	МенеджерXML.ДобавитьУзел(Свидетельство, "benefit:issueDate", Документ.СвидетельствоОРожденииДатаВыдачи, Ложь, Истина);
	
	// Дата рождения ребенка.
	МенеджерXML.ДобавитьУзел(УзелРебенок, "benefit:birthDate", Документ.РебенокДатаРождения, Ложь, Истина);
	
	// ФИО ребенка.
	УзелФИО = МенеджерXML.ДобавитьУзел(УзелРебенок, "benefit:fullName", Неопределено, Ложь, Истина);
	МенеджерXML.ДобавитьУзел(УзелФИО, "person:firstName",  Документ.РебенокИмя);
	МенеджерXML.ДобавитьУзел(УзелФИО, "person:lastName",   Документ.РебенокФамилия);
	МенеджерXML.ДобавитьУзел(УзелФИО, "person:middleName", Документ.РебенокОтчество, Истина);
	
	// СНИЛС ребенка.
	МенеджерXML.ДобавитьУзел(УзелРебенок, "benefit:snils", СтрЗаменить(СтрЗаменить(Документ.РебенокСНИЛС, "-", ""), " ", ""));
	
КонецПроцедуры

 

 
 Процедура ВыгрузитьСведенияОЗастрахованномЛице

После внесения исправлений в УПП и дополнительного ввода значения в поле УсловияИсчисленияКод1 (при указании вида пособия "Единовременная выплата при рождении ребенка" ранее не использовался) документ был благополучно отправлен.

PS:

Пока я гуглил информацию, мне попались на разных региональных сайтах ФСС предыдущие версии спецификаций по проактивным выплатам. В версии v01 было 290 страниц, v02 - 515 страниц, в текущей версии v02.11 - 894 страницы.  Это прогресс за год! Неудивительно, что 1С за ними не поспевает. Я думаю, что у нас будет еще много веселых минут в связи с этой темой.

Update 31.08.2022

Исправлена процедура ВыгрузитьИнформациюОРожденииРебенка

ФСС СЭДО УПП XML XSD

См. также

SALE! 15%

[ED3] Обмен для ERP 2.5, КА 2.5, УТ 11.5 БП 3.0, Розница, УНФ и других с EnterpriseData (универсальный формат обмена), правила обмена

Обмен между базами 1C Файловый обмен (TXT, XML, DBF), FTP Платформа 1С v8.3 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. Не требуется синхронного обновления правил после обновления другой конфигурации, участвующей в обмене. Типовой обмен через планы обмена кнопкой Синхронизация вручную или автоматически по расписанию, или вручную обработкой.

25080 22572 руб.

12.06.2017    134912    722    291    

388

SALE! 20%

Перенос данных из ERP 2 / КА 2 / УТ 11 в БП 3.0. Переносятся документы, начальные остатки и справочники

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

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

34650 27720 руб.

15.04.2019    68401    178    138    

111

SALE! 20%

Перенос данных из ERP 2 / КА 2 в ЗУП 3. Переносятся остатки, документы и справочники

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

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

43450 34760 руб.

03.12.2020    34164    80    58    

78

SALE! 10%

Перенос данных из УТ 10.3 в УТ 11.5. Переносятся документы (обороты за период), справочная информация и остатки

Обмен между базами 1C Файловый обмен (TXT, XML, DBF), FTP Платформа 1С v8.3 Оперативный учет 1С:Управление торговлей 10 1С:Управление торговлей 11 Россия Управленческий учет Платные (руб)

Перенос данных из 1С:Управление торговлей 10.3 в 1С:Управление торговлей 11.5 с помощью правил обмена. Переносятся остатки, документы (обороты за период), справочная информация. Правила проверены на конфигурациях УТ 10.3 (10.3.87.x) и УТ 11.5 (11.5.16.x).

28000 25200 руб.

23.07.2020    46275    196    64    

156

Перенос данных из Парус 10 в ЗГУ ред.3

Внешние источники данных Кадровый учет Файловый обмен (TXT, XML, DBF), FTP Обмен между базами 1C Платформа 1С v8.3 Сложные периодические расчеты 1С:Зарплата и кадры государственного учреждения 3 Государственные, бюджетные структуры Россия Бухгалтерский учет Бюджетный учет Платные (руб)

Обработка позволяет перенести кадровую информацию и данные по заработной плате, фактических удержаниях, НДФЛ, вычетах, страховых взносах из базы Парус 10 учреждений в конфигурацию 1С:Зарплата и кадры государственного учреждения ред. 3 (ЗГУ) и начать с ней работать с любого месяца года.

60000 руб.

05.10.2022    9203    9    8    

10

SALE! 10%

Перенос данных из УПП 1.3 в БП 3.0. Переносятся документы (обороты за период), справочная информация и остатки

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

Перенос данных из 1С:Управление производственным предприятием 1.3 в 1С:Бухгалтерия предприятия 3.0 с помощью правил обмена. Переносятся остатки, документы (обороты за период), справочная информация. Правила проверены на конфигурациях УПП 1.3 (1.3.223.x) и БП 3.0 (3.0.149.x). Правила подходят для версии ПРОФ и КОРП.

28000 25200 руб.

15.12.2021    20232    132    38    

90

SALE! 10%

Перенос данных из БП 3.0 в УНФ 3.0 / УНФ 1.6. Переносятся остатки, документы и справочная информация

Обмен между базами 1C Файловый обмен (TXT, XML, DBF), FTP Платформа 1С v8.3 1С:Управление нашей фирмой 1.6 1С:Бухгалтерия 3.0 1С:Управление нашей фирмой 3.0 Россия Платные (руб)

В продаже с 2018г. | Воспользовались более 41 предприятия! | Правила конвертации (КД 2) для переноса данных из БП 3 в УНФ | Переносятся все виды документов, начальные остатки и вся возможная справочная информация | Есть фильтр по организациям | Оперативно обновляем на новые релизы | Оказываем техподдержку | В комплект файлов входит инструкция, авторская версия обработки "Универсальный обмен...", актуальные правила переноса данных и архив старых версий переноса | Учет в БП 3 должен быть корректным, некорректные данные не переносятся | Можно бесплатно проверить на вашем сервере до покупки!

50722 45650 руб.

10.07.2018    67435    41    122    

46

Загрузка номенклатуры c картинками (несколько потоков одновременно) и сопутствующими данными в базу и любые документы из yml, xls, xlsx, xlsm, ods, ots, csv для УТ 10.3, УТ 11 (все), БП 3, КА 2, ERP 2, УНФ 1.6/3.0, Розница 2

Загрузка и выгрузка в Excel Логистика, склад и ТМЦ Ценообразование, анализ цен Файловый обмен (TXT, XML, DBF), FTP Платформа 1С v8.3 1С:Бухгалтерия 2.0 1С:Управление торговлей 10 1С:Розница 2 1С:Управление нашей фирмой 1.6 1С:ERP Управление предприятием 2 1С:Бухгалтерия 3.0 1С:Управление торговлей 11 1С:Комплексная автоматизация 2.х 1С:Управление нашей фирмой 3.0 Платные (руб)

Эволюция не стоит на месте - новая удобная версия функциональной обработки для Вашего бизнеса! Что же Вы получаете? Удобный и интуитивно понятный интерфейс с 3-мя этапами работы. 2 режима - автоматический и ручной. Чтение XLSX, XLSM, CSV, XML/YML форматов без офиса, на любом сервере! Визуальное связывание колонок файла и реквизитов простым перетаскиванием колонок. Создание или обновление номенклатуры с иерархией, характеристик, доп. реквизитов, упаковок, загрузка практически неограниченного количества картинок на одну номенклатуру (с возможностью загрузки в несколько потоков одновременно), с хранением в томах или в базе. Загрузка номенклатуры поставщиков или поиск по их данным номенклатуры. Загрузка доп. реквизитов в характеристики. Загрузка штрихкодов с генерацией новых. Создание элементов справочников и ПВХ "на лету" для выбранных реквизитов. (Обновление от 11.12.2023, версия 9.5 - 9.9)

13200 руб.

20.11.2015    150695    367    375    

501
Комментарии
В избранное Подписаться на ответы Сортировка: Древо развёрнутое
Свернуть все
1. Jedi_u2 20.10.22 11:40 Сейчас в теме
Здравствуйте! у нас при отправке ответа в ФСС вышла такая ошибка логического контроля:
Ошибка формата сообщения. SAXParseException: cvc-complex-type.2.4.a: Invalid content was found starting with element '{"urn:ru:fss:integration:types:proactive:benefit5:v01":refNpay}'. One of '{"urn:ru:fss:integration:types:proactive:benefit5:v01":notice, "urn:ru:fss:integration:types:proactive:benefit5:v01":childSer}' is expected.

Я нашла, что refNpay это справки о неполучении пособия и childSer очередность ребенка. Эти поля у нас заполнены. Не подскажете, как исправить?

п.с: у нас ЗУП 3.1.23.165
2. alex_bob 246 20.10.22 16:19 Сейчас в теме
А справки о неполучении заполнены больше одной? Я боюсь, что в этом случае ЗУП может формировать неверный XML.
3. Jedi_u2 28.10.22 03:06 Сейчас в теме
(2) да, заполнены больше одной.

1С дала такой ответ:
Проблема в том, что указаны реквизиты двух справок о неполучении пособия, а действующей спецификацией ФСС предусмотрена возможность указать только одну. Понятно, что надо бы сообщить в ФСС об обеих справках, но технически на текущий момент такой возможности не предусмотрено. Предусмотреть ее может только ФСС со своей стороны. Мы на это повлиять никак не можем. Поэтому следует обратиться в службу поддержки ФСС, описав эту ситуацию и приложив файлы отправленного ответа на запрос и полученного результата контроля корректности файла ответа.
4. alex_bob 246 28.10.22 10:03 Сейчас в теме
(3) Чуть-чуть соврали. Так было в спецификации ФСС от августа, в конце сентября ФСС обновила спецификацию и там можно указывать несколько справок, но код от 1С, формирующий XML, делает это неправильно. Либо ждите патча от 1С, либо оставьте только одну справку.
Оставьте свое сообщение