Как отключить расчет НДФЛ в документе Начисление зарплаты в 1С:Бухгалтерия КОРП 3.0

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

При работе с конфигурацией 1С:Бухгалтерия КОРП 3.0, особенно если она снята с поддержки или используется для специфических внутренних нужд, может возникнуть задача полностью исключить автоматический расчет НДФЛ. Это необходимо в тех случаях, когда учет налогов ведется в сторонних системах или когда требуется ручное управление суммами выплат без вмешательства алгоритмов программы. В данной статье мы разберем несколько эффективных способов решения этой задачи: от простых настроек в пользовательском режиме до глубокой модификации программного кода.

Способ 1. Изменение настроек видов начислений

Это самый простой и правильный с точки зрения логики системы способ. Мы проанализируем настройки справочника Начисления и укажем программе, что данные выплаты не являются объектом налогообложения. Рассмотрим этот процесс по шагам:

  1. Перейдем в раздел Зарплата и кадрыНастройки зарплаты.
  2. Откроем справочник Начисления (или План видов расчета Начисления через «Все функции»).
  3. Найдем вид расчета, который используется в организации (например, Оплата по окладу).
  4. В карточке начисления найдем раздел, отвечающий за НДФЛ.
  5. Установим переключатель (радиобутон) в положение не облагается.

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

Способ 2. Ведение учета зарплаты во внешней программе

Если нам необходимо, чтобы документ Начисление зарплаты в 1С:Бухгалтерия КОРП 3.0 вообще не пытался выполнять функции расчета налогов и взносов, мы можем воспользоваться штатной настройкой параметров учета. Разберем, как это сделать:

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

Способ 3. Программное отключение расчета в конфигураторе

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

Выясним причину, по которой расчет запускается: документ обращается к экспортным процедурам расчета налогов. Мы можем найти функцию, определяющую ставку налога, и принудительно ее обнулить. Посмотрим на пример модификации кода в процедуре РассчитатьНалогПоОсновнойСтавке:


// В общем модуле, где происходит расчет НДФЛ
Процедура РассчитатьНалогПоОсновнойСтавке(...) Экспорт
    
    // Принудительно устанавливаем ставку в 0 для блокировки расчетов
    СтавкаДляРезидента = 0; 
    
    // Далее следует штатный код, который при ставке 0 выдаст нулевой результат
    ...
КонецПроцедуры

Важно понимать, что это «грубое» решение. Проанализируем последствия: при таком подходе система все равно будет пытаться обращаться к таблицам доходов, но итоговая сумма налога всегда будет равна нулю. Если требуется полное исключение захода в процедуры, следует искать точку вызова в процедуре РассчитатьНДФЛ в общем модуле УчетНДФЛ.

Способ 4. Глубокая доработка общих модулей и функциональных опций

Рассмотрим более детально, как устроена архитектура 1С:Бухгалтерия КОРП 3.0 в части учета НДФЛ. Основная логика сосредоточена в модуле УчетНДФЛ. Если мы хотим полностью исключить расчет, разберем следующие объекты:

  1. Процедура РассчитатьНДФЛ — это входная точка. Если в самом начале этой процедуры поставить Возврат;, то расчет не будет производиться ни для каких документов.
  2. Процедура ПодготовитьДанныеДляРасчетаНДФЛ — здесь формируется временная таблица доходов. Если очистить эту таблицу перед передачей в алгоритм расчета, налог также не будет начислен.

Также проанализируем влияние функциональных опций. В системе существует проверка на использование расширенного функционала зарплаты. Мы можем программно подменить значение функциональной опции ИспользоватьРасчетЗарплатыИКадров в конкретных сеансах, что приведет к скрытию закладок с налогами в документе.

Способ 5. Очистка категорий дохода и статуса налогоплательщика

Существует еще один способ «обмануть» алгоритм без радикальной правки кода. Выясним, как программа определяет, нужно ли считать налог. Она ориентируется на справочник Виды доходов НДФЛ. Если в справочнике для конкретного кода дохода (например, 2000) очистить поле Группа налога, алгоритм может проигнорировать эти суммы. Однако помните, что 1С часто блокирует изменение предопределенных элементов, поэтому использование Способа 1 (через настройки начисления) является более предпочтительным.

Также можно рассмотреть установку сотрудникам специфического статуса налогоплательщика. Если установить статус, по которому согласно международным договорам доходы не являются объектом налогообложения в РФ, расчет автоматически обнулится.

Важное замечание по регистрам накопления

Проанализируем ситуацию с движениями документа. Просто обнулить сумму НДФЛ в документе часто недостаточно для корректного учета, так как 1С формирует записи в регистры накопления:

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

Подводя итог, разберем, какой метод выбрать. Если вы хотите сохранить типовой функционал и иметь возможность легкого возврата к расчету налогов, используйте Способ 1 и Способ 2. Если же конфигурация глубоко переработана и вам требуется полное исключение программного кода НДФЛ из цикла работы системы, используйте методы программной модификации, описанные в Способах 3 и 4.

← На главную