Почему при проведении больничного по уходу за ребенком в 1С:ЗУП появляется ошибка «Начало периода болезни не может быть меньше 1 января 1900 г.»?

← На главную

Проанализируем ситуацию: сотрудница находится в ежегодном отпуске (26.01–15.02), в середине отпуска ей открыт больничный по уходу за ребенком (03.02–13.02). По правилам учета такой период часто не подлежит оплате (нет рабочих дней, за которые нужно назначать пособие), но документ все равно пытаемся провести в 1С:ЗУП. В релизе 3.1.36.45 при определенных действиях программа может «потерять» корректную дату начала периода (получается пустое значение или техническая дата меньше 1900 года), из-за чего и возникает сообщение: «Начало периода болезни () не может быть меньше 1 января 1900 г.».

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

Решение 1. Обновим релиз и установим патчи (исправления) — это самый правильный путь

Начнем с базового: подобные ошибки нередко являются ошибками типовой конфигурации, которые исправляются в новых релизах или патчами — избежать подобных дефектов поможет автоматическое тестирование кадровых процессов в 1С:ЗУП. В практике 1С встречались ситуации, когда ошибка «Начало периода болезни… меньше 1900» была зарегистрирована как дефект и позже исправлена разработчиком в выпущенных версиях. Поэтому действуем так:

  1. Сделаем резервную копию базы. Это обязательный шаг перед обновлением и установкой патчей.

  2. Проверим текущий релиз (у вас: 3.1.36.45) и обновим 1С:ЗУП до последнего доступного релиза вашей ветки (обычно рекомендуют переходить на актуальный стабильный релиз, а не «точечно»).

  3. Установим все патчи (если ваша организация использует механизм патчей). В 1С:ЗУП патчи часто закрывают «узкие» ошибки, которые еще не вошли в общий релиз.

  4. После обновления перепроведем проблемный документ и проверим результат.

Если после обновления ошибка исчезла — фиксируем решение: проблема была в дефекте релиза/патча. Если ошибка осталась, переходим к следующим шагам — они помогут обойти проблему даже на «капризных» ситуациях пересечений.

Решение 2. Перевыберем сотрудника, пересчитаем документ и перепроведем (часто помогает при «залипших» данных)

Иногда ошибка возникает из-за некорректно обновившихся или «залипших» реквизитов формы после загрузки ЭЛН/изменений данных сотрудника. Тогда помогает простая, но действенная последовательность действий:

  1. Откроем документ Больничный лист, который не проводится.

  2. Снимем текущего сотрудника в поле «Сотрудник» (очистим реквизит), затем выберем сотрудника заново.

  3. Нажмем команду пересчета (в типовой логике — «Рассчитать»/«Пересчитать» начисления, в зависимости от интерфейса) и убедимся, что периоды и дни рассчитались ожидаемо.

  4. Перепроведем документ.

Если документ создавался/загружался в момент, когда в системе была ошибка релиза, полезно также:

  1. Перепровести «первичный» документ (если есть связка «первичный + продолжение»), затем провести продолжение.

  2. Проверить, не остались ли незаполненные или «нулевые» поля дат в табличных частях, которые влияют на расчет (особенно там, где программа сама добавляет периоды).

Если после перевыбора сотрудника проблема решилась — отлично. Если нет, значит мы попали в типовой сценарий, где ошибка «выстреливает» при определенном способе исключения дней из оплаты.

Решение 3. Не заполняем «исключаемые периоды» на весь больничный по уходу — вместо этого снимем «Назначить пособие» (обход для ошибки при полном совпадении периодов)

Теперь разберем ключевую причину, которая очень похоже совпадает с вашей ситуацией. Ошибка «Начало периода болезни ()…» часто появляется, когда в больничном по причине «(09) Уход за больным ребенком» мы пытаемся сделать так:

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

В такой комбинации в программе может возникнуть дефект расчета внутренних дат: система пытается сформировать «период болезни» к оплате, но он получается пустым, и дата начала превращается в техническое «минимальное» значение (ниже 01.01.1900), что и выбрасывает ошибку при проведении.

Чтобы обойти это, действуем так — разберем по шагам:

  1. Откроем документ Больничный лист по уходу за ребенком.

  2. Перейдем на вкладку, где управляется оплата (обычно это вкладка «Оплата»).

  3. Снимем флажок «Назначить пособие». Тем самым мы явно говорим программе: пособие не назначаем, расчет/дни к оплате не требуются.

  4. Не добавляем исключаемые периоды, которые полностью закрывают весь больничный.

  5. Проверим, что сумма пособия стала 0 (или документ отражает отсутствие начисления пособия), и попробуем провести документ.

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

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

Решение 4. Если пособие не требуется, отправим в СФР «Ответ на запрос» с признаком «Пособие не требуется», а больничный в ЗУП можем не проводить

Иногда нам не нужно, чтобы в 1С:ЗУП проводился документ больничного, особенно если:

— больничный полностью попадает в период, который не оплачивается;
— оплачиваемых дней нет;
— документ в ЗУП при попытке «обнулить оплату» вызывает ошибку или нежелательные перерасчеты.

В таких случаях разумная практика — не мучить проведение больничного, а корректно отработать взаимодействие с СФР (если у вас настроен обмен и требуется ответ). Действуем совместно так:

  1. Откроем рабочее место обмена с СФР (в зависимости от настроек — разделы взаимодействия/пособий/ЭЛН).

  2. Подготовим документ типа Ответ на запрос СФР для расчета пособия (название может отличаться в зависимости от интерфейса, но смысл один — ответить фонду по конкретному ЭЛН/запросу).

  3. Установим признак «Пособие не требуется» (или аналогичный вариант, который сообщает, что пособие назначать не нужно).

  4. В комментарии/пояснении укажем причину: период ухода пришелся на ежегодный отпуск, оплачиваемых дней нет (или «сотрудник фактически не имел дней к оплате в периоде», если так корректнее для вашей ситуации и регламентов).

  5. Отправим ответ в СФР штатным способом.

Такой подход полезен, когда в ЗУП документ больничного вызывает системную ошибку, но вы обязаны корректно обработать запрос фонда и зафиксировать, что выплаты не требуется. Мы при этом избегаем «ломающих» перерасчетов в начислениях.

Решение 5. Отразим пересечение «отпуск + больничный по уходу» корректно: отпуск не продлевается, пособие за дни отпуска не назначается

Теперь соберем учетную логику именно под ваш кейс. При больничном по уходу за ребенком во время ежегодного оплачиваемого отпуска обычно важно помнить два практических вывода для ЗУП (контролировать такие наложения поможет комплексное управление отпусками и учет пересечений в ЗУП):

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

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

  1. Проверим документ отпуска: даты 26.01–15.02 оформлены и проведены, начисления отпускных выполнены корректно.

  2. Откроем больничный по уходу 03.02–13.02 и убедимся, что вид нетрудоспособности выбран именно «(09) Уход за больным ребенком».

  3. Проверим, пытаемся ли мы «исключить период» через табличную часть так, что исключение полностью совпадает с периодом листка. Если да — это потенциальный триггер ошибки в некоторых релизах.

  4. Выберем один из безопасных вариантов:

    Вариант А (если нужно провести документ): снимем «Назначить пособие» и не добавляем исключаемые периоды на весь период.
    Вариант Б (если проведение вызывает перерасчеты/ошибки): отвечаем в СФР «Пособие не требуется», а сам больничный в ЗУП не проводим.

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

Решение 6. Проверим «скрытую» причину: пересечение с уже начисленной зарплатой и документами отсутствий

Иногда ошибка и сопутствующие перерасчеты появляются не на пустом месте: база уже содержит начисления (например, зарплата за месяц начислена как рабочее время), а затем мы пытаемся задним числом провести отсутствие — в этой ситуации поможет обработка устранения ошибочных начислений и сторно в ЗУП. Тогда ЗУП закономерно пытается сторнировать начисления. Чтобы не получить неожиданный «снежный ком», разберем ситуацию:

  1. Проверим, были ли выполнены документы начисления зарплаты за период, куда попадает больничный.

  2. Проверим, не оформляли ли ранее документ Отсутствие (болезнь, прогул, неявка) или другие отсутствия, которые пересекаются с датами больничного/отпуска — для этого подойдёт автоматическая проверка пересечений периодов отпусков и больничных.

  3. Если начисления уже «закрыли» период как рабочий, а мы теперь пытаемся провести больничный, система может инициировать перерасчет — это нормально. Тогда определимся с задачей:

    — если нам не нужно менять начисления (потому что сотрудница была в отпуске, а не работала), перерасчет по зарплате не должен возникать;
    — если в базе случайно начислили рабочее время, сначала исправим кадрово-расчетную картину, иначе любая попытка провести больничный будет вызывать сторно.

Здесь важно работать «от первопричины»: сначала приводим в порядок документы, которыми сформировано время и начисления, а затем уже проводим больничный/ответ в СФР.

Итоговая «шпаргалка»: какой вариант выбрать именно для кейса 26.01–15.02 отпуск и 03.02–13.02 уход за ребенком

Давайте закрепим, чтобы было удобно действовать быстро:

  1. Сначала обновим релиз и патчи. Это повышает шанс, что проблема исчезнет без обходных маневров.

  2. Если ошибка осталась — перевыберем сотрудника в больничном и перепроведем.

  3. Если вы исключали весь период больничного через исключаемые периоды — уберем полное исключение и снимем «Назначить пособие».

  4. Если проведение больничного вызывает нежелательные перерасчеты или все равно падает — отправим в СФР ответ «Пособие не требуется», а больничный в ЗУП можем не проводить.

  5. Дополнительно проверим, что период не «закрыт» начислением зарплаты как рабочий (иначе сторно будет логичным и неизбежным).

Ключевая идея: при полном отсутствии оплачиваемых дней не нужно заставлять документ строить оплачиваемый период через «исключаемые периоды», если из-за этого в вашем релизе появляется дефект с датой. Безопаснее либо отключить назначение пособия, либо корректно ответить СФР, не проводя проблемный документ.

Информация носит справочный характер.

← На главную