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

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

При переходе с программы «1С:Зарплата и управление персоналом 2.5» на редакцию 3.1 пользователи часто сталкиваются с ситуацией, когда при вводе документа Больничный лист на период, в котором сотрудник уже находился в отпуске, программа не выдает предупреждение и спокойно проводит документ. Разберем причинно-следственную связь такого поведения системы и рассмотрим практические варианты устранения этой проблемы.

Выясним причину проблемы

Проанализируем техническую сторону работы программы. В 1С:ЗУП 3.1 штатный механизм контроля пересечения периодов неявок, вытеснения и автоматического сторнирования рассчитывает на наличие объекта-документа Отпуск. Настройка приоритетов начислений на вкладке Приоритет определяет, какие виды расчета вытесняют друг друга, однако алгоритм проведения требует наличия конкретного документа-регистратора.

Если переход на 1С:ЗУП 3.1 выполнялся путем так называемого «полного» (нерекомендуемого) переноса данных, кадровая история, неотгулянные отпуска и прошлые неявки фиксируются напрямую в регистрах сведений и регистрах расчета с помощью служебных документов Перенос данных. По этой причине в базе данных отсутствует объект Отпуск, который программа могла бы сторнировать или предложить изменить. Система воспринимает записи документа Перенос данных как подтвержденный исторический факт и проводит больничный без блокировки.

Способы решения и контроля пересечения периодов

Рассмотрим варианты решения задачи в зависимости от объема данных и бизнес-процессов организации.

1. Ручная корректировка документа переноса данных

Если пересечение периодов произошло в перенесенном периоде и необходимо скорректировать учетные данные, выполним следующие шаги:

  1. Найдем документ Перенос данных, которым был зарегистрирован отпуск сотрудника в старой базе.
  2. Перейдем к редактированию табличных частей регистров расчета и сведений внутри этого документа Перенос данных.
  3. Уменьшим период отпуска на количество дней, совпавших с больничным листом.
  4. Проведем документ Больничный лист.

2. Ввод документа «Отпуск» задним числом

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

  1. Создадим документ Отпуск за прошлый период с реальными датами, перенесенными из 1С:ЗУП 2.5.
  2. Рассчитаем и проведем его.
  3. Введем документ Больничный лист. В этом случае алгоритм вытеснения определит созданный документ Отпуск и автоматически произведет перерасчет или сторнирование пересекающихся дней.

3. Предварительный контроль с помощью встроенных отчетов

Чтобы избежать ошибок из-за человеческого фактора и визуально выявить накладки периодов без открывания каждого документа, воспользуемся стандартными отчетами системы:

  1. Отчет Анализ неявок или Табель учета рабочего времени позволяет визуально отслеживать двойные регистрации отклонений на одну и ту же дату.
  2. Универсальный отчет по регистру сведений Состояния сотрудников. Сгруппировав данные по сотруднику и периоду, проанализируем пересекающиеся записи с состояниями Отпуск и Болезнь.

4. Доработка программы через расширение конфигурации

Для автоматизации контроля на больших массивах сотрудников проанализируем возможность доработки системы без изменения типовой конфигурации. С помощью расширения создадим подписку на событие Обработка проведения для документа Больничный лист. Расширение выполнит запрос к регистру сведений Состояния сотрудников или Занятость сотрудников. В случае обнаружения пересечения дат система выдаст предупреждение пользователю или заблокирует проведение документа до принятия решения оператором.

← На главную