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