Создание шаблона табличного документа
Рассмотрим следующий пример: информацию из справочника ИнформационныеСистемы необходимо экспортировать в формат XLSX.
Чтобы экспортировать список имен в документ формата XLSX, следует:
-
Создать табличный документ:
пер Документ = новый ТабличныйДокумент() -
Заполнить шапку документа:
// Получаем область, соответствующую области шапки документапер Шапка = Документ.ПолучитьОбласть(1, 1, 1, 1)// Устанавливаем в шапку документа текстШапка.УстановитьТекст("Данные справочника ИнформационныеСистемы") -
Выполнить запрос к таблице, хранящей данные справочника, и получить нужные поля:
// Создаем и выполняем запрос к справочникупер Запрос = Запрос{ВЫБРАТЬИнформационныеСистемы.Код КАК Код,ИнформационныеСистемы.Наименование КАК Наименование,ИнформационныеСистемы.Описание КАК ОписаниеИЗИнформационныеСистемы КАК ИнформационныеСистемы}исп Результат = Запрос.Выполнить() -
Заполнить оставшиеся строки документа данными:
пер НомерСтроки = 2для Данные из Результат// Получаем область, соответствующую ячейке документа на новой строкепер ТекущаяСтрока = Документ.ПолучитьОбласть(НомерСтроки, 1, НомерСтроки, 1)// Устанавливаем в текущую строку значение имени участникаТекущаяСтрока.УстановитьТекст("%{Данные.Код} %{Данные.Наименование} %{Данные.Описание}")// Увеличиваем номер строки на единицуНомерСтроки += 1; -
Экспортировать документ в нужный формат:
// Экспортируем документ в нужный форматДокумент.Экспортировать(Формат = ФорматЭкспортаТабличногоДокумента.Xlsx,ПутьФайла = ПутьКФайлу + "ИнформационныеСистемы" + ".xlsx")
Код целиком:
@НаСервере
метод ВыгрузитьДанные(ПутьКФайлу: Строка)
пер Документ = новый ТабличныйДокумент()
// Получаем область, соответствующую области шапки документа
пер Шапка = Документ.ПолучитьОбласть(1, 1, 1, 1)
// Устанавливаем в шапку документа текст
Шапка.УстановитьТекст("Данные справочника ИнформационныеСистемы")
// Создаем и выполняем запрос к справочнику
пер Запрос = Запрос{ВЫБРАТЬ
ИнформационныеСистемы.Код КАК Код,
ИнформационныеСистемы.Наименование КАК Наименование,
ИнформационныеСистемы.Описание КАК Описание
ИЗ
ИнформационныеСистемы КАК ИнформационныеСистемы}
исп Результат = Запрос.Выполнить()
пер НомерСтроки = 2
для Данные из Результат
// Получаем область, соответствующую ячейке документа на новой строке
пер ТекущаяСтрока = Документ.ПолучитьОбласть(НомерСтроки, 1, НомерСтроки, 1)
// Устанавливаем в текущую строку значение имени участника
ТекущаяСтрока.УстановитьТекст("%{Данные.Код} %{Данные.Наименование} %{Данные.Описание}")
// Увеличиваем номер строки на единицу
НомерСтроки += 1
;
// Экспортируем документ в нужный формат
Документ.Экспортировать(Формат = ФорматЭкспортаТабличногоДокумента.Xlsx,
ПутьФайла = ПутьКФайлу + "ИнформационныеСистемы" + ".xlsx")
;