Автоматизированная система контроля и учета энергоресурсов (АСКУЭ) на основе программного обеспечения Астра - Электроучет и счетчиков электрической энергии Меркурий от компании Инкотекс - разумное энергопотребление. Начните экономить уже сегодня!

Таблицы данных содержат в себе информацию, которая будет в конечном итоге отображена в отчете.

Для формирования этих таблиц в программе существует ряд инструментов. Подробно о них описано в соответствующих пунктах справки.

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

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

Необходимо выбрать таблицу "DateTimePoint" в левом столбце и перенести ее в правый нажатием первой кнопки со стрелкой.

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

Нажмите кнопку "OK".

Чтобы убедиться что все сделано правильно можно перейти на закладку "Предпросмотр печати" главного окна программы. В левой части окна будет отображено поле для выбора параметра в виде выпадающего списка, содержащего все измерения подключенной базы данных.

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

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

Для добавления этой таблицы в отчет необходимо нажать "Сохранить таблицу" в верхнем меню окна.

После сохранения таблицы это окно можно закрыть и вернуться к основному окну программы.

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

В открывшемся окне необходимо выбрать таблицу "Названия полей" в выпадающем списке "название таблицы". (в отчете пока существует единственная пользовательская таблица, поэтому она будет выбрана автоматически)

В верхней левой части окна расположено поле для ввода запроса, в него необходимо вписать следующий запрос:

select max([NameChars]), [IdCommand] from [ShetCharsDefault] where [IdCommand]!=-1 and [IdCommand]<=67 group by [IdCommand]

После этого нужно нажать кнопку "Заполнить таблицу по запросу" в верхнем меню окна. В нижней левой части окна будет выведена получившаяся таблица.

Целью создания этой таблицы является возможность изменения заголовков столбцов в итоговом отчетном документе.

Можно видеть что первые два столбца таблицы заполнены в соответствии с введенным запросом, а вторые два пустые и доступны для редактирования. Первый столбец выводит название собираемой характеристики из программы Астра-Электроучет. Второй столбец содержит номер команды, которой соответствует эта характеристика и через который можно однозначно ее идентифицировать. Последние два столбца следует заполнить в соответствии с требованиями отчета, в случае отчета по результатам измерений в верхнем заголовке будут отображаться такие строки как "Энергия от сброса" или "Монитор", а в среднем - тарифы или другие виды параметров.

В этом примере таблица заполнена следующим образом:

 

Аналогичным способом в отчеты можно ввести любую информацию, например дополнительные характеристики счетчиков. (адрес установки, фамилию потребителя и т.п.)

Для того чтобы сохранить введенные изменения необходимо нажать кнопку "Сохранить таблицу". После этого запрос таблицы будет сохранен в отчете, а введенная дополнительная информация в XML-файле в папке основного файла отчета.

Если отчет еще не был ни разу сохранен, то программа не сможет определить место, куда сохранять файл таблицы и будет выдано соответствующее сообщение. В этом случае следует не закрывая окна "Конструктор запросов" перейти в главное окно программы на закладку "Дизайнер отчета" и выполнить сохранение отчета нажав на кнопку "Сохранить" в верхнем меню. После этого необходимо повторить сохранение таблицы.

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

Чтобы сохранить выведенную на экран таблицу в базу данных необходимо нажать кнопку "Записать таблицу в базу данных". Процесс записи таблицы в базу данных может занять некоторое время, дождитесь его окончания.

Теперь все готово для создания итоговой таблицы отчета.

Аналогично тому как была создана таблица "Названия полей" необходимо создать в конструкторе таблиц еще одну таблицу "Результаты измерений". На рисунке ниже приведены ее параметры:

Далее необходимо задать для нее запрос в Конструкторе запросов. Запрос для этой таблицы будет более сложным нежели запрос для таблицы "Названия полей", кроме того в нем используется параметр, который был создан в предыдущем пункте справки, и дополнительная таблица "Названия полей". Полный текст запроса будет выглядеть следующим образом:

SELECT sch.узел, sch.родитель, sch.adrnet, sch.worknumber, sch.NameTrans, np.[Верхний заголовок], np.[Средний заголовок], ri.Поле, ri.actpl

FROM (

select IdShet, Command, 'A+' as Поле, ActPl, IdDtLabel

from ResIsmEnergy

where Command<=60 and iddtlabel=@Измерение

union all

select IdShet, Command, 'A-' as Поле, ActMin, IdDtLabel

from ResIsmEnergy

where Command<=60 and iddtlabel=@Измерение

union all

select IdShet, Command, 'R+' as Поле, ReactPl, IdDtLabel

from ResIsmEnergy

where Command<=60 and iddtlabel=@Измерение

union all

select IdShet, Command, 'R-' as Поле, ReactMin, IdDtLabel

from ResIsmEnergy

where Command<=60 and iddtlabel=@Измерение

union all

select IdShet, Command, 'Фаза 1' as Поле, ActPl, IdDtLabel

from ResIsmEnergy

where Command>=61 and Command<=64 and iddtlabel=@Измерение

union all

select IdShet, Command, 'Фаза 2' as Поле, ActMin, IdDtLabel

from ResIsmEnergy

where Command>=61 and Command<=64 and iddtlabel=@Измерение

union all

select IdShet, Command, 'Фаза 3' as Поле, ReactPl, IdDtLabel

from ResIsmEnergy

where Command>=61 and Command<=64 and iddtlabel=@Измерение

union all

select IdShet, Command, 'Сумма' as Поле, ReactMin, IdDtLabel

from ResIsmEnergy

where Command>=61 and Command<=64 and iddtlabel=@Измерение

union all

select IdShet, Command, 'Фаза 1' as Поле, ActPl, IdDtLabel

from ResIsmEnergy

where Command>=65 and Command<=66 and iddtlabel=@Измерение

union all

select IdShet, Command, 'Фаза 2' as Поле, ActMin, IdDtLabel

from ResIsmEnergy

where Command>=65 and Command<=66 and iddtlabel=@Измерение

union all

select IdShet, Command, 'Фаза 3' as Поле, ReactPl, IdDtLabel

from ResIsmEnergy

where Command>=65 and Command<=66 and iddtlabel=@Измерение

union all

select IdShet, Command, 'частота' as Поле, ActPl, IdDtLabel

from ResIsmEnergy

where Command=67 and iddtlabel=@Измерение

) ri

left outer join (

select shet.idshet, bgForNode.NameNode as 'узел', bgForParent.NameNode as 'родитель', shet.adrnet, shet.worknumber, transname.NameTrans

from

shet

left outer join BalansGroupShet on BalansGroupShet.IdShet=shet.idshet

left outer join BalansGroup as bgForNode on bgForNode.idBalansGroup=BalansGroupShet.IdBalansGroup

left outer join BalansGroup as bgForParent on bgForParent.idBalansGroup=bgForNode.IdParentNode,

transname

where shet.idconnection=transname.idtrans

) sch on ri.idshet=sch.idshet

left outer join [Названия полей] np on ri.command=np.[Номер команды]

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