Таблицы данных содержат в себе информацию, которая будет в конечном итоге отображена в отчете.
Для формирования этих таблиц в программе существует ряд инструментов. Подробно о них описано в соответствующих пунктах справки.
Первая таблица, которая будет необходима - это таблица, содержащая измерения для выбора параметра введенного в предыдущем пункте справки. Эту таблицу можно взять целиком из базы данных без какой-либо подготовки.
Для добавления таблицы из базы данных следует нажать кнопку "Связь с данными". В открывшемся окне слева расположены таблицы, находящиеся в базе данных, но не добавленные в отчет. Справа находятся таблицы из базы данных уже используемые в отчете.
Необходимо выбрать таблицу "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-запросов.