Выгрузка вариантов и настроек отчётов 1С 8.3 в XML и перенос в другую базу

· 9 мин

Содержание

Кнопки «сохранить настройки отчёта в файл» в типовом интерфейсе 1С 8.3 нет. Команда Ещё → Сохранить вариант отчета пишет настройки в информационную базу, а не на диск. В файл можно сохранить три разных вещи: готовый результат отчёта (.mxl, .xlsx, .pdf), сами настройки компоновки (XML через СериализаторXDTO) или схему отчёта вместе с вариантами (внешний отчёт .erf или выгрузка конфигурации в файлы).

Какой способ выбрать, зависит от задачи. Нужно отправить таблицу бухгалтеру — сохраняйте результат. Нужно перенести настроенный вариант в другую базу — выгружайте XML или справочник вариантов. Нужно, чтобы вариант был во всех базах сразу — правьте схему в Конфигураторе. Всё ниже — про платформу 8.3 с интерфейсом «Такси» и типовые конфигурации на БСП: БП 3.0, ЗУП 3.1, УТ 11.

Что именно хранит 1С: форматы файлов и места хранения настроек

Путаница начинается с того, что словом «настройки» называют разные объекты. Разведём их сразу.

Что сохраняемГде живёт в базеВ какой файл можно выгрузитьЧем открыть
Результат отчёта (таблица с цифрами)нигде, формируется заново.mxl, .xlsx, .xls, .ods, .pdf, .docx, .html, .txt1С, Excel, браузер
Пользовательские настройки (период, отборы, которые вы меняли)хранилище пользовательских настроекнапрямую — никудатолько из 1С
Вариант отчёта (группировки, поля, оформление)справочник «Варианты отчетов» (БСП).xml через код или выгрузку справочника1С, любой XML-редактор
Схема компоновки данных (запрос + варианты по умолчанию)макет отчёта в конфигурации.xml (выгрузка конфигурации в файлы)Конфигуратор
Внешний отчёт целикомфайл на диске.erf1С: Файл → Открыть

📌 Формат .mxl — это табличный документ 1С. Он хранит результат, но не настройки: открыв его, вы увидите цифры, а пересформировать отчёт из него нельзя.

📌 XML-файл настроек СКД — единственный «чистый» формат именно настроек. Его понимает платформа любой базы, где есть отчёт с такими же полями.

Как сохранить отчёт 1С в файл из формы отчёта

Начнём с самого частого случая: отчёт настроен, сформирован, и его нужно отдать коллеге или приложить к письму.

Сохранение результата

  1. Сформируйте отчёт кнопкой Сформировать.
  2. Нажмите значок дискеты в командной панели отчёта или Ctrl+S.
  3. Выберите тип файла в окне сохранения.
  4. Укажите папку и имя, нажмите Сохранить.

Какой формат брать:

  • 📊 .xlsx — если с цифрами будут работать дальше в Excel. Группировки отчёта сохраняются как группировки строк.
  • 📄 .pdf — для отправки «как есть», без правки.
  • 🗂 .mxl — если получатель тоже работает в 1С. Файл откроется через Файл → Открыть в любой базе и сохранит расшифровки только как оформление, без перехода к документам.

Если нужно сохранить только часть отчёта, выделите диапазон ячеек, скопируйте и вставьте в Excel. Оформление при этом частично теряется.

Сохранение варианта в базе

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

  1. Настройте отчёт через кнопку Настройки: поля, группировки, отборы, сортировку.
  2. Откройте Ещё → Сохранить вариант отчета.
  3. Введите название варианта, например «ОСВ по 60 с договорами».
  4. Выберите, кому он доступен: только вам или всем пользователям.
  5. Нажмите Сохранить.

Теперь вариант лежит в справочнике «Варианты отчетов» и его видно через Ещё → Выбрать вариант отчета.

Команда Сохранить настройки (если она есть в меню отчёта) и вариант — разные вещи. Настройки привязаны к пользователю и к варианту. Вариант — самостоятельный объект, его можно передавать.

Перенос настроек отчёта между пользователями одной базы

Отдельный файл здесь не нужен. В конфигурациях на БСП есть встроенный механизм копирования.

Путь в БП 3.0, ЗУП 3.1 и УТ 11: Администрирование → Настройки пользователей и прав → Настройки пользователей.

  1. Выберите пользователя-источника, у которого отчёт настроен.
  2. Перейдите на вкладку Настройки отчетов.
  3. Отметьте нужные отчёты.
  4. Нажмите Копировать и укажите получателей.

Получатель увидит те же отборы и тот же набор колонок при следующем открытии отчёта.

💡 Второй путь проще, если вариант нужен всем: при сохранении варианта выберите доступность всем пользователям. Копировать ничего не придётся.

Работа с внешними отчётами и обработками

У внешнего отчёта (.erf) настройки можно «запечь» прямо в файл. Тогда любой, кто откроет отчёт, получит его уже настроенным.

Как вшить вариант во внешний отчёт

  1. Откройте файл .erf в Конфигураторе через Файл → Открыть.
  2. Откройте макет ОсновнаяСхемаКомпоновкиДанных.
  3. Перейдите на вкладку Настройки и задайте группировки, поля и отборы.
  4. При необходимости добавьте ещё варианты на вкладке Варианты.
  5. Сохраните файл .erf.

Каждый вариант со вкладки Варианты потом виден в пользовательском режиме через выбор варианта.

Где 1С хранит настройки внешнего отчёта

Если внешний отчёт открыт через Файл → Открыть, его пользовательские настройки хранятся в базе по имени отчёта. Переименуете файл или объект внутри — настройки «потеряются». На деле они остались в базе, просто ключ уже другой.

Если отчёт подключён через Администрирование → Печатные формы, отчеты и обработки → Дополнительные отчеты и обработки, его варианты живут в справочнике вариантов, как у встроенных отчётов. Это надёжнее: имя файла больше не важно.

Внешнюю обработку (.epf) используют для автоматизации выгрузки настроек — код ниже удобно оформить именно так, без изменения конфигурации.

Сохранение схемы отчёта через Конфигуратор

Этот способ нужен разработчику, когда вариант должен появиться во всех базах при обновлении конфигурации, а не жить в справочнике одной базы.

Выгрузка схемы в XML

  1. Откройте Конфигуратор.
  2. Выполните Конфигурация → Выгрузить конфигурацию в файлы.
  3. Выберите пустую папку.

Схема отчёта окажется в файле вида:

Reports\ИмяОтчета\Templates\ОсновнаяСхемаКомпоновкиДанных\Ext\Template.xml

В этом XML есть и запрос, и все варианты со вкладки Варианты. Файл удобно сравнивать между версиями и хранить в Git.

Как сделать пользовательский вариант типовым

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

  1. Выгрузите настройки варианта в XML кодом из раздела про автоматизацию.
  2. В Конфигураторе откройте схему отчёта, добавьте новый вариант на вкладке Варианты.
  3. Повторите в нём настройки по образцу XML — поля и отборы видны в тексте файла.

Правьте схему типового отчёта только в расширении конфигурации или в копии отчёта. Изменение типового объекта снимает его с поддержки и усложняет обновления.

Перенос вариантов отчётов в другую базу

Вариантов перенести можно двумя способами. Выбор зависит от того, совпадают ли конфигурации баз.

СпособКогда подходитРиски
Выгрузка справочника «Варианты отчетов» в XML универсальной обработкойодинаковые конфигурации и релизыссылки в отборах на элементы, которых нет в базе-приёмнике
Выгрузка настроек в XML через СериализаторXDTO и загрузка в отчётразные релизы, нужно перенести 1–10 вариантовполя, которых нет в схеме приёмника, станут недоступными
Ручная настройка по образцунесколько вариантов, конфигурации разныетолько время

Выгрузка справочника вариантов

Для этого используют универсальную обработку выгрузки и загрузки данных в XML. Она распространяется вместе с поддержкой платформы, отдельно от конфигурации.

  1. Откройте обработку через Файл → Открыть в базе-источнике.
  2. В дереве объектов отметьте справочник «Варианты отчетов».
  3. Задайте отбор, чтобы выгрузить только нужные варианты.
  4. Выгрузите в файл, затем загрузите его той же обработкой в базе-приёмнике.

Перед загрузкой сделайте резервную копию базы -приёмника. Обработка пишет данные напрямую, без проверок прикладной логики.

Почему «Объект не найден» после переноса

Отбор «Организация = ООО Ромашка» хранит в XML не название, а внутренний идентификатор элемента. В другой базе у той же «Ромашки» идентификатор другой. После загрузки в отборе появится <Объект не найден>.

Лечится просто: откройте настройки варианта и выберите значения отбора заново. Структура, поля и оформление переносятся без потерь.

Автоматизация: пакетное сохранение настроек отчётов кодом

Когда вариантов десятки, руками их не выгрузить. Код ниже проходит по справочнику вариантов и записывает настройки каждого в отдельный XML-файл. Подходит для конфигураций на БСП, где у справочника ВариантыОтчетов есть реквизит Настройки типа «Хранилище значения».

&НаСервереБезКонтекста
Процедура ВыгрузитьВариантыВФайлы(Каталог)

    Запрос = Новый Запрос;
    Запрос.Текст =
    "ВЫБРАТЬ
    |    ВариантыОтчетов.Наименование КАК Наименование,
    |    ВариантыОтчетов.Настройки КАК Настройки
    |ИЗ
    |    Справочник.ВариантыОтчетов КАК ВариантыОтчетов
    |ГДЕ
    |    НЕ ВариантыОтчетов.ПометкаУдаления";

    Выборка = Запрос.Выполнить().Выбрать();
    Номер = 0;

    Пока Выборка.Следующий() Цикл
        Настройки = Выборка.Настройки.Получить();
        Если ТипЗнч(Настройки) <> Тип("НастройкиКомпоновкиДанных") Тогда
            Продолжить; // у предопределённых вариантов настройки берутся из схемы
        КонецЕсли;

        Номер = Номер + 1;
        ИмяФайла = Каталог + "variant_" + Формат(Номер, "ЧГ=0") + ".xml";

        Запись = Новый ЗаписьXML;
        Запись.ОткрытьФайл(ИмяФайла);
        СериализаторXDTO.ЗаписатьXML(Запись, Настройки, "Settings",
            "http://v8.1c.ru/8.1/data-composition-system/settings");
        Запись.Закрыть();
    КонецЦикла;

КонецПроцедуры

Имена вариантов часто содержат символы, недопустимые в имени файла, поэтому файлы нумеруются. Чтобы не гадать, что где лежит, допишите в цикл вывод соответствия Номер — Наименование в текстовый файл.

Обратная операция — загрузка настроек из файла в открытый отчёт:

Чтение = Новый ЧтениеXML;
Чтение.ОткрытьФайл(ИмяФайла);
Настройки = СериализаторXDTO.ПрочитатьXML(Чтение, Тип("НастройкиКомпоновкиДанных"));
Чтение.Закрыть();
Отчет.КомпоновщикНастроек.ЗагрузитьНастройки(Настройки);

Код с директивой &НаСервереБезКонтекста пишет файлы на диск сервера 1С, а не на компьютер пользователя. В клиент-серверной базе путь Каталог должен быть папкой на сервере, к которой у службы 1С есть права записи. Для файловой базы это обычная локальная папка.

💡 Готовый инструмент для разовых задач — «Консоль компоновки данных». Она умеет сохранять схему вместе с настройками в файл и открывать его снова. Удобно, чтобы отладить вариант до переноса в рабочую базу.

Что вам нужно сохранить?

Частые ошибки при сохранении настроек отчёта и их решение

Диагностика: выберите симптом

Частые вопросы

Можно ли из файла mxl восстановить настройки отчёта?
Нет. В mxl только результат: ячейки, оформление, значения. Группировок и отборов как настроек в нём нет.
Перенесутся ли настройки при обновлении конфигурации?
Да. Пользовательские варианты и настройки хранятся в данных базы, обновление их не стирает. Если в новом релизе поле удалено, оно станет недоступным в варианте.
Сохраняются ли настройки при выгрузке базы в .dt?
Да. Файл .dt содержит все данные, включая справочник вариантов и хранилище пользовательских настроек. После загрузки .dt в другую базу всё будет на месте.
Почему после очистки кэша отчёт открывается с настройками по умолчанию?
Кэш на настройки не влияет. Обычно причина в том, что администратор очистил настройки пользователя или пользователь вошёл под другим именем.
Можно ли отредактировать XML настроек вручную?
Можно, это обычный текст. Но опечатка в имени поля сделает его недоступным, а ошибка в структуре сорвёт загрузку. Надёжнее менять настройки в 1С и выгружать заново.