Как настроить корректный расчет нормы времени при смене графика в середине месяца в 1С:ЗКГУ?

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

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

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

Шаг 1. Проверка глобальных настроек расчета зарплаты

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

Выполним следующие действия:

  1. Перейдем в раздел Настройка — Расчет зарплаты.
  2. Прокрутим список вниз и найдем пункт При изменении нормы времени из-за смены графика работы не с первого числа месяца считать норму.
  3. Проанализируем доступные варианты. Для того чтобы программа корректно разделила месяц на два периода и для каждого взяла свою норму, должен быть выбран вариант: Исходя из графиков работы до и после изменения.

Если в этой настройке установлено значение Исходя из нового графика работы, то программа возьмет норму нового графика за весь месяц и применит ее к периоду до 21-го числа, что и приводит к ошибке, описанной в ситуации автора. После изменения этой настройки рекомендуется пересчитать документ начисления зарплаты.

Шаг 2. Проверка настроек пересчета тарифной ставки

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

Если у сотрудника установлен Оклад, а расчет идет за фактически отработанные дни, программа выполняет действие: Оклад / НормаДней * ОтработаноДней. Чтобы НормаДней определялась правильно для каждого куска периода, в настройках должно стоять Норму времени по графику сотрудника. Мы должны убедиться, что именно этот флаг установлен, так как использование «Среднемесячного количества часов» даст усредненный результат, не привязанный к конкретному месяцу.

Шаг 3. Влияние документа «Индивидуальный график»

Это самый коварный момент в 1С:ЗКГУ. Документ Индивидуальный график имеет наивысший приоритет над всеми остальными графиками и кадровыми переводами. Если на сотрудника введен индивидуальный график на текущий месяц, программа будет брать норму и время только из него, игнорируя смену графика в Кадровом переводе.

Проанализируем ситуацию:

Шаг 4. Настройка параметров самих графиков работы

Иногда причина кроется в настройках самих объектов Графики работы. Посмотрим на свойства старого и нового графиков. Обратите внимание на флаг Считать норму по другому графику.

Разберем, когда это нужно:

Выясним причину расхождения сумм. Если в Начислении зарплаты программа выводит две строки, но норма в обеих одинаковая (например, 22 дня, хотя в графиках 23 и 21), значит, система где-то «схлопывает» эти данные. Чаще всего это происходит из-за того, что в информационной базе зафиксирована ошибка регистра. Попробуйте временно изменить дату кадрового перевода на 1 день и вернуть обратно, чтобы инициировать перезапись движений в регистрах ЗначенияПериодическихПоказателейРасчетаЗарплатыСотрудников.

Шаг 5. Техническое обслуживание и очистка кэша

Если все настройки проверены, индивидуальные графики удалены, а результат не меняется, стоит выполнить технические процедуры. Рассмотрим их по шагам:

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

Пример анализа регистра для программистов

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


// Пример логики поиска движений
Запрос = Новый Запрос;
Запрос.Текст = 
    "ВЫБРАТЬ
    |   ГрафикиРаботыСотрудников.ГрафикРаботы КАК График,
    |   ГрафикиРаботыСотрудников.Период КАК ДатаНачала
    |ИЗ
    |   РегистрСведений.ГрафикиРаботыСотрудников КАК ГрафикиРаботыСотрудников
    |ГДЕ
    |   ГрафикиРаботыСотрудников.Сотрудник = &Сотрудник";
Запрос.УстановитьПараметр("Сотрудник", ВыбранныйСотрудник);

В этом регистре вы должны увидеть четкое разделение записей: до 20.11 — один график, с 21.11 — другой. Если там присутствуют записи от документа Индивидуальный график, их нужно устранить.

Подведем итог

Для корректного разделения нормы времени при смене графика в 1С:ЗКГУ необходимо соблюдение трех условий:

  1. Настройка «Исходя из графиков работы до и после изменения» в параметрах расчета зарплаты.
  2. Отсутствие документов «Индивидуальный график» и «Табель» на момент формирования начисления (или их актуализация).
  3. Корректно проведенный «Кадровый перевод», который меняет график работы в середине месяца.

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

← На главную