Почему не проводится документ начисления зарплаты за первую половину месяца в 1С:ЗУП 3.1.32.39 и как это исправить?

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

После установки обновления 1С:ЗУП до версии 3.1.32.39 (актуально для марта 2025 года) многие пользователи столкнулись с невозможностью провести документ Начисление за первую половину месяца. Программа выдает критическую ошибку с кодом 51 или формирует отчет об ошибке исполнения встроенного языка, где ключевой фразой является: «Поле не найдено "ПримененныйВычет.НалоговаяБаза"». Примечательно, что обычное начисление зарплаты за месяц может проводиться без проблем, а ошибка возникает именно в «авансовом» документе.

Рассмотрим подробно причины возникновения этой ситуации и разберем по шагам все доступные способы восстановления работоспособности программы.

Анализируем причину ошибки: архитектурные изменения НДФЛ в 2025 году

В релизах ветки 3.1.32 разработчики 1С существенно переработали механизмы учета НДФЛ. Это связано с внедрением новой прогрессивной шкалы налогообложения и необходимостью разделения вычетов по разным налоговым базам (например, основная база, дивиденды, доходы по облигациям и т.д.). Теперь каждый примененный вычет должен быть привязан к конкретной базе, для чего в табличные части документов (в частности, в таблицу ПримененныеВычетыНаДетейИИмущественные) был добавлен обязательный реквизит НалоговаяБаза.

Ошибка Поле не найдено означает, что программный код (запрос в общем модуле) пытается обратиться к этой колонке, но в структуре вашей базы данных (в табличной части документа) это поле физически отсутствует или не «видится» платформой. Это происходит по трем основным причинам:

  1. Конфликт расширений (патчей): Установленные ранее исправления (EF_...) подменяют текст запроса на старый или конфликтуют с новыми метаданными.
  2. Сбой при реструктуризации: Во время обновления базы данных платформа не смогла корректно добавить новые поля в таблицы SQL или файловой базы.
  3. Кэш метаданных: Платформа 1С использует локальный кэш, который «помнит» старую структуру таблиц и не замечает изменений после обновления конфигурации.

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


Процедура СоздатьВТДанныеНДФЛПоДокументу(МенеджерВременныхТаблиц, ДокументСсылка, ...) Экспорт
    // ... фрагмент формирования текста запроса
    ТекстЗапроса = СтрЗаменить(ТекстЗапроса, "#ТаблицаПримененныеВычеты", ПолноеИмяДокумента + ".ПримененныеВычетыНаДетейИИмущественные");
    // ... далее в запросе происходит обращение:
    // ПримененныйВычет.НалоговаяБаза КАК НалоговаяБаза

Если расширение перехватывает этот метод, но обращается к старым именам полей или если само поле НалоговаяБаза не появилось в конфигураторе, документ не проведется.

Способ 1: Работа с патчами и расширениями конфигурации

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

  1. Перейдем в раздел Администрирование — Обслуживание — Обновление программы — Установленные исправления (патчи).
  2. Выделим все патчи, установленные до даты обновления конфигурации (до 13.03.2025), и удалим их. Внимание: лучше всего удалить все патчи с префиксом EF_.
  3. Перезапустим программу. При запуске 1С предложит скачать актуальные патчи именно для релиза 3.1.32.39. Согласимся и установим их.
  4. Проверим проведение документа. Часто после удаления старых исправлений запрос в УчетНДФЛ начинает работать по типовой логике нового релиза, и поле НалоговаяБаза успешно находится.

Способ 2: Очистка кэша и реструктуризация таблиц

Если работа с патчами не помогла, выясним причину в самой базе данных. Бывает, что поле добавлено в конфигурации, но таблицы базы данных «застряли» в старом состоянии. Выполним следующие действия:

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

Шаг 2: Тестирование и исправление (ТиИ). Запустим базу в режиме Конфигуратор. Перейдем в меню Администрирование — Тестирование и исправление. Выберем только пункт «Реструктуризация таблиц информационной базы». Нажмем «Выполнить». Этот процесс заново пересоберет физические таблицы документов и гарантированно добавит недостающее поле НалоговаяБаза, если оно предусмотрено конфигурацией.

Способ 3: Проверка бага с вытеснением времени (отпуска более 14 дней)

Проанализируем сопутствующую проблему, которая часто всплывает в этом же релизе. Иногда документ аванса проводится, но начисляет полную зарплату сотруднику, который был в отпуске. Выясним причину:

В релизе 3.1.32.39 замечен баг: если сотрудник берет отпуск (или отсутствие) продолжительностью более 14 календарных дней, механизм расчета первой половины месяца может «проигнорировать» это вытеснение. В результате в документе Начисление за первую половину месяца мы видим полную сумму оклада, хотя отработанных дней нет или их мало.

Чтобы избежать этой ошибки, проверим настройки приоритетов:

  1. Зайдем в настройки начисления (например, Оплата по окладу).
  2. На закладке Приоритет убедимся, что виды расчета Отпуск основной и Отпуск за свой счет находятся в левом списке (начисления, которые вытесняют данное).
  3. Если баг сохраняется, попробуем временно разбить длинный отпуск на две части в программе или дождаться исправляющего патча от 1С (обычно они выходят в течение нескольких дней после обнаружения массовой проблемы).

Способ 4: Радикальное решение (создание новой базы из копии)

Если ни один из методов не помог (как в случае автора темы), а расчеты нужно сдать срочно, рассмотрим вариант восстановления из резервной копии:

  1. Восстановим копию базы, сделанную до злополучного обновления.
  2. Убедимся, что на старом релизе (например, 3.1.31) начисления проводятся корректно.
  3. Если обновление необходимо (для отчетности), попробуем обновиться повторно, предварительно отключив все сторонние расширения и выгрузив базу в формат .dt.
  4. Иногда помогает пропуск одного промежуточного релиза, если это технически возможно, или установка самой свежей версии платформы (на текущий момент рекомендуется 8.3.25.1560 и выше).

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

Таким образом, основным решением является синхронизация метаданных: удаление старых патчей и проведение реструктуризации базы данных. Это позволит программе корректно увидеть поле НалоговаяБаза и успешно провести расчеты за первую половину месяца.

← На главную