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