При работе с регламентированной отчетностью в 1С:Бухгалтерия 3.0 часто возникают вопросы о том, как именно система хранит сформированные данные. Особенно остро вопрос встает, когда необходимо перенести отчет из одной информационной базы в другую, и после переноса разделы декларации по НДС оказываются пустыми. Давайте разберем, как устроена эта система хранения и как добиться корректного переноса данных.
Многие пользователи ошибочно полагают, что вся информация об отчете содержится исключительно внутри документа РегламентированныйОтчет. Однако архитектура 1С сложнее. Регламентированный отчет представляет собой комплексный объект, где визуальная часть, метаданные и детализированные таблицы данных (такие как записи книг покупок и продаж) распределены между различными системными объектами.
Хотя в объекте РегламентированныйОтчет существует реквизит ДанныеОтчета (обычно с типом ХранилищеЗначения), он часто используется для хранения настроек формы, структуры разделов и метаинформации, необходимой для отрисовки интерфейса. Сами же «тяжелые» данные, которые должны попасть в XML-файл выгрузки для ФНС, в целях оптимизации быстродействия выносятся в специализированные структуры.
Если вы столкнулись с тем, что после выгрузки и загрузки данных через XML (или другие инструменты обмена) в декларации по НДС отсутствуют данные разделов 8 и 9, значит, вы перенесли только «оболочку» отчета, но не перенесли сопутствующие кэшированные данные. Ключевым элементом здесь является регистр сведений ДополнительныеФайлыРегламентированныхОтчетов.
Чтобы обеспечить полноценный перенос отчетности, необходимо выполнить следующие действия:
ДополнительныеФайлыРегламентированныхОтчетов включен в список объектов для переноса.Разберем подробнее, почему система работает именно так. При формировании отчета (например, через ФормированиеЗаписейКнигиПокупок) программа выполняет тяжелый запрос к регистрам накопления НДСПокупки и НДСПродажи. Если бы отчет каждый раз при открытии заново пересчитывал эти данные, это приводило бы к критическому замедлению работы интерфейса.
Поэтому 1С использует механизм кэширования:
ДополнительныеФайлыРегламентированныхОтчетов.РегламентированныйОтчет программа не пересчитывает данные, а считывает готовый «снимок» из этого регистра.Если вы занимаетесь разработкой правил обмена или используете штатную обработку ВыгрузкаЗагрузкаДанныхXML, придерживайтесь следующего алгоритма:
Шаг 1: Проверьте наличие данных в регистре ДополнительныеФайлыРегламентированныхОтчетов в исходной базе. Используйте консоль запросов, чтобы убедиться, что записи по вашему конкретному документу РегламентированныйОтчет существуют.
Шаг 2: При настройке выгрузки выберите данный регистр сведений. Если вы используете стандартный механизм ВыгрузкаЗагрузкаДанныхXML, добавьте этот регистр в список выгружаемых объектов вручную.
Шаг 3: После завершения переноса данных проверьте корректность открытия отчета в новой базе. Если отчет открывается, но данные «визуально» подгружаются с задержкой, значит, система выполняет пересчет. Если же данные сразу видны и соответствуют исходным — перенос выполнен успешно.
Помните, что регламентированный отчет — это лишь «представление» данных. Если в целевой базе отсутствуют первичные документы (документы ФормированиеЗаписиКнигиПокупок), то даже перенесенный отчет может отображать некорректные данные или сигнализировать об ошибках при проверке контрольных соотношений. Всегда переносите всю цепочку документов, участвующих в закрытии НДС.