Рассмотрим распространенную и крайне неприятную проблему, с которой сталкиваются пользователи и системные администраторы программы 1С:Зарплата и Управление Персоналом (редакция 3) после проведения планового обновления конфигурации. Суть проблемы заключается в следующем: в программе было создано и успешно функционировало пользовательское плановое начисление (например, доплата за сложность или фиксированная премия), рассчитываемое фиксированной суммой. Однако после обновления конфигурации (начиная с релизов ветки 3.1.9 и выше) данное начисление начинает «вести себя некорректно». Если бухгалтер создает несколько документов Начисление зарплаты и взносов за один и тот же месяц по разным подразделениям или разным группам сотрудников, то эта фиксированная сумма начисляется сотруднику в каждом из этих документов.
Если создать два документа начисления за месяц — сумма начислится дважды. Если создать десять документов — сотрудник получит десятикратный размер выплаты. Давайте разберем по шагам, почему это происходит с технической точки зрения, и рассмотрим детальные инструкции по исправлению этой ошибки.
Проанализируем ситуацию изнутри. В конфигурации 1С:ЗУП 3 реализован встроенный механизм защиты от повторного начисления плановых начислений в течение одного расчетного периода (месяца). Когда программа автоматически заполняет документ Начисление зарплаты и взносов, она анализирует уже существующие и проведенные документы за этот же месяц, чтобы не допустить дублирования сумм.
Однако этот защитный алгоритм корректно срабатывает только в тех случаях, когда формула начисления или его настройки жестко привязаны к учету фактически отработанного времени. Для этого в формуле начисления должны присутствовать такие показатели, как ВремяВДнях, ВремяВЧасах, НормаДней или аналогичные им. Если программа видит, что плановое рабочее время сотрудника за месяц уже полностью «закрыто» и оплачено в первом документе начисления, то во втором документе расчет времени вернет 0, и строка с начислением либо вообще не появится, либо рассчитается с нулевым результатом.
В случае с настройкой начисления «Результат вводится фиксированной суммой» и назначением «Прочие начисления и выплаты» (выполняется ежемесячно) ситуация иная. Фиксированная сумма не имеет привязки ко времени. В последних релизах разработчики фирмы 1С оптимизировали запросы заполнения табличных частей. Теперь, если начисление не связано с учетом времени и вводится фиксированной суммой, алгоритм заполнения документа считает его «невыполненным» до тех пор, пока оно не будет рассчитано в текущем открытом документе. В результате программа пытается рассчитать эту фиксированную сумму в каждом новом документе, где фигурирует данный сотрудник.
Ниже мы подробно рассмотрим четыре практических способа решения этой проблемы, которые помогут вернуть корректный расчет в вашей информационной базе.
Если сумма доплаты не является строго постоянной величиной, которая должна автоматически рассчитываться программой каждый месяц «по умолчанию», наиболее правильным и методически верным решением будет отказ от ежемесячного планового начисления в пользу разового документа.
Выполним следующие действия по шагам:
Разовое начисление.При таком подходе начисление полностью исключается из обработки автоматического заполнения документа Начисление зарплаты и взносов. Бухгалтер будет вводить эту сумму один раз в месяц специальным документом Разовое начисление, что полностью гарантирует отсутствие каких-либо дублей и переплат.
Если специфика вашего учета требует, чтобы доплата обязательно рассчитывалась автоматически непосредственно в общем документе Начисление зарплаты и взносов, нам необходимо скорректировать формулу расчета таким образом, чтобы программа могла отслеживать баланс отработанного времени сотрудника.
Выполним настройку по шагам:
РазмерДоплатыФикс). Установим для него назначение Для сотрудника, тип показателя — Денежный, а использование — Во всех месяцах после ввода значения (постоянное использование).Пример формулы, которую мы можем использовать:
РазмерДоплатыФикс * ВремяВДнях / НормаДней
После этого назначим данный показатель сотруднику с помощью кадровых документов (например, Изменение оплаты сотрудников или Прием на работу). Теперь, когда в первом документе начисления зарплаты за месяц время сотрудника будет учтено и оплачено, во втором документе показатель ВремяВДнях для этого сотрудника примет значение 0, и повторного начисления фиксированной суммы не произойдет.
Еще один отличный способ, позволяющий избежать дублирования и одновременно сохранить возможность расчета суммы в общем документе начисления зарплаты — это использование разовых показателей.
Разберем этот алгоритм:
СуммаЕжемесячнойДоплаты) со следующими настройками: назначение — Для сотрудника, использование — Только в месяце, в котором вводится значение (разовое использование).СуммаЕжемесячнойДоплаты.СуммаЕжемесячнойДоплаты.Данные для расчета зарплаты (раздел Зарплата).Почему это решит проблему? Поскольку показатель является разовым, система «гасит» его значение в момент проведения первого же расчета. При заполнении второго и последующих документов Начисление зарплаты и взносов за этот же месяц значение показателя уже будет равно нулю, и дублирования строк не произойдет.
Иногда исправить ситуацию помогает правильное позиционирование начисления в структуре учета рабочего времени конфигурации. Проанализируем настройки вкладки Учет времени в карточке начисления:
Установка признака дополнительной оплаты за уже оплаченное время помогает алгоритмам 1С корректно сопоставлять периоды начислений и снижает вероятность того, что программа начнет дробить фиксированную сумму при регистрации кадровых изменений в течение расчетного месяца.
Помимо технических настроек, важно помнить о методологии, которую разработчики закладывают в архитектуру программных продуктов 1С. Согласно этой методологии, на одного сотрудника за один расчетный период (календарный месяц) должен быть оформлен строго один проведенный документ Начисление зарплаты и взносов.
Если в вашей организации принято рассчитывать сотрудников частями или по разным подразделениям, старайтесь организовывать работу так, чтобы подразделения не пересекались, а расчет по конкретному сотруднику производился один раз. Если требуется внести исправления или доначислить суммы конкретному человеку, используйте штатные механизмы:
Применение данных методологических правил в сочетании с правильной настройкой формул и показателей полностью исключит возникновение подобных ошибок и сделает ваш расчет зарплаты точным и стабильным.