Z_DOCSFSS
Краткое описание :
Загрузка/экспорт ЭЛН - расшифровать сообщение об ошибке,
возвращаемое сервисом ФССОписание :
Галактика ERP \ Персонал \ ЗП \ Операции \ Больничные \ Расчет
больничных \ Загрузка и экспорт ЭЛНЧто измененно :
После отправки запроса на портал ФСС на получение/модификацию
ЭЛН если при проверке сервисом возникает какая-либо ошибка (невалидная подпись,
просроченный сертификат, старый ГОСТ и пр.) - выдаётся всегда одно сообщение об
ошибке Internal Server Error (500), по которому невозможно определить истинную
причину. На самом деле, кроме самой ошибки сервис возвращает xml-файл с
подробной информацией об этой ошибке. В данном файле следующий текст ошибки: "С
01.01.2020 введен запрет на использование сертификатов ГОСТ 2001. Для работы с
ЭЛН необходимо использовать сертификаты, сформированные по ГОСТ 2012".
Предлагается дать возможность прочитать полную информацию об ошибке.
Как измененно :
При загрузке или экспорте ЭЛН при возникновении ошибки в
протокол и на экран выдается ошибка, которая возвращается с Портала ФСС в
xml-файле с ошибками (ранее во многих случаях в Галактике отображалась ошибка
internal Error 500). Например, в случае, если неверно указан сертификат
страхователя, в файле с ошибками присутсвует ошибка
"ru.fss.integration.ws.fault.v01.InternalException: Не удалось расшифровать
сообщение. Возможно сообщение зашифровано на ключе отличном от ключа
уполномоченного лица ФСС. Проверьте правильность и актуальность ключа
уполномоченного лица ФСС. class
ru.ibs.cryptopro.jcp.eln.crypt.CryptoException". В Галактике в этом случае на
экран и в протокол запишется сообщение: "Ошибка: Не удалось расшифровать
сообщение. Возможно сообщение зашифровано на ключе отличном от ключа
уполномоченного лица ФСС. Проверьте правильность и актуальность ключа
уполномоченного лица ФСС." Дополнительно. Параметр "Включить sil-протокол"
удален как неактуальный.
Z_DOCSFSS
Краткое описание :
Не удалять xml-файл с ошибкой в функции SOAPClient_ExecuteОписание :
ЗП - Операции - Больничные - Расчет больничных - Загрузка и
импорт ЭЛНЧто измененно :
Для реализации взаимодействия с Web-сервисом, например сервисом
ФСС (получение и отправка электронных листков нетрудоспособности) используется
внешняя библиотека GalHttpConnector.dll. При отправке сообщения сервису с
помощью функции [SOAPClient_Execute(soap: TALSOAPClientGal; RequestXML,
ResponseXML : IntPtr) : boolean] в случае ошибки при обработке RequestXML, файл
ResponseXML не формируется. Но в случае ошибки уровня обработки запроса этом
файле (ответе сервера) содержится XML c описание ошибки. На данный момент в
большинстве случаев SOAPClient_LastHttpErrorText(soap) возвращает только
Internal Errror 500 для таких ошибок. Также нужна возможность определить, был
ли получен ответ от сервиса или нет. Сейчас функция SOAPClient_Execute
возвращает false в случае ошибки. Это может быть как ошибка в ответе ФСС, так и
ошибка, возникающая при отправке запроса.
Как измененно :
Для методов SOAPClient_XXXXXXXXX библиотеки
GalHttpConnector.dll реализована возможность логирования работы в sil-протокол.
В библиотеку (и в ERP) добавлены 2 метода: * function
SOAPClient_EnableSil(_ConfigFileName: String): boolean; * procedure
SOAPClient_DisableSil; для включения и отключения логирования. входным
параметром для метода включения логирования служит полный путь к файлу
конфигурации sil-протокола. Пример файла во вложении к задаче. В случае вызова
метода с параметром по умолчанию (пустая строка) будет в качестве файла настоек
протокола будет выбран SoapClient.sic в каталоге с самой библиотекой. В лог,
указанный в конфигурации будут сохранены как тест запроса, так текст ответа
сервера (Header + Body). В случае отсутствия ответа сервера в протоколе можно
сделать вывод о том, что ответ от сервиса клиентом не получен.