Ситуация, когда сотрудник переводится на новый график работы или новую систему оплаты труда в середине месяца, является стандартной для кадрового учета, однако в программе 1С:Зарплата и Управление Персоналом 3.1 она часто вызывает сложности. Основная проблема заключается в том, что программа может некорректно определить «знаменатель» (норму времени) для расчета части оклада, из-за чего итоговая сумма начислений превышает установленный оклад. Рассмотрим подробно, почему это происходит и как настроить систему для правильного расчета.
Для начала проанализируем, как 1С:ЗУП 3.1 видит рабочее время, когда график меняется не с первого числа. В программе существует ключевая настройка, влияющая на этот процесс. Перейдем в раздел Настройка — Расчет зарплаты и найдем пункт «При изменении нормы времени из-за смены графика работы не с первого числа, считать норму исходя из графиков работы до и после изменения».
Выясним, на что влияет эта настройка:
Зачастую ошибка кроется не только в общих настройках, но и в том, какими документами зафиксировано изменение. Проанализируем ситуацию: если пользователем был введен документ Изменение графика работы списком и одновременно Кадровый перевод, может возникнуть конфликт данных в регистрах.
Важно помнить, что 1С приоритетно считывает данные о графике из кадровых документов. Если в документе Кадровый перевод на закладке Оплата труда не обновились показатели или ФОТ, расчет за вторую половину месяца пойдет по неверному алгоритму. Проверим, чтобы перевод был оформлен именно Кадровым переводом, так как он одновременно регистрирует и изменение графика, и изменение оплаты (если оклад тоже поменялся).
Рассмотрим стандартную формулу оклада, которую использует программа:
Результат = Оклад * ВремяВДнях / НормаВДнях
При смене графика в середине месяца крайне важно проверить, какие значения подставляются в показатели ВремяВДнях и НормаВДнях. Если в расчетном листке или в форме расшифровки начисления за второй период в колонке «Норма» стоит число, равное фактически отработанным дням (например, 14), это явный признак того, что программа «обрезала» норму до периода действия документа.
Для исправления этой ситуации при использовании суммированного учета рабочего времени рекомендуется перевести сотрудника на Оклад по часам. Это позволит более точно учитывать время, особенно если графики имеют разную продолжительность смен. В формуле при этом будет использоваться ВремяВЧасах и НормаВЧасах.
Выясним, не был ли введен для сотрудника документ Индивидуальный график. Этот документ имеет наивысший приоритет в системе. Если он существует, программа будет игнорировать настройки общего графика и кадрового перевода в части нормы времени.
Также стоит проверить регистр сведений Графики работы сотрудников. Иногда при переносе данных или некорректном вводе документов возникают «дыры» — дни, которые не закреплены ни за одним графиком. Например, перевод оформлен с 5-го числа, а старый график действовал до 3-го числа. Даже один пропущенный день (4-е число) может полностью исказить расчет нормы месяца.
Если новый график сотрудника является сменным или специфическим (например, 2/2), необходимо обратить внимание на настройки самого графика (раздел Настройка — Графики работы сотрудников). Разберем по шагам:
Если в качестве графика-ресурса выбран тот же самый сменный график, то при расчете не с первого числа норма всегда будет «подтягиваться» под фактически отработанное время в этом периоде. Для корректного «пропорционального» расчета оклада в качестве нормы часто рекомендуется использовать Пятидневку (производственный календарь).
Предположим, мы обнаружили, что сотруднику начислен лишний оклад. Проделаем следующие действия для исправления:
Начисление зарплаты и взносов, выделим сотрудника и нажмем Еще — Пересчитать сотрудника.Кадровый перевод и убедимся, что дата изменения графика совпадает с датой изменения оплаты.Рассмотрим пример кода (условного алгоритма), как программа должна интерпретировать показатели при включенной настройке составной нормы:
// Период 1 (до перевода):
Доля_Оклада_1 = Оклад_Старый * (Отработано_Дней_По_Графику_1 / (Норма_Графика_1_до_перевода + Норма_Графика_2_после_перевода));
// Период 2 (после перевода):
Доля_Оклада_2 = Оклад_Новый * (Отработано_Дней_По_Графику_2 / (Норма_Графика_1_до_перевода + Норма_Графика_2_после_перевода));
Итого = Доля_Оклада_1 + Доля_Оклада_2;
Важный момент: Если вы используете релизы ЗУП 3.1.23 и выше, иногда наблюдаются технологические ошибки, при которых настройка составной нормы игнорируется для сотрудников с суммированным учетом. В таких случаях помогает временное удаление сотрудника из документа Начисление зарплаты и добавление его заново через кнопку Подбор, что заставляет программу полностью обновить кэш расчетов для данного физического лица.
Для того чтобы норма времени по графику бралась правильно при переводе не с первого числа, необходимо обеспечить:
Кадровый перевод для фиксации изменений.Индивидуальный график, перекрывающего плановые данные.Соблюдение этих правил позволит избежать переплат и обеспечит прозрачность расчета заработной платы как для бухгалтера, так и для сотрудников.