Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Не получили письмо с кодом активации?

Официальный форум Simple-Scada.

Автор Тема: Имя колонки  (Прочитано 2432 раз)

ART63

  • Постоялец
  • ***
  • Сообщений: 151
    • Просмотр профиля
Имя колонки
« : 08 Февраля 2022, 08:16:02 »
Добрый день!

Создал в отчете колонку на основе формулы. Можно ли ей присвоить имя, чтобы использовать в других расчетах?

Timothy Clement

  • Постоялец
  • ***
  • Сообщений: 166
  • ОАО Борисовский завод "Металлист"
    • Просмотр профиля
    • Полымя
Re: Имя колонки
« Ответ #1 : 08 Февраля 2022, 12:15:45 »
Добрый день! Вместо написания формулы в теле отчёта, вы можете создать свою рассчитываемую колонку - нажать правой кнопкой в источнике данных - Новая рассчитываемая колонка. Присваиваете ей имя и нужное выражение. Теперь можно использовать эту колонку по имени в любом месте отчёта и в других выражениях.

ART63

  • Постоялец
  • ***
  • Сообщений: 151
    • Просмотр профиля
Re: Имя колонки
« Ответ #2 : 08 Февраля 2022, 12:36:37 »
К сожалению, у меня не получилось заставить работать функцию Next в вычисляемой колонке. Она работает только на строках отчета.
А вставить ее в формулу DateDiff не получается, поскольку результатом Next является Object, а не DateTime. А функций приведения типов (кроме строковых) я не обнаружил. Также не нашел возможность скрыть строки в отчете по условию.

Simple-Scada

  • Администратор
  • *****
  • Сообщений: 3214
    • Просмотр профиля
    • Simple-Scada
Re: Имя колонки
« Ответ #3 : 09 Февраля 2022, 22:05:05 »
Для приведения типа можно указать его в скобках, например:
Код
{DateDiff(
  (DateTime)Next(Источник1, "Время"),
  Источник1.Время
)}

Цитировать
Также не нашел возможность скрыть строки в отчете по условию.
Для этого нужно кликнуть ПКМ по бэнду данных и выбрать пункт "Редактировать"(см. скриншот по ссылке). В открывшемся окне нужно перейти на вкладку "Фильтры" и добавить новый фильтр по требуемой колонке с нужным условием.
« Изменён: 09 Февраля 2022, 22:29:21 от Simple_Scada »

ART63

  • Постоялец
  • ***
  • Сообщений: 151
    • Просмотр профиля
Re: Имя колонки
« Ответ #4 : 10 Февраля 2022, 12:08:25 »
Добрый день!

Спасибо, преобразование типов сработало!

Что касается второго вопроса. Фильтр заполняет отчет строками, соответственно заданному фильтру. А для нормальной работы функции Next надо, чтобы были подгружены все строки (как на скриншоте), а на экран выводились только те, у которых последняя колонка равна 1. В этом случае в видимой строке колонка "Начало" соответствует старту ДГУ, а колонка "Конец" остановке (выводится дата следующей строки с 0, которая невидна). Таким образом можно получить отчет по пускам ДГУ стандартным способом без использования и ведения собственного источника. Если же поставить фильтр на последнюю колонку=1, то в колонке "Конец" будет отображаться время следующей строки с учетом фильтра. Отчет будет некорректно работать.