Как заполняется реквизит «Регистрация в налоговом органе» в документе «Отражение зарплаты в бухучете» в 1С:ЗУП 3.1

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

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

В этой статье мы подробно разберем, по какому принципу программа заполняет этот реквизит «на лету», как устроена внутренняя логика запросов платформы и что делать, если в базе данных возникли дубли регистраций, из-за которых двоятся суммы или не проводится документ.

1. Как устроен реквизит «Регистрация в налоговом органе» под капотом

Проанализируем структуру метаданных документа ОтражениеЗарплатыВБухучете. В табличной части НачисленныйНДФЛ физически присутствуют только строковые и числовые идентификаторы налоговой инспекции:

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

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

2. Алгоритм поиска и заполнения (анализ исходного кода)

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

Система выполняет запрос к справочнику РегистрацииВНалоговомОргане, используя левое соединение (LEFT JOIN) по следующим строгим критериям:

  1. Организация — владелец справочника регистрации (сопоставляется с организацией документа);
  2. Код ИФНС (сопоставляется с КодНалоговогоОргана);
  3. КПП (сопоставляется только в том случае, если организация или обособленное подразделение юридического лица имеет заполненный КПП);
  4. ОКТМО (сопоставляется с КодПоОКТМО).

Рассмотрим пример упрощенного запроса, который иллюстрирует внутреннюю логику платформы при заполнении этой виртуальной колонки на форме:


ВЫБРАТЬ
	ТЧ_НДФЛ.НомерСтроки КАК НомерСтроки,
	ЕСТЬNULL(СпрРегистрации.Ссылка, ЗНАЧЕНИЕ(Справочник.РегистрацииВНалоговомОргане.ПустаяСсылка)) КАК РегистрацияВНалоговомОргане
ИЗ
	Документ.ОтражениеЗарплатыВБухучете.НачисленныйНДФЛ КАК ТЧ_НДФЛ
	ЛЕВОЕ СОЕДИНЕНИЕ Справочник.РегистрацииВНалоговомОргане КАК СпрРегистрации
		ПО СпрРегистрации.Владелец = ТЧ_НДФЛ.Ссылка.Организация
		И СпрРегистрации.Код = ТЧ_НДФЛ.КодНалоговогоОргана
		И СпрРегистрации.КПП = ТЧ_НДФЛ.КПП
		И СпрРегистрации.ОКТМО = ТЧ_НДФЛ.КодПоОКТМО
ГДЕ
	ТЧ_НДФЛ.Ссылка = &СсылкаДокумента

Важное замечание: в отличие от предположений некоторых участников обсуждения на форумах, при заполнении вкладки «Начисленный НДФЛ» программа не выполняет поиск по наименованию подразделения и не обращается напрямую к регистру сведений История регистраций в налоговом органе. История регистраций используется гораздо раньше — в документах начисления зарплаты для определения того, под каким КПП и ОКТМО сотрудник работал в конкретном периоде. Но когда дело доходит до отражения в бухучете, программа оперирует уже готовыми строковыми значениями КПП, ОКТМО и Кода ИФНС, хранящимися непосредственно в регистрах накопления по учету НДФЛ.

3. Проблема дубликатов: что произойдет при совпадении реквизитов?

Проанализируем опасную ситуацию: что произойдет, если в справочнике РегистрацииВНалоговомОргане для одной и той же организации будут созданы две карточки с абсолютно одинаковыми реквизитами (одинаковые КПП, ОКТМО и код ИФНС)?

С точки зрения СУБД, левое соединение (LEFT JOIN) при совпадении условий по нескольким записям выдаст все подходящие варианты. Однако логика работы интерфейса и проведения документов 1С не рассчитана на множественные совпадения для одной строки табличной части. Это приводит к следующим критическим ошибкам:

4. Пошаговая инструкция по исправлению ошибок сопоставления

Если вы обнаружили, что в документе отражения зарплаты некорректно заполняется или очищается колонка регистрации в налоговом органе, выполним следующие действия для исправления ситуации:

Шаг 1. Проверка уникальности комбинаций КПП и ОКТМО

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

Шаг 2. Использование обработки «Поиск и удаление дублей»

Для устранения дублирующих элементов воспользуемся стандартным инструментом администратора:

  1. Перейдем в раздел Администрирование — Обслуживание — Корректировка данных;
  2. Откроем ссылку Поиск и удаление дублей;
  3. В поле «Искать в:» выберем справочник Регистрации в налоговом органе;
  4. В правилах отбора укажем совпадение по реквизитам КПП, ОКТМО и Владелец (Организация);
  5. Нажмем кнопку «Найти дубли»;
  6. В списке результатов выберем правильный элемент (который используется в текущих документах и истории регистраций), а дублирующий элемент назначим как дубль для замены;
  7. Нажмем кнопку «Удалить дубли». Программа автоматически заменит все ссылки на дублирующий элемент во всех проведенных документах и регистрах на одну правильную запись.

Шаг 3. Перезаполнение и перепроведение документов

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

← На главную