ReportBuild

> [HTML Version](reportbuild.html)

**Синтаксис**

````
function ReportBuild(AName: string): TM\_Report;

````
**Описание**

Формирует отчет с именем AName. Функция ReportBuild возвращает отчет [TM\_Report](tmreportmethods.md), который в дальнейшем можно открыть для просмотра / распечатать / сохранить на клиентских ПК или на сервере / отправить по E-mail или Telegram. Доступные свойства и методы для работы с отчетом рассмотрены [по ссылке](tmreportmethods.md).

**Примеры скриптов**

**(./images/tog_code_1.png) 1. Сформировать отчет и открыть для просмотра на клиенте**

````
var  
  aReport: TM\_Report;  
begin  
  aReport := ReportBuild('Мой отчет');  // строим отчет  
  aReport.View(GetClientName);          // открываем для просмотра на клиенте, который вызвал скрипт  
end.
````

````
**(./images/tog_code_1.png) 2. Сформировать отчет и распечатать на клиенте**

````
var  
  aReport: TM\_Report;  
begin  
  aReport := ReportBuild('Мой отчет');  // строим отчет  
  aReport.Print(GetClientName);         // печатаем его на клиенте, который вызвал скрипт  
end.
````

````
**(./images/tog_code_1.png) 3. Сформировать отчет, открыть для просмотра и распечатать на клиенте**

````
var  
  aReport: TM\_Report;  
begin  
  aReport := ReportBuild('Мой отчет');  // строим отчет  
  aReport.ViewAndPrint(GetClientName);  // открываем для просмотра и печатаем на клиенте, который вызвал скрипт  
end.
````

````
**(./images/tog_code_1.png) 4. Сформировать отчет и открыть для просмотра на всех клиентах**

````
var  
  aReport: TM\_Report;  
begin  
  aReport := ReportBuild('Мой отчет');  // строим отчет  
  aReport.View(SS\_ALL\_CLIENTS);         // открываем для просмотра на всех клиентах  
end.
````

````
**(./images/tog_code_1.png) 5. Сформировать отчет и сохранить на клиенте в формате ".xlsx" в папке для принятых файлов**

````
var  
  aReport: TM\_Report;  
begin  
  aReport := ReportBuild('Мой отчет');  // строим отчет  
  // сохраняем его на клиенте, который вызвал скрипт в формате ".xlsx" с добавлением к имени файла текущей даты/времени  
  aReport.Save(GetClientName, 'Мой отчет' + DateTimeToFileName(Now, ''), '', rfExcel2007);   
end.
````

````
**(./images/tog_code_1.png) 6. Сформировать отчет и сохранить на серверном ПК в формате ".docx" на диск D:\\**

````
var  
  aReport: TM\_Report;  
begin  
  aReport := ReportBuild('Мой отчет');  // строим отчет  
  aReport.Save(SS\_SERVER\_NAME, 'Мой отчет', 'D:\\', rfWord2007);  // сохраняем его на диск D:\\ в файл "Мой отчет.docx" на серверном ПК  
end.
````

````
**(./images/tog_code_1.png) 7. Сформировать отчет и отправить его по E-mail**

````
var  
  aReport: TM\_Report;  
  aMail: TM\_Mail;  
begin  
  aReport := ReportBuild('Отчет');  // строим отчет  
  
  aMail := SendMail('Simple-Scada', 'Mail с отчетом', 'Отчет во вложении');  // создаем E-mail сообщение  
  aMail.AttachReport(aReport, 'Мой отчет');   // прикрепляем отчет к E-mail сообщению с именем "Мой отчет"  
end.
````

````
**(./images/tog_code_1.png) 8. Сформировать отчет и отправить его через Telegram**

````
var  
  aReport: TM\_Report;  
  aTelegram: TM\_Telegram;  
begin  
  aReport := ReportBuild('Отчет');  // строим отчет  
  
  aTelegram := SendTelegram('');  // создаем Telegram-сообщение  
  aTelegram.AttachReport(aReport, 'Мой отчет');  // прикрепляем отчет к Telegram-сообщению с именем "Мой отчет"  
end.
````

````
