Почему плановое начисление фиксированной суммой дублируется в 1С:ЗУП 3 и как это исправить

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

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

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

Выясняем причину: почему изменилось поведение программы

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

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

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

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

Способ 1. Перевод начисления в категорию разовых (Рекомендуемый)

Если сумма доплаты не является строго постоянной величиной, которая должна автоматически рассчитываться программой каждый месяц «по умолчанию», наиболее правильным и методически верным решением будет отказ от ежемесячного планового начисления в пользу разового документа.

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

  1. Перейдем в раздел Настройка, далее выберем справочник Начисления.
  2. Найдем наше проблемное начисление и откроем его карточку.
  3. На вкладке Основное найдем реквизит Начисление выполняется и установим значение По отдельному документу. Программа автоматически определит, что данное начисление будет регистрироваться документом Разовое начисление.
  4. Запишем и закроем настройки начисления.

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

Способ 2. Корректировка формулы с привязкой к отработанному времени

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

Выполним настройку по шагам:

  1. В настройках начисления на вкладке Основное переключим переключатель способа расчета в положение Результат рассчитывается по формуле.
  2. Создадим новый показатель расчета (например, РазмерДоплатыФикс). Установим для него назначение Для сотрудника, тип показателя — Денежный, а использование — Во всех месяцах после ввода значения (постоянное использование).
  3. Введем формулу расчета, которая будет уменьшать или обнулять сумму, если время сотрудника уже было рассчитано в другом документе.

Пример формулы, которую мы можем использовать:


РазмерДоплатыФикс * ВремяВДнях / НормаДней

После этого назначим данный показатель сотруднику с помощью кадровых документов (например, Изменение оплаты сотрудников или Прием на работу). Теперь, когда в первом документе начисления зарплаты за месяц время сотрудника будет учтено и оплачено, во втором документе показатель ВремяВДнях для этого сотрудника примет значение 0, и повторного начисления фиксированной суммы не произойдет.

Способ 3. Использование разового показателя через «Данные для расчета зарплаты»

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

Разберем этот алгоритм:

  1. Создадим новый показатель расчета (назовем его СуммаЕжемесячнойДоплаты) со следующими настройками: назначение — Для сотрудника, использование — Только в месяце, в котором вводится значение (разовое использование).
  2. В настройках нашего начисления укажем, что результат рассчитывается по формуле, и в поле формулы впишем только имя нашего нового показателя: СуммаЕжемесячнойДоплаты.
  3. Создадим Шаблон ввода исходных данных (раздел Настройка — Шаблоны ввода исходных данных), в котором укажем, что данный шаблон служит для ввода показателя СуммаЕжемесячнойДоплаты.
  4. Ежемесячно перед расчетом зарплаты будем вводить фиксированные суммы сотрудникам с помощью документа Данные для расчета зарплаты (раздел Зарплата).

Почему это решит проблему? Поскольку показатель является разовым, система «гасит» его значение в момент проведения первого же расчета. При заполнении второго и последующих документов Начисление зарплаты и взносов за этот же месяц значение показателя уже будет равно нулю, и дублирования строк не произойдет.

Способ 4. Изменение настроек учета времени

Иногда исправить ситуацию помогает правильное позиционирование начисления в структуре учета рабочего времени конфигурации. Проанализируем настройки вкладки Учет времени в карточке начисления:

  1. Откройте карточку начисления и перейдите на вкладку Учет времени.
  2. Обратите внимание на переключатель группы Начисление выполняется. Для начислений, которые производятся фиксированной суммой параллельно с окладом, рекомендуется устанавливать значение Дополнительная оплата за уже оплаченное время.
  3. Убедитесь, что в списке видов времени не выбраны явки или другие показатели, которые могут конфликтовать с основным начислением (окладом или тарифом).

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

Способ 5. Соблюдение методологии учета 1С

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

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

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

← На главную