Как исправить ошибку ORA-20001 при загрузке электронного больничного листа в 1С

Бухгалтер 1С v8.3 (Обычные формы) Бухгалтерский учет
← На главную

Работа с электронными листками нетрудоспособности (ЭЛН) прочно вошла в повседневную практику бухгалтера и кадровика. Однако технические особенности взаимодействия систем 1С и шлюзов Социального фонда России (ранее ФСС) иногда преподносят неприятные сюрпризы в виде трудночитаемых ошибок. Одной из самых распространенных и пугающих является ошибка с кодом ORA-20001.

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

Разбор ошибки ORA-20001 и статуса 010

Проанализируем типичную ситуацию: при попытке загрузить данные больничного листа по номеру и СНИЛС сотрудника система выдает сообщение: ORA-20001: Доступ к ЭЛН с номером: (номер), СНИЛС: (номер), статусом: 010 - ограничен.

Прежде всего, выясним причину появления этого кода. Ошибка ORA-20001 — это внутренняя ошибка сервера базы данных Oracle на стороне фонда. Она сигнализирует о том, что сработал «триггер безопасности» или бизнес-логика системы запрещает выполнение текущего запроса. В контексте ЭЛН это чаще всего означает попытку доступа к документу, который еще не готов к обработке работодателем.

Рассмотрим подробнее значение статуса 010. Согласно регламенту обмена с фондом, этот статус означает, что больничный лист в данный момент «Открыт». Это начальная стадия документа, когда врач только зафиксировал факт обращения пациента.

Важный нюанс: работодатель по закону и техническим правилам шлюза не имеет права получать данные по открытым или продленным больничным листам. Доступ к персональным данным и финансовым расчетам открывается только тогда, когда медицинское учреждение завершает свою часть работы. Таким образом, если вы видите статус 010 или 020 — это не ошибка вашей программы 1С, а штатное ограничение системы фонда.

Классификация статусов ЭЛН и правила доступа

Для понимания того, в какой момент мы можем загрузить документ в 1С, разберем полную цепочку статусов, через которые проходит электронный листок нетрудоспособности:

  1. 010 — Открыт: Документ создан в поликлинике, но лечение продолжается. Доступа у работодателя нет.
  2. 020 — Продлен: Пациент продолжает болеть, выписано продолжение. Доступа у работодателя нет.
  3. 030 — Закрыт: Врач завершил оформление документа. Это единственный статус, при котором первичная загрузка в 1С становится возможной.
  4. 040 — Направление на МСЭ: Документ передается для проведения медико-социальной экспертизы.
  5. 050 — Дополнен данными МСЭ: Результаты экспертизы внесены в листок.
  6. 060 — Заполнен страхователем: Работодатель успешно загрузил документ, внес сведения о стаже и заработке и отправил данные обратно в фонд.
  7. 070 — Заполнен страхователем (реестр ПВСО): Документ принят фондом в рамках «Прямых выплат», реестр прошел проверку.
  8. 080 — Пособие выплачено: Финальная стадия, когда деньги перечислены сотруднику.
  9. 090 — Действия прекращены: Документ аннулирован (например, если был выписан ошибочно).

Вывод очевиден: если сотрудник принес номер больничного, а система выдает ошибку со статусом 010, необходимо попросить работника связаться с лечебным учреждением для уточнения, закрыт ли листок в системе фонда. Пока статус не сменится на 030, загрузить его не удастся.

Техническая настройка обмена в 1С:УПП 1.3 и других конфигурациях

Если же статус верный (030), но ошибка сохраняется или возникают проблемы с сертификатами, проанализируем техническую сторону вопроса. Рассмотрим шаги по настройке обмена, актуальные для конфигураций на обычных формах (таких как «Управление производственным предприятием 1.3»):

  1. Обновление криптографии: Убедитесь, что на компьютере установлена актуальная версия КриптоПро CSP (не ниже версии 4.0, рекомендуется 5.0). Старые версии могут некорректно работать с современными алгоритмами ГОСТ, которые использует фонд.
  2. Проверка сертификатов: Для обмена данными требуются два сертификата. Первый — сертификат ответственного лица вашей организации (руководителя или уполномоченного сотрудника с доверенностью). Второй — корневой сертификат самого фонда (СФР/ФСС), который должен быть установлен в хранилище «Доверенные корневые центры сертификации».
  3. Настройка ЭДО: В настройках параметров учета или в настройках организации необходимо проверить, правильно ли выбран сертификат для обмена с ФСС. Если вы используете сервис 1С-Отчетность, настройки обычно подтягиваются автоматически, но при использовании сторонних программ (например, СБиС) сертификаты нужно прописывать вручную в настройках обмена ЭЛН.

Переход из статуса 060 в 070: почему статус не меняется?

Часто возникает вопрос: почему после отправки данных больничный «зависает» в статусе 060 (Заполнено страхователем) и не переходит в 070 (Готов к выплате)?

Разберем этот механизм. Статус 060 присваивается в момент, когда фонд получил ваш XML-файл с данными о расчете. Однако для того, чтобы документ ушел в работу на выплату, необходимо отправить Реестр прямых выплат.

В современных конфигурациях 1С процесс выглядит так:

  1. Загрузка ЭЛН по номеру (статус становится 030 на стороне фонда).
  2. Создание документа «Больничный лист» и его расчет.
  3. Создание документа «Сведения для реестра прямых выплат».
  4. Формирование и отправка «Реестра сведений для выплаты пособий».

Только после успешного принятия реестра на стороне фонда, статус ЭЛН в системе автоматически изменится на 070. Если вы отправили только данные самого листка, но забыли про реестр, выплата произведена не будет. Помните, что статус 070 проставляется на стороне сервера фонда после обработки вашего сообщения, это может занять от нескольких минут до нескольких часов.

Дополнительные причины ошибок доступа

Если статус 030, но доступ все равно ограничен, проанализируем следующие моменты:

Выясним причину, почему в УПП 1.3 или других старых конфигурациях может не работать автоматическая загрузка. Это часто связано с использованием протокола TLS 1.0 или 1.1, которые признаны небезопасными. Убедитесь, что в настройках вашей операционной системы включена поддержка TLS 1.2, иначе соединение с сервером фонда будет принудительно обрываться самой ОС до того, как 1С успеет передать данные.

Заключение

Подводя итог, можно сказать, что ошибка ORA-20001 при работе с ЭЛН — это в 90% случаев вопрос организационный (статус документа), а не программный. Прежде чем переустанавливать криптографию или писать в поддержку 1С, проверьте статус больничного в личном кабинете страхователя на сайте фонда или попросите сотрудника проверить статус в его личном кабинете на портале Госуслуг. Если документ закрыт (статус 030), но загрузка не идет — проверьте корректность СНИЛС и настройки актуальных сертификатов.

← На главную