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