Почему перестали загружаться электронные больничные (ЭЛН) в ЗУП 2.5 после обновления?

Программист 1С v8.3 (Обычные формы) 1С:Зарплата и Управление Персоналом Налоговый учет
← На главную

После обновления конфигурации «Зарплата и Управление Персоналом 2.5» на релизы 157.1 и выше многие пользователи столкнулись с невозможностью обмена данными с ФСС. Ошибка чаще всего проявляется при попытке вызвать WSПрокси или при получении данных о схеме обмена. Давайте вместе разберем, как проанализировать эту ситуацию и какие технические правки помогут временно восстановить работоспособность системы.

Анализ причин ошибки обмена

Основная причина заключается в том, что фирма «1С» внедрила в конфигурацию поддержку версии 2.0 сервиса ФСС, которая конфликтует с устаревшей архитектурой ЗУП 2.5. В ряде случаев программа автоматически переключается на новую версию, для которой еще не реализованы все необходимые механизмы (например, отправка реестров или валидация определенных полей). Для исправления ситуации необходимо проверить настройки версии обмена в модулях конфигурации.

Способ №1: Принудительная установка версии обмена 1.1

Первым делом рассмотрим внесение изменений в общий модуль ОбменСведениямиОПособияхСФСС. Если ваша база пытается использовать версию 2.0, мы можем принудительно вернуть её к версии 1.1, которая на момент возникновения проблемы была более стабильной для данной конфигурации.

  1. Откройте конфигуратор и найдите общий модуль ОбменСведениямиОПособияхСФСС.
  2. Найдите функцию ВерсияЭЛН. В обновленных релизах она возвращает «2.0».
  3. Измените возвращаемое значение на «1.1».

// Пример модификации функции в модуле
Функция ВерсияЭЛН() Экспорт
    Возврат "1.1";
КонецФункции

После этого изменения необходимо проверить функцию ЗаполнитьWSОписаниеОперации. Убедитесь, что параметры формирования запроса соответствуют формату 1.1, так как в версии 2.0 структура полей отличается (отсутствуют нижние подчеркивания, другие типы данных).

Способ №2: Корректировка адреса подключения (удаление порта)

В некоторых случаях ошибка возникает из-за неверной обработки строки соединения, содержащей порт. Если обмен не проходит из-за недоступности схемы, разберем, как принудительно очистить адрес:

В процедуре WSПрокси_FileOperationsLnService того же модуля ОбменСведениямиОПособияхСФСС после строки, определяющей МестоположениеСхемы, добавьте код для удаления «:80» из адреса, если система пытается добавить его ошибочно:


// Добавление фильтрации адреса
МестоположениеСхемы = Лев(СтрокаURI, ДлинаСоединения);
Если Найти(МестоположениеСхемы, ":80") > 0 Тогда
    МестоположениеСхемы = СтрЗаменить(МестоположениеСхемы, ":80", "");
КонецЕсли;

Способ №3: Проверка настроек сервера приема отчетности

Если правка версии не помогла, обратим внимание на модуль СерверПриемаОтчетностиФССЭЛН. В функции СерверПриемаОтчетностиФССЭЛН реализована логика выбора определения в зависимости от версии. Убедитесь, что при передаче параметра «1.1» система корректно выбирает нужный WSОпределения.

Разберем пример логики, которая должна присутствовать в обработке:


ИначеЕсли ПараметрыФормата.Версия = "1.1" Тогда
    Если НЕ ИспользоватьТестовыйСервер Тогда
        Результат.Вставить("Определение", "Адрес_Продакшн_1.1");
    Иначе
        Результат.Вставить("Определение", "Адрес_Тест_1.1");
    КонецЕсли;
Иначе // Версия 2.0
    // ... логика для 2.0
КонецЕсли;

Важные замечания по безопасности и будущим обновлениям

Внимание: Приведенные выше решения являются «костылями», которые помогают в экстренных ситуациях. Важно помнить следующее:

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

← На главную