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

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

Приветствуем вас, коллеги! Учет рабочего времени на автотранспортных предприятиях — это вечная головная боль расчетчиков и бухгалтеров. Специфика работы водителей связана с постоянными изменениями: сегодня Иванов заболел, завтра Петров вышел вместо него на подмену, а послезавтра график «3 через 3» превратился в хаотичную последовательность смен. Пытаясь упростить себе жизнь, многие пользователи решают отказаться от ведения ежедневного учета и завести сводные данные о часах за месяц через документ Данные для расчета зарплаты. Однако на этапе начисления зарплаты они сталкиваются с неприятным сюрпризом — программа упорно начисляет «ноль».

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

Техническая причина: почему оклад равен нулю при сводном вводе часов

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

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

  1. Из назначенного сотруднику планового графика работы (основного).
  2. Из документа Индивидуальный график, если он введен на текущий месяц.
  3. Из ежедневного документа Табель, фиксирующего фактические явки и absences по дням.

Когда вы создаете собственный шаблон ввода исходных данных в меню Данные для расчета зарплаты и вносите туда сводные часы (например, «Иванов — Явка 150 часов»), программа воспринимает этот показатель как стороннее значение. Она записывает его в свои регистры, но стандартная формула оклада этот показатель просто «не видит». Для нее фактически отработанное время по-прежнему остается равным нулю, поскольку в ежедневном разрезе никаких движений не зарегистрировано. Как результат — нулевое начисление при расчете зарплаты.

Критические риски и «подводные камни» сводного учета времени

Даже если мы найдем способ заставить программу рассчитывать оклад от сводно введенных часов (об этом способе мы расскажем ниже), на практике вы быстро столкнетесь с лавиной ошибок в учете. Проанализируем основные риски:

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

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

3. Проблемы с расчетом ночных, вечерних и праздничных часов. Водители часто работают в ночные смены или в государственные праздники. При сводном вводе расчетчику придется вручную на калькуляторе высчитывать, сколько часов из общего объема относятся к ночным, и вычитать их из обычной «Явки» во избежание двойной оплаты. Автоматизировать этот процесс при сводном вводе невозможно.

Вариант 1. Использование документа «Индивидуальный график» (Рекомендуемый способ)

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

Рассмотрим по шагам, как настроить этот процесс:

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

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

Вариант 2. Ежедневный документ «Табель» с отключением проверок

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

Выясним, как обойти это ограничение программы:

  1. Перейдем в раздел Настройка и выберем пункт Расчет зарплаты.
  2. Найдем опцию Проверить соответствие фактического времени плановому и снимем с нее флажок.
  3. Сохраним настройки.
  4. Теперь создадим документ Табель за отчетный месяц. Благодаря отключению проверки, вы сможете вносить в ячейки любые фактические данные: ставить «Явки» в выходные дни по графику, корректировать часы и смены так, как сотрудники отработали в реальности.

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

Вариант 3. Настройка формулы для расчета по сводному показателю (На ваш страх и риск)

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

Разберем, как это реализовать в программе:

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

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

← На главную