Как устранить пересечение «Прогула» и «Отсутствия с сохранением оплаты» в 1С:ЗУП 3.1?

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

В практической работе бухгалтера и кадровика нередко возникают ситуации, когда задним числом выясняются новые подробности об отсутствии сотрудника на рабочем месте. Классический пример: сотруднику был оформлен документ Прогул, неявка, а спустя время он принес справку о сдаче крови (донорский день). Пользователь вводит документ Отсутствие с сохранением среднего заработка, но в табеле учета рабочего времени и кадровых отчетах всё равно продолжает отображаться прогул («ПР»).

В этой статье мы подробно разберем, почему возникает данная коллизия в программе «1С:Зарплата и управление персоналом 8» (редакция 3.1), как устроен механизм вытеснения начислений и приоритетов состояний, а также рассмотрим пошаговые сценарии решения этой проблемы как в открытом, так и в закрытом периодах.

Выясняем причину: почему возникает конфликт документов?

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

  1. Регистр сведений «Состояния сотрудников». Этот регистр хранит информацию о текущем статусе работника (работает, болеет, прогуливает, находится в отпуске и т.д.). Каждое проведенное отсутствие делает запись в этот регистр. Если на один и тот же день приходятся два разных документа отсутствия, возникает конфликт записей. В системе заложено перечисление СостоянияСотрудников, где прогул имеет высокий приоритет, поэтому кадровые отчеты продолжают показывать именно его.
  2. Вытеснение видов расчета. В планах видов расчета начисления настраиваются таким образом, чтобы исключать наложение друг на друга. Например, «Оклад» вытесняется и «Прогулом», и «Оплатой по среднему заработку». Однако между собой эти два отклонения по умолчанию в типовой конфигурации не вытесняются. Из-за этого при их наложении в одном периоде программа пытается начислить обе суммы одновременно.
  3. Документ «Табель». Данный документ обладает наивысшим приоритетом. Если он уже был создан и проведен, то любые последующие кадровые перерасчеты и новые документы-отклонения не изменят автоматически его данные.

Давайте разберем по шагам все возможные способы устранения этой коллизии.

Способ 1. Настройка приоритетов начислений (без изменения кода)

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

Рассмотрим подробнее, как это сделать:

  1. Перейдем в раздел Настройка, затем откроем справочник Начисления.
  2. Найдем в списке начисление, отвечающее за оплату донорских дней (обычно это Оплата за дни сдачи крови и ее компонентов или аналогичное начисление с назначением «Оплата по среднему заработку»).
  3. Откроем карточку этого начисления и перейдем на вкладку Приоритет.
  4. В правой табличной части, которая называется «Начисления, приоритет которых ниже», нажмем кнопку Подбор.
  5. В открывшемся списке найдем и выберем начисление Прогул (а также, при необходимости, Отсутствие по невыясненной причине).
  6. Запишем и закроем настроенное начисление.

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

Способ 2. Корректировка документов в открытом периоде

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

Проанализируем две возможные ситуации:

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

Ситуация Б: Прогул был введен на длительный период (например, с 1 по 5 число), а донорским днем оказалось только 3 число.
Здесь просто удалить документ прогула нельзя, так как за остальные дни (1, 2, 4 и 5 число) прогул должен быть сохранен. Нам нужно исключить спорную дату из периода прогула:

  1. Откроем исходный документ Отсутствие (болезнь, прогул, неявка).
  2. В табличной части или в полях выбора дат (в зависимости от того, как оформлен документ) разобьем период отсутствия на два интервала: с 01.06 по 02.06 и с 04.06 по 05.06.
  3. Проведем скорректированный документ прогула.
  4. После этого без каких-либо конфликтов проводим документ Отсутствие с сохранением оплаты на освободившуюся дату — 03.06.

Способ 3. Исправление документов в закрытом периоде

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

Разберем этот процесс по шагам:

  1. Откроем исходный документ Отсутствие (болезнь, прогул, неявка), который нужно скорректировать.
  2. В левом нижнем углу формы нажмем ссылку или кнопку Исправить.
  3. Программа создаст новый документ-исправление, зарегистрированный текущим (открытым) месяцем начисления.
  4. В этом новом документе-исправлении мы корректируем даты отсутствия (точно так же, как в Способе 2, исключая спорный день сдачи крови).
  5. Проводим документ-исправление. В текущем периоде программа автоматически сторнирует ошибочно начисленные часы прогула за этот день.
  6. Теперь мы можем со спокойной думой ввести документ Отсутствие с сохранением оплаты за этот день. Программа успешно проведет его и рассчитает оплату по среднему заработку.

Способ 4. Корректировка документа «Табель»

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

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

Чтобы решить эту проблему, выполним следующие действия:

  1. Перейдем в раздел Зарплата — Табели.
  2. Найдем документ Табель за тот месяц, в котором происходило исправление.
  3. Откроем его и нажмем кнопку Обновить (или перезаполним документ по сотруднику).
  4. Убедимся, что код «ПР» в строке сотрудника сменился на код донорских дней (например, «ОД» или «Г»).
  5. Проведем документ Табель.

Важный совет от методологов 1С: Чтобы избежать подобных проблем в будущем, в организациях с простым графиком работы рекомендуется вообще отказаться от создания документов Табель. В 1С:ЗУП 3.1 учет времени отлично ведется методом отклонений. Программа сама прекрасно собирает данные для начисления зарплаты на основании графика сотрудника и введенных документов-отклонений (больничные, отпуска, прогулы, донорские).

Анализ данных в регистре «Состояния сотрудников»

Для технических специалистов и продвинутых пользователей полезно знать, как программа считывает данные для кадровой отчетности. Записи о состояниях формируются в периодическом регистре сведений. Посмотрим на пример концептуального запроса, с помощью которого система определяет, в каком состоянии находится сотрудник на определенную дату:


ВЫБРАТЬ
    СостоянияСотрудниковСрезПоследних.Сотрудник КАК Сотрудник,
    СостоянияСотрудниковСрезПоследних.Состояние КАК Состояние,
    СостоянияСотрудниковСрезПоследних.Период КАК Период
ИЗ
    РегистрСведений.СостоянияСотрудников.СрезПоследних(&Период, Сотрудник = &Сотрудник) КАК СостоянияСотрудниковСрезПоследних

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

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

← На главную