При расчете зарплаты и налоговых отчислений в конфигурациях на платформе 1С 7.7 часто возникает необходимость округлять суммы начислений и удержаний по каждому отдельному сотруднику. Разберем, предусмотрен ли такой функционал в типовых пользовательских настройках и как правильно реализовать округление социального налога или страховых взносов в Конфигураторе.
В типовой конфигурации «1С:Зарплата и кадры 7.7» пользовательских настроек (в константах или справочниках) для произвольного округления налога по каждому конкретному сотруднику не предусмотрено. Встроенные константы вида Округление предназначены исключительно для настройки округления итоговых сумм к выдаче на руки, но не влияют напрямую на формулы расчета начисленных налогов.
Перед внесением изменений в код программы рекомендуется предварительно проверить справочник Налоги и отчисления, чтобы убедиться в отсутствии реквизитов округления в вашей текущей конфигурации. Если штатные реквизиты отсутствуют, потребуется доработка модуля вида расчета.
Для изменения логики расчета в конфигураторе используется встроенная математическая функция платформы 1С 7.7 — Окр().
Синтаксис функции имеет следующий вид:
Окр(Число, [Разрядность], [Режим])
Проанализируем основные параметры этой функции:
0 (или опустить параметр), число округляется до целых рублей. Значение 2 применяют для округления до копеек. При отрицательных значениях (например, -1 или -2) округление выполняется до десятков или сотен рублей.0.5. Значение 1 (по умолчанию) округляет в большую сторону по правилам арифметики, значение 0 — в меньшую сторону по модулю.Базовый пример корректировки кода в модуле соответствующего вида расчета выглядит следующим образом:
// В конце модуля соответствующего вида расчета:
Результат = Окр(Результат, 0);
Рассмотрим важную особенность налогового учета. Расчет большинствa налогов и отчислений в 1С 7.7 выполняется нарастающим итогом с начала года. Если округлять ежемесячный результат расчета по каждому человеку напрямую без учета прошлых периодов, возникнет накопленная погрешность. К концу года суммарный налог за 12 месяцев может не совпасть с налогом, рассчитанным от совокупной годовой облагаемой базы.
Чтобы предотвратить расхождения, рекомендуется использовать следующий алгоритм корректировки:
Схематично этот алгоритм в коде выражается так:
НалогСНачалаГода = РассчитатьНалогЗаПериод(НачалоГода, ТекущийМесяц);
НалогСНачалаГодаОкр = Окр(НалогСНачалаГода, 0);
Результат = НалогСНачалаГодаОкр - НалогЗаПредыдущиеМесяцы;
Если вносить изменения в Конфигуратор нельзя (например, программа находится на типовой поддержке и не подлежит модификации), можно использовать следующие подходы:
Ввод доходов и налогов) для точечной скорректированной записи сумм по сотрудникам.