В процессе ведения учета в 1С:Зарплата и управление персоналом 3.1 часто возникает ситуация, когда сотруднику необходимо начислить надбавку, база которой (количество часов) должна быть жестко привязана к подразделению и периоду работы. Проблема осложняется, если сотрудник в течение месяца перемещается между подразделениями, а его часовая тарифная ставка (ЧТС) меняется. В данной статье мы разберем, как реализовать подобный расчет, избежав трудозатратных ручных корректировок.
Рассмотрим стандартную ситуацию: сотрудник часть месяца работал в одном подразделении, а затем перешел в другое. При этом в каждом подразделении он выполнял специфические задачи (например, курьерская доставка или работа во вредных условиях), за которые полагается доплата. Если мы попытаемся использовать простой числовой показатель в формуле типа СтоимостьЧаса * ЧасыНадбавки * Процент, мы столкнемся с тем, что программа «схлопнет» все введенные часы и применит к ним либо последнюю ставку ЧТС, либо среднюю, что приведет к неверному расчету. Нам же необходимо, чтобы 7 часов, отработанных при ставке 100 рублей, считались отдельно от 20 часов, отработанных при ставке 120 рублей в другом подразделении.
Это наиболее надежный и гибкий способ. Вместо того чтобы вводить абстрактный «показатель», мы задействуем механизм учета времени. Проанализируем шаги настройки:
ВремяВЧасах. Формула примет вид: СтоимостьЧаса * ВремяВЧасах * Процент.Преимущество этого метода в том, что когда мы загружаем данные в документ Табель или Данные для расчета зарплаты с привязкой к датам, система автоматически сопоставляет эти часы с периодами действия кадровых приказов. Если 15-го числа произошло перемещение с изменением оклада, ЗУП сама «разрежет» расчет надбавки на две строки, применив актуальную ЧТС к часам соответствующего периода.
Если специфика работы такова, что перемещения происходят постоянно (режим «бродячего цирка»), создание десятков кадровых перемещений перегрузит базу. В этом случае рассмотрим использование справочника Территории.
Включим в настройках состава начислений использование территорий и условий труда. Каждое подразделение или объект можно описать как отдельную Территорию. При использовании документа Перемещение между территориями (или регистрации работы на разных территориях в Табеле), система будет знать, в каком месте и в какой период находился сотрудник. При расчете зарплаты программа автоматически распределит начисление по разным строкам в зависимости от того, на какой территории были зафиксированы часы. Это позволит корректно отразить затраты в бухгалтерском учете без лишних кадровых документов.
Разберем ситуацию, когда данные поступают из внешней системы и их нужно загрузить в документ Данные для расчета зарплаты. Чтобы обойти ограничение «один показатель — одно значение», выполним следующие настройки шаблона:
После такой настройки в одном документе мы сможем указать для одного сотрудника несколько строк: «Подразделение 1 — 10 часов», «Подразделение 2 — 5 часов». При расчете документа Начисление зарплаты и взносов программа увидит эти записи отдельно. Если в этих подразделениях у сотрудника были разные условия оплаты (или разные периоды работы), расчет будет произведен дифференцированно.
Проанализируем ситуацию, когда нам важно не столько изменение ЧТС, сколько корректное отражение затрат по подразделениям в бухгалтерском учете. Если надбавка должна распределяться пропорционально отработанному времени, мы можем использовать документ Распределение основного заработка.
В этом документе можно указать, что весь заработок сотрудника за месяц должен быть распределен между конкретными подразделениями или способами отражения в заданных долях (например, по часам). Это избавляет от необходимости сложной настройки формул, если общая сумма начисления не меняется от перемещения, а меняется только «адрес» затрат.
Важно помнить, что показатель СтоимостьЧаса в ЗУП 3.1 является расчетным. Его значение зависит от настроек алгоритма пересчета (по норме времени, по производственному календарю и т.д.). Рассмотрим пример сложной формулы, которую можно использовать в начислении:
?(ВремяВЧасах > 0, СтоимостьЧаса * ВремяВЧасах * ПроцентНадбавки / 100, 0)
Здесь использование условия ? (Если) помогает избежать ошибок деления на ноль или проведения пустых начислений, если данные о времени по какой-то причине не были введены для конкретного подразделения.
Подводя итог, можно сказать, что для решения задачи «часы + подразделение + переменная ЧТС» наиболее эффективным является путь через Виды времени. Это требует минимальных доработок и максимально использует типовой движок распределения начислений по периодам. Если же объем данных слишком велик (штат более 1000 человек), рекомендуем разработать внешнюю обработку для заполнения документа Табель или Данные для расчета зарплаты на основании внешних файлов, сохраняя при этом типовую структуру начислений. Это обеспечит чистоту учета и корректность формирования отчетности по налогам и взносам.