Как перенести произвольные отчеты из УПП 1.3 в БП 3.0?

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

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

Почему в БП 3.0 нет справочника «Произвольные отчеты»

В конфигурации 1С:УПП 1.3 механизм произвольных отчетов реализован через специальный справочник, который хранит внутри себя схему СКД в виде двоичных данных или XML, а также сохраненные настройки. Форма такого отчета генерировалась платформой в обычном режиме.

В 1С:Бухгалтерия предприятия 3.0 архитектура построена на базе Библиотеки стандартных подсистем (БСП). В концепции БСП разделены механизмы хранения отчетов и их вариантов:

  1. Подсистема «Варианты отчетов» управляет отображением и пользовательскими настройками существующих в метаданных отчетов.
  2. Подсистема «Дополнительные отчеты и обработки» хранит внешние подключаемые файлы .erf и .epf.
  3. Встроенного справочника, позволяющего обычному пользователю без прав программиста написать произвольный текст запроса и сразу получить рабочий отчет в режиме «1С:Предприятие», в типовой конфигурации БП 3.0 нет. Прямой перенос через меню отчетов между этими конфигурациями не предусмотрен.

Способ 1. Создание внешнего отчета на базе СКД для БСП

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

  1. В УПП 1.3 открываем нужный произвольный отчет в режиме настройки схемы СКД и сохраняем схему компоновки данных в файл с расширением .xml.
  2. В Конфигураторе создаем новый внешний отчет (файл .erf).
  3. В дереве внешнего отчета добавляем новую Основную схему компоновки данных и загружаем в нее сохраненный ранее XML-файл.
  4. Проверяем вкладки «Наборы данных» и «Настройки». Обратите внимание: выбранные поля отчета должны быть корректно заданы в структуре группировок СКД, иначе отчет сформируется пустым.
  5. Чтобы отчет открывался в БП 3.0 в типовом управляемом интерфейсе без ручной прорисовки экранных форм, добавим в модуль объекта отчета стандартную функцию интеграции с БСП:

Функция СведенияОВнешнейОбработке() Экспорт

    ПараметрыРегистрации = ДополнительныеОтчетыИОбработки.СведенияОВнешнейОбработке("2.2.2.1");
    ПараметрыРегистрации.Вид = ДополнительныеОтчетыИОбработкиКлиентСервер.ВидОбработкиДополнительныйОтчет();
    ПараметрыРегистрации.Версия = "1.0";
    ПараметрыРегистрации.БезопасныйРежим = Истина;

    НоваяКоманда = ПараметрыРегистрации.Команды.Добавить();
    НоваяКоманда.Представление = "Произвольный отчет из УПП";
    НоваяКоманда.Идентификатор = "ПроизвольныйОтчет";
    НоваяКоманда.Использование = ДополнительныеОтчетыИОбработкиКлиентСервер.ТипКомандыОткрытиеФормы();
    НоваяКоманда.ПоказыватьОповещение = Ложь;

    Возврат ПараметрыРегистрации;

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

После сохранения внешнего отчета загружаем его в пользовательском режиме БП 3.0 через раздел «Администрирование -> Печатные формы, отчеты и обработки -> Дополнительные отчеты и обработки». Программа автоматически сформирует управляемую форму, позволит сохранять пользовательские варианты и настраивать рассылку.

Способ 2. Использование внешней обработки «Консоль отчетов (СКД)»

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

  1. Открываем внешнюю консоль отчетов в режиме «1С:Предприятие» в БП 3.0.
  2. Загружаем сохраненный из УПП XML-файл схемы компоновки данных напрямую в консоль.
  3. Выполняем отчет, при необходимости корректируя параметры периода, отборы и группировки.

Возможные ошибки при переносе схемы СКД

Даже если структура счетов и аналитика кажутся полностью идентичными, проанализируем неочевидные проблемы, которые могут помешать выполнению запроса:

  1. Вызовы функций общих модулей в выражениях полей: в СКД отчетов УПП 1.3 нередко использовались вызовы неэкспортных функций или модулей обычного приложения (например, для форматирования строк или пересчета валют). В БП 3.0 эти вызовы вызовут ошибку компиляции выражения.
  2. Предопределенные элементы: имена предопределенных субконто или статей затрат могут различаться в разных конфигурациях (например, регистр символов или синонимы).
  3. Различия в виртуальных таблицах: регистры бухгалтерии и сведений в БП 3.0 могут содержать другие служебные измерения или типы регистраторов по сравнению с УПП 1.3. При возникновении синтаксических ошибок в запросе проверьте текст запроса конструктором в Конфигураторе БП 3.0.
← На главную