В практической работе расчетчика и кадровика в программе 1С:Зарплата и Управление Персоналом 2.5 (а также в комплексных конфигурациях на аналогичной платформе, например, 1С:УПП 1.3) часто встречается странная ситуация. Сотрудник благополучно выздоровел, вышел на работу, в будние дни ему корректно начисляется зарплата и в табеле проставляются явки («Я»). Однако при автоматическом заполнении табеля учета рабочего времени на выходные дни (суббота, воскресенье) система упорно продолжает ставить код «Б» (больничный) вместо стандартного кода «В» (выходной).
Давайте подробно разберем, почему возникает эта проблема, как устроена архитектура регистров в 1С:ЗУП 2.5, проанализируем поведение системы по шагам и найдем надежный способ исправления этой ошибки.
Типичный сценарий, который приводит к подобному поведению программы, выглядит следующим образом:
На первый взгляд это кажется программным сбоем, ведь период больничного листа уже закрыт расчетным документом. Выясним техническую причину такого поведения системы.
Чтобы понять логику программы, проанализируем структуру хранения данных в 1С:ЗУП 2.5. В этой редакции реализовано жесткое разделение на кадровый учет и расчетный учет. Каждое из этих направлений делает движения по своим регистрам.
Основным источником информации о текущем статусе занятости сотрудника для кадрового учета является регистр сведений СостоянияРаботниковОрганизаций. Именно из него система берет данные при заполнении кадровых отчетов и табеля.
Рассмотрим, что происходит в регистрах при проведении документов нашей цепочки:
Шаг 1. Проведение кадрового документа «Неявки и болезни организаций»
Когда кадровик регистрирует неявку, точная дата возврата сотрудника на работу еще не известна (болезнь может затянуться). Поэтому документ фиксирует только дату начала отсутствия. В регистр сведений СостоянияРаботниковОрганизаций записывается состояние «Болеет» или «Отсутствует по невыясненной причине» с определенной даты. Обратите внимание: эта запись является бессрочной. Система считает, что сотрудник находится в этом состоянии до тех пор, пока в регистр не будет внесена новая запись, перекрывающая текущую.
Шаг 2. Проведение расчетного документа «Начисление по больничному листу»
Этот документ является расчетным. Его главная задача — начислить денежные средства и вытеснить плановые начисления (например, оклад) за строго определенный период действия (в нашем примере — с 10 по 20 число). Этот документ делает движения по регистрам расчета (например, ОсновныеНачисленияОрганизаций). Он "знает" точную дату окончания болезни, но он не закрывает бессрочное кадровое состояние в регистре сведений СостоянияРаботниковОрганизаций на будущие периоды, если до этого был введен первичный кадровый документ неявки.
Шаг 3. Заполнение табеля учета рабочего времени
При автоматическом заполнении табеля алгоритм программы анализирует данные из разных источников:
СостоянияРаботниковОрганизаций, чтобы узнать, в каком статусе находится человек. А там до сих пор числится бессрочное состояние «Болеет», начатое кадровым документом неявки. Поскольку это состояние кадрово никто не отменил, система делает вывод: в свои выходные дни сотрудник все еще продолжает болеть, и автоматически проставляет в табель код «Б».Для того чтобы исправить эту ситуацию и вернуть корректное отображение выходных дней в табеле, нам необходимо официально "сообщить" кадровому учету программы, что сотрудник вернулся к работе.
Разберем по шагам, как это сделать:
Кадры -> Отклонения -> Возвраты на работу организаций.Проанализируем, что изменилось после проведения этого документа. В регистр сведений СостоянияРаботниковОрганизаций записалось новое состояние — «Работает» с даты возврата. Теперь бессрочное состояние «Болеет» успешно закрыто.
После этого вернитесь в документ «Табель учета рабочего времени», перезаполните его или обновите данные по конкретному сотруднику. Вы увидите, что в выходные дни вместо кода «Б» теперь правильно проставляется код «В».
Рассмотрим для сравнения, как разработчики фирмы «1С» упростили этот процесс в актуальной редакции 1С:Зарплата и Управление Персоналом 3.1. Это важно понимать, если вы планируете переход на новую версию программы.
В ЗУП 3.1 архитектура учета была полностью пересмотрена:
Если же вы продолжаете вести учет в редакции 2.5, помните золотое правило: любая зарегистрированная кадровая неявка без фиксированной даты окончания всегда должна закрываться документом «Возврат на работу организаций».