Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Не получили письмо с кодом активации?

Официальный форум Simple-Scada.

Автор Тема: Периодический отчёт с динамическими переменными 2.  (Прочитано 3387 раз)

gps

  • Новичок
  • *
  • Сообщений: 18
    • Просмотр профиля
Ещё раз приветствую Всех!
Подскажите как реализовать заголовок в Периодическом отчёте.

Есть отчёт. Выбираем потребителя и период отчёта. Это сам скрипт:
Код: (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, что бы оно менялось согласно выбранного потребителя в списке.

Заранее благодарен за ответ.
« Изменён: 16 Мая 2023, 10:11:16 от Simple Scada »

gps

  • Новичок
  • *
  • Сообщений: 18
    • Просмотр профиля
Сделал так:
Код: (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
« Изменён: 16 Мая 2023, 11:03:36 от Simple Scada »

Simple Scada

  • Глобальный модератор
  • *****
  • Сообщений: 288
    • Просмотр профиля
    • Simple-Scada
Здравствуйте.

Доступные свойства и методы для работы с компонентом "Список" можно найти в руководстве по ссылке. Чтобы вывести текст выбранной строки списка, нужно использовать свойство "Text". Также по скриншотам видно, что используется шаблонное окно. Поэтому в скрипте формирования отчета нужно выполнять поиск компонента "Список" используя функцию "GetTemplateObject":
Код: (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.

gps

  • Новичок
  • *
  • Сообщений: 18
    • Просмотр профиля
Скрипт компилируется нормально, но в отчёте поле всё равно пустое.Текст который обведён на скрине не выводится в отчёт.
« Изменён: 16 Мая 2023, 11:48:35 от Simple_Scada »

Simple Scada

  • Глобальный модератор
  • *****
  • Сообщений: 288
    • Просмотр профиля
    • Simple-Scada
Пришлите нам для проверки на support@simple-scada.com текущую версию Вашего проекта из директории (..\Simple-Scada 2\Projects\).

gps

  • Новичок
  • *
  • Сообщений: 18
    • Просмотр профиля
Отправил.
« Изменён: 16 Мая 2023, 13:55:40 от Simple_Scada »