Как исправить ошибку «Поле объекта не обнаружено: ПереквалифицированоПервоначальная» в бухгалтерской отчетности 1С:Бухгалтерия

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

При подготовке годовой или промежуточной бухгалтерской отчетности в конфигурации 1С:Бухгалтерия предприятия 3.0 (начиная с релизов 3.0.184.х) многие пользователи столкнулись с критической ошибкой при заполнении Пояснений к бухгалтерскому балансу. Программа прерывает заполнение с системным сообщением: Поле объекта не обнаружено: ПереквалифицированоПервоначальная. В данной статье мы разберем причины возникновения этой ситуации, проанализируем взаимосвязь с новыми формами отчетности и рассмотрим два способа решения: методический и программный.

Причины возникновения ошибки: методология и код

Для начала проанализируем ситуацию с точки зрения законодательства и реализации в коде. С 2024 года бухгалтерская отчетность формируется с учетом изменений, внесенных приказом Минфина № 157н. В частности, в таблицы Пояснений по основным средствам были добавлены графы для отражения переквалификации ОС в долгосрочные активы к продаже (ДАП). Это актуально для объектов, которые компания решила продать, но сам процесс продажи растянут во времени.

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

Проблема заключается в том, что аналогичный механизм применяется и к правам пользования активами (ППА), которые возникают при аренде или лизинге (ФСБУ 25/2018). При досрочном прекращении договора аренды документ «Прекращение аренды (лизинга)» также использует счет 01.09 для списания остаточной стоимости ППА. Но, согласно методологии учета, арендованное имущество (ППА) не может быть переквалифицировано в ДАП, так как оно не является собственностью компании. Следовательно, в таблице отчета «Наличие и движение прав пользования активами» колонки ПереквалифицированоПервоначальная просто не существует. Программа пытается записать данные в поле, которого нет в структуре таблицы, что и приводит к ошибке.

Способ 1. Методическое решение (исправление проводок)

Рассмотрим подробнее, как избежать ошибки без изменения программного кода. Если мы проанализируем стандартные документы, то увидим, что триггером ошибки выступает связка счетов 02.03 (амортизация арендованного имущества) и 01.09.

Выясним причину, по которой используется именно 01.09. Этот счет является транзитным и предназначен для формирования финансового результата от выбытия. Однако для учета корректировок стоимости арендованного имущества в 1С предусмотрен специализированный счет 01.К.

Пошаговое решение для бухгалтера:

  1. Проанализируйте оборотно-сальдовую ведомость по счету 01.09 за отчетный период.
  2. Найдите документы «Прекращение аренды (лизинга)», которые сформировали проводки типа Дт 02.03 — Кт 01.09 и Дт 01.09 — Кт 01.03.
  3. Поскольку права пользования активами не подлежат продаже как собственные ОС, использование счета 01.09 в данном контексте сбивает алгоритм заполнения отчетности.
  4. Для обхода ошибки можно временно заменить в этих проводках счет 01.09 на счет 01.К («Корректировка стоимости арендованного имущества»). В этом случае алгоритм заполнения отчетности по основным средствам проигнорирует данные обороты, и таблица по ППА будет заполнена корректно в части выбытия прав пользования без обращения к несуществующим полям переквалификации.

Способ 2. Программное решение (расширение конфигурации)

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

Проанализируем процедуру ДобавитьСлагаемое, которая обычно находится в общем модуле ЗаполнениеБухгалтерскойОтчетностиТабличное. Мы можем создать расширение и переопределить эту функцию с использованием аннотации &Вместо.

Пример кода для расширения:


&Вместо("ДобавитьСлагаемое")
Функция Расш_ДобавитьСлагаемое(ВыводТаблицы, ИмяКолонки, Описание, Сумма = 0, ПредметЗаписи = Неопределено, Отчет = Неопределено, Уровень = 0)
    
    // Получаем текущую строку таблицы, в которую идет запись
    СтрокаТаблицыОтчета = КрайняяСтрокаТаблицы(ВыводТаблицы);
    
    // Проверяем наличие колонки в структуре таблицы
    Если ОбщегоНазначенияКлиентСервер.ЕстьРеквизитИлиСвойствоОбъекта(СтрокаТаблицыОтчета, ИмяКолонки) Тогда
        
        // Если колонка существует, выполняем стандартное сложение
        СтрокаТаблицыОтчета[ИмяКолонки] = СтрокаТаблицыОтчета[ИмяКолонки] + Сумма;
        
        // Возвращаем результат записи расшифровки
        Возврат ДобавитьЗаписьРасшифровкиСтроки(ВыводТаблицы, ИмяКолонки, "Слагаемое", Описание, Сумма, ПредметЗаписи, Отчет, Уровень);
        
    Иначе
        // Если колонки нет (наш случай с ППА), выводим диагностическое сообщение в окно сообщений
        // и пропускаем запись, чтобы отчет продолжил формироваться
        ТекстСообщения = СтрШаблон("В отчете: %1 в таблице: %2 не найдено поле: %3. Сумма %4 пропущена.", 
            Отчет.Отчет.ИмяОтчета, ВыводТаблицы.ИмяТаблицы, ИмяКолонки, Сумма);
        ОбщегоНазначения.СообщитьПользователю(ТекстСообщения);
        
        Возврат ДобавитьЗаписьРасшифровкиСтроки(ВыводТаблицы, ИмяКолонки, "Слагаемое", Описание, 0, ПредметЗаписи, Отчет, Уровень);
    КонецЕсли;

КонецФункции

Рассмотрим подробнее, что делает этот код. Функция ЕстьРеквизитИлиСвойствоОбъекта из программного интерфейса БСП (Библиотека стандартных подсистем) безопасно проверяет, можно ли обратиться к полю ИмяКолонки. Если программа пытается записать данные в ПереквалифицированоПервоначальная для таблицы, где этой колонки нет, условие Иначе просто пропустит этот шаг, сохранив работоспособность всего процесса заполнения.

Рекомендации по обновлению

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

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

← На главную