Разработка отчёта для архива устройства

Ответ:
1. Создаем объект с именем «МойКонтрольМ» в ветке «Объекты» дерева системы.

2. Открываем в панели веток ChannelGroup «Система.АРМ.Протоколы.Vzljot over TCP.TSR-043 1.ArchiveMonth» (для удобства переноса каналов в «МойКонтрольМ»).
3. Переносим выбранные каналы мышкой, удерживая левую клавишу, из ChannelGroup «ArchiveMonth» в «МойКонтрольМ»

Внимание! Обратите внимание, что для создаваемых параметров значение свойства «Архивировать» установлено в ЛОЖЬ
4. Добавляем в «МойКонтрольМ» параметры:
a. «Объекты.МойКонтрольМ.Начало», тип «DT»
b. «Объекты.МойКонтрольМ.Конец», тип «DT»
c. «Объекты.МойКонтрольМ.Сформировать», тип «BOOL»
d. «Объекты.МойКонтрольМ.Интервал», тип TIME

5. Добавляем в «МойКонтрольМ» отчёт «Объекты.МойКонтрольМ.Ресурсы.Отчеты.Отчет М»

6. Переносим параметры, созданные «перетаскиванием» каналов в пункте 3 настоящей справки, мышкой, удерживая левую клавишу, из «МойКонтрольМ» в ветку «Архив_данных» отчёта

7. Для «Архив_данных» отчёта на вкладке «Свойства» устанавливаем значение для свойства «Формирование значений» = «По изменению» (подразумевается, что будут выводиться все записи из базы данных)

8. Для «Архив_данных» отчёта на вкладке «Свойства» устанавливаем значение для свойства «Формирование значений» = «По изменению» (подразумевается, что будут выводиться все записи из базы данных)
- после
9. Перемещаем «Архив данных» на макет страницы
10. Отмечаем все параметры, которые хотим видеть в отчёте
10. Отмечаем все параметры, которые хотим видеть в отчёте
11. Сохраняем отчет.
12. Связываем параметры:
a. «Объекты.МойКонтрольМ.Начало», тип «DT»;
b. «Объекты.МойКонтрольМ.Конец», тип «DT»;
c. «Объекты.МойКонтрольМ.Интервал», тип TIME,
с параметрами отчёта: «Начало», «Конец», «Интервал».

Обратите внимание на действующие связи после операций, выполненных в пункте 8 настоящей инструкции
13. Создаём программу для запуска отчёта в «МойКонтрольМ»
14. Задаем свойство Начальное значение для «ReportFB_M» = «МойКонтрольМ.Отчет М», убрав из значения: Объекты.МойКонтрольМ.Ресурсы.Отчеты.Отчет М, как написано в инструкции

15. Связываем «Отчёт М» с параметром «Report» программы «ReportFB_M»
16. Связываем Объекты.МойКонтрольМ.Сформировать с Объекты.МойКонтрольМ.Ресурсы.Программы.ReportFB_М.Параметры.Report

17. Запускаем проект в режиме эмуляции и устанавливаем параметры для отбора данных (форму создал для ежедневного контроля см. Объекты.МойКонтрольД):

a. «Объекты.МойКонтрольМ.Начало» = 01 января 0001 года, например
b. «Объекты.МойКонтрольМ.Конец» = завтра, например
c. «Объекты.МойКонтрольМ.Сформировать» = ИСТИНА
d. «Объекты.МойКонтрольМ.Интервал» не трогаю
18. Отчёт создан

19. Проверяем вывод всех записей, то есть за все даты, создав запрос в базе данных, например для параметра «V1»

select im.id, im.itemid as [Id элемента в проекте MasterScada 4D]
, im.Name as [Имя контролируемого параметра]
, dr.value as [Значение]
, datetime(dr.source_time / 10000000 -11644473600, 'unixepoch', '+3 hours') as [Время МСК]
, case im.type when 6 then 'SYSTEM_DINT_PARAM' when 11 then 'SYSTEM_LREAL_PARAM' else '' end as [Тип значения]
from items as im, data_raw as dr
where dr.archive_itemid = im.id
and im.Name like 'Система.АРМ.Протоколы.Vzljot over TCP.TSR-043 1.ArchiveMonth.V1%'
and dr.layer = 0
20. Для вывода отчёта за апрель нужно задавать параметры так:

a. «Объекты.МойКонтрольМ.Начало» = 30 апреля 2022 года, например
b. «Объекты.МойКонтрольМ.Конец» = 30 апреля 2022 года, хотя, я для отчёта, отображающего данные за месяц, на форме создал бы набор элементов управления:
- «Текстовый ввод» для ввода года;
- «Дерево одиночного/множественного выбора» для выбора месяцев;
- другие элементы, которые позволят формировать отчёт в нужном виде.