PDA

Просмотр полной версии : Доработка: Отчеты


LDM
05.02.2011, 05:34
1.Во встроенных отчетах ФАЙЛ=>ГРУППОВАЯ ОБРАБОТКА ДАННЫХ можно сделать настройку граф, которые будут отображаться на экране в Exel.
Если используется экспорт: ЭКСПОРТ=>ЭКСПОРТИРОВАТЬ ДАННЫЕ в MS Exel, то настройки экспорта на эти отчеты не действуют. В таблицу выводятся все колонки. Было бы хорошо, если бы можно было настраивать выводимые в таблицу графы и в этом отчет.
2. Во внешних отчетах пробег рассчитывается с точностью до 4-го знака!!? :dontknow:

plex
05.02.2011, 06:39
Если используется экспорт: ЭКСПОРТ=>ЭКСПОРТИРОВАТЬ ДАННЫЕ в MS Exel, то настройки экспорта на эти отчеты не действуют. В таблицу выводятся все колонки. Было бы хорошо, если бы можно было настраивать выводимые в таблицу графы и в этом отчет.Экспорт - настройки экспорта. далее выбираем из списка нужный вид экспортируемых данных ( например заправки и сливы бака 1) и ставим галочки какие хотим

SK
05.02.2011, 09:41
1.Во встроенных отчетах ФАЙЛ=>ГРУППОВАЯ ОБРАБОТКА ДАННЫХ можно сделать настройку граф, которые будут отображаться на экране в Exel.
Если используется экспорт: ЭКСПОРТ=>ЭКСПОРТИРОВАТЬ ДАННЫЕ в MS Exel, то настройки экспорта на эти отчеты не действуют. В таблицу выводятся все колонки. Было бы хорошо, если бы можно было настраивать выводимые в таблицу графы и в этом отчет.
2. Во внешних отчетах пробег рассчитывается с точностью до 4-го знака!!? :dontknow:
В Excel тоже... просто сделано округление средствами свойств ячейки Excel...

LDM
06.02.2011, 07:31
Экспорт - настройки экспорта. далее выбираем из списка нужный вид экспортируемых данных ( например заправки и сливы бака 1) и ставим галочки какие хотим
ЭКСПОРТ=>ЭКСПОРТИРОВАТЬ ДАННЫЕ в MS Exel=>СЧЕТЧИКИ=>Счетчики 1-4. В настройках экспорта в окне экспортируемых данных счетчики отсутствуют. В отчет выводятся ВСЕ данные.

plex
06.02.2011, 15:17
В настройках экспорта в окне экспортируемых данных счетчики отсутствуют.Давайте сюда скрины настроек экспорта...... вы настраиваете экспорт счетчиков1-4?

plex
06.02.2011, 15:21
Вот так например они не будут экспортироваться потому что экспорт счетчиков настроен в выгрузке рейсов

storm
07.02.2011, 04:13
2. Во внешних отчетах пробег рассчитывается с точностью до 4-го знака!!?
зайдите в редактор шаблона, найдите ячейку с пробегом, щелкните по ней два раза мышкой, откроется редактор текста, выберите закладку формат "Число" и выберите нужны вам вариант вывода

LDM
07.02.2011, 12:56
Вот так например они не будут экспортироваться потому что экспорт счетчиков настроен в выгрузке рейсов

Пробовал ставить все галочки и убирать все галочки, ставить "по умолчанию", но результат один в таблицу- выводятся все данные, а нужно только LLS и график. Вообще не понятно почему настройки списка рейсов должны влиять на отчеты по счетчикам. Даже если это так, то логичне выводить данные напротив которых стоят галочки, а не наоборот, как Вы подсказываете. Собственно так и происходит, когда используется групповая обработка данных. Но эти настройки никак не влияют на экспорт данных счетчиков через меню ЭКСПОРТ.

SK
07.02.2011, 14:18
Экспорт - настройки экспорта. далее выбираем из списка нужный вид экспортируемых данных ( например заправки и сливы бака 1) и ставим галочки какие хотим
ЭКСПОРТ=>ЭКСПОРТИРОВАТЬ ДАННЫЕ в MS Exel=>СЧЕТЧИКИ=>Счетчики 1-4. В настройках экспорта в окне экспортируемых данных счетчики отсутствуют. В отчет выводятся ВСЕ данные.
Это ложь. Счетчики присутствуют.

LDM
09.02.2011, 07:14
Экспорт - настройки экспорта. далее выбираем из списка нужный вид экспортируемых данных ( например заправки и сливы бака 1) и ставим галочки какие хотим
ЭКСПОРТ=>ЭКСПОРТИРОВАТЬ ДАННЫЕ в MS Exel=>СЧЕТЧИКИ=>Счетчики 1-4. В настройках экспорта в окне экспортируемых данных счетчики отсутствуют. В отчет выводятся ВСЕ данные.
Это ложь. Счетчики присутствуют.

Может я что-то не так делаю. Подскажите пожалуйста, какой вид экспортируемых данных выбрать из списка и какие галочки поставить, чтобы в отчете полученном через ЭКСПОРТ=>ЭКСПОРТИРОВАТЬ ДАННЫЕ в MS Exel=>СЧЕТЧИКИ=>Счетчики 1-4. в выводимой таблице присутствовали только данные по LLS1 и LLS2 ?

SK
09.02.2011, 07:24
Может я что-то не так делаю. Подскажите пожалуйста, какой вид экспортируемых данных выбрать из списка и какие галочки поставить, чтобы в отчете полученном через ЭКСПОРТ=>ЭКСПОРТИРОВАТЬ ДАННЫЕ в MS Exel=>СЧЕТЧИКИ=>Счетчики 1-4. в выводимой таблице присутствовали только данные по LLS1 и LLS2 ?
Господа. Как сделать, чтобы при выводе товара по группе "Мясо" выводились только "Конфеты шоколадные" ?
Какое отношение LLS имеют к счетчикам 1-4 ???

Вы, пожалуйста, напишите запрос правильно: что за LLS ? LLS от Omnicomm c RS-485 или это просто LLS = Liquid Level Sensor = ДУТ с частотным выходом ? Если да, то на какие входы они подключены ?
У нас все штатные телепаты в отпуске...
А вообще, если Вы хоть раз смотрели экспорт в Excel - там всегда присутствуют все столбцы, просто ненужные столбцы скрываются - аналогично можно в Excel выделить столбец руками и выбрать "Скрыть".

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

Kovalenko Yura
21.02.2011, 10:16
Еще. Экспорт в Excel - больше технологический. Для нормальной удобочитаемой отчетности существует собственно модуль отчетов со встроенным редактором, позволяющим производить практически любые операции на данными, оформлять как душа пожелает и выводить итог в массу форматов файлов (в т.ч. и в MS Excel).
А откуда бы взять да и скачать такой модуль? Вообще, почитав форум, начинаешь осознавать что АвтоГраф имеет массу разных полезных модулей, надстроечек, добавочек, вот только где бы посмотреть их бы перечень да еще с пояснениями какая что делает. Часто бывает смотришь подобный список и видишь "Ага вот оно! Я так и хотел".

plex
21.02.2011, 11:04
А откуда бы взять да и скачать такой модуль? Вообще, почитав форум, начинаешь осознавать что АвтоГраф имеет массу разных полезных модулей, надстроечек, добавочек, вот только где бы посмотреть их бы перечень да еще с пояснениями какая что делает. Часто бывает смотришь подобный список и видишь "Ага вот оно! Я так и хотел".
Спросите его у поставщика системы.

snm
01.03.2011, 08:02
Здравствуйте, не подскажите в чем причина: данные по GSM приходят, а при формировании отчет пустой? Ничего не меняли.

CorpN
01.03.2011, 10:45
snm, ну вот и что из такой описаловки можно понять? :dwarf:

SK
01.03.2011, 11:33
Да, вопрос неинформативен. Что не меняли, где не меняли, какой модуль отчетов использовался, как что было изначально... Требуется телепат.

Keine-engel
02.03.2011, 15:10
насколько процентов (на ровной поверхности и горной) Система "АвтоГРАФ" может ошибаться? И есть ли такой документ который подтверждает эти цифры?

SK
02.03.2011, 19:00
насколько процентов (на ровной поверхности и горной) Система "АвтоГРАФ" может ошибаться? И есть ли такой документ который подтверждает эти цифры?
1. Насколько ошибаться в чем ? В определении факта остановки ? В измерении уровня топлива ? В определении факта нажатия на тревожную кнопку ? Ошибки в тексте отправляемых СМС ? В моточасах ?
Вам не кажется, что в вопросе чего-то не хватает ?
2. Какое отношение это имеет к теме про отчеты ?

Keine-engel
03.03.2011, 04:01
когда смотрим отчет рейсы, там есть графа "Пробег, км" он не сходиться с спидометром. Где 50км, где на 100км меньше, чем у спидометра.

plex
03.03.2011, 04:10
когда смотрим отчет рейсы, там есть графа "Пробег, км" он не сходиться с спидометром. Где 50км, где на 100км меньше, чем у спидометра.Это касается не только отчетов но и самой программы (а если углубляться то и всех измерений при помощи GPS) дело в том что у всех спидометров (одометров) заложена положительная погрешность (чтоб машина ехала не быстрее чем показывает спидометр, в целях безопасности и соблюдения ПДД) Например на моей машине это завышение показаний спидометра около 10%. Так же показания спидометра зависят от размера резины, ее износа и многих других факторов (на камазах и мазах с трехфаазным датчиком скорости заложенная точность получается на скоростях более 20 кмч). Автограф конечно тоже имеет погрешность, но в разы меньшую, чем спидометр автомобиля. Это вы можете убедится на "Опытном" замере по километровым столбикам на федеральной трассе - они поставлены с весьма высокой точностью.
Вот в догонку http://www.zr.ru/articles/50698
На самом деле одометр (спидометр) может врать до 20% - если сложатся разные факторы - диаметр резины, накачка колес, груз в кузове, проскальзывание по мокрой или скользкой дороге - так как съем оборотов идет с вала (!!!), а не с внешнего обода колеса и потом обороты просто умножаются (механически или электронно) на длину окружности колеса 2¶R, где R - некий "заводской" радиус... Ну и + износ механизма измерения (см. статью).

Llirik81
03.03.2011, 09:41
когда смотрим отчет рейсы, там есть графа "Пробег, км" он не сходиться с спидометром. Где 50км, где на 100км меньше, чем у спидометра.
А ещё - водитель может спидометр подкрутить... А для "окончательной" уверенности - следует уточнить, что в отчётах и в программе отображается фактическое перемещение транспортного средства.

Дмитрий 22
11.05.2011, 08:11
Доброго времени суток! Столкнулся с такой проблемой: Руководитель хочет видеть в отчете "Число прибытий в контрольные точки" столбец где указывается общее время нахождения в данной КТ. Редактирую шаблон путем удаления столбца "Пробег" и вставляю [Dataset1."REAL_CONT"]. При формировании вижу следующее: если "Число прибытий" 1 то время нахождения правильно, а если более 2 х посещений КТ то абсолютно неправильно, т. е. не суммируется. Также не могу создать "составной" отчет чтоб итог был тот же. В самой программе есть примерный отчет с колонкой "Время нахождения", но нет строки "Включая не пройденные" и не подлежит экспорту в другие форматы. Сам я не программист, поэтому помогите решить данную проблему.

storm
11.05.2011, 11:29
При формировании вижу следующее: если "Число прибытий" 1 то время нахождения правильно, а если более 2 х посещений КТ то абсолютно неправильно, т. е. не суммируется
вы в отчет добавили просто поле [Dataset1."REAL_CONT", которое означает просто продолжительность нахождения в контрольной точке, а вам надо все эти продолжительности просуммировать примерно так

вопрос:
Как просуммировать общее время и вывести его в итог


var
CurrCont: TDateTime = 0;
Str: String;

procedure SumCont(Cont: String);
begin
if Length(Cont) > 8 then CurrCont := CurrCont + StrToDateTime(Copy(Cont, Length(Cont) - 7, 8)) + StrToFloat(Copy(Cont, 0, Length(Cont) - 9))
else CurrCont := CurrCont + StrToDateTime(Copy(Cont, Length(Cont) - 7, 8));

end;

function GetSumCont(): String;
begin

if CurrCont >= 1 then
begin
Str := DateTimeToStr(CurrCont);
Str := IntToStr(Trunc(CurrCont)) + 'сут. ' + Copy(Str, Length(Str) - 7, 8);
//Str := IntToStr(Trunc(CurrCont) * 24 + StrToInt(Copy(Str, Length(Str) - 7, 2))) + Copy(Str, Length(Str) - 5, 6);
end
else
begin
Str := DateTimeToStr(CurrCont);
Str := Copy(Str, Length(Str) - 7, 8);
end;

result := Str;
end;

во вкладку код в редакторе шаблонов вставляете этот текст
в MasterData2 вызываете первую функцию, в нее параметром передаете время для суммирования
в вашем случае как-то так [SumCont(<Dataset1."REAL_CONT">)], ее можно засунуть в невидимую ячейку или в любую ячейку в MasterData2

а затем, там где идет итог по времени вставить ячейку с текстом [GetSumCont()]

Дмитрий 22
12.05.2011, 04:02
При формировании вижу следующее: если "Число прибытий" 1 то время нахождения правильно, а если более 2 х посещений КТ то абсолютно неправильно, т. е. не суммируется
вы в отчет добавили просто поле [Dataset1."REAL_CONT", которое означает просто продолжительность нахождения в контрольной точке, а вам надо все эти продолжительности просуммировать примерно так

вопрос:
Как просуммировать общее время и вывести его в итог


var
CurrCont: TDateTime = 0;
Str: String;

procedure SumCont(Cont: String);
begin
if Length(Cont) > 8 then CurrCont := CurrCont + StrToDateTime(Copy(Cont, Length(Cont) - 7, 8)) + StrToFloat(Copy(Cont, 0, Length(Cont) - 9))
else CurrCont := CurrCont + StrToDateTime(Copy(Cont, Length(Cont) - 7, 8));

end;

function GetSumCont(): String;
begin

if CurrCont >= 1 then
begin
Str := DateTimeToStr(CurrCont);
Str := IntToStr(Trunc(CurrCont)) + 'сут. ' + Copy(Str, Length(Str) - 7, 8);
//Str := IntToStr(Trunc(CurrCont) * 24 + StrToInt(Copy(Str, Length(Str) - 7, 2))) + Copy(Str, Length(Str) - 5, 6);
end
else
begin
Str := DateTimeToStr(CurrCont);
Str := Copy(Str, Length(Str) - 7, 8);
end;

result := Str;
end;во вкладку код в редакторе шаблонов вставляете этот текст
в MasterData2 вызываете первую функцию, в нее параметром передаете время для суммирования
в вашем случае как-то так [SumCont(<Dataset1."REAL_CONT">)], ее можно засунуть в невидимую ячейку или в любую ячейку в MasterData2

а затем, там где идет итог по времени вставить ячейку с текстом [GetSumCont()]


Вопрос напрашивается сам за себя- Параметр CONT не описан. Вроде так. Если можно ответьте скринами.

storm
12.05.2011, 05:17
в вашем случае вкладка код должна содержать код, который я скинул и в конец добавляете то, что у вас уже было

должно получиться так

var
Days: array[1..7] of string;
CurrCont: TDateTime = 0;
Str: String;

procedure SumCont(Cont: String);
begin
if Length(Cont) > 8 then CurrCont := CurrCont + StrToDateTime(Copy(Cont, Length(Cont) - 7, 8)) + StrToFloat(Copy(Cont, 0, Length(Cont) - 9))
else CurrCont := CurrCont + StrToDateTime(Copy(Cont, Length(Cont) - 7, 8));
end;

function GetSumCont(): String;
begin
if CurrCont >= 1 then
begin
Str := DateTimeToStr(CurrCont);
Str := IntToStr(Trunc(CurrCont)) + 'сут. ' + Copy(Str, Length(Str) - 7, 8);
//Str := IntToStr(Trunc(CurrCont) * 24 + StrToInt(Copy(Str, Length(Str) - 7, 2))) + Copy(Str, Length(Str) - 5, 6);
end
else
begin
Str := DateTimeToStr(CurrCont);
Str := Copy(Str, Length(Str) - 7, 8);
end;

result := Str;
end;

begin
Days[1] := 'Воскресенье';
Days[2] := 'Понедельник';
Days[3] := 'Вторник';
Days[4] := 'Среда';
Days[5] := 'Четверг';
Days[6] := 'Пятница';
Days[7] := 'Суббота';
end.вы же часть кода, которая у вас была
begin
Days[1] := 'Воскресенье';
Days[2] := 'Понедельник';
Days[3] := 'Вторник';
Days[4] := 'Среда';
Days[5] := 'Четверг';
Days[6] := 'Пятница';
Days[7] := 'Суббота';
end.почему то засунули в середину того, что прислал вам я

ФОРУМ ТК
12.05.2011, 05:45
почему то засунули в середину того, что прислал вам я
storm это провокация не поддавайтесь на это!!!:Laie_16:

Дмитрий 22
12.05.2011, 07:59
почему то засунули в середину того, что прислал вам я
storm это провокация не поддавайтесь на это!!!:Laie_16:
Я же говорю что я НЕ ПРОГРАММИСТ и для меня это темный лес и помоч мне некому! сижу туплю второй день. По другому не можете помоч? Более чтоб понятно было для меня или выслать например уже готовый шаблон???
На первом скрине видно что когда ставлю галку "Включая непройденные" - ошибка.
Второй скрин показывает что при выборе периода за день все правильно отображается, а при выборе за 2 и более суток неправильно.

ФОРУМ ТК
12.05.2011, 16:44
Я же говорю что я НЕ ПРОГРАММИСТ и для меня это темный лес и помоч мне некому!
Очень жаль! Я так понимаю, что вам это вменили в обязанность. Поэтому придется медленно и терпеливо грызть гранит программирования.
Сделать готовый шаблон, мы конечно можем, это не проблема, НО нам это абсолютно некогда делать и если предположить, что у нас очень много пользователей, дилеров и каждому сделать отчет, то время работы наших программеров расписано как минимум до 2099 года... Дальше не загадываю.
Поэтому, поймите, если вы один раз разберетесь, то в последующем вам уже будет гораздо проще все реализовывать.:muscle:

Дмитрий 22
13.05.2011, 02:15
Тогда смысл вашего форума в чем? Отписываться о том что нам некогда вашими проблемами заниматься? Диллеру тоже некогда - бабки собирают за абонентскую плату, а остальное е....сь как хотите. Думаю не одному мне хотелось бы что нибудь изменить. Собрать хотя бы статистику по "желаниям" потребителей. Думаю найдутся примерные задачи. А удалить проще чем написать.

Дмитрий 22
13.05.2011, 04:17
в MasterData2 вызываете первую функцию, в нее параметром передаете время для суммирования
в вашем случае как-то так [SumCont(<Dataset1."REAL_CONT">)], ее можно засунуть в невидимую ячейку или в любую ячейку в MasterData2

Storm, я так понимаю проблема у меня вот в этом. Можете подробнее написать эти действия.

storm
13.05.2011, 05:09
Значит начнемс:
1. Из предыдущего моего поста вам нужно скопировать весь код целиком и вставить все в шаблон вашего отчета, предварительно удалив оттуда то, что там раньше было
2. так как вы используете непройденные контрольные точки, то для них естественно нет времени нахождения(так как машина в них не была ни разу), то вам нужно тогда немного изменить текст, вместо [SumCont(<Dataset1."REAL_CONT">)] вам нужно вставить [IIF(<Dataset1."REAL_CONT"> > '', SumCont(<Dataset1."REAL_CONT">), '0')]
Т.е делаем проверку, что время задано, если нет, то выводим 0

как-то так, если еще что-то будет не понятно - пишите

zsergey
13.05.2011, 05:12
Storm, я так понимаю проблема у меня вот в этом. Можете подробнее написать эти действия.
Дима, куда подробней? Может тебя сразу научить программировать? Учи азы или позови за пиво друга программиста :)

Дмитрий 22
13.05.2011, 05:54
Storm, я так понимаю проблема у меня вот в этом. Можете подробнее написать эти действия.
Дима, куда подробней? Может тебя сразу научить программировать? Учи азы или позови за пиво друга программиста :)
Storm, проблема что при выборе периода за день все правильно отображается, а при выборе за 2 и более суток неправильно.

storm
13.05.2011, 05:59
скриншот пожалуйста, как сейчас выглядит и как должно быть, вобщем, что где не так подробно опишите

ФОРУМ ТК
13.05.2011, 06:37
Тогда смысл вашего форума в чем? Отписываться о том что нам некогда вашими проблемами заниматься? Диллеру тоже некогда - бабки собирают за абонентскую плату, а остальное е....сь как хотите. Думаю не одному мне хотелось бы что нибудь изменить. Собрать хотя бы статистику по "желаниям" потребителей. Думаю найдутся примерные задачи. А удалить проще чем написать.
Матом ругаться мы все мастаки. Так, что давайте по-аккуратней на поворотах!
Что касается абонентки, то тут еще посмотреть надо: где и кто решил съэкономить.
Как-что сразу дилер, деньги берет ничего не делает. А потом выясняется, что клиент в целях экономии от всего отказался. Дык какие претензии в таком случае.
Учить в данном форуме азам программирования мы не будем, не наш профиль (для этого есть http://fast-report.com/ru/forum/ ), мы можем только поправить какие-то специфические вещи.

Дмитрий 22
13.05.2011, 07:29
скриншот пожалуйста, как сейчас выглядит и как должно быть, вобщем, что где не так подробно опишите
Код вставил без проблем. Интересует:
1. Первые два скрина отображают Время нахождения. Что то оно не сходится.
2. Интересует это предложение - "в MasterData2 вызываете первую функцию, в нее параметром передаете время для суммирования
в вашем случае как-то так [SumCont(<Dataset1."REAL_CONT">)], ее можно засунуть в невидимую ячейку или в любую ячейку в MasterData2" . Может я неправильно как то это сделал? и поэтому так время отображает в отчете?
Думаю для Вас, Storm, не много займет времени отредактировать данный шаблон. Если можно, тож хотелось бы увидеть скрины ну или готовый шаблон такого плана.

storm
13.05.2011, 08:43
у вас идет накопление продолжительностей, замените код на следующий, в нем добавлено обнуление переменной

var
Days: array[1..7] of string;

CurrCont: TDateTime = 0;
Str: String;
procedure SumCont(Cont: String);
begin
if Length(Cont) > 8 then CurrCont := CurrCont + StrToDateTime(Copy(Cont, Length(Cont) - 7, 8)) + StrToFloat(Copy(Cont, 0, Length(Cont) - 9))
else CurrCont := CurrCont + StrToDateTime(Copy(Cont, Length(Cont) - 7, 8));
end;


function GetSumCont(): String;
begin
if CurrCont >= 1 then
begin
Str := DateTimeToStr(CurrCont);
Str := IntToStr(Trunc(CurrCont)) + 'сут. ' + Copy(Str, Length(Str) - 7, 8);
//Str := IntToStr(Trunc(CurrCont) * 24 + StrToInt(Copy(Str, Length(Str) - 7, 2))) + Copy(Str, Length(Str) - 5, 6);
end
else
begin
Str := DateTimeToStr(CurrCont);
Str := Copy(Str, Length(Str) - 7, 8);
end;

CurrCont := 0;

result := Str;
end;

begin
Days[1] := 'Воскресенье';
Days[2] := 'Понедельник';
Days[3] := 'Вторник';
Days[4] := 'Среда';
Days[5] := 'Четверг';
Days[6] := 'Пятница';
Days[7] := 'Суббота';
end.


насчет второго пункта, вам нужно вставить ячейку с текстом
[IIF(<Dataset1."REAL_CONT"> > '', SumCont(<Dataset1."REAL_CONT">), '')]
не в GroupFooter1, а в MasterData2, для этого вам нужно выбрать MasterData2, и растянуть его немного вниз, потом поместить в него ячейку с текстом, высоту этой ячейки сделать равной нулю, те выделяете ячейку и за нижнюю границу тянете вверх, пока у ячейки высота не станет нулевой, после этого саму мастердату тоже делаете нулевой высоты, таким образом мы получаем спрятанную(невидимую ячейку)

Дмитрий 22
13.05.2011, 09:23
:agree:Огромное спасибо, Storm, что все-таки хватило нервов разжевать. Почти все работает, только вот проблемка небольшая - При установки галочки "Включая непройденные" происходит следующие:

VizART
13.05.2011, 11:19
:agree:Огромное спасибо, Storm, что все-таки хватило нервов разжевать. Почти все работает, только вот проблемка небольшая - При установки галочки "Включая непройденные" происходит следующие:
По моему, там всё нормально - у "непройденных" точек нет времени нахождения ("продолжительность"). :)

storm
13.05.2011, 12:30
угу, понял
замените код на следующий и все будет ок

var
CurrCont: TDateTime = 0;
Str: String;
Days: array[1..7] of string;

procedure SumCont(Cont: String);
begin
if Length(Cont) > 8 then CurrCont := CurrCont + StrToDateTime(Copy(Cont, Length(Cont) - 7, 8)) + StrToFloat(Copy(Cont, 0, Length(Cont) - 9))
else CurrCont := CurrCont + StrToDateTime(Copy(Cont, Length(Cont) - 7, 8));
end;


function GetSumCont(): String;
begin
if CurrCont >= 1 then
begin
Str := DateTimeToStr(CurrCont);
Str := IntToStr(Trunc(CurrCont)) + 'сут. ' + Copy(Str, Length(Str) - 7, 8);
//Str := IntToStr(Trunc(CurrCont) * 24 + StrToInt(Copy(Str, Length(Str) - 7, 2))) + Copy(Str, Length(Str) - 5, 6);
end
else
begin
Str := DateTimeToStr(CurrCont);
Str := Copy(Str, Length(Str) - 7, 8);
end;

if CurrCont = 0 then
begin
Str := '';
end;

CurrCont := 0;

result := Str;
end;

begin
Days[1] := 'Воскресенье';
Days[2] := 'Понедельник';
Days[3] := 'Вторник';
Days[4] := 'Среда';
Days[5] := 'Четверг';
Days[6] := 'Пятница';
Days[7] := 'Суббота';
end.

Дмитрий 22
16.05.2011, 05:49
:agree:Огромное спасибо, Storm, что все-таки хватило нервов разжевать. Почти все работает, только вот проблемка небольшая - При установки галочки "Включая непройденные" происходит следующие:
День добрый. Спасибо, Storm.
1.Дело в том что происходит дублирование всех точек(как пройденных так и нет). Т.е. нужно убрать ненужное дублирование КТ.(скрин 1)
2.И есть еще просьба - это автоматическое суммирование ощего времени(скрин 2)
Привожу скрины взятые за одну дату - "как есть" и "как хочется". Я понимаю можно это самому сидеть редактировать, но парк авто большой и времени уйма уходит.

storm
16.05.2011, 06:01
вышлите на почту storm@tk-chel.ru шаблон вашего отчета, данные(бинарники), файл контрольных точек и карлист с настройками по машине, на которой вы тестируете - я посмотрю, что не так

Lubov
29.01.2013, 12:00
У меня тоже возникла необходимость подобного отчета - а здесь все замечательно и понятно расписано! :thumbup:
Но у меня контрольные точки разделены на 2 типа - тип База и все остальные.
Подскажите, плиз, как сделать так, чтобы в одну ячейку записывалась сумма времени, проведенного на Базе, а в другую сумма времени, проведенного в других КТ?