Ответ
 
Опции темы
Старый 13.04.2015, 04:18    | »»» |  #1
vovicande
Начинающий
 
Аватар для vovicande
 
Регистрация: 23.01.2012
Сообщений: 6
vovicande is on a distinguished road
По умолчанию Нужна помощь по отчету

Добрый день, уважаемые форумчане!

требуется Ваша помощь в составлении отчета. Форму создал, данные, какие смог собрать - собрал, однако остается несколько моментов, которые я хочу доработать

я переделал стандартный отчет из группы Контрольные точки "Прохождение точек и отрезков".

Вот такой получается отчет через Reports.Net:
https://yadi.sk/i/clw_dknmfwKbe

Я же хочу получить вот такой отчет, если это возможно:
https://yadi.sk/i/Padxhh7cfwKfz

Вот картинка с исходным и желаемым отчетом сразу:
https://yadi.sk/i/WMYzE69PfwLDx
Красным на отчете справа выделил то, что нужно изменить

Что нужно изменить:
1. Формат времени 00:15:20 >>> 15:20. Через форматирование у меня не получается
2. Формат продолжительности 00:15:20 >>> 15:20с (буква с необязательна) Либо 01:15:20 >>> 01:15м Через форматирование у меня не получается
3. Убрать нулевые ячейки, даты Через [IsNull(,)] у меня не получается
4. Убрать дату из формата 01.01.2015 15:20:19 >>> 15:20, Если значение даты повторяется и одинаковое в отчете (в рамках одних суток)
5. Возможно ли перевести МЧ из дроби в формат ЧЧ:мм? Не могу понять, как делать умножение в ячейке? можно было бы умножить на 60... как вариант
6. не показывает в печатной форме значения I2_Cont и I2_Counter, хотя в предварительно просмотре выводит на экран
7. Итоговые значения по датчикам: Общая прод-ть I2_Cont и Сумма I2_Counter
8. Итоговые значения: Расход в движении, расход на стоянке
9. Итоговые значения: Время в движении, время на стоянке

Необязательные, но желательно
- Итоговые значения: холостой/груженый по возможности
- шапка: выезд с базы/заезд на базу (БАЗА - КТ) по возможности
- шапка: прод-ть смены (разница между выездом/заездом на базу) по возможности
- шапка: первое включ/после отключ двигателя. У нас двигаетель - это д1. [DS_chp_all.I1_S_TIME] и [DS_chp_all.I1_E_TIME] не выводит

Вопросы:
- Можно ли сделать формирование этого отчета вне зависимости от настроек АвтоГРАФа? Параметр новой строки определяется настройками программы АвтоГРАФ. Для моего отчета я установил мин. значения движение-остановка 2 мин. https://yadi.sk/i/Av1n0duOfwKyx
- Можно ли группировать строки?
- Можно выделять строки не черезстрочно, а, например при включении датчиков 2 и 3?

Пока это все. Буду благодарен помощи, поскольку я не силен в языках программировании, только так, ячейки по мануалу умею двигать))
vovicande вне форума   Ответить с цитированием
Старый 13.04.2015, 05:37    | »»» |  #2
storm
Опытный пользователь
 
Аватар для storm
 
Регистрация: 22.12.2010
Сообщений: 2,121
storm is on a distinguished road
Отправить сообщение для storm с помощью Skype™
По умолчанию

Сообщение от vovicande Посмотреть сообщение
1. Формат времени 00:15:20 >>> 15:20. Через форматирование у меня не получается
на вкладку код нужно добавить функцию
private string GetFormatedDateTime(string dt)
{
if (String.IsNullOrEmpty(dt)) return "-";
return DateTime.Parse(dt).ToString("HH:mm");
}
и вызывать ее в нужной ячейке, передавая параметром нужное время, пример [GetFormatedDateTime([DS_chp_all.S_REAL_TIME])]

г. Челябинск
Ахмедьянов Алексей Адлерович

Последний раз редактировалось storm; 13.04.2015 в 05:40.
storm вне форума   Ответить с цитированием
Старый 13.04.2015, 05:40    | »»» |  #3
storm
Опытный пользователь
 
Аватар для storm
 
Регистрация: 22.12.2010
Сообщений: 2,121
storm is on a distinguished road
Отправить сообщение для storm с помощью Skype™
По умолчанию

Сообщение от vovicande Посмотреть сообщение
2. Формат продолжительности 00:15:20 >>> 15:20с (буква с необязательна) Либо 01:15:20 >>> 01:15м Через форматирование у меня не получается
на вкладку код нужно добавить функцию
private string GetFormatedTimeSpan(string dt)
{
if (String.IsNullOrEmpty(dt)) return "-";
return TimeSpan.Parse(dt).ToString("hh\:mm");
}
и вызывать ее в нужной ячейке, передавая параметром продолжительность, пример [GetFormatedTimeSpan([DS_chp_all.REAL_CONT])]

г. Челябинск
Ахмедьянов Алексей Адлерович
storm вне форума   Ответить с цитированием
Старый 13.04.2015, 05:44    | »»» |  #4
storm
Опытный пользователь
 
Аватар для storm
 
Регистрация: 22.12.2010
Сообщений: 2,121
storm is on a distinguished road
Отправить сообщение для storm с помощью Skype™
По умолчанию

Сообщение от vovicande Посмотреть сообщение
3. Убрать нулевые ячейки, даты Через [IsNull(,)] у меня не получается
не понял, что имеется ввиду

Сообщение от vovicande Посмотреть сообщение
4. Убрать дату из формата 01.01.2015 15:20:19 >>> 15:20, Если значение даты повторяется и одинаковое в отчете (в рамках одних суток)
если у вас отчет за сутки, то просто вызывайте функцию из п.1

Сообщение от vovicande Посмотреть сообщение
5. Возможно ли перевести МЧ из дроби в формат ЧЧ:мм? Не могу понять, как делать умножение в ячейке? можно было бы умножить на 60... как вариант
функция
public TimeSpan ConvertMHoursToTimeSpan(double MH)
{
return new TimeSpan((int)MH, (int)((MH - (int)MH) * 60), 0);
}
пример вызова
[ConvertMHoursToTimeSpan([DS_chp_all.M1_HOURS])]

г. Челябинск
Ахмедьянов Алексей Адлерович
storm вне форума   Ответить с цитированием
Старый 13.04.2015, 05:55    | »»» |  #5
storm
Опытный пользователь
 
Аватар для storm
 
Регистрация: 22.12.2010
Сообщений: 2,121
storm is on a distinguished road
Отправить сообщение для storm с помощью Skype™
По умолчанию

Сообщение от vovicande Посмотреть сообщение
6. не показывает в печатной форме значения I2_Cont и I2_Counter, хотя в предварительно просмотре выводит на экран
тоже требует уточнения, что вы имели ввиду

Сообщение от vovicande Посмотреть сообщение
7. Итоговые значения по датчикам: Общая прод-ть I2_Cont и Сумма I2_Counter
8. Итоговые значения: Расход в движении, расход на стоянке
9. Итоговые значения: Время в движении, время на стоянке
читайте в документации как создать новый итог, для времен и продолжительностей нужно в качестве выражения подставлять цифровой вид времени и прод-ти:
для времени DateTime.Parse([DS_chp_all.S_REAL_TIME])
для продолжительности TimeSpan.Parse([DS_chp_all.REAL_CONT])

Сообщение от vovicande Посмотреть сообщение
- Можно ли группировать строки?
да, для этого добавляются бэнды группировки с указанием выражения, по которому нужно группировать, можно изучить в руководстве, см. внизу

Сообщение от vovicande Посмотреть сообщение
- Можно выделять строки не черезстрочно, а, например при включении датчиков 2 и 3?
да, раздел условное выделение в документации, см. внизу

для понимания многих моментов рекомендую вам изучить руководство пользователя, которую можно скачать по адресу
https://www.fast-report.com/ru/download/documentation/
раздел FastReport.Net - генератор отчётов для .Net

PS: все остальные вопросы не отвеченные вопросы потребуют уточнения, но для начала ознакомтесь с руководством - возможно они отпадут сами собой

г. Челябинск
Ахмедьянов Алексей Адлерович
storm вне форума   Ответить с цитированием
Старый 13.04.2015, 05:57    | »»» |  #6
storm
Опытный пользователь
 
Аватар для storm
 
Регистрация: 22.12.2010
Сообщений: 2,121
storm is on a distinguished road
Отправить сообщение для storm с помощью Skype™
По умолчанию

PPS: все функции нужно вставлять между фигурными скобками
public class ReportScript
{
...........вставлять функции в это место...........
}
друг за другом

г. Челябинск
Ахмедьянов Алексей Адлерович
storm вне форума   Ответить с цитированием
Старый 13.04.2015, 12:04    | »»» |  #7
vovicande
Начинающий
 
Аватар для vovicande
 
Регистрация: 23.01.2012
Сообщений: 6
vovicande is on a distinguished road
По умолчанию

Алексей, спасибо за ответы, буду пробовать. Отпишусь по ходу выполнения
vovicande вне форума   Ответить с цитированием
Старый 21.08.2015, 08:23    | »»» |  #8
pavlovich35
Дилер
 
Аватар для pavlovich35
 
Вологда, ООО "Интэк"
Регистрация: 29.03.2012
Сообщений: 34
pavlovich35 is on a distinguished road
Отправить сообщение для pavlovich35 с помощью Skype™
По умолчанию

Пытаюсь сделать отчет по времени в движении, но ничего не получается. Подскажите как???

ООО "Интэк", Вологда
Александров Александр Павлович, Генеральный директор
pavlovich35 вне форума   Ответить с цитированием
Старый 21.08.2015, 08:28    | »»» |  #9
plex
Дилер
 
Аватар для plex
 
Екатеринбург, ЗАО "Седьмая Экспедиция"
Регистрация: 14.12.2010
Сообщений: 15,022
plex is on a distinguished road
Отправить сообщение для plex с помощью ICQ Отправить сообщение для plex с помощью Skype™
По умолчанию

pavlovich35, используйте параметр MOVE_CONT

ЗАО "Седьмая Экспедиция", Екатеринбург, РФ
Мушин Виктор Валерьевич, Технический директор
plex вне форума   Ответить с цитированием
Ответ


Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
 

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

Быстрый переход


Текущее время: 15:50. Часовой пояс GMT.


Powered by vBulletin® Version 3.8.5
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd. Перевод: zCarot