Simple-Scada forum

Simple-Scada 2 => Ваши вопросы => Тема начата: gps от 16 Мая 2023, 08:03:19

Название: Периодический отчёт с динамическими переменными 2.
Отправлено: gps от 16 Мая 2023, 08:03:19
Ещё раз приветствую Всех!
Подскажите как реализовать заголовок в Периодическом отчёте.

Есть отчёт. Выбираем потребителя и период отчёта. Это сам скрипт:
Код: (delphi)
var
  aReport: TM_Report;
begin

//vrDynamic_name.Value := vrAsumm.Name;
  vrDynamic_A_Begin.Value := vrAsumm.Value;
  vrDynamic_A_End.Value := vrAsumm.Value;
  vrDynamic_A_Raznica.Value := vrAsumm.Value;

  aReport := ReportBuild('Периодический1');
  aReport.View(GetClientName);
end.

А теперь вопрос, как мне текст из поля которое показано ниже на скрине вставить в отчёт на против Потребитель, там где у меня vrDynamic_name, что бы оно менялось согласно выбранного потребителя в списке.

Заранее благодарен за ответ.
Название: Re: Периодический отчёт с динамическими переменными 2.
Отправлено: gps от 16 Мая 2023, 10:46:03
Сделал так:
Код: (delphi)
var
  aReport: TM_Report;
begin
  vrDynamic_name.Value := ComboBox2.Items[0].Text;
  vrDynamic_A_Begin.Value := vrAsumm.Value;
  vrDynamic_A_End.Value := vrAsumm.Value;
  vrDynamic_A_Raznica.Value := vrAsumm.Value;

  aReport := ReportBuild('Периодический1');
  aReport.View(GetClientName);
end.
Но выдаёт Ошибку Undeclared idintifier ComboBox2
Название: Re: Периодический отчёт с динамическими переменными 2.
Отправлено: Simple Scada от 16 Мая 2023, 11:03:17
Здравствуйте.

Доступные свойства и методы для работы с компонентом "Список" можно найти в руководстве по ссылке (https://simple-scada.com/help/script/tmcombobox.html). Чтобы вывести текст выбранной строки списка, нужно использовать свойство "Text (https://simple-scada.com/help/script/cmbtext.html)". Также по скриншотам видно, что используется шаблонное окно. Поэтому в скрипте формирования отчета нужно выполнять поиск компонента "Список" используя функцию "GetTemplateObject (https://simple-scada.com/help/script/gettemplateobject.html)":
Код: (delphi)
var
  aReport: TM_Report;
  aComboBox: TM_ComboBox;
begin
  aComboBox := GetTemplateObject('ComboBox2') as TM_ComboBox;
  vrDynamic_name.Value := aComboBox.Text;
  vrDynamic_A_Begin.Value := vrAsumm.Value;
  vrDynamic_A_End.Value := vrAsumm.Value;
  vrDynamic_A_Raznica.Value := vrAsumm.Value;
 
  aReport := ReportBuild('Периодический1');
  aReport.View(GetClientName);
end.
Название: Re: Периодический отчёт с динамическими переменными 2.
Отправлено: gps от 16 Мая 2023, 11:48:00
Скрипт компилируется нормально, но в отчёте поле всё равно пустое.Текст который обведён на скрине не выводится в отчёт.
Название: Re: Периодический отчёт с динамическими переменными 2.
Отправлено: Simple Scada от 16 Мая 2023, 12:00:19
Пришлите нам для проверки на support@simple-scada.com текущую версию Вашего проекта из директории (..\Simple-Scada 2\Projects\).
Название: Re: Периодический отчёт с динамическими переменными 2.
Отправлено: gps от 16 Мая 2023, 12:13:30
Отправил.