Перейти к содержанию

Шаблон экспорта. Выгрузка нескольких коллекций и изображений с помощью C#

Данная статья ориентирована на разработчиков С# скриптов. См. также: Шаблон экспорта, Настройка с использованием C#.

Рассмотрим выгрузку записи в формате PDF. Будут выгружены две коллекции (в виде таблиц) и атрибут типа «Изображение», содержащий изображение (изображения).

  1. Сформируйте шаблон экспорта по примеру (приведённый образец шаблона можно найти во вложении к статье):

Пример настроенного шаблона экспорта C#

Пример настроенного шаблона экспорта C#

В шаблоне поле под картинку помещено внутрь таблицы на случай, если в атрибуте будет содержаться несколько изображений.

  1. Настройте модель данных в скрипте по примеру:
public class IMG 
{
    public byte[] Image_data { get; set; }
}
public class TBL_1
{
    public string Faktor { get; set; }
    public string Parameter { get; set; }
    public string Value { get; set; }
}
public class TBL_2
{
    public string Destination { get; set; }
    public string Order { get; set; }
    public string Date { get; set; }
    public string Responsible { get; set; }
}
public class RESULT
{
    public List<IMG> Photo_1 { get; set; }
    public List<TBL_1> Table_1 { get; set; }
    public List<TBL_2> Table_2 { get; set; }
}

Обратите внимание, что под каждую таблицу должен быть определён свой уникальный класс.

  1. Напишите весь скрипт (пример скрипта во вложении).

Комментарии к скрипту:

  • Для получения данных используется API-функция GetPropertyValues, которая позволяет запрашивать из базы данных значения только необходимых атрибутов, что ускоряет работу скрипта при большом количестве данных (строки 17-23).
  • В строках 38-39 приведены примеры получения данных из ссылочных атрибутов.
  • В строках 54, 65 приведён пример получения ФИО из атрибута типа «Аккаунт».
  • В строках 172, 184 реализована проверка на формат изображения (можете задать свои параметры).
К началу
  • Вложения
  • script for export_clone.cs (9.08 KB) 273
  • shablon.docx (18.78 KB) 204

  • Ассистент базы знаний Comindware

    Загрузка ассистента...
    Запрос отправлен в ИИ-ассистент Открыть вкладку