Как разрешить ввод копеек при ручной корректировке расчетной базы в документе «Премия» в 1С:ЗУП 3.1

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

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

Причина ограничения точности показателя

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

По умолчанию для показателя РасчетнаяБаза во многих релизах установлена точность, равная «0». Это логично с точки зрения автоматического расчета, так как база собирается из уже начисленных сумм, которые и так содержат копейки. Однако при попытке ручного редактирования формат ввода в управляемой форме опирается именно на настройки этого показателя. Если точность равна нулю, интерфейс блокирует ввод дробной части.

Способ 1: Изменение точности показателя через справочник

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

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

Важный нюанс: Поскольку показатель РасчетнаяБаза является предопределенным (системным), поле точности в пользовательском интерфейсе может быть заблокировано для редактирования (серого цвета). В этом случае нам поможет стандартная обработка Групповое изменение реквизитов.

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

  1. Откроем обработку Групповое изменение реквизитов (через меню Администрирование — Обслуживание — Корректировка данных).
  2. В поле «Изменять» выберем справочник Показатели расчета зарплаты.
  3. Добавим отбор: Ссылка Равно "Расчетная база".
  4. В списке реквизитов найдем Точность и установим новое значение 2.
  5. Нажмем кнопку Изменить реквизиты.

После этой манипуляции система позволит вводить копейки в поле расчетной базы в документе Премия. Однако стоит помнить, что формат отображения в самой форме документа также может быть жестко задан в свойствах колонки. Если изменение в справочнике не помогло, потребуется создать Расширение конфигурации и изменить форматную строку поля в форме документа Премия (свойство ФорматРедактирования, установив ЧДЦ=2).

Способ 2: Использование корректирующего коэффициента (рекомендуемый)

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

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

  1. Создадим новый показатель расчета: Настройка — Показатели расчета зарплаты — Создать.
  2. Назовем его КоэффициентКорректировкиБазы.
  3. Установим назначение показателя: Для сотрудника.
  4. Тип показателя: Числовой, точность — 2.
  5. Укажем, что показатель используется Только в месяце, в котором вводится значение (вводится непосредственно в документе начисления).

Теперь изменим формулу начисления премии:


// Старая формула:
// Результат = РасчетнаяБаза * ПроцентПремии / 100

// Новая формула:
Результат = РасчетнаяБаза * (ПроцентПремии / 100) * КоэффициентКорректировкиБазы

Рассмотрим преимущество этого метода: в документе Премия у вас появится дополнительная колонка для ввода коэффициента. Если сотруднику нужно выплатить премию в полном объеме, ставим 1.00. Если базу нужно уменьшить (например, на 15%), вводим 0.85. При этом системная РасчетнаяБаза остается нетронутой, что гарантирует корректность всех последующих перерасчетов и отчетов.

Технические риски ручного вмешательства

Важно понимать, как 1С обрабатывает ручные корректировки. Когда вы меняете значение в строке документа вручную, система устанавливает внутренний флаг ПересчитаноВручную. Это отключает автоматический расчет для данной строки. Посмотрим, к чему это может привести:

Таким образом, мы выяснили, что техническое ограничение на ввод копеек в расчетную базу связано с настройками точности в справочнике показателей. Однако лучшим решением будет не обход этого ограничения, а изменение методики расчета через введение дополнительных коэффициентов. Это обеспечит стабильность работы системы 1С:ЗУП 3.1 и исключит ошибки при автоматических перерасчетах в будущем.

← На главную