В 2019 году многие пользователи конфигурации 1С:Управление производственным предприятием (УПП) столкнулись с проблемой при формировании регламентированной отчетности по авансам на имущество. При попытке вывести форму на печать программа выдавала критическую ошибку: «На странице 1 раздела 2.1 не задан вид муниципального образования». Проблема была вызвана переходом ФНС на использование муниципального деления (ФИАС) в адресах объектов, в то время как механизмы УПП на тот момент еще во многом опирались на административно-территориальное деление (КЛАДР).
Разберем подробно, почему возникает эта ошибка и как ее устранить с помощью программных правок и настройки данных в информационной базе.
Проанализируем ситуацию: ошибка возникает в Разделе 2.1 отчета, который заполняется по объектам недвижимости, имеющим кадастровую стоимость или адресное описание. Если в строке 010 указан код номера объекта «3» (Адрес), налоговая служба требует обязательного заполнения адреса по новым правилам муниципальной структуры (район, городской округ, внутригородская территория).
В 1С:УПП адресный классификатор долгое время не поддерживал такое деление в полной мере. В результате при автоматическом заполнении отчета данные о муниципальном образовании либо не подтягиваются из карточки Основного средства, либо функция разбора адреса не может корректно интерпретировать старый формат записи Контактной информации.
Если вам необходимо срочно сдать отчет и нет времени на глобальное обновление классификаторов, можно прибегнуть к изменению модуля формы самого отчета. Рассмотрим пример того, как принудительно заполнить необходимые области в макете. Для этого в процедуре заполнения (обычно это модуль формы РегламентированныйОтчетАвансыИмущество2019Кв1) можно добавить код для прямой записи значений в ячейки.
Рассмотрим по шагам, какие области макета отвечают за адресные сведения:
// Установка вида муниципального образования (1 - район, 2 - городской округ, 3 - внутригородская территория)
ПТД_Раздел21.Области["П000210003002"].Значение = "2";
// Заполнение наименования муниципального образования
ПТД_Раздел21.Области["П000210003003"].Значение = "Наименование Вашего округа или района";
// Заполнение элементов планировочной структуры (например, улица)
ПТД_Раздел21.Области["П000210003008"].Значение = "Улица";
ПТД_Раздел21.Области["П000210003009"].Значение = СтруктураАдреса.Улица;
// Указание типа и номера дома
ПТД_Раздел21.Области["П00021М103013_1"].Значение = "Дом";
ПТД_Раздел21.Области["П00021М103014_1"].Значение = СтруктураАдреса.Дом;
Используя данный подход, мы напрямую обращаемся к именованным областям табличного документа ПТД_Раздел21. Это позволяет «обмануть» встроенную проверку выгрузки, подставив строковые значения там, где алгоритм 1С не смог их вычислить автоматически.
Более правильный, но трудоемкий способ — выяснить, почему функция ИнтерфейсыВзаимодействияБРО.АдресВФорматеФИАС не возвращает данные. Проблема часто кроется в том, что в 1С:УПП адрес основного средства хранится в табличной части Контактная информация справочника Основные средства в виде XML-строки или простого текста.
Проанализируем процедуру ЗаполнитьОтчетАвансыИмуществоФормаОтчета2019Кв1 в общем модуле УправлениеВнеоборотнымиАктивами. Нам нужно убедиться, что запрос получает именно актуальные данные. Посмотрим на пример исправления кода выборки данных:
// Получаем структуру адреса напрямую из контактной информации ОС
мНайденных = Выборка.ОсновноеСредство.КонтактнаяИнформация.НайтиСтроки(Новый Структура("Тип", Перечисления.ТипыКонтактнойИнформации.Адрес));
Если НЕ мНайденных.Количество() = 0 Тогда
// Используем стандартную функцию БРО для преобразования XML-значения в структуру ФИАС
ПоляАдреса = ИнтерфейсыВзаимодействияБРО.АдресВФорматеФИАС(мНайденных[0].Значение);
Иначе
// Если в ТЧ ничего не найдено, пробуем обработать строку из выборки запроса
ПоляАдреса = ИнтерфейсыВзаимодействияБРО.АдресВФорматеФИАС(Выборка.АдресМестонахождения);
КонецЕсли;
Этот код позволяет программе корректно извлечь структурированные данные адреса, если они были введены через стандартный диалог 1С. Важно, чтобы переменная ПоляАдреса содержала ключи МуниципальныйРайон или ГородскойОкруг, которые появились в структуре ФИАС.
Иногда программные правки не требуются, если правильно подготовить данные. Посмотрим, как это сделать на уровне пользователя:
Контактная информация).Важный момент: если у объекта есть кадастровый номер, убедитесь, что в Разделе 2.1 в строке 010 выбран код 1. В этом случае адрес в строке 030 заполнять вообще не требуется, и ошибка должна исчезнуть сама собой.
Для автоматизации процесса получения корректных названий муниципальных образований можно использовать внешние сервисы (например, DaData). Это поможет быстро узнать, к какому городскому округу или муниципальному району относится конкретный адрес, чтобы правильно заполнить поля в коде 1С, как это было показано в Решении 1.
Помните, что для успешной сдачи отчета в электронном виде критически важна именно выгрузка в XML. Даже если на печатном бланке поле кажется незаполненным, проверьте содержимое сформированного файла выгрузки. Если теги МунРайон или ГородОкруг присутствуют и заполнены, отчет будет принят налоговым органом.