Перейти к основному содержимому

ЗаписьТабличногоДокумента

Стд::ТабличныйДокумент::ЗаписьТабличногоДокумента Доступность: Сервер

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

Пример

// Области макета: шапка, шапка таблицы, строчка таблицы (столбцы: номер, номенклатура, количество, цена), подвал.
// Необходимо добавить сумму для товара и возможность указать дату в шапке.
пер Макет = ПолучитьМакетТабличногоДокумента()
пер Табдок = новый ТабличныйДокумент()
пер Писатель = ТабДок.Запись

// Задекларируем шаблон в шапке.
пер ЗаголовокШапка = Макет.ПолучитьОбласть("R1C1:R1C3")
если ЗаголовокШапка.ВидЗаполнения == ВидЗаполненияОбластиТабличногоДокумента.Текст
ЗаголовокШапка.УстановитьТекст(Шапка.Текст + " от [ДатаФормирования]", Истина)
;

// Выводим шапку с шаблоном
пер Шапка = Макет.ПолучитьОбласть("Шапка")
Писатель.ВывестиВертикально(Шапка.ВВыводимуюОбласть.УстановитьПараметры({"ДатаФормирования": "10.11.2022"}))

// Добавим название колонки в шапку таблицы.
пер ШапкаТаблицыОбласть = Макет.ПолучитьОбласть("R3C6")
ШапкаТаблицыОбласть.УстановитьТекст("Сумма")

// Вывод шапки таблицы.
пер ШапкаТаблицы = Макет.ПолучитьОбласть("ШапкаТаблицы")
Писатель.ВывестиВертикально(ШапкаТаблицы)

// Задекларируем имя параметра в области строки таблицы.
пер ДопКолонка = Макет.ПолучитьОбласть("R4C6")
ДопКолонка.УстановитьИмяПараметра("Сумма")

// Получим область строки таблицы.
пер ОбластьСтрокаТаблицы = Макет.ПолучитьОбласть("Таблица")

// Выведем строки таблицы.
пер Номер = 1
для Название из Названия()
пер ВыводимаяОбласть = ОбластьСтрокаТаблицы.ВВыводимуюОбласть()
ВыводимаяОбласть.УстановитьПараметры({"Номер": Номер,
"Номенклатура": Название,
"Количество": Количество(Название),
"Цена": Цена(Название),
"Сумма": Количество(Название) * Цена(Название)})
Писатель.ВывестиВертикально(ВыводимаяОбласть)
Номер += 1
;

Сравнение ссылочное

Иерархия типа

Базовые типы: Объект


Методы

ВывестиВертикально

Доступность: Сервер

Чтобы вывести значение параметра области в числовом формате (например, при экспорте табличного документа в excel), необходимо в макете установить горизонтальное положение содержимого области в значение "Право".

Выводит область вертикально (то есть вниз), помещая ее со следующей строки вслед за самой нижней выведенной строкой, начиная с первой колонки.

Исключения

ИсключениеНедопустимыйАргумент - при попытке вывода табличного документа в самого себя.

Примеры

метод ВывестиОбластьСЛого()
знч Параметры = {
"НазваниеОрганизации": НазваниеОрганизации
}

исп ПотокЛоготипа = новый Файл("logo.png").ОткрытьПотокЧтения()
знч БайтыЛоготипа = ПотокЛоготипа.ПрочитатьКакБайты()

пер ДанныеВыводаЛоготипа = новый ДанныеВыводаИзображенияТабличногоДокумента("ЛоготипОрганизации")
ДанныеВыводаЛоготипа.ДанныеИзображения = БайтыЛоготипа

пер РезультатТабДок = новый ТабличныйДокумент()
пер Писатель = РезультатТабДок.Запись

пер ВыводимаяОбласть = ОбластьЗаголовкаСЛоготипом.ВВыводимуюОбласть()
.УстановитьПараметры(Параметры)
.УстановитьДанныеРисунков([ДанныеВыводаЛоготипа])
Писатель.ВывестиВертикально(ВыводимаяОбласть)
;

ВывестиВертикальныйРазрывСтраницы

Доступность: Сервер

ВывестиВертикальныйРазрывСтраницы()
Выводит в результирующую таблицу вертикальный разделитель страниц.


ВывестиГоризонтально

Доступность: Сервер

Выводит область горизонтально (то есть вправо), помещая ее в следующей колонке правее самой правой выведенной колонки, начиная со строки, с которой выводился предыдущая область или табличный документ.

Исключения

ИсключениеНедопустимыйАргумент - при попытке вывода табличного документа в самого себя.

Примеры

метод ВывестиШапкуДокумента(ТабличныйДокумент: ТабличныйДокумент, Колонки: ЧитаемыйМассив<Строка>)
знч КрасныйЦвет = новый АбсолютныйЦвет(255, 0, 0)

знч Макет = новый ТабличныйДокумент()
знч Область = Макет.ПолучитьЯчейку(1, 1)
Область.УстановитьЦветТекста(КрасныйЦвет)

для Колонка из Колонки
пер ВыводимаяОбласть = Область.ВВыводимуюОбласть()
ВыводимаяОбласть.УстановитьТекст(Колонка)

ТабличныйДокумент.ВывестиГоризонтально(ВыводимаяОбласть)
;
;

ВывестиГоризонтальныйРазрывСтраницы

Доступность: Сервер

ВывестиГоризонтальныйРазрывСтраницы()
Выводит в результирующую таблицу горизонтальный разделитель страниц.


ПроверитьВместимостьПоВертикали

Доступность: Сервер

ПроверитьВместимостьПоВертикали(Содержимое: ЧитаемыйМассив<ТабличныйДокумент|ОбластьТабличногоДокумента>): Булево
Проверяет, поместится ли список областей на текущую страницу, если их выводить вертикально (то есть вниз).

Исключения

ИсключениеНедопустимыйАргумент - при попытке проверки вывода табличного документа в самого себя.

Примеры

пер ТабличныйДокумент = новый ТабличныйДокумент()
пер Запись = ТабличныйДокумент.Запись
// ... получение из макета ОбластьШапкаТаблицы, ОбластьСтрокаТаблицы и ОбластьПодвалТаблицы
пер ПоследниеСтроки = новый Массив<ОбластьТабличногоДокумента>
ПоследниеСтроки.Добавить(ОбластьСтрокаТаблицы)
ПоследниеСтроки.Добавить(ОбластьПодвалТаблицы)

для Индекс = 1 по КоличествоСтрок
если не Запись.ПроверитьВместимостьПоВертикали(ПоследниеСтроки)
пер ПараметрыПодвала = [КоличествоСтрокСтраницы]

пер ВыводимаяОбласть = ОбластьПодвалТаблицы.ВВыводимуюОбласть()
.УстановитьПараметры(ПараметрыПодвала)
Запись.ВывестиВертикально(ВыводимаяОбласть)
Запись.ВывестиГоризонтальныйРазрывСтраницы()
Запись.ВывестиВертикально(ОбластьШапкаТаблицы)

КоличествоСтрокСтраницы = 0
;

пер ВыводимаяОбласть = ОбластьСтрокаТаблицы.ВВыводимуюОбласть()
.УстановитьПараметры(Параметры)
ТабличныйДокумент.ВывестиВертикально(ВыводимаяОбласть)
КоличествоСтрокСтраницы += 1
;

ПроверитьВместимостьПоГоризонтали

Доступность: Сервер

ПроверитьВместимостьПоГоризонтали(Содержимое: ЧитаемыйМассив<ТабличныйДокумент|ОбластьТабличногоДокумента>): Булево
Проверяет, поместится ли список областей на текущую страницу, если их выводить горизонтально (то есть вправо).

Исключения

ИсключениеНедопустимыйАргумент - при попытке проверки вывода табличного документа в самого себя.


Список унаследованных методов

Объект

ВСтроку, ПолучитьТип, Представление