Как объединить два файла .mxl в один табличный документ в 1С?

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

При разработке печатных форм в среде 1С:Предприятие часто возникает задача объединения нескольких готовых макетов или сформированных табличных документов в один общий отчет. Рассмотрим, как программно соединить два файла формата ТабличныйДокумент, чтобы сохранить структуру данных и группировки.

Метод последовательного вывода

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

Для реализации этого метода выполните следующие действия:

  1. Создайте новый пустой объект ТабличныйДокумент.
  2. Последовательно вызовите метод Вывести() для каждого исходного документа.

Разберем пример кода:


ДокРезультат = Новый ТабличныйДокумент;
ДокРезультат.Вывести(Док1);
ДокРезультат.Вывести(Док2);
ДокРезультат.Показать();

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

Использование метода «ВставитьОбласть» для сложного слияния

Если вам требуется более гибкое управление расположением фрагментов, например, вставка одной области в конкретное место другого документа или объединение форм с разным количеством колонок, используйте метод ВставитьОбласть(). Этот метод позволяет работать с конкретными диапазонами ячеек.

Синтаксис метода следующий: ВставитьОбласть(<ИсходнаяОбласть>, <ОбластьПриемник>, <Сдвиг>, <ЗаполнятьПараметры>).

Рассмотрим, как это работает на практике:

  1. Определите Область в исходном документе, которую необходимо перенести.
  2. Определите ОбластьПриемник в итоговом документе, куда будут помещены данные.
  3. Укажите параметр Сдвиг, чтобы определить, нужно ли раздвигать существующие строки или колонки в целевом документе.

Важным преимуществом этого метода является возможность управления параметром ЗаполнятьПараметры. Если вы передадите Истина, все именованные параметры внутри вставляемой области сохранят свои имена, что позволит вам заполнить их данными уже после объединения документов.

Особенности сохранения группировок и форматирования

При объединении таблиц часто возникает проблема «разрушения» группировок. Чтобы этого избежать, придерживайтесь следующих рекомендаций:

Помните, что перед выполнением вставки стоит проверить соответствие колонок: если в одном макете 5 колонок, а в другом 10, метод вставки может сместить данные, что приведет к некорректному отображению печатной формы. В таких случаях мы рекомендуем сначала привести оба документа к единой ширине колонок или объединять данные на уровне источников (например, собирать все данные в одну ТаблицуЗначений перед генерацией итогового табличного документа).

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

← На главную