ЗаписьТабличногоДокумента
Стд::ТабличныйДокумент::ЗаписьТабличногоДокумента Доступность: Сервер
Объект для записи табличного документа. Позволяет выводить области и табличные документы в режиме потока данных, то есть формировать табличный документ область за областью.
Сравнение
Ссылочное
Иерархия типа
Базовые типы: Объект
Примеры
Общие примеры
метод НоваяПечатнаяФормаПоМакету(
Макет: ТабличныйДокумент,
ИмяДокумента: Строка = "Расходная накладная",
Товары: ЧитаемыйМассив<Соответствие<Строка, Объект>>
)
// Области макета: шапка, шапка таблицы, строчка таблицы (столбцы: номер, номенклатура, количество, цена), подвал.
// Необходимо добавить сумму для товара и возможность указать дату в шапке.
пер ТабДок = новый ТабличныйДокумент()
пер Писатель = ТабДок.Запись
// Задекларируем шаблон в шапке.
пер ЗаголовокШапка = Макет.ПолучитьОбласть("R1C1:R1C3")
если ЗаголовокШапка.ВидЗаполнения == ВидЗаполненияОбластиТабличногоДокумента.Текст
ЗаголовокШапка.УстановитьТекст("%ИмяДокумента от [ДатаФормирования]", Истина)
;
// Выводим шапку с шаблоном
пер Шапка = Макет.ПолучитьОбласть("Шапка")
Писатель.ВывестиВертикально(Шапка.ВВыводимуюОбласть().УстановитьПараметры({
"ДатаФормирования": "10.11.2022"
}))
// Добавим название колонки в шапку таблицы.
пер ШапкаТаблицыОбласть = Макет.ПолучитьОбласть("R3C6")
ШапкаТаблицыОбласть.УстановитьТекст("Сумма")
// Вывод шапки таблицы.
пер ШапкаТаблицы = Макет.ПолучитьОбласть("ШапкаТаблицы")
Писатель.ВывестиВертикально(ШапкаТаблицы)
// Задекларируем имя параметра в области строки таблицы.
пер ДопКолонка = Макет.ПолучитьОбласть("R4C6")
ДопКолонка.УстановитьИмяПараметра("Сумма")
// Получим область строки таблицы.
пер ОбластьСтрокаТаблицы = Макет.ПолучитьОбласть("Таблица")
// Выведем строки таблицы.
пер НомерСтроки = 1
для СтрокаТовара из Товары
знч Количество: Число = СтрокаТовара["Количество"] как Число
знч Цена: Число = СтрокаТовара["Цена"] как Число
знч Сумма = Количество * Цена
пер ВыводимаяОбласть = ОбластьСтрокаТаблицы.ВВыводимуюОбласть()
ВыводимаяОбласть.УстановитьПараметры({
"Номер": НомерСтроки,
"Номенклатура": СтрокаТовара["Наименование"],
"Количество": Количество,
"Цена": Цена,
"Сумма": Сумма
})
Писатель.ВывестиВертикально(ВыводимаяОбласть)
НомерСтроки += 1
;
;
Методы
ВывестиВертикально
Доступность: Сервер
ВывестиВертикально(Область: ТабличныйДокумент|ОбластьТабличногоДокумента|ВыводимаяОбластьТабличногоДокумента): ОбластьТабличногоДокументаЧтобы вывести значение параметра области в числовом формате (например, при экспорте табличного документа в excel), необходимо в макете установить горизонтальное положение содержимого области в значение "Право".
Выводит область вертикально (то есть вниз), помещая ее со следующей строки вслед за самой нижней выведенной строкой, начиная с первой колонки.
Исключения
ИсключениеНедопустимыйАргумент - при попытке вывода табличного документа в самого себя.
Примеры
метод ВывестиОбластьСЛого(Запись: ЗаписьТабличногоДокумента, Макет: ТабличныйДокумент, НазваниеОрганизации: Строка, Логотип: ПотокЧтения)
знч ОбластьЗаголовкаСЛоготипом = Макет.ПолучитьОбласть("ОбластьЗаголовкаСЛоготипом")
знч Параметры = {
"НазваниеОрганизации": НазваниеОрганизации
}
знч ДанныеВыводаЛоготипа = новый ДанныеВыводаИзображенияТабличногоДокумента("ЛоготипОрганизации", Логотип)
знч ВыводимаяОбласть = ОбластьЗаголовкаСЛоготипом.ВВыводимуюОбласть()
.УстановитьПараметры(Параметры)
.УстановитьДанныеРисунков([ДанныеВыводаЛоготипа])
Запись.ВывестиВертикально(ВыводимаяОбласть)
;
ВывестиВертикальныйРазрывСтраницы
Доступность: Сервер
ВывестиВертикальныйРазрывСтраницы()ВывестиГоризонтально
Доступность: Сервер
ВывестиГоризонтально(Область: ТабличныйДокумент|ОбластьТабличногоДокумента|ВыводимаяОбластьТабличногоДокумента): ОбластьТабличногоДокументаИсключения
ИсключениеНедопустимыйАргумент - при попытке вывода табличного документа в самого себя.
Примеры
метод ВывестиШапкуДокумента(ТабличныйДокумент: ТабличныйДокумент, Колонки: ЧитаемыйМассив<Строка>)
знч КрасныйЦвет = новый АбсолютныйЦвет(255, 0, 0)
знч Макет = новый ТабличныйДокумент()
знч Область = Макет.ПолучитьЯчейку(1, 1)
Область.УстановитьЦветТекста(КрасныйЦвет)
для Колонка из Колонки
пер ВыводимаяОбласть = Область.ВВыводимуюОбласть()
ВыводимаяОбласть.УстановитьТекст(Колонка)
ТабличныйДокумент.Запись.ВывестиГоризонтально(ВыводимаяОбласть)
;
;
ВывестиГоризонтальныйРазрывСтраницы
Доступность: Сервер
ВывестиГоризонтальныйРазрывСтраницы()ПроверитьВместимостьПоВертикали
Доступность: Сервер
ПроверитьВместимостьПоВертикали(Содержимое: ЧитаемыйМассив<ТабличныйДокумент|ОбластьТабличногоДокумента>): БулевоИсключения
ИсключениеНедопустимыйАргумент - при попытке проверки вывода табличного документа в самого себя.
Примеры
метод ВыводВТабличеныйДокументСПроверкойВместимости(
ОбластьШапкаТаблицы: ОбластьТабличногоДокумента,
ОбластьСтрокаТаблицы: ОбластьТабличногоДокумента,
ОбластьПодвалТаблицы: ОбластьТабличногоДокумента,
СтрокиДляВывода: ЧитаемыйМассив<Соответствие<Строка, Объект?>>
)
пер ТабличныйДокумент = новый ТабличныйДокумент()
пер Запись = ТабличныйДокумент.Запись
// ... получение из макета ОбластьШапкаТаблицы, ОбластьСтрокаТаблицы и ОбластьПодвалТаблицы
пер ПоследниеСтроки = новый Массив<ОбластьТабличногоДокумента>()
ПоследниеСтроки.Добавить(ОбластьСтрокаТаблицы)
ПоследниеСтроки.Добавить(ОбластьПодвалТаблицы)
знч КоличествоСтрок = СтрокиДляВывода.Размер()
пер КоличествоСтрокСтраницы = 0
для Индекс = 0 по КоличествоСтрок - 1
если не Запись.ПроверитьВместимостьПоВертикали(ПоследниеСтроки)
пер ПараметрыПодвала = {
"КоличествоСтрок": КоличествоСтрокСтраницы
}
пер ВыводимаяОбласть = ОбластьПодвалТаблицы.ВВыводимуюОбласть()
.УстановитьПараметры(ПараметрыПодвала)
Запись.ВывестиВертикально(ВыводимаяОбласть)
Запись.ВывестиГоризонтальныйРазрывСтраницы()
Запись.ВывестиВертикально(ОбластьШапкаТаблицы)
КоличествоСтрокСтраницы = 0
;
знч Параметры = СтрокиДляВывода[Индекс]
пер ВыводимаяОбласть = ОбластьСтрокаТаблицы.ВВыводимуюОбласть()
.УстановитьПараметры(Параметры)
Запись.ВывестиВертикально(ВыводимаяОбласть)
КоличествоСтрокСтраницы += 1
;
;
ПроверитьВместимостьПоГоризонтали
Доступность: Сервер
ПроверитьВместимостьПоГоризонтали(Содержимое: ЧитаемыйМассив<ТабличныйДокумент|ОбластьТабличногоДокумента>): БулевоИсключения
ИсключениеНедопустимыйАргумент - при попытке проверки вывода табличного документа в самого себя.