2) Неправильно ведется подсчет в строке Итого (часов наработки должно быть 4, а не 3)
Выражение стоит такое: {(double)LastIf(Данные.gp201_TC_VHS) - (double)FirstIf(Данные.gp201_TC_VHS)}
Что представляет собой колонка gp201_TC_VHS? Значение в часах? Она аналогична колонке Время? Если да, то 20:00:00 - 17:00:00 = 3 часа. Просто не учитывается то, что первая строка это результат обработки ещё одного часа и чтобы формула работала корректно нужно просто прибавлять один час.
3) В бэнде "Итог данных" неправильно берутся "Первые" и "Минимальные" значения из источника данных (из первого сообщения).
Верно, ведь Вы вместо итога вынесли колонку периодического источника и видите результат вычисления её последней строки. Рассмотрим например "gp201_TC_M1_onBegin". Источник данных с типом "Периодический" берёт весь указанный пользователем диапазон времени от переменной Начала до переменной Конца. Разбивает его на равные интервалы времени (они задаются через переменную-интервал в секундах). Для каждого интервала берутся все точки которые попадают в этот интервал и для этих точек вычисляется первое значение (ведь Вы выбрали тип обработки "первое значение"). Т.е. будет получено не первое значение за весь период отчета, а весь отчет будет разбит на множество интервалов (в Вашем случае по 1 часу) и для каждого интервала будет вычислено первое значение переменной в этом интервале.
Чтобы правильно организовать вывод итогов не нужно выводить в итог колонку из источника данных, ведь Вы увидите только последнюю стоку из колонки. Вместо этого расположите в бэнде итогов объект Текст и укажите в нём расчет итога, как показано на скрине во вложении. Для первого значения используйте "First", для минимального "MinD".
1) Никак не могу победить пустое значение в первой строке (см. скрин).
Если это периодический источник, то первая строка должна содержать данные за период от 16:00 до 17:00, вместо пустого значения. Можете выслать текущую версию проекта с отчетами?