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

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

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

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

Почему возникает эта проблема: разбираем механизмы 1С

Для того чтобы понять причину сбоя, нам необходимо заглянуть под капот программной логики 1С. Расчет оклада и расчет зависимых надбавок (таких как РК и СН) происходят по совершенно разным алгоритмам, задействующим различные регистры:

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

Главный виновник — некорректный документ-исправление

Чаще всего подобная проблема возникает, когда в программе создается цепочка исправлений задним числом. Рассмотрим классический сценарий:

Сотруднику был оформлен и рассчитан отпуск в предыдущем периоде. Затем планы изменились, и сотрудника досрочно вызвали на работу либо скорректировали даты отпуска. Расчетчик воспользовался стандартной ссылкой «Исправить» внизу первичного документа отпуска и создал документ-исправление.

В этот момент запускается механизм сторнирования:

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

Пошаговая методика исправления проблемы

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

Шаг 1. Проверка и последовательное перепроведение документов

Самое главное правило работы в 1С:ЗУП 3.1 — соблюдение строгой хронологии проведения документов. Для исправления ошибки выполним следующие действия:

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

Шаг 2. Проверка и очистка регистра «Перерасчеты»

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

Рассмотрим, как очистить этот регистр:

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

Шаг 3. Анализ настроек графиков работы

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

Проанализируем настройки графика работы:

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

Шаг 4. Проверка записей в регистре данных о времени

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

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

Резюме и золотые правила расчетчика

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

← На главную