1

Обработка периода построения отчета внутри вычисляемых полей отчета

Тема: Обработка периода построения отчета внутри вычисляемых полей отчета

Добрый день.

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

Увы, сейчас это сделать средствами построения отчета невозможно.

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

2

Обработка периода построения отчета внутри вычисляемых полей отчета

(18/08/2018 11:35:34 отредактировано RedRock)

Re: Обработка периода построения отчета внутри вычисляемых полей отчета

Есть несколько костылей:
1. Сделать 3 разных столбца: эффективность за день, эффектность за неделю и эффективность за месяц. Прикрутить соответствующие формулы, <моточасы>/<количество полезных часов >
2. Как в пункте один только 3 разных таблице для соответсвующих периодов.
3. Уйти от таблицы моточасов, т.к. из таблице моточасов нельзя выделить весь период мониторенга объекта, а вот в таблице сводке все делается легко:
   3.1 В объекте добавляем счетчик (time-#time)
   3.2 В Сводки выбираем 2 колонку: Моточасы(C1) и Счетчик(C2)
   3.3 Создаем колонку (я назвал Выработка) с формулой (C0/C1)*const100 и ед.измерения %
Есть погрешность связанная с регистрацией сообщений, потеря - удвоенный интервал отправки сообщений терминала, в моем случаи при 2 минутах выход 238, т.е. 0.28%  - в целом не критично.
По выходным дням и прочим ограничением: можн реализовать через валидатор к счечику, если не умеете делать валидатор по параметру time, пишите скину небольшую софтинку собственного производства она переводить значения time в дату и обратно.
time:d пользоваться не рекомендую, так как он привязан к часовому поясу, т.е. при моих (+7) в 6:30 у меня еще вчерашний день, а в 7:30 это только сегодня. Соответсвенно по клиентскому графику необходимо делать тарированную таблицу выходных для счечика.

FFA0-0BBB-8911-15BB

https://www.reg.ru
3

Обработка периода построения отчета внутри вычисляемых полей отчета

Re: Обработка периода построения отчета внутри вычисляемых полей отчета

Увы, не годятся костыли.

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