После установки обновления 1С:ЗУП до версии 3.1.32.39 (актуально для марта 2025 года) многие пользователи столкнулись с невозможностью провести документ Начисление за первую половину месяца. Программа выдает критическую ошибку с кодом 51 или формирует отчет об ошибке исполнения встроенного языка, где ключевой фразой является: «Поле не найдено "ПримененныйВычет.НалоговаяБаза"». Примечательно, что обычное начисление зарплаты за месяц может проводиться без проблем, а ошибка возникает именно в «авансовом» документе.
Рассмотрим подробно причины возникновения этой ситуации и разберем по шагам все доступные способы восстановления работоспособности программы.
В релизах ветки 3.1.32 разработчики 1С существенно переработали механизмы учета НДФЛ. Это связано с внедрением новой прогрессивной шкалы налогообложения и необходимостью разделения вычетов по разным налоговым базам (например, основная база, дивиденды, доходы по облигациям и т.д.). Теперь каждый примененный вычет должен быть привязан к конкретной базе, для чего в табличные части документов (в частности, в таблицу ПримененныеВычетыНаДетейИИмущественные) был добавлен обязательный реквизит НалоговаяБаза.
Ошибка Поле не найдено означает, что программный код (запрос в общем модуле) пытается обратиться к этой колонке, но в структуре вашей базы данных (в табличной части документа) это поле физически отсутствует или не «видится» платформой. Это происходит по трем основным причинам:
Проанализируем ситуацию в коде. Ошибка возникает в общем модуле УчетНДФЛ, где формируется запрос к данным документа:
Процедура СоздатьВТДанныеНДФЛПоДокументу(МенеджерВременныхТаблиц, ДокументСсылка, ...) Экспорт
// ... фрагмент формирования текста запроса
ТекстЗапроса = СтрЗаменить(ТекстЗапроса, "#ТаблицаПримененныеВычеты", ПолноеИмяДокумента + ".ПримененныеВычетыНаДетейИИмущественные");
// ... далее в запросе происходит обращение:
// ПримененныйВычет.НалоговаяБаза КАК НалоговаяБаза
Если расширение перехватывает этот метод, но обращается к старым именам полей или если само поле НалоговаяБаза не появилось в конфигураторе, документ не проведется.
Как показывает практика, это самое эффективное решение. Список расширений, который мы видим в параметрах программы, часто содержит десятки исправлений от предыдущих версий. Разберем по шагам, что нужно сделать:
EF_.УчетНДФЛ начинает работать по типовой логике нового релиза, и поле НалоговаяБаза успешно находится.Если работа с патчами не помогла, выясним причину в самой базе данных. Бывает, что поле добавлено в конфигурации, но таблицы базы данных «застряли» в старом состоянии. Выполним следующие действия:
Шаг 1: Очистка кэша. Удалим информационную базу из списка в окне запуска 1С и добавим её заново. Это принудительно очистит локальные временные файлы, которые могут блокировать обновление метаданных.
Шаг 2: Тестирование и исправление (ТиИ). Запустим базу в режиме Конфигуратор. Перейдем в меню Администрирование — Тестирование и исправление. Выберем только пункт «Реструктуризация таблиц информационной базы». Нажмем «Выполнить». Этот процесс заново пересоберет физические таблицы документов и гарантированно добавит недостающее поле НалоговаяБаза, если оно предусмотрено конфигурацией.
Проанализируем сопутствующую проблему, которая часто всплывает в этом же релизе. Иногда документ аванса проводится, но начисляет полную зарплату сотруднику, который был в отпуске. Выясним причину:
В релизе 3.1.32.39 замечен баг: если сотрудник берет отпуск (или отсутствие) продолжительностью более 14 календарных дней, механизм расчета первой половины месяца может «проигнорировать» это вытеснение. В результате в документе Начисление за первую половину месяца мы видим полную сумму оклада, хотя отработанных дней нет или их мало.
Чтобы избежать этой ошибки, проверим настройки приоритетов:
Оплата по окладу).Отпуск основной и Отпуск за свой счет находятся в левом списке (начисления, которые вытесняют данное).Если ни один из методов не помог (как в случае автора темы), а расчеты нужно сдать срочно, рассмотрим вариант восстановления из резервной копии:
.dt.Посмотрим на ситуацию под другим углом: если вы используете базовую версию программы, то расширения у вас ограничены только официальными патчами. В версии Проф проблема может быть вызвана доработками ваших программистов. Обязательно проверьте, не подменяет ли какое-то самописное расширение модуль УчетНДФЛ или сам документ НачислениеЗаПервуюПоловинуМесяца. Любое расширение, созданное для версии 3.1.31, скорее всего, «сломается» на версии 3.1.32 из-за новых требований к реквизитам НДФЛ.
Таким образом, основным решением является синхронизация метаданных: удаление старых патчей и проведение реструктуризации базы данных. Это позволит программе корректно увидеть поле НалоговаяБаза и успешно провести расчеты за первую половину месяца.