Разберем ситуацию, с которой на практике столкнулись многие бухгалтеры в 1С:Бухгалтерии предприятия 3.0: сотрудник часть месяца работает, затем уходит в отпуск или в отпуск без сохранения заработной платы, а документ Начисление зарплаты с переключателем Аванс показывает заниженное количество отработанных дней. На первый взгляд кажется, что проблема связана с настройками графика, производственным календарем или неверно введенным кадровым документом. Но в рассматриваемом случае причина другая: в ряде релизов программы действительно была зарегистрирована ошибка расчета рабочих дней аванса при наличии отпуска.
Проанализируем описанный пример. У первого сотрудника отпуск без сохранения зарплаты оформлен с 16.08.2024 по 26.08.2024. При расчете аванса программа ставит 8 отработанных дней, хотя пользователь ожидает 11. У второго сотрудника отпуск начинается с 12.08.2024 и продолжается по 08.09.2024. В авансе программа показывает 4 отработанных дня, хотя пользователь ожидает 7. Конфигурация: 1С:Предприятие 8.3.23.1865, Бухгалтерия предприятия 3.0.155.23.
Выясним причину. Для редакции 3.0 разработчиками была зарегистрирована ошибка расчета: если в расчетном периоде аванса у сотрудника есть отпускные невыходы, документ Начисление зарплаты в режиме Аванс может некорректно определять количество рабочих дней. Позже эта ошибка была исправлена в более новом релизе, а также для нее выпускался отдельный патч EF_30180350.
То есть в подобной ситуации важно сразу сделать правильный вывод: проблема не обязательно вызвана неправильными действиями бухгалтера. Если используется релиз 3.0.155.23, а ситуация совпадает по признакам, прежде всего нужно проверить, не попадает ли база под известную ошибку программы.
Рассмотрим подробнее логику расчета. Аванс в БП 3.0 рассчитывается документом Начисление зарплаты с установленным переключателем Аванс. При автоматическом заполнении программа анализирует:
Оплата по окладу или Оплата по окладу, пропорционально отработанным дням.Если у сотрудника есть документ Отпуск или документ, связанный с отпуском без оплаты, программа должна исключить из расчета те дни, которые на момент выплаты аванса считаются неотработанными. В нормальной ситуации это работает корректно. Но в проблемных релизах происходил сбой именно на этапе определения рабочих дней за первую половину месяца. В результате в табличной части документа Начисление зарплаты занижалось значение отработанного времени, а вслед за ним уменьшалась и сумма аванса.
Обратим внимание на важный момент: сама по себе методика расчета аванса в 1С не предполагает фиксированный процент от оклада. Программа ориентируется на фактически отработанное время за первую половину месяца. Поэтому если количество дней оказалось меньше ожидаемого, это всегда нужно проверять по связке:
В описанной ситуации версия программы 3.0.155.23 как раз относится к периоду, когда ошибка уже проявлялась у пользователей. Позже экспертные разборы по этой теме прямо указывали: если в расчетном периоде аванса сотрудник был в отпуске, количество дней в документе Начисление зарплаты может рассчитываться некорректно.
Далее разработчики зарегистрировали ошибку с кодом 30180350. Ее суть формулируется так: если в расчетном периоде аванса сотрудник был в отпуске, количество дней в документе «Начисление зарплаты» с режимом «Аванс» рассчитывается некорректно. Позже было указано, что исправление вошло в релиз Бухгалтерия предприятия 3.0.156.30, а до обновления можно было применять патч EF_30180350.
Это и есть ключ к решению вопроса. В описанном примере не нужно искать экзотические причины, переписывать начисления или срочно менять графики сотрудников без проверки версии. Сначала нужно признать, что на релизе 3.0.155.23 программа действительно могла ошибаться при расчете рабочих дней аванса в связке с отпуском и отпуском без сохранения оплаты.
Разберем по шагам, как убедиться, что перед нами именно известная ошибка, а не обычная настройка учета.
Бухгалтерия предприятия 3.0.155.23 или близкий релиз до исправления, вероятность очень высокая.Начисление зарплаты в режиме Аванс показывает меньше — симптом совпадает.Именно такой подход позволяет не тратить время на бессмысленную перенастройку всей зарплатной подсистемы, когда причина уже известна и описана разработчиком.
Посмотрим на пример ручной логики, потому что она нужна и для проверки программы, и для временной корректировки аванса.
Пример 1. Сотрудник уходит в отпуск без сохранения заработной платы с 16.08.2024 по 26.08.2024. Если у сотрудника обычная пятидневка, то до 16 августа включительно нужно определить, какие рабочие дни первой половины месяца фактически отработаны по графику. Если отпуск начинается с 16 числа, то день начала отпуска уже не должен считаться рабочим днем по оплате оклада. Следовательно, в расчет попадают рабочие дни с 1 по 15 августа включительно, за исключением выходных по графику.
Пример 2. Сотрудник уходит в отпуск с 12.08.2024 по 08.09.2024. В таком случае в первую половину августа должны попасть только рабочие дни с 1 по 11 августа, но с учетом того, что 10 и 11 августа — это выходные при стандартной пятидневке. Значит, оплачиваемыми рабочими днями обычно будут рабочие даты с 1 по 9 августа.
Почему же пользователь может ожидать 7 дней, а программа ставит 4? Потому что в ошибочном релизе часть фактически отработанных дней могла исключаться из расчета из-за неверной обработки периода отпуска при заполнении аванса.
Здесь важно подчеркнуть: корректное количество дней всегда нужно проверять именно по графику сотрудника, а не только по календарным границам отпуска. Если график сменный, суммированный или индивидуальный, ручная проверка выполняется по установленному графику, а не по общей пятидневке.
Это основное и правильное решение. Если база работает на версии 3.0.155.23, нужно перейти на релиз, в котором ошибка уже исправлена. Для данной проблемы в экспертных материалах указывалось исправление в версии 3.0.156.30. Если полноценное обновление по каким-то причинам временно недоступно, имеет смысл проверить возможность установки патча EF_30180350.
Рассмотрим подробнее, что даст обновление:
После обновления не ограничивайтесь только установкой релиза. Разберем, что нужно сделать дополнительно:
Отпуск, отпусков без оплаты и документа Начисление зарплаты;Важно: если до обновления вы уже вручную исправили количество дней или сумму, программа не обязана автоматически все пересчитать так, как вы ожидаете. Нужно внимательно контролировать, нажимаете ли вы кнопку Заполнить повторно и не перезаписываете ли ручную корректировку.
Если обновить программу сразу нельзя, временно примените ручную корректировку. Это допустимый рабочий вариант, когда известна ошибка релиза и нужно вовремя выплатить сотрудникам аванс.
Разберем по шагам безопасный порядок действий:
Начисление зарплаты за нужный месяц.Аванс.Заполнить, иначе программа может снова подставить ошибочное значение.Это временное решение не устраняет причину, но позволяет корректно выплатить деньги сотруднику до обновления релиза.
Что важно учесть: ручная правка аванса требует дисциплины. Если в базе несколько бухгалтеров или расчетчиков, нужно заранее договориться, что проблемные документы нельзя автоматически перезаполнять до установки исправления.
Рассмотрим ситуацию, когда база уже обновлена, но цифры в документах все равно выглядят неправильно. Такое возможно, если ошибочный расчет уже был записан в регистры до обновления, а затем документы остались неперепроведенными.
В этом случае одних слов “мы обновились” недостаточно. Нужно пройти техническую часть исправления до конца.
Рекомендуемый порядок такой:
Начисление зарплаты за первую половину месяца;На практике после перепроведения ошибка часто перестает проявляться. Это связано с тем, что документ пересчитывается уже по исправленному алгоритму.
Хотя в рассматриваемом случае основная причина — ошибка релиза, не будем ограничиваться только одним объяснением. Посмотрим, какие дополнительные проверки обязательно сделать, чтобы исключить сопутствующие проблемы.
Отпуск или отпуск без сохранения оплаты должен быть проведен корректно и иметь правильные даты.Начисление зарплаты должен быть указан именно тот месяц, за который считается аванс.Именно поэтому после обновления важно не просто открыть документ и посмотреть цифру, а пройти полноценную контрольную цепочку.
Теперь систематизируем объекты программы, которые участвуют в решении вопроса. Это пригодится и бухгалтеру, и специалисту сопровождения 1С.
Начисление зарплаты — основной документ, которым в БП 3.0 формируется расчет за первую половину месяца и окончательный расчет.Аванс — режим документа Начисление зарплаты, при котором программа определяет оплату за первую половину месяца.Отпуск — документ, влияющий на расчет невыходов и времени.Оплата по окладу или Оплата по окладу, пропорционально отработанным дням — именно оно использует норму времени и количество фактически отработанных дней.Ведомость в банк или Ведомость в кассу — документы выплаты, которые зависят от корректности расчета аванса.Подробный анализ НДФЛ по сотруднику — полезный отчет, если после исправления аванса появились вопросы по удержанию налога.Если в организации зарплатный контур в Бухгалтерии используется активно, именно эти объекты нужно проверять в первую очередь.
Может показаться, что ошибка касается только числа дней в колонке документа. На самом деле последствия шире. Если программа занижает отработанные дни, то она автоматически:
Поэтому исправлять нужно не только “красивую цифру” в графе дней, но и сам расчет. Иначе в конце месяца могут появиться дополнительные вопросы: почему сумма к выплате не совпадает, почему налог удерживается не так, почему остатки по сотруднику выглядят странно.
Разберем по шагам практический подход, если ошибка уже попала в августовские документы, а месяц частично закрыт.
Здесь нет универсальной кнопки “исправить все автоматически”. Даже если ошибка известна, уже проведенные расчеты нужно анализировать с учетом того, были ли выплаты и какой период уже закрыт.
В большинстве случаев — нет, не нужно. Это важный практический вывод. Когда бухгалтер видит неправильное количество дней, первое желание — срочно лезть в настройки графика, менять начисление, переписывать кадровые документы или создавать собственные обходные схемы. В рассматриваемой ситуации такой подход скорее навредит.
Если признаки совпадают с известной ошибкой релиза, не стоит без необходимости:
Сначала обновите программу или примените патч. И только если проблема останется после исправления релиза, тогда уже имеет смысл анализировать настройки глубже.
В самой теме практического пользовательского обсуждения программный код не приводился, и для решения именно этой задачи он не требуется. Рассматриваемая проблема относится не к пользовательской доработке, а к типовому механизму расчета зарплаты в БП 3.0. Поэтому основными средствами решения являются:
Если же базу сопровождает разработчик и требуется техническая диагностика, он уже может дополнительно анализировать движения документов, регистры расчета и поведение типового алгоритма заполнения документа Начисление зарплаты. Но для обычного рабочего решения со стороны бухгалтера это, как правило, не нужно.
Соберем все в один рабочий порядок, чтобы можно было применить его сразу.
3.0.155.23, считайте ошибку релиза основной версией причины.Начисление зарплаты в режиме Аванс.EF_30180350.Именно такой порядок позволяет решить проблему аккуратно и без лишних переделок в базе.
Подведем итог. В описанном случае 1С неверно учитывает количество отработанных дней не потому, что бухгалтер неправильно оформил отпуск без сохранения зарплаты, а потому что в используемом релизе БП 3.0 есть известная ошибка расчета аванса при наличии отпусков. Для релиза 3.0.155.23 это полностью укладывается в известную проблему, зарегистрированную разработчиком. Исправление было включено в версию 3.0.156.30, также выпускался патч EF_30180350.
Следовательно, оптимальная стратегия такая:
Если действовать именно так, можно быстро восстановить корректный расчет и избежать дальнейших расхождений по зарплате и НДФЛ.
Информация носит справочный характер.