При подготовке отчетности по НДС за 3 квартал 2021 года (и в последующих периодах при аналогичных обстоятельствах) пользователи конфигурации «Управление производственным предприятием» (УПП), редакция 1.3, столкнулись с критической ошибкой. При попытке заполнить декларацию система выдает сообщение: {ОбщийМодуль.ЗаполнениеРегламентированнойОтчетностиСервер.Модуль(30)}: Метод объекта не обнаружен (ЗаполнитьОтчетНДСФормаОтчета2021Кв3). Рассмотрим подробно причины возникновения этой ситуации и разберем по шагам, как восстановить работоспособность системы.
Проанализируем ситуацию: ошибка возникает из-за того, что в общем модуле УчетНДСФормированиеОтчетности отсутствует необходимая экспортная процедура, хотя вызов её в коде ЗаполнениеРегламентированнойОтчетностиСервер уже прописан. Выясним причину, по которой модуль не обновился корректно. Чаще всего это происходит в кастомизированных (измененных) конфигурациях. Если в модуль ранее вносились любые доработки (даже незначительные изменения в комментариях или мелкие правки логики), при автоматическом обновлении через «Поддержку» система может пропустить обновление этого объекта, если настройки сравнения и объединения выставлены неверно.
Особое внимание стоит уделить фильтрам в окне сравнения конфигураций. Рассмотрим типичную ошибку администратора: использование режима «Показывать отличия новой конфигурации поставщика от старой конфигурации поставщика». При таком фильтре, если ваш модуль помечен как измененный относительно старой версии поставщика, новые методы могут просто не отобразиться в дереве изменений, и вы их случайно пропустите, не проставив «галочку» для объединения.
Разберем, как принудительно добавить недостающий метод. В корректном релизе (начиная с 1.3.167.1) в модуле УчетНДСФормированиеОтчетности должна присутствовать следующая структура:
Процедура ЗаполнитьОтчетНДСФормаОтчета2021Кв3(ПараметрыЗаполненияОтчета) Экспорт
ПараметрыЗаполненияОтчета.Вставить("ПравилаЗаполнения", "2021Кв3");
ЗаполнитьДекларациюНДС(ПараметрыЗаполненияОтчета);
КонецПроцедуры
Для исправления выполним следующие действия:
.cf актуального релиза).УчетНДСФормированиеОтчетности.ЗаполнитьОтчетНДСФормаОтчета2021Кв3 вручную и вставьте его в конец модуля, не забыв добавить ключевое слово Экспорт.Проанализируем еще один важный аспект. Даже если код физически присутствует в модуле, он может не работать из-за несовместимости с версией платформы 1С:Предприятие. Начиная с отчетных периодов 2021 года, разработчики УПП внедрили механизмы, использующие новые типы данных. Например, может возникнуть ошибка при компиляции кода, содержащего Тип("ФормаКлиентскогоПриложения").
Этот тип появился в платформе версии 8.3.15. Если ваша рабочая база запущена на старой платформе (например, 8.3.10), сервер 1С не сможет скомпилировать модуль, и система выдаст ошибку о том, что метод не обнаружен, так как весь модуль «вылетит» из компиляции. Посмотрим на рекомендации:
Тип("ФормаКлиентскогоПриложения") на Тип("УправляемаяФорма"), однако это крайне не рекомендуется, так как может привести к непредсказуемому поведению в других узлах системы.Выясним, почему нельзя просто «подменить» вызов новой процедуры старой (например, ЗаполнитьОтчетНДСФормаОтчета2020Кв4). С 1 июля 2021 года вступили в силу изменения, связанные с национальной системой прослеживаемости товаров (Приказ ФНС от 26.03.2021 № ЕД-7-3/228@). Даже если ваша организация не занимается прослеживаемыми товарами, формат декларации изменился для всех:
УчетНДСФормированиеОтчетности теперь вызывается универсальный механизм ЗаполнитьДекларациюНДС, который учитывает эти изменения через параметр ПравилаЗаполнения.Посмотрим на ситуацию, когда при обновлении постоянно возникают различия в «Справочной информации» (Help) объектов, даже если вы их только что объединили. Рассмотрим техническую причину: это связано с тем, что разные версии платформы по-разному обрабатывают и сжимают HTML-контент справок. При сравнении на уровне бинарных данных возникают отличия. Чтобы это не мешало работе, рекомендуется при обновлении один раз принудительно принять изменения поставщика для всех разделов справки, предварительно убедившись, что вы не писали туда собственные инструкции для пользователей.
Чтобы окончательно решить проблему и избежать её в будущем, придерживаемся следующего плана: