Создание шаблона табличного документа

Рассмотрим следующий пример: в проекте содержится справочник «Участники» с именами участников мероприятия. Имена участников необходимо экспортировать в формат XLSX.

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

    // Устанавливаем в шапку документа текст
    Шапка.УстановитьТекст("ФИО")
    
    // Создаем и выполняем запрос к таблице «Участники»    
    пер Запрос = Запрос{ВЫБРАТЬ 
                           СписокУчастников.Фамилия КАК Фамилия,
                           СписокУчастников.Имя КАК Имя,
                           СписокУчастников.Отчество КАК Отчество
                        ИЗ
                           Участники КАК СписокУчастников}
    
    исп Результат = Запрос.Выполнить()
    
    пер НомерСтроки = 2
    для Участник из Результат
        // Получаем область, соответствующую ячейке документа на новой строке
        пер ТекущаяСтрока = Документ.ПолучитьОбласть(НомерСтроки, 1, НомерСтроки, 1)

        // Устанавливаем в текущую строку значение имени участника
        ТекущаяСтрока.УстановитьТекст("%{Участник.Фамилия} %{Участник.Имя} %{Участник.Отчество}")
    
         // Увеличиваем номер строки на единицу
         НомерСтроки += 1
    ;

    // Экспортируем документ в нужный формат
    Документ.Экспортировать(Формат = ФорматЭкспортаТабличногоДокумента.Xlsx, 
                            ПутьФайла = ПутьКФайлу + "Участники" + ".xlsx")
;