Каждый расчетчик заработной платы в программе 1С:Зарплата и управление персоналом (ЗУП) 3.1 или 1С:Зарплата и кадры государственного учреждения (ЗГУ) 3.1 сталкивался с ситуацией, когда программа «самовольно» пытается сторнировать или доначислить огромные суммы за прошлые периоды. Кажется, что стоит один раз очистить регистр перерасчетов, как в следующем месяце лавина сторно-строк возвращается в двойном или тройном размере.
В этой статье мы подробно разберем внутреннюю логику работы программы 1С:ЗУП 3.1, выясним причины возникновения так называемого «двойного сторно», проанализируем ошибки при работе со списочными документами-исправлениями и настроим систему так, чтобы навсегда прекратить хаотичные автоматические перерасчеты.
Многие пользователи считают, что если зайти в сервис Зарплата — Сервис — Перерасчеты и очистить (удалить) зарегистрированные записи, то программа забудет о необходимости что-то пересчитывать. Однако это лишь временная мера.
Программа 1С:ЗУП 3.1 работает на основе событийного мониторинга. Любое проведение, перепроведение или запись документа «задним числом» (даже если вы просто открыли документ прошлого периода и нажали кнопку Провести и закрыть без изменения данных) регистрируется системой как потенциальное изменение условий расчета.
Если в базе данных остались логические коллизии (например, наложение периодов вытеснения, незакрытые кадровые переводы или проведение расчетных документов в неверной хронологической последовательности), программа при первом же удобном случае (например, при расчете зарплаты за текущий месяц) заново проанализирует эти данные. Как результат — в регистре сведений РегистрСведений.ПерерасчетыЗарплаты снова появятся записи, а в документах начисления возникнут огромные сторнирующие суммы.
Рассмотрим классический сценарий, который часто приводит к катастрофическим последствиям в учете. В феврале сотрудникам была начислена квартальная премия списком (документ Премия). В июне выясняется, что одному из сотрудников сумма была рассчитана неверно. Расчетчик нажимает ссылку Исправить в исходном документе премии за февраль. Создается новый документ-исправление.
Желая сэкономить время и «не загромождать» документ, расчетчик удаляет из табличной части документа-исправления всех сотрудников, кроме того единственного, у которого меняется сумма. Это критическая ошибка!
Логика работы механизмов исправления в 1С:ЗУП 3.1 строится по следующему алгоритму:
Правильное решение: при создании документа-исправления списком ни в коем случае нельзя удалять сотрудников, данные которых корректировать не нужно. Их следует оставить в документе без изменений. Поскольку их исходные и новые показатели совпадают, результат перерасчета по ним будет равен нулю, и никаких лишних сторно-строк в регистрах не возникнет.
Давайте схематично представим алгоритм сравнения записей при проведении документа-исправления:
Если СотрудникЕстьВДокументеИсправления Тогда
Разница = НовыйРезультат - ИсходныйРезультат;
Если Разница <> 0 Тогда
ЗаписатьВРегистры(Разница);
КонецЕсли;
Иначе // Сотрудник удален из списка исправлений
ЗаписатьВРегистры(-ИсходныйРезультат); // Полное сторно!
КонецЕсли;
Чтобы автоматические перерасчеты не появлялись внезапно в основном ежемесячном документе Начисление зарплаты и взносов и не путали расчетчика, настоятельно рекомендуется изменить системные настройки программы.
Выполним следующие шаги:
После включения этой настройки расчетный документ Начисление зарплаты и взносов перестанет автоматически тянуть за собой корректировки прошлых периодов на вкладке «Доначисления, перерасчеты». Все подобные операции теперь будут аккумулироваться в специализированном рабочем месте Зарплата — Перерасчеты.
Произвести перерасчет расчетчик сможет в контролируемом режиме, нажав кнопку Доначислить сейчас, либо создав отдельный документ Доначисление, перерасчет тогда, когда это действительно необходимо.
Если в прошлых версиях программы сторнирующие строки в табличных частях расчетных документов были заблокированы для изменения, то в современных релизах 1С:ЗУП (начиная с 3.1.18.546 / 3.1.23.20) разработчики добавили штатную возможность ручной корректировки сторно.
Если вы видите ошибочно начисленное сторно, выполните следующие действия:
Этот способ позволяет оперативно исправить локальную ошибку «здесь и сейчас», не ломая при этом общую цепочку кадрово-расчетных документов.
Для того чтобы полностью исключить возникновение «фантомных» перерасчетов и зацикливание сторно в вашей информационной базе, необходимо приучить расчетчиков и кадровиков следовать строгим регламентам совместной работы.
Резюмируя, отметим: программа 1С:ЗУП 3.1 не производит перерасчеты «просто так». Она лишь реагирует на действия пользователей. Корректная работа со списочными документами-исправлениями, своевременная установка даты запрета изменения данных и перенос перерасчетов в отдельный документ позволят вам вести учет легко, прозрачно и без непредвиденных сторно-строк.