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

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

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

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

Сравнение

Ссылочное

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

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


Примеры​

Общие примеры

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

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

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

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

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

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

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

// Выведем строки таблицы.
пер НомерСтроки = 1
для СтрокаТовара из Товары
знч Количество: Число = СтрокаТовара["Количество"] как Число
знч Цена: Число = СтрокаТовара["Цена"] как Число
знч Сумма = Количество * Цена

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

Методы​

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

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

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

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

Исключения​

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

Примеры​

метод ВывестиОбластьСЛого(Запись: ЗаписьТабличногоДокумента, Макет: ТабличныйДокумент, НазваниеОрганизации: Строка, Логотип: ПотокЧтения)
знч ОбластьЗаголовкаСЛоготипом = Макет.ПолучитьОбласть("ОбластьЗаголовкаСЛоготипом")
знч Параметры = {
"НазваниеОрганизации": НазваниеОрганизации
}

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

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

Запись.ВывестиВертикально(ВыводимаяОбласть)
;

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

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

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


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

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

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

Исключения​

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

Примеры​

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

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

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

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

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

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

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


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

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

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

Исключения​

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

Примеры​

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

знч КоличествоСтрок = СтрокиДляВывода.Размер()
пер КоличествоСтрокСтраницы = 0
для Индекс = 0 по КоличествоСтрок - 1
если не Запись.ПроверитьВместимостьПоВертикали(ПоследниеСтроки)
пер ПараметрыПодвала = {
"КоличествоСтрок": КоличествоСтрокСтраницы
}

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

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

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

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

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

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

Исключения​

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


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

Объект​

ВСтроку

ПолучитьТип

Представление