Вход | Регистрация
 

УПП - Больничные - ФСС (Ошибка импорта схемы)

УПП - Больничные -  ФСС (Ошибка импорта схемы)
Я
   serg999
 
11.01.22 - 15:22
Добрый день. При заполнении больничного выдает ошибку (УПП: 1.3.173.1)
Временные проблемы в ФСС или кардинально поменяли принцип работы с больничными?

{(1)}: Ошибка при вызове конструктора (WSОпределения)
WSОпределения = Новый WSОпределения(ФайлОписанияВебСервиса,,, ИнтернетПрокси,, СоединениеSSL)
по причине:
Ошибка импорта схемы
по причине:
Ошибка доступа к файлу 'https://eln.fss.ru/ws-insurer-crypto-v20/FileOperationsLnService?xsd=../../xsd/v01/sedo/Sedo.xsd'
по причине:
Ошибка работы с Интернет:  Не могу установить соединение
   RomaH
 
1 - 11.01.22 - 15:24
это нормально
'https://eln.fss.ru/ws-insurer-crypto-v20/ периодически висит
   RomaH
 
2 - 11.01.22 - 15:25
<soap:Envelope>
<soap:Body>
<soap:Fault>
<faultcode>soap:Server</faultcode>
<faultstring>Could not find xsd ../../xsd/v01/sedo/Sedo.xsd'</faultstring>
</soap:Fault>
</soap:Body>
</soap:Envelope>
   RomaH
 
3 - 11.01.22 - 15:29
но вроде все доступно - что то я там Sedo не нахожу внутри
   serg999
 
4 - 11.01.22 - 15:36
Похоже проблема на стороне ФСС ... из 10 попыток, может 1 раз заполнить.
Интересно, что ошибки разные  выдает ..
   RomaH
 
5 - 12.01.22 - 07:15
(4) по этому поводу рекомендую схемы у себя локально положить - что бы меньше не нужных обращений в ФСС было

<?xml version='1.0' encoding='UTF-8'?>
<wsdl:definitions xmlns:xs="http://www.w3.org/2001/XMLSchema"
                    xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/"
                    xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/"
                    xmlns:ins="http://www.fss.ru/integration/types/eln/ins/v01"
                    xmlns:fs="http://www.fss.ru/integration/ws/fault/v01"
                    xmlns="http://www.fss.ru/integration/ws/eln/ins/v01"
                    name="FileOperationsLnService"
                    targetNamespace="http://www.fss.ru/integration/ws/eln/ins/v01">
    <wsdl:import location="http://dkb/LnService/Faults.wsdl"
                   namespace="http://www.fss.ru/integration/ws/fault/v01">
    </wsdl:import>


все импорты заменить
   NorthWind
 
6 - 12.01.22 - 07:17
(5) а если обновятся? ФСС об этом не всегда докладает когда что-то у себя делает :)
   RomaH
 
7 - 12.01.22 - 07:21
(6) если обновятся - то вывалится ошибка валидации - либо вы прочитать не сможете сообщение от ФСС, либо ФСС от вас
   serg999
 
8 - 12.01.22 - 10:52
Вечером проверял более менее работает, а днем вообще никак .. расчетчики воют :(
(5) Не могу понять, как схемы можно локально выложить, они же в запросе указаны ?
   RomaH
 
9 - 12.01.22 - 11:24
(8) к схемам идет обращение через "точку входа" - это общий макет в кофиге - поищи в макетах "FileOperationsLnService"

1С первую и вторую схему вроде как адаптировали под локальное использование - то что в общем макете, но вот остальные оставили снаружи

можно извратиться и засунуть все наружные в этот же макет, но проще скачать все внешние схемы, опубликовать их внутри и поправить внутри их импорты на свои пути

https://ibb.co/6YYLTYg
   NorthWind
 
10 - 12.01.22 - 22:34
ох, бида-бида. Поанализировал фиддлером запросы на получение данных больничного по номеру и увидел, что 1С дергает WSDL и XSD в количестве 11 штук аж 4 раза подряд одни и те же. Это ж в несколько раз увеличивает вероятность сбоя. И если так делает весь 1Совский софт по всей России... так ведь что угодно положить можно.
   RomaH
 
11 - 13.01.22 - 07:23
ну как бы ... это "решение" от ФСС - они так описание сервиса сделали - нет что бы все в одном
   NorthWind
 
12 - 13.01.22 - 07:30
(11) не, тут дело не в ФСС. Вот мы по номеру выкачиваем больничный в УПП. Там дергается 9 штук XSD-схем и 2 WSDL-я.
Я бы понял если бы это произошло один раз. Но это делается четыре раза с одними и теми же схемами - вместо того чтобы один раз все вытащить, построить интерфейс и дальше просто обращаться к соответствующей точке (или точкам) входа. Понятно, что любое кэширование схем очень сильно поможет от косяков в таком случае.
И сбои происходят каждый раз в разных местах. Если бы вытаскивалось это все один раз - работа бы шла в четыре раза стабильнее.
   RomaH
 
13 - 13.01.22 - 08:02
ну как бы - создать запрос 
потом прочитать то, что получили

и вся "схема" получается одной строчкой
Определения = Новый WSОпределения(ИмяФайлаWSDL,...
   NorthWind
 
14 - 13.01.22 - 09:31
(13) Три файлика с самыми длинными именами вы по каким ссылкам качали? Фиддлер мне их не показал...
Остальные схемки получилось вытянуть.
   NorthWind
 
15 - 13.01.22 - 09:53
раскопал. Осталась только *LnMo.xsd
   RomaH
 
16 - 13.01.22 - 12:29
(15) не понял - не такого - у нас и МО и работодатель - весь список файлов на картинке выше
   RomaH
 
17 - 13.01.22 - 12:29
+(16) вижу - по серединке
   RomaH
 
18 - 13.01.22 - 12:30
(14) у нас мед организация - нам надо больше
   NorthWind
 
19 - 13.01.22 - 12:39
(18) и я так понимаю, в схемках после выкачки вы правили секции import, чтобы рекурсивно тоже качалось с локального сервера...

Я соорудил вот такой батник

wget --no-check-certificate https://eln.fss.ru/ws-insurer-crypto-v20/FileOperationsLnService?wsdl --output-document c:\inetpub\wwwroot\LnService\FileOperationsLnService.wsdl
wget --no-check-certificate https://eln.fss.ru/ws-insurer-crypto-v20/FileOperationsLnService?xsd=../../xsd/v01/eln/FileOperationsLnIns.xsd --output-document c:\inetpub\wwwroot\LnService\FileOperationsLnIns.xsd
wget --no-check-certificate https://eln.fss.ru/ws-insurer-crypto-v20/FileOperationsLnService?wsdl=../Faults.wsdl --output-document c:\inetpub\wwwroot\LnService\Faults.wsdl
wget --no-check-certificate https://eln.fss.ru/ws-insurer-crypto-v20/FileOperationsLnService?xsd=../../xsd/v01/type/Fault.xsd --output-document c:\inetpub\wwwroot\LnService\Fault.xsd
wget --no-check-certificate https://eln.fss.ru/ws-insurer-crypto-v20/FileOperationsLnService?xsd=../../xsd/v01/dic/FaultCode.xsd --output-document c:\inetpub\wwwroot\LnService\FaultCode.xsd
wget --no-check-certificate https://eln.fss.ru/ws-insurer-crypto-v20/FileOperationsLnService?xsd=../../xsd/v01/sedo/Sedo.xsd --output-document c:\inetpub\wwwroot\LnService\Sedo.xsd
wget --no-check-certificate https://eln.fss.ru/ws-insurer-crypto-v20/FileOperationsLnService?xsd=../../xsd/v01/type/Organization.xsd --output-document c:\inetpub\wwwroot\LnService\Organization.xsd
wget --no-check-certificate https://eln.fss.ru/ws-insurer-crypto-v20/FileOperationsLnService?xsd=../../xsd/v01/type/Common.xsd --output-document c:\inetpub\wwwroot\LnService\Common.xsd
wget --no-check-certificate https://eln.fss.ru/ws-insurer-crypto-v20/FileOperationsLnService?xsd=../../xsd/v01/type/Errors.xsd --output-document c:\inetpub\wwwroot\LnService\Errors.xsd
wget --no-check-certificate https://eln.fss.ru/ws-insurer-crypto-v20/FileOperationsLnService?xsd=../../xsd/v01/type/Person.xsd --output-document c:\inetpub\wwwroot\LnService\Person.xsd
wget --no-check-certificate https://eln.fss.ru/ws-insurer-crypto-v20/FileOperationsLnService?xsd=../../xsd/v01/type/IdentityDocument.xsd --output-document c:\inetpub\wwwroot\LnService\IdentityDocument.xsd
wget --no-check-certificate https://eln.fss.ru/ws-insurer-crypto-v20/FileOperationsLnService?xsd=../../xsd/v01/type/Eln.xsd --output-document c:\inetpub\wwwroot\LnService\Eln.xsd
wget --no-check-certificate https://eln.fss.ru/ws-insurer-crypto-v20/FileOperationsLnService?xsd=../../xsd/v01/eln/WsSecurity.xsd --output-document c:\inetpub\wwwroot\LnService\WsSecurity.xsd

nhrt.exe -spt:"https://eln.fss.ru/ws-insurer-crypto-v20/FileOperationsLnService?xsd=../../xsd/v01/type/" -t:"" c:\inetpub\wwwroot\LnService\*.xsd
nhrt.exe -spt:"https://eln.fss.ru/ws-insurer-crypto-v20/FileOperationsLnService?xsd=../../xsd/v01/type/" -t:"" c:\inetpub\wwwroot\LnService\*.wsdl

nhrt.exe -spt:"https://eln.fss.ru/ws-insurer-crypto-v20/FileOperationsLnService?xsd=../../xsd/v01/eln/" -t:"" c:\inetpub\wwwroot\LnService\*.xsd
nhrt.exe -spt:"https://eln.fss.ru/ws-insurer-crypto-v20/FileOperationsLnService?xsd=../../xsd/v01/eln/" -t:"" c:\inetpub\wwwroot\LnService\*.wsdl

nhrt.exe -spt:"https://eln.fss.ru/ws-insurer-crypto-v20/FileOperationsLnService?xsd=../../xsd/v01/dic/" -t:"" c:\inetpub\wwwroot\LnService\*.xsd
nhrt.exe -spt:"https://eln.fss.ru/ws-insurer-crypto-v20/FileOperationsLnService?xsd=../../xsd/v01/dic/" -t:"" c:\inetpub\wwwroot\LnService\*.wsdl

nhrt.exe -spt:"https://eln.fss.ru/ws-insurer-crypto-v20/FileOperationsLnService?xsd=../../xsd/v01/sedo/" -t:"" c:\inetpub\wwwroot\LnService\*.xsd
nhrt.exe -spt:"https://eln.fss.ru/ws-insurer-crypto-v20/FileOperationsLnService?xsd=../../xsd/v01/sedo/" -t:"" c:\inetpub\wwwroot\LnService\*.wsdl

nhrt.exe -spt:"https://eln.fss.ru/ws-insurer-crypto-v20/FileOperationsLnService?wsdl=../Faults.wsdl" -t:"Faults.wsdl" c:\inetpub\wwwroot\LnService\*.xsd
nhrt.exe -spt:"https://eln.fss.ru/ws-insurer-crypto-v20/FileOperationsLnService?wsdl=../Faults.wsdl" -t:"Faults.wsdl" c:\inetpub\wwwroot\LnService\*.wsdl

и все получилось очень даже неплохо. wget и nhrt надо поставить, понятное дело.
   Kigo_Kigo
 
20 - 13.01.22 - 14:45
(19) А что надо сделать что бы он заработал?
   NorthWind
 
21 - 13.01.22 - 15:11
(20) нужен веб-сервер. Я использовал IIS от Windows 2008 R2. Можно и апач, это кому как удобнее.

Для публикации документов у IIS по умолчанию используется папка c:\inetpub\wwwroot. Там создается папка LnService. Этот батник с помошью утилиты wget (http://gnuwin32.sourceforge.net/packages/wget.htm) выкачивает в нее все необходимые схемки. Но перед тем, как их использовать, нужно их немного подредактировать, потому что в них есть ссылки друг на друга, но при этом искать их предполагается на fss.ru.

Выглядит это примерно вот так

<xs:import namespace="http://www.fss.ru/integration/types/dic/fault/v01" schemaLocation="https://eln.fss.ru/ws-insurer-crypto-v20/FileOperationsLnService?xsd=../../xsd/v01/dic/FaultCode.xsd"/>

Нам надо такие вещи поправить на локальные в текущей папке, то есть сделать

<xs:import namespace="http://www.fss.ru/integration/types/dic/fault/v01" schemaLocation="FaultCode.xsd"/>

Для этого можно использовать утилиту командной строки, которая умеет в куче текстовых файлов заменять одну строку на другую.
Я нашел вот такую https://nhutils.ru/blog/nhrt/. Ну или другую подобную, их много, может, в винде даже штатные способы есть, не знаю. Использовал эту утилиту для замен, это вторая часть батника.

А дальнейшее зависит от вашей конфигурации 1С. В УПП необходимые ссылки находятся в общем макете ОбменДаннымиФССЭЛНОписаниеВебСервиса. Его нужно снять с замка и в секциях import поменять ссылки так, чтобы они ссылались на ваш локальные схемы. У меня это выглядит примерно так

<xs:import namespace="http://www.fss.ru/integration/types/organization/v01" schemaLocation="http://srv-02/LnService/Organization.xsd"/>

И все. Дальше запускаете 1С с фиддлером, пробуете запросить данные больничного и видите, что обращение к fss.ru идет только когда система обращается к точке доступа. Все схемы стаскиваются с локального веб-сервера.
   NorthWind
 
22 - 13.01.22 - 15:25
Сегодня, кстати, ФСС отживел, по-моему. Более-менее вытаскивается все, и достаточно быстро.
   Demetri__
 
23 - 17.01.22 - 13:46
Не работает с пятницы, так же разные ошибки при запросе заполнить БЛ. Сертификат поставили новый от 15.12.2021
Конфа УПП последний релиз

У кого как?
   NorthWind
 
24 - 17.01.22 - 13:57
(23) норм. Сегодня проверял со своими изменениями от (19)-(21) - супер, шустренько. Серты свежие с лк.фсс.ру, второй от 17, нижний от 15.12.2021.
   NorthWind
 
25 - 17.01.22 - 13:59
И да, RomaH, спасибо за плодотворную идею. По-хорошему, это можно было бы оформить как публикациб на ИС.
   RomaH
 
26 - 20.01.22 - 07:13
к стати - вопрос к "работодателям" на ЗУП и прочих УПП
какая длина у вас на должности врачей?

тут поймали в "1С:Больничных" ограничение в конфе сначала на 100 символов потом в 150 (в разных местах)

фишка в том, что "строка" в схеме ЭЛН не ограничена - и поймали внешний больничный с должностью на 151 символ
соответственно после добавления "наших" данных в больничный, подписания и отправки ФСС ругается - что наш ЭЛН не соответствует тому что у них.

так что - это еще одна мина замедленного действия от 1С
   NorthWind
 
27 - 20.01.22 - 07:58
(26) Ну не сказать чтоб не ограничена - 300 символов.

    <xs:simpleType name="doctorRole">
        <xs:annotation>
            <xs:documentation>
                Должность врача
            </xs:documentation>
        </xs:annotation>
        <xs:restriction base="xs:string">
            <xs:maxLength value="300"/>
        </xs:restriction>
    </xs:simpleType>
   RomaH
 
28 - 20.01.22 - 07:59
(27) понятно

а в ЗУП?
   NorthWind
 
29 - 20.01.22 - 08:12
В ЗУП не знаю. В УПП встречается в доке НачислениеПоБольничномуЛисту, ТЧ ОсвобождениеОтРаботыВЛисткеНетрудоспособности, атр ДолжностьВрача - там 300. Затем: РеестрСведенийВФССОПособияхПоНетрудоспособности, ТЧ РаботникиОрганизации. Там аж 6 атрибутов с должностями врачей. Все по 300 символов. Речь про последнюю УПП 173.2.


Список тем форума
 
Требовать и эффективности, и гибкости от одной и той же программы — все равно, что искать очаровательную и скромную жену... по-видимому, нам следует остановиться на чем-то одном из двух.
Фредерик Брукс-младший
ВНИМАНИЕ! Если вы потеряли окно ввода сообщения, нажмите Ctrl-F5 или Ctrl-R или кнопку "Обновить" в браузере.