Как исправить ошибку «Поле объекта не обнаружено (ТекущийНалогНаПрибыль)» в 1С:Бухгалтерия 3.0

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

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

Поле объекта не обнаружено (ТекущийНалогНаПрибыль)

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

Выясняем причину: почему платформа «не видит» счет 99.02.Т

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


СчетаТекущегоНалога.Добавить(ПланыСчетов.Хозрасчетный.ТекущийНалогНаПрибыль); // 99.02.Т

Платформа обращается к метаданным конфигурации, ожидая найти предопределенный элемент с уникальным именем ТекущийНалогНаПрибыль. Если этого имени в метаданных плана счетов «Хозрасчетный» нет, система аварийно завершает работу.

Откуда вообще взялись эти счета? Начиная с обновления ПБУ 18/02 «Учет расчетов по налогу на прибыль организаций», в план счетов 1С были внесены масштабные изменения. К субсчету 99.02 «Налог на прибыль» были добавлены новые субсчета третьего порядка:

  1. 99.02.Т «Текущий налог на прибыль» — имя предопределенного элемента в конфигураторе ТекущийНалогНаПрибыль. Он корреспондирует со счетом 68.04.1 при расчете налога.
  2. 99.02.О «Отложенный налог на прибыль» — имя предопределенного элемента ОтложенныйНалогНаПрибыль. Он используется при расчете отложенных налоговых активов (ОНА) и обязательств (ОНО).

Если база данных обновляется стандартно и находится на полной поддержке («на замке»), эти счета появляются автоматически. Однако, если конфигурация была доработана программистами (снята с поддержки с возможностью изменений), при очередном обновлении могла произойти критическая ошибка объединения. Специалист, выполнявший обновление конфигурации, мог случайно снять галочку с объекта Планы счетов -> Хозрасчетный или с его свойства «Предопределенные данные». В результате программный код модулей обновился до актуального релиза, а сам план счетов остался старой структуры.

Также возможна ситуация, когда связь между предопределенными элементами метаданных и физическими записями в базе данных (в режиме «1С:Предприятие») была нарушена из-за сбоев СУБД, кэширования или некорректной синхронизации в распределенных информационных базах (РИБ).

---

Шаг 1. Диагностика состояния плана счетов

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

Выполним пошаговую диагностику:

  1. Проверка в режиме Конфигуратора: Откроем дерево конфигурации, перейдем в ветку Планы счетов -> Хозрасчетный, нажмем правой кнопкой мыши и выберем пункт «Открыть предопределенные данные». Проанализируем группу счетов 99.02. Если в списке отсутствуют строки с кодами 99.02.Т и 99.02.О — структура конфигурации устарела. Требуется применить Способ 1.
  2. Проверка в режиме Предприятия: Запустим информационную базу в обычном пользовательском режиме. Перейдем в Главное меню -> Функции для технического специалиста (или Все функции) -> Планы счетов -> План счетов бухгалтерского учета. Найдем счет 99.02.Т. Обратим внимание на его иконку. Если на иконке счета нет значка с желтым кружком (признак предопределенного элемента), это означает, что связь между конфигуратором и базой данных разорвана. В этом случае нам помогут Способ 2 или Способ 3.

---

Способ 1. Восстановление структуры через сравнение и объединение конфигураций

Если диагностика показала, что новых субсчетов нет в самом конфигураторе, нам необходимо перенести предопределенные данные из чистой конфигурации поставщика (файла .cf) соответствующего релиза.

Рассмотрим этот процесс подробно:

  1. Создание резервной копии: Перед проведением любых работ в конфигураторе обязательно создаем резервную копию базы данных (используем меню Администрирование -> Выгрузить информационную базу или делаем копию файла 1Cv8.1CD для файловых баз).
  2. Получение файла конфигурации поставщика: Нам понадобится файл конфигурации (шаблон) именно той версии, которая установлена у клиента. Найти его можно в каталоге шаблонов 1С (файл 1cv8.cf).
  3. Сравнение и объединение: Перейдем в меню Конфигурация -> Сравнить, объединить с конфигурацией из файла... и укажем путь к файлу 1cv8.cf.
  4. Настройка правил объединения: В открывшемся окне сравнения снимем абсолютно все галочки (нажав кнопку «Снять все»). После этого найдем в дереве объектов ветку Планы счетов -> Хозрасчетный. Поставим напротив нее галочку.
  5. Критически важная деталь: Нажмем правой кнопкой мыши на строке Хозрасчетный в окне сравнения и выберем пункт «Установить режим объединения для подчиненных объектов». Убедимся, что свойство «Предопределенные данные» настроено на режим «Взять из конфигурации источника» (или объединить). Галочка на предопределенных данных должна стоять обязательно!
  6. Выполнение объединения: Нажмем кнопку «Выполнить». Согласимся с предупреждениями системы и обновим конфигурацию базы данных, нажав клавишу F7.

После успешного обновления зайдем в режим Предприятия и проверим, проходит ли теперь регламентная операция расчет налога.

---

Способ 2. Запуск утилиты тестирования и исправления базы данных

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

Проанализируем этот алгоритм:

  1. Запустим базу данных в режиме Конфигуратора.
  2. Перейдем в меню Администрирование -> Тестирование и исправление....
  3. В появившемся окне установим галочки на следующих пунктах:
    • Проверка логической целостности;
    • Проверка ссылочной целостности;
    • Реструктуризация таблиц информационной базы.
  4. В нижней части окна настроек, в блоках действий при наличии поврежденных объектов или неиспользуемых предопределенных данных, обязательно выберем переключатель «Создавать объекты» (или «Восстанавливать элементы»).
  5. Нажмем кнопку «Выполнить» и дождемся завершения процесса. Платформа сопоставит GUID метаданных с таблицами СУБД и при необходимости автоматически создаст или свяжет недостающие элементы планов счетов.

---

Способ 3. Программное восстановление связей предопределенных элементов

Иногда стандартное Тестирование и исправление не может автоматически связать созданный пользователем вручную счет с предопределенным именем из конфигуратора. В такой ситуации мы можем написать простую обработку или выполнить код, который принудительно назначит счету его системный идентификатор.

Рассмотрим пример кода, который решает данную задачу. Запустим внешнюю обработку (например, групповой запуск кода или обработку «Выгрузка и загрузка данных XML» для поиска дублей):


// Найдем счет, созданный в режиме предприятия без признака предопределенного
СчетСсылка = ПланыСчетов.Хозрасчетный.НайтиПоКоду("99.02.Т");

Если Не СчетСсылка.Пустая() Тогда
    // Получаем объект для редактирования
    СчетОбъект = СчетСсылка.ПолучитьОбъект();
    
    // Принудительно связываем его с именем предопределенного элемента в метаданных
    СчетОбъект.ИмяПредопределенныхДанных = "ТекущийНалогНаПрибыль";
    
    Попытка
        СчетОбъект.Записать();
        Сообщить("Связь для счета 99.02.Т успешно восстановлена!");
    Исключение
        Сообщить("Ошибка записи счета: " + ОписаниеОшибки());
    КонецПопытки;
КонецЕсли;

Аналогичную процедуру при необходимости нужно провести и для субсчета 99.02.О с системным именем ОтложенныйНалогНаПрибыль. После выполнения данного кода платформа начнет корректно определять эти счета во всех запросах и алгоритмах закрытия месяца.

---

Способ 4. Временный обходной путь для бухгалтера (через учетную политику)

Бывают ситуации, когда закрыть период и рассчитать налоги нужно немедленно, а программиста или системного администратора нет на месте, чтобы манипулировать конфигуратором. В этом случае мы можем применить временную бухгалтерскую хитрость, если это допускает законодательство компании.

Выясним особенности применения ПБУ 18/02. Обязанность применять ПБУ 18/02 распространяется далеко не на все компании. Субъекты малого предпринимательства и некоммерческие организации имеют полное право отказаться от применения данного стандарта.

Если ваша организация относится к таким категориям, вы можете временно или на постоянной основе отключить этот функционал:

  1. Перейдем в раздел Главное -> Настройки -> Учетная политика.
  2. Найдем параметр «Учет расчетов по налогу на прибыль (ПБУ 18/02)».
  3. Выберем значение «Не применяется».
  4. Запишем изменения учетной политики.

После отключения ПБУ 18/02 алгоритмы регламентной операции закрытия месяца перестанут обращаться к субсчетам 99.02.Т и 99.02.О. Расчет налога на прибыль будет производиться по упрощенной схеме, и ошибка Поле объекта не обнаружено (ТекущийНалогНаПрибыль) исчезнет. Однако помните, что если организация обязана применять ПБУ 18/02, этот метод можно использовать лишь как кратковременную меру для срочной печати других отчетов, после чего план счетов обязательно нужно восстановить методами, описанными выше.

← На главную