В практике работы бухгалтера-расчетчика в программе 1С:Зарплата и кадры государственного учреждения (или 1С:ЗУП 3.1) нередко возникает ситуация, когда сотрудник переводится на новый график работы не с первого числа месяца. Типичная проблема заключается в том, что при автоматическом расчете в документе НачислениеЗарплатыИВзносов программа некорректно определяет норму рабочего времени, подставляя данные только одного из графиков (чаще всего старого) для обоих периодов. В результате оклад рассчитывается неверно, и возникают недоплаты или переплаты.
Разберем детально, как устроена механика определения нормы времени в системе, какие настройки за это отвечают и что делать, если программа упорно игнорирует кадровые изменения. Рассмотрим последовательность действий для исправления этой ошибки.
Прежде всего, нам необходимо убедиться, что в системе установлен правильный алгоритм пересчета нормы при смене графиков. В 1С предусмотрена специальная настройка, которая определяет, как программа должна «видеть» норму месяца, если за этот период у сотрудника действовало несколько графиков.
Выполним следующие действия:
Если в этой настройке установлено значение Исходя из нового графика работы, то программа возьмет норму нового графика за весь месяц и применит ее к периоду до 21-го числа, что и приводит к ошибке, описанной в ситуации автора. После изменения этой настройки рекомендуется пересчитать документ начисления зарплаты.
Посмотрим на еще одну важную настройку в этом же разделе. Параметр При пересчете тарифной ставки сотрудника в стоимость часа (дня) использовать напрямую влияет на то, какое число будет стоять в знаменателе формулы расчета оклада.
Если у сотрудника установлен Оклад, а расчет идет за фактически отработанные дни, программа выполняет действие: Оклад / НормаДней * ОтработаноДней. Чтобы НормаДней определялась правильно для каждого куска периода, в настройках должно стоять Норму времени по графику сотрудника. Мы должны убедиться, что именно этот флаг установлен, так как использование «Среднемесячного количества часов» даст усредненный результат, не привязанный к конкретному месяцу.
Это самый коварный момент в 1С:ЗКГУ. Документ Индивидуальный график имеет наивысший приоритет над всеми остальными графиками и кадровыми переводами. Если на сотрудника введен индивидуальный график на текущий месяц, программа будет брать норму и время только из него, игнорируя смену графика в Кадровом переводе.
Проанализируем ситуацию:
Индивидуальный график, его необходимо скорректировать или удалить.ГрафикиРаботыСотрудников) могут сохраняться до момента физического удаления объекта или полной очистки ссылок.Индивидуальный график много сотрудников, попробуйте удалить из него строку с «проблемным» работником, провести документ, а затем полностью перезаполнить начисление зарплаты через кнопку Подбор (не Обновить, а именно Подбор, чтобы заставить программу заново считать все регистры).Иногда причина кроется в настройках самих объектов Графики работы. Посмотрим на свойства старого и нового графиков. Обратите внимание на флаг Считать норму по другому графику.
Разберем, когда это нужно:
Выясним причину расхождения сумм. Если в Начислении зарплаты программа выводит две строки, но норма в обеих одинаковая (например, 22 дня, хотя в графиках 23 и 21), значит, система где-то «схлопывает» эти данные. Чаще всего это происходит из-за того, что в информационной базе зафиксирована ошибка регистра. Попробуйте временно изменить дату кадрового перевода на 1 день и вернуть обратно, чтобы инициировать перезапись движений в регистрах ЗначенияПериодическихПоказателейРасчетаЗарплатыСотрудников.
Если все настройки проверены, индивидуальные графики удалены, а результат не меняется, стоит выполнить технические процедуры. Рассмотрим их по шагам:
Табель за этот месяц, он «замораживает» данные об отработанном времени. Пока вы не распроведете Табель, изменения в графиках не отразятся в начислении зарплаты.НачислениеЗарплатыИВзносов удалите сотрудника из табличной части и добавьте его заново. Это критично, так как при обычном пересчете программа может использовать кэшированные данные из текущего документа.Если вы имеете доступ к функциям технического специалиста, проанализируйте содержимое регистра сведений ГрафикиРаботыСотрудников. Для этого можно воспользоваться следующим методом:
// Пример логики поиска движений
Запрос = Новый Запрос;
Запрос.Текст =
"ВЫБРАТЬ
| ГрафикиРаботыСотрудников.ГрафикРаботы КАК График,
| ГрафикиРаботыСотрудников.Период КАК ДатаНачала
|ИЗ
| РегистрСведений.ГрафикиРаботыСотрудников КАК ГрафикиРаботыСотрудников
|ГДЕ
| ГрафикиРаботыСотрудников.Сотрудник = &Сотрудник";
Запрос.УстановитьПараметр("Сотрудник", ВыбранныйСотрудник);
В этом регистре вы должны увидеть четкое разделение записей: до 20.11 — один график, с 21.11 — другой. Если там присутствуют записи от документа Индивидуальный график, их нужно устранить.
Для корректного разделения нормы времени при смене графика в 1С:ЗКГУ необходимо соблюдение трех условий:
Соблюдение этих правил позволит программе автоматически рассчитать стоимость дня исходя из актуальной нормы каждого периода, обеспечив точность начислений сотрудникам.