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

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

Рассмотрим следующий пример: информацию из справочника ИнформационныеСистемы необходимо экспортировать в формат XLSX.

Чтобы экспортировать список имен в документ формата XLSX, следует:

  • Создать табличный документ:

    пер Документ = новый ТабличныйДокумент()
  • Заполнить шапку документа:

    // Получаем область, соответствующую области шапки документа
    пер Шапка = Документ.ПолучитьОбласть(1, 1, 1, 1)

    // Устанавливаем в шапку документа текст
    Шапка.УстановитьТекст("Данные справочника ИнформационныеСистемы")
  • Выполнить запрос к таблице, хранящей данные справочника, и получить нужные поля:

    // Создаем и выполняем запрос к справочнику
    пер Запрос = Запрос{ВЫБРАТЬ
    ИнформационныеСистемы.Код КАК Код,
    ИнформационныеСистемы.Наименование КАК Наименование,
    ИнформационныеСистемы.Описание КАК Описание
    ИЗ
    ИнформационныеСистемы КАК ИнформационныеСистемы}

    исп Результат = Запрос.Выполнить()
  • Заполнить оставшиеся строки документа данными:

    пер НомерСтроки = 2
    для Данные из Результат
    // Получаем область, соответствующую ячейке документа на новой строке
    пер ТекущаяСтрока = Документ.ПолучитьОбласть(НомерСтроки, 1, НомерСтроки, 1)

    // Устанавливаем в текущую строку значение имени участника
    ТекущаяСтрока.УстановитьТекст("%{Данные.Код} %{Данные.Наименование} %{Данные.Описание}")

    // Увеличиваем номер строки на единицу
    НомерСтроки += 1
    ;
  • Экспортировать документ в нужный формат:

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

Код целиком:

@НаСервере
метод ВыгрузитьДанные(ПутьКФайлу: Строка)
пер Документ = новый ТабличныйДокумент()
// Получаем область, соответствующую области шапки документа
пер Шапка = Документ.ПолучитьОбласть(1, 1, 1, 1)

// Устанавливаем в шапку документа текст
Шапка.УстановитьТекст("Данные справочника ИнформационныеСистемы")

// Создаем и выполняем запрос к справочнику
пер Запрос = Запрос{ВЫБРАТЬ
ИнформационныеСистемы.Код КАК Код,
ИнформационныеСистемы.Наименование КАК Наименование,
ИнформационныеСистемы.Описание КАК Описание
ИЗ
ИнформационныеСистемы КАК ИнформационныеСистемы}

исп Результат = Запрос.Выполнить()

пер НомерСтроки = 2
для Данные из Результат
// Получаем область, соответствующую ячейке документа на новой строке
пер ТекущаяСтрока = Документ.ПолучитьОбласть(НомерСтроки, 1, НомерСтроки, 1)

// Устанавливаем в текущую строку значение имени участника
ТекущаяСтрока.УстановитьТекст("%{Данные.Код} %{Данные.Наименование} %{Данные.Описание}")

// Увеличиваем номер строки на единицу
НомерСтроки += 1
;

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