В процессе работы с программой 1С:Зарплата и управление персоналом 3.1 бухгалтеры и расчетчики нередко сталкиваются с необходимостью ручной корректировки расчетной базы в документе Премия. Одной из распространенных проблем является невозможность ввода дробной части (копеек) в поле расчетной базы. Программа либо округляет значение до целого числа, либо просто не дает ввести символ запятой. Разберем подробно, почему так происходит, как это исправить технически и какой способ корректировки считается наиболее корректным с точки зрения архитектуры системы.
Для начала проанализируем, как система 1С хранит и обрабатывает данные о расчетной базе. В конфигурации ЗУП 3.1 расчетная база не является просто числовым полем в табличной части документа. Это значение предопределенного показателя расчета зарплаты. У каждого показателя в системе есть свои настройки, в том числе и свойство Точность, которое определяет количество знаков после запятой.
По умолчанию для показателя РасчетнаяБаза во многих релизах установлена точность, равная «0». Это логично с точки зрения автоматического расчета, так как база собирается из уже начисленных сумм, которые и так содержат копейки. Однако при попытке ручного редактирования формат ввода в управляемой форме опирается именно на настройки этого показателя. Если точность равна нулю, интерфейс блокирует ввод дробной части.
Рассмотрим по шагам, как изменить настройки точности без внесения изменений в программный код (конфигурацию). Нам потребуется доступ к справочнику Показатели расчета зарплаты.
Расчетная база.Важный нюанс: Поскольку показатель РасчетнаяБаза является предопределенным (системным), поле точности в пользовательском интерфейсе может быть заблокировано для редактирования (серого цвета). В этом случае нам поможет стандартная обработка Групповое изменение реквизитов.
Выполним следующие действия для принудительного изменения точности:
Групповое изменение реквизитов (через меню Администрирование — Обслуживание — Корректировка данных).Показатели расчета зарплаты.Ссылка Равно "Расчетная база".Точность и установим новое значение 2.После этой манипуляции система позволит вводить копейки в поле расчетной базы в документе Премия. Однако стоит помнить, что формат отображения в самой форме документа также может быть жестко задан в свойствах колонки. Если изменение в справочнике не помогло, потребуется создать Расширение конфигурации и изменить форматную строку поля в форме документа Премия (свойство ФорматРедактирования, установив ЧДЦ=2).
Проанализируем ситуацию глубже. Ручная правка расчетной базы — это опасный путь. Проблема заключается в том, что РасчетнаяБаза в 1С:ЗУП 3 — это «динамический» показатель. Если после проведения премии будет сделан перерасчет какого-то документа из прошлого периода (который входил в базу), система может автоматически инициировать пересчет премии. При этом ручные правки базы могут быть стерты или привести к непредсказуемым результатам в регистрах расчета.
Выясним, как сделать расчет более прозрачным и надежным. Вместо того чтобы «портить» системный показатель базы, создадим свой механизм корректировки. Разберем это на примере внедрения штрафных коэффициентов или коэффициентов трудового участия (КТУ).
КоэффициентКорректировкиБазы.Теперь изменим формулу начисления премии:
// Старая формула:
// Результат = РасчетнаяБаза * ПроцентПремии / 100
// Новая формула:
Результат = РасчетнаяБаза * (ПроцентПремии / 100) * КоэффициентКорректировкиБазы
Рассмотрим преимущество этого метода: в документе Премия у вас появится дополнительная колонка для ввода коэффициента. Если сотруднику нужно выплатить премию в полном объеме, ставим 1.00. Если базу нужно уменьшить (например, на 15%), вводим 0.85. При этом системная РасчетнаяБаза остается нетронутой, что гарантирует корректность всех последующих перерасчетов и отчетов.
Важно понимать, как 1С обрабатывает ручные корректировки. Когда вы меняете значение в строке документа вручную, система устанавливает внутренний флаг ПересчитаноВручную. Это отключает автоматический расчет для данной строки. Посмотрим, к чему это может привести:
База * Процент = Результат будет нарушена в базе данных, хотя визуально в документе всё будет выглядеть верно.Таким образом, мы выяснили, что техническое ограничение на ввод копеек в расчетную базу связано с настройками точности в справочнике показателей. Однако лучшим решением будет не обход этого ограничения, а изменение методики расчета через введение дополнительных коэффициентов. Это обеспечит стабильность работы системы 1С:ЗУП 3.1 и исключит ошибки при автоматических перерасчетах в будущем.