Примеры использования

<< Click to Display Table of Contents >>

Navigation:  Проект > Документы объектов > Генератор отчетов > Проектирование отчетов > События >

Примеры использования

В методических материалах рассматривается в том числе использование событий для работы с данными.

 

В качестве примера также можно рассмотреть использование события для работы с элементами формируемого отчета.

 

Постановка задачи.

В течении смены в печь может быть загружено до 3 деталей. Для каждого цикла отжига нужно вывести параметры процесса - температуру отжига, а также параметры каждой детали - название, материал и вес. В конце смены нужно вывести параметры всех процессов.

 

Решение.

Проблема в том, что деталей может быть 1, 2 или 3. Таким образом, если выводить параметры в виде таблицы, могут остаться свободные ячейки (если деталей было меньше 3). Чтобы избежать этого, мы сделаем, чтобы не нужные ячейки автоматически скрывались.

Дерево объектов содержит следующие элементы:

primery_ispolzovaniya

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

Опустим процесс создания отчета и источника данных. Источник должен выглядеть так:

primery_ispolzovaniya1

У колонки КоличествоДеталей включено свойство "Основной", у остальных колонок оно выключено.

Сформируем следующую таблицу в бэнде Данные:

primery_ispolzovaniya2

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

На вкладке свойств, перейдем в раздел событий, и выберем событие Перед печатью.

primery_ispolzovaniya3

Ячейки таблицы имеют следующие обозначения:

primery_ispolzovaniya4

Теперь напишем код, который будет скрывать ячейки и уменьшать их размер.

if (Данные.КоличествоДеталей==1)

{

 Text9.Enabled=Text10.Enabled=Text11.Enabled=false; //скрываем верхнюю строку        

 Text6.Enabled=Text7.Enabled=Text8.Enabled=false; //скрываем вторую строку

 Text1.Height=Text4.Height; //меняем высоту поля

 Text2.Height=Text4.Height; //меняем высоту поля

 DataДанные.Height=Text4.Height+0.2; //меняем высоту бэнда + зазор

}

 

if (Данные.КоличествоДеталей==2)

{

 Text9.Enabled=Text10.Enabled=Text11.Enabled=false;        

 Text6.Enabled=Text7.Enabled=Text8.Enabled=true;        

 Text1.Height=Text4.Height*2;

 Text2.Height=Text4.Height*2;

 DataДанные.Height=Text4.Height*2+0.2;

}

 

if (Данные.КоличествоДеталей==3)

{

 Text9.Enabled=Text10.Enabled=Text11.Enabled=true;        

 Text6.Enabled=Text7.Enabled=Text8.Enabled=true;        

 Text1.Height=Text4.Height*3;

 Text2.Height=Text4.Height*3;

 DataДанные.Height=Text4.Height*3+0.2;

}

Данный код обращается к свойствам бэнда и текстовых полей, меняет их высоту или размер, в зависимости от количества деталей.

Итоговый отчет:

primery_ispolzovaniya5

 

Если необходимо поменять свойство какого-либо элемента, но вы не знаете как называется данное свойство в коде, можно поступить следующим методом.

Выделите элемент, и на вкладке Свойства вызовите контекстное меню и сбросьте настройку "Переводить имена свойств":

primery_ispolzovaniya6

Теперь все названия будут по английски - по ним и нужно обращаться к свойствам элемента.

primery_ispolzovaniya7