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

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

Автор Тема: Формат времени в итоговом столбце отчета  (Прочитано 2755 раз)

teplocom

  • Новичок
  • *
  • Сообщений: 47
  • с чувством уверенности в завтрашнем дне
    • Просмотр профиля
Доброго!

Есть ли способ форматирования значение итогового столбца SumTime самостоятельно через код выражения, с целю скрытия миллисекунд (и секунд) из итога времени наработки

Цитировать
{SumTime(DataИсточник_1,Источник._14_do_11)}

 то, что описано в руководстве по отчетам тут, у меня в этой итоговой строчке выдает ошибку, не могу разобраться с синтаксисом.

Дзякуй!
« Изменён: 04 Февраля 2023, 20:53:56 от teplocom »

Timothy Clement

  • Постоялец
  • ***
  • Сообщений: 166
  • ОАО Борисовский завод "Металлист"
    • Просмотр профиля
    • Полымя
Re: Формат времени в итоговом столбце отчета
« Ответ #1 : 06 Февраля 2023, 08:11:42 »
Добрый день!
Попробуйте в выражение встроить формат, должно работать
Код
    {Format("{0:HH:mm}", SumTime(DataИсточник_1,Источник._14_do_11))}

teplocom

  • Новичок
  • *
  • Сообщений: 47
  • с чувством уверенности в завтрашнем дне
    • Просмотр профиля
Re: Формат времени в итоговом столбце отчета
« Ответ #2 : 06 Февраля 2023, 09:16:45 »
    {Format("{0:HH:mm}", SumTime(DataИсточник_1,Источник._14_do_11))}
Нет, не помогло.
При любом выборе формата ячейки (пока играюсь только с одной итоговой, которую выделил красной рамкой): стандартный, время, дата - результат такой как на скрине

Timothy Clement

  • Постоялец
  • ***
  • Сообщений: 166
  • ОАО Борисовский завод "Металлист"
    • Просмотр профиля
    • Полымя
Re: Формат времени в итоговом столбце отчета
« Ответ #3 : 06 Февраля 2023, 09:27:05 »
Может быть дело в том что функция SumTime возвращает тип TimeSpan, а к нему такой формат неприменим? Надо попробовать с другими форматами поиграть, с числовыми возможно

teplocom

  • Новичок
  • *
  • Сообщений: 47
  • с чувством уверенности в завтрашнем дне
    • Просмотр профиля
Re: Формат времени в итоговом столбце отчета
« Ответ #4 : 06 Февраля 2023, 09:46:21 »
Может быть дело в том что функция SumTime возвращает тип TimeSpan, а к нему такой формат неприменим? Надо попробовать с другими форматами поиграть, с числовыми возможно
Все верно Вы догадались. Проблема именно в форматировании TimeSpan.
Пока не нашел средств для его преобразования.

teplocom

  • Новичок
  • *
  • Сообщений: 47
  • с чувством уверенности в завтрашнем дне
    • Просмотр профиля
Re: Формат времени в итоговом столбце отчета
« Ответ #5 : 06 Февраля 2023, 09:52:19 »
Единственный вариант, который нашел, что убирает секунды и миллисекунды для TimeSpan это "Формат - > Время - > HH:mm"
Но вместе с ними убираются и дни =)

Simple-Scada

  • Администратор
  • *****
  • Сообщений: 3202
    • Просмотр профиля
    • Simple-Scada
Re: Формат времени в итоговом столбце отчета
« Ответ #6 : 06 Февраля 2023, 10:10:05 »
Вывод в формате часы:минуты:
Код: (c#)
{((int)SumTime(DataИсточник_1, Источник._14_do_11).TotalHours) + 
":" + (SumTime(DataИсточник_1, Источник._14_do_11).Minutes).ToString("00")}
, подходит для количества часов больше 24. Т.е. результатом может быть "26:05"

Вывод в формате "дни.часы:минуты":
Код: (c#)
{SumTime(DataИсточник_1, Источник._14_do_11).ToString("dd\.hh\:mm")}
пример: 01.12:05

Формат у ячеек при этом можно не выбирать и оставить "Стандарт". Если разобраться не получится, то вышлите текущую версию проекта и укажите отчет, мы опишем пример для Вашего отчета.
« Изменён: 06 Февраля 2023, 10:20:08 от Simple-Scada »

teplocom

  • Новичок
  • *
  • Сообщений: 47
  • с чувством уверенности в завтрашнем дне
    • Просмотр профиля
Re: Формат времени в итоговом столбце отчета
« Ответ #7 : 06 Февраля 2023, 10:23:46 »
Формат у ячеек при этом можно не выбирать и оставить "Стандарт". Если разобраться не получится, то вышлите текущую версию проекта и укажите отчет, мы опишем пример для Вашего отчета.
Великолепно! Как после такого ответа могло не получиться))

Результат во вложении.

Всем спасибо! Работаем)