ОФИЦИАЛЬНЫЙ ФОРУМ ГРУППЫ КОМПАНИЙ «ТЕХНОКОМ»

ОФИЦИАЛЬНЫЙ ФОРУМ ГРУППЫ КОМПАНИЙ «ТЕХНОКОМ» (https://forum.tk-chel.ru/index.php)
-   Система «АвтоГРАФ»: Программное обеспечение (https://forum.tk-chel.ru/forumdisplay.php?f=4)
-   -   Отчеты ReportsNet, версия 1.0.2 (https://forum.tk-chel.ru/showthread.php?t=2634)

SK 13.01.2013 12:47

Отчеты ReportsNet, версия 1.0.2
 
Выпущена НОВАЯ версия Модуля Отчетов под платформу .NET

Версия .NET призвана заменить текущую версию модуля отчетов.
Поддержка мажорных обновлений старой версии модуля отчетов - прекращается.
Новая платформа обладает существенно большими возможностями по сравнению со старой.

Отчеты ReportsNet, версия 1.0.2


История изменений:

Версия 1.0.2.
1. Оптимизирована работа с включенной галочкой "Суммарный по всем ТС"
2. На форму прогресса формирования отчета добавлены прогресс-бары и подробная информация об этапах формирования
3. Изменено поведение формы прогресса - она теперь модальная и не поверх всех окон
4. Уменьшено время запуска модуля
5. Добавлен отчет по КТ с формой выбора точек, по которым формировать отчет
- выбираем отчет "Контрольные точки" - "Контрольные точки с выбором"
- устанавливаем нужные параметры отчета, выбираем транспортные средства
- после выбора транспортных средств, на форме отчета нажимаем кнопку "Заполнить таблицу контрольных точек", после чего в таблице должны появиться все контрольные точки по выбранным ТС, из которых нужно выбрать необходимые
- после нажатия кнопки "Сформировать" будет выведен отчет по выбранным КТ

Версия 1.0.1.
1. Список отчетов и шаблоны теперь снова хранятся в папке с отчетами
2. Отчеты разделены на базовые и пользовательские: шаблоны базовых хранятся в папке Templates, пользовательские - UserTemplates
3. Добавлена новая форма, которая вызывается через меню "Редактирование отчетов", на этой форме можно:
- Добавлять, изменять и удалять пользовательские отчеты и группы отчетов
- Изменять видимость отчетов на главной форме - т.е ненужные в данный момент отчеты можно сделать скрытыми, посредством снятия галочки в колонке "Видимость" напротив отчета
- В таблице базовые отчеты выделяются серым цветом, группы - синим, а пользовательские отчеты - зеленым
- Шаблоны базовых отчетов редактировать нельзя, но можно создать клон на основе базового отчета(выбираем базовый отчет и в последней колонке нажимаем кнопку "+"), введя новое название и, если нужно, поменяв название шаблона, шаблон для клонированного отчета будет скопирован с базового в папку UserTemplates с заданным именем
- Шаблоны пользователських отчетов можно отредактировать выбрав в таблице нужный отчет и нажав кнопку "...", которая появится в последней колонке
4. Поправлены некоторые шаблоны

Особенности работы программы:

1. Для работы требуется Microsoft .NET Framework 4.0, скачать можно по ссылке

2. Версия программы АвтоГРАФ должна быть не ниже 3.5.0
3. При создании нового отчета нужно указать название отчета, указать шаблон отчета(если не существует будет создан пустой шаблон), указать обработчик(по умолчанию встроенный обработчик, если встроенный обработчик не используется, то получение, обработка и вывод данных нужно реализовать самостоятельно в шаблоне отчета во вкладке КОД)
4. Если выбран встроенный обработчик данных, то будут заполнены только те датасеты, которые были выбраны в шаблоне(поля всех датасетов отображаются в шаблоне отчета при выборе датасета)
5. Документацию по созданию и редактированию шаблонов FastReports.Net можно скачать по ссылке

в разделе документация.

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

csistra 13.01.2013 13:07

Цитата:

Сообщение от SK (Сообщение 47231)
В связи с принципиальными различиями в платформах,
перенос шаблонов из старой версии модуля отчетов
не представляется возможным.

:protiv::protiv:

Yohnus 13.01.2013 13:07

csistra, а Вам никто не мешает пользоваться старой версией...

csistra 13.01.2013 13:39

Цитата:

Сообщение от Yohnus (Сообщение 47234)
csistra, а Вам никто не мешает пользоваться старой версией...

она медленнее и намного.

SK 13.01.2013 16:16

Цитата:

Сообщение от csistra (Сообщение 47233)
Цитата:

Сообщение от SK (Сообщение 47231)
В связи с принципиальными различиями в платформах,
перенос шаблонов из старой версии модуля отчетов
не представляется возможным.

:protiv::protiv:

Ну так-то претензии к Microsoft + FastReports.
Хотя оно понятно, если принципиально по-новому делались и переменные и подключения к базе.
Обычный код и формы тоже на .NET не портируются...

csistra 14.01.2013 08:31

Подскажите плз как в новой версии написать период отчета?
В старой было так :
Период отчета:
[Copy(<StartTime>,1,10)] - [EndTime]
В новой версии без описания понять не могу вижу:
[DS_trip.S_REAL_TIME]
[DS_trip.S_REG_TIME]
[DS_trip.S_PARK_TIME]
[DS_trip.S_PLAN_TIME]
[DS_trip.E_REAL_TIME][DS_trip.E_PLAN_TIME][DS_trip.TR_E_TIME][DS_trip.MR_S_TIME][DS_trip.I1_S_TIME]
и еще кучи всего как понять то что откуда и куда и для чего ????

Yohnus 14.01.2013 08:33

csistra, http://www.fast-report.com/public_do...rManual-ru.pdf

csistra 14.01.2013 08:45

я вот про что говорю:
1.2.9. Время фактическое
Начала / прибытия / пропадания
+
T
15
S_REAL_TIME
19
C[17]
1.2.10. Время начала регистрации
Начало регистрации координат
+
U
15
S_REG_TIME
20
C[17]
1.2.11. Время начала движения
Для учёта рабочего времени
+
V
15
S_MOVE_TIME
21
C[17]
1.2.12. Время начала первой остановки
Для списков рейсов и заправок
+
W
15
S_PARK_TIME
22
C[17]

Добавлено через 55 секунд
в старой версии была такая таблица, сейчас нет.
и в манах а репортам этого нет и не будет ибо это описание полей источника данных.

plex 14.01.2013 08:46

csistra, смотрим Описание полей DBF для списков.doc
и видим


Добавлено через 54 секунды
DS - дата сурс (источник данных) trip - вид отчет для этих данных, тоесть начальная и конечная точки будут определены интервалами этого отчета. В стоянках будут другие интервалы и начальные / конечные точки, хотя общий интервал запрашиваемых данных может быть одинаков для всех отчетов.

csistra 14.01.2013 09:09

В новом комплекте отчетов такого файла в дистрах нет, я и спрашивать начал, вдруг что то и там изменилось.

Добавлено через 1 минуту
Подскажите как из выражения:
[StartTime]-[EndTime]
убрать время оставить только дату ? пока не нашел в манах.

storm 14.01.2013 10:04

Цитата:

Сообщение от csistra (Сообщение 47303)
В новом комплекте отчетов такого файла в дистрах нет, я и спрашивать начал, вдруг что то и там изменилось.

в новых отчетах поля списки полей остались теми же самыми, так как эти поля выгружаются из программы АвтогРАФ, поэтому можно смело пользоваться описаниями полей из старой версии

storm 14.01.2013 10:04

Цитата:

Сообщение от csistra (Сообщение 47303)
Подскажите как из выражения:
[StartTime]-[EndTime]
убрать время оставить только дату ? пока не нашел в манах.

функция Substring вам поможет

csistra 14.01.2013 11:13

Ок. псб.

Добавлено через 20 минут
Перелопатил бегло ман, никак не могу там найти как объявить переменную.
Подскажите плз кто знает.

storm 14.01.2013 11:29

Цитата:

Сообщение от csistra (Сообщение 47329)
Перелопатил бегло ман, никак не могу там найти как объявить переменную.
Подскажите плз кто знает.

в окне данные (справа) - параметры - новый параметр или в коде объявить напрямую

csistra 15.01.2013 09:26

в окне данные нажимаю Actions new parametr
задаю название. и все. а значение не могу поставить. и кнопка edit неактивна.

storm 15.01.2013 09:34

Цитата:

Сообщение от csistra (Сообщение 47445)
в окне данные нажимаю Actions new parametr
задаю название. и все. а значение не могу поставить. и кнопка edit неактивна.

в сво-вах выставляете тип параметра (DataType) и выражение(значение) для него (Expression)

csistra 15.01.2013 11:10

http://saveimg.ru/show-image.php?id=...d536982458002b
у меня нет такого...
может я не туда смотрю ?

storm 15.01.2013 11:25

в окошке со свойствами смотрите

csistra 16.01.2013 11:45

Объявляю переменную.
Пишу в ячейке отчета :
[IIf([rash_park]<100,[rash_park]/1,0)]
почему то ругается на это выражение....

Добавлено через 2 минуты
По сути пытаюсь таким способом сделать 2 отбора. 1 отбор проверяет положительное число или нет, вторым хочу отсечь верхний предел числа.

storm 16.01.2013 11:46

Цитата:

Сообщение от csistra (Сообщение 47534)
Объявляю переменную.
Пишу в ячейке отчета :
[IIf([rash_park]<100,[rash_park]/1,0)]
почему то ругается на это выражение....

во-первых, скриншот того как ругается, а то непонятно что там происходит
во-вторых, какого типа переменная?
в-третьих, что вы хотите вывести - непонятно, что это такое [rash_park]/1, зачем на один делить?

csistra 16.01.2013 11:52

Если пишу одним выражением, ругается еще сильнее...

storm 16.01.2013 11:56

без ответов на прошлые вопросы - ничем не смогу помочь

Цитата:

Сообщение от csistra (Сообщение 47534)
почему то ругается на это выражение

потому что гладиолус))

csistra 16.01.2013 12:03

http://saveimg.ru/show-image.php?id=...2cbfc702b9ed7a
int32
Хочу вывести число которое: 1<X<100

Добавлено через 35 секунд
Цитата:

Сообщение от storm (Сообщение 47542)
без ответов на прошлые вопросы - ничем не смогу помочь

Цитата:

Сообщение от csistra (Сообщение 47534)
почему то ругается на это выражение

потому что гладиолус))

ибо рядом птицы :)
не видел пост когда писал :)

storm 16.01.2013 12:10

csistra,
судя по вашему скриншоту он у вас ругается на другое какое-то выражение
что у вас в ячейке с названием Text16?

csistra 16.01.2013 12:40

Как раз это выражение и есть.

Добавлено через 15 минут
можно завтра вас мин на 10 по удаленке ?

storm 16.01.2013 20:59

Цитата:

Сообщение от csistra (Сообщение 47547)
можно завтра вас мин на 10 по удаленке ?

договорились

storm 17.01.2013 09:55

Обновление


Изменения:
1. Поправлены шаблоны некоторых базовых отчетов

csistra 17.01.2013 13:35

Эх.
Подскажите плз момент.
Пытаюсь посчитать средний пробег на 1тс.
Раньше это все выглядело просто и беззаботно:
SUM(<Dataset1."DISTANCE">)/SUM(IIF(<Dataset1."DISTANCE"> > 0, 1, 0))
Теперь же функции SUM вообще нету. Есть дибильные по другому не назовешь TOTALS.
Целиком выражение затащить не получится, ну ладно.
Разбиваю на две части:
SUM(<Dataset1."DISTANCE">) Есть такая называется [SumDistance]
А вот как написать выражение : SUM(IIF(<Dataset1."DISTANCE"> > 0, 1, 0)).
Создаю новую переенную в TOTALS, ставлю totaltype SUM, пишу в data: (IIf([distance]>0,1,0)).
Вставляю в отчет получившуюся переменную, формирую отчет и оно мне говорит "Пользователь создал исключение".
Сижу вот думаю.....куда чего не едет уже час где то. Помогите.

Добавлено через 2 минуты
П.С. не знаю кому как, я в [SumDistance] вместо [DS_trip.DISTANCE] прописал переменную с вот таким значением: IIf([DS_trip.DISTANCE]>1,[DS_trip.DISTANCE],0). Ибо бывает часто что или "танцует" тс или еще какие беды и нещастья.

csistra 27.01.2013 10:54

Всем снова здрасте, на свои вопросы нашел ответы у знакомых программеров.
На оф форуме фаст репорт вообще мертвое болото.
Нашел еще одну ну не то чтобы ошибку, но косячок.
[TotalAverSpeed] работает не совсем правильно.
а именно данная ф-ция складывает всю среднюю скорость всех тс в отчете и делит на кол-во тс в отчете, но это есть неправильно.
Смотим на скрин:
http://saveimg.ru/show-image.php?id=...17bcb6592a214f
у первого тс пробега ноль, соответственно средняя скорость тоже ноль, но ф-ция считает: 19,5+15+1,3=35,8 и делит это на 4 (в отчете же 4 тс) и получает 8,95 округляет (у меня) до 9, но это направильно 35,8 надо разделить не на 4 а на 3 т.к. 1 тс 0 в средней скорости.
Как то так вобщем..... использовать вам или нет эту ф-цию в таком виде решать прежде всег ВАМ, я лично не буду.

SK 27.01.2013 11:19

Цитата:

Сообщение от csistra (Сообщение 48382)
а именно данная ф-ция складывает всю среднюю скорость всех тс в отчете и делит на кол-во тс в отчете, но это есть неправильно.

Абсолютно согласен.
Бессмысленная средняя температура по госпиталю.
Storm - убери, пожалуйста, это.

SK 27.01.2013 11:24

Цитата:

Сообщение от csistra (Сообщение 48382)
у первого тс пробега ноль, соответственно средняя скорость тоже ноль, но ф-ция считает: 19,5+15+1,3=35,8 и делит это на 4 (в отчете же 4 тс) и получает 8,95 округляет (у меня) до 9, но это направильно 35,8 надо разделить не на 4 а на 3 т.к. 1 тс 0 в средней скорости.

Три ТС со средней скоростью 10 км/ч и одно с 90 км/ч
В итоге получаем среднее: (10+10+10+90)/4=30 км/ч - о чем говорит эта цифра ? Да вообще ни о чем.
В итоговой ячейке имеет смысл вывести минимальную и максимальную из средних скоростей и только. А вообще, средняя тотальная - это минимальная из средних + максимальная из средних - разделить на 2.

csistra 28.01.2013 06:11

Не соглашусь, такие данные как средняя скорость по гаражу, расход л\100км общий, л\100км без простоев, расход л\час на стоянках
дает прежде всего понимание динамики, для того чтоббы постоянно мониторить 50-60 тс надо много времени, а для того чтобы посмотреть 5 цифр 1 минута, надо 1 раз просчитать какие значения в допустимой норме и все.

storm 28.01.2013 06:24

Цитата:

Сообщение от csistra (Сообщение 48434)
Не соглашусь, такие данные как средняя скорость по гаражу, расход л\100км общий, л\100км без простоев, расход л\час на стоянках
дает прежде всего понимание динамики, для того чтоббы постоянно мониторить 50-60 тс надо много времени, а для того чтобы посмотреть 5 цифр 1 минута, надо 1 раз просчитать какие значения в допустимой норме и все.

ну тогда сделайте правильное выражение для вычисления общей средней скорости и впишите его
а вообще для среднего есть только одна правильная формула - сумма поделить на кол-во, все остальное условное среднее, если 99 % машин стоит и скорость нулевая, а 1-2 двигаются, то вычислять среднюю скорость по 1-2 машинам и называть ее общей - ерунда получается по-моему
но если вам она нужна, то отфильтруйте в итогах по нужному вам критерию

csistra 28.01.2013 07:18

С точки зрения математики вы асболютно верно говорите, общую сумму разделить на кол-во.
С точки зрения применения к отчетам нужно сумму делить на кол-во значений отличных (больше) нуля.

Proffit 28.01.2013 07:44

Надо сложить все пробеги и поделить на общее время в движении, тогда будет более-менее правильная срадняя скорость, ИМХО.

csistra 28.01.2013 08:55

Можно и так, но так сложнее.

Proffit 28.01.2013 09:22

Так правильнее.

storm 28.01.2013 09:25

Цитата:

Сообщение от Proffit (Сообщение 48449)
Надо сложить все пробеги и поделить на общее время в движении, тогда будет более-менее правильная срадняя скорость, ИМХО.

это даст тот же результат, что и отфильтровывание нулевых средних скоростей, но фильтрацию будет проще реализовать

Proffit 28.01.2013 09:33

Алексей, предположим есть 3 машины. Первая не ездила. Вторая проехала 100км за 2 часа, средняя скорость 50км/ч. Третья проехала 5 км за 10 минут, средняя скорость 30км/ч. По твоему методу средняя скорость по парку с фильтрацией 40км/ч, без фильтрации 27км/ч, по моему 50км/ч. Это тот же результат?

storm 28.01.2013 09:41

Цитата:

Сообщение от Proffit (Сообщение 48463)
Алексей, предположим есть 3 машины. Первая не ездила. Вторая проехала 100км за 2 часа, средняя скорость 50км/ч. Третья проехала 5 км за 10 минут, средняя скорость 30км/ч. По твоему методу средняя скорость по парку с фильтрацией 40км/ч, без фильтрации 27км/ч, по моему 50км/ч. Это тот же результат?

убедил)

Proffit 28.01.2013 09:49

Отож

SK 28.01.2013 13:38

Необязательно на общее время в движении. Это тоже совершенно неправильно.
В автопарке, допустим, "каток" и грузовики, подвозящие асфальт.
Каток делает 100 км за 100 часов (1 км/ч)
10 грузовиков проехали по 3 км за 3 минуты (0,05 часа) - 60 км/ч
Средняя скорость по методу Proffit будет:
(100 + 3х10) / (100 + 0,05х10) = 1.29 км/ч
Это нормально ? Какова польза от такой средней скорости ?

skier 28.01.2013 13:48

Значит, разбивать на виды ТС. И их нельзя объединять.
Как в расчете расхода топлива.
Камаз на 100км, МТЗ на 1МЧ

Proffit 28.01.2013 13:56

Цитата:

Сообщение от SK (Сообщение 48488)
Необязательно на общее время в движении. Это тоже совершенно неправильно.
В автопарке, допустим, "каток" и грузовики, подвозящие асфальт.
Каток делает 100 км за 100 часов (1 км/ч)
10 грузовиков проехали по 3 км за 3 минуты (0,05 часа) - 60 км/ч
Средняя скорость по методу Proffit будет:
(100 + 3х10) / (100 + 0,05х10) = 1.29 км/ч
Это нормально ? Какова польза от такой средней скорости ?

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

SK 28.01.2013 13:57

Цитата:

Сообщение от skier (Сообщение 48491)
Значит, разбивать на виды ТС. И их нельзя объединять.
Как в расчете расхода топлива.
Камаз на 100км, МТЗ на 1МЧ

Да я просто показал, что средняя температура по госпиталю смысла не имеет. Не зря эта поговорка ходит, ой не зря...

Вообще объясните мне смысл этой средней скорости по парку ???

csistra 28.01.2013 14:24

Все достаточно просто и прозаично.
Если брать параметр для грузовых тс, то действительно средняя температура по больнице, а если взять среднюю цифру по тракторам на севе..... то это уже ключевой показатель определяющий качество выполнения работ.
В случае с грузовиками используем эту цифру достаточно просто. Прежде всего смотрим на расходы топлива тс, если общий расход выскакивает за пределы нормы начинаем анализировать.
Во первых смотрим расхо л\час на стоянке, если там все нормально, проверяем расход л\100 км в движении, попутно выясняем не было ли перегрузов. После этого проверяем среднюю скорость тс, если шпарить на камазе 90 км\ч то про нормы можно забывать сразу. Если камаз едет 60-70 с нормой все отлично.
Собираем все средние скорости за период в 1 цифру. Фиксируем её. Анализируем эту цифру в разрезе большого периода. Понимаем динамику отношения скорости к расходу топлива. Высчитываем период значений средней скорости по гаражу (одентичные модели тс) при которых гараж работает в оптимальном режиме и нет значительного перерасхода. Итого по двум-трем общим цифрам (средней температуре по больнице) за пару минут проверяем работу гаража за неделю и т.п.

Добавлено через 3 минуты
Есть еще куча показателей которые б поидее надо прибавить к отчету, но скажу честно у нас инженерная служба недоросла еще до этого

Добавлено через 4 минуты
Например я использую параметр: кол-во остановок\100км. но только для грузовиков и тракторов.
Если возникает подозрение что товарисчи водители начали баловатся с капельницами(канистрами ит.п.) формирую сводный отчет и смотрю этот показатель. Если для грузовиков на режиме рейсов склад-элеватор больше 2х остановок на 100км при учете длинны прогона 200-300 км сразу подключаю СБ.
Если например у трактора JD 9ки на работе "почвообработка" больше 2х остановок на 100 Га сразу подключаю СБ и как и в случае с грузовиками начинаю ковырять. Период в обоих случаях беру неделю.
Так проверяется практически любая техника.
По опыту скажу такими параметрами, которые вроде бы показывают среднюю температуру по больнице зачастую проверяется и устанавливается факт хищения или неправильного использования тс.

Добавлено через 25 секунд
Но как проверять и по каким параметрам судить это прежде всего личное дело каждого.

csistra 29.01.2013 07:28

Люди подскажите плз, отчет обработка полей в 4 версии нету в шаблонах ????

csistra 31.01.2013 11:42

Подкажите кто знает:
[DS_trip.ROUTE_NAME] параметр работает ?
[DS_trip.CMPL_SQUARE] а этот ?
[DS_trip.OVER_SQUARE] и вот этот ?

Я может чего не понимаю, но имя поля в отчет не попадает, хотя поля есть и работают тут же на старой версии отчетов, обработанная площадь и площадь наложений тоже одни нули.....

storm 31.01.2013 12:08

csistra, ответил в почту

csistra 01.02.2013 06:48

Грустно это все......

Ues 11.02.2013 09:20

Подскажите, пожалуйста. Есть пользовательский шаблон с отчетом в виде матрицы. По вертикали список транспорта, по горизонтали - числа месяца, в ячейках - уровень топлива на конец дня. Если делаю отчет за период от 1 до 14 дней - все нормально. Если период больше 14 - зависает на 100% и не открывает готовый отчет. Подозреваю, что проблема в том, что на одном листе не умещается, а на другой лист продолжатся не хочет. Подскажите, как исправить?

programmeran 11.02.2013 10:14

Здравствуйте в AGReports был шаблон обработка полей, в ReportsNet такого шаблона не вижу, может не там смотрю?

csistra 12.02.2013 06:37

Его нет, ибо в 4 версии АГ не реализовали еще этот момент. Две недели назад с этим столкнулся передал всю инфу в ТК, програмеры сейчас тестируют.
Как будет готово думаю будет общий апдейт.

SATP 12.02.2013 13:38

дайте формулу для расчёта расхода л/100км и л/Мч

csistra 13.02.2013 06:03

расход\пробег*100

Добавлено через 1 минуту
Вы сами пишете л\100км... подумать не ?

csistra 13.02.2013 11:17

Подскажите как реализовать.
Если значение >0 то цвет ячейки или текста красный, если <0 то не красить
В старой версии знаю как, в новой не найду....

storm 13.02.2013 11:38

Цитата:

Сообщение от csistra (Сообщение 49954)
Если значение >0 то цвет ячейки или текста красный, если <0 то не красить
В старой версии знаю как, в новой не найду....

выбираете ячейку, вверху на панельках ищете кнопку с буквами "ab"
добавляете условие, можно задать так Value>0 и указываете как раскрашивать

csistra 15.02.2013 11:18

Спасибо все работает.

kolya 18.02.2013 09:23

А подскажите такую вещь, отчет нужен ввиде карты с трэком на карте ну и остановки отсортировать примерно там ну в 30 мин, и отчет составлять ввиде карт.

csistra 18.02.2013 11:21

теоретически можно и это.

kolya 18.02.2013 11:45

давайте подумаем с помощью чего можно это сделать...?

Добавлено через 17 минут
Нашел экспорт треков, но тут немного не так, вот чтоб типа нажал формировать отчет он раз картинки джипег накидал в папку по ТС.


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

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