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

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

LDM 05.02.2011 05:34

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

plex 05.02.2011 06:39

Цитата:

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

Экспорт - настройки экспорта. далее выбираем из списка нужный вид экспортируемых данных ( например заправки и сливы бака 1) и ставим галочки какие хотим

SK 05.02.2011 09:41

Цитата:

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

В Excel тоже... просто сделано округление средствами свойств ячейки Excel...

LDM 06.02.2011 07:31

Цитата:

Сообщение от plex (Сообщение 2627)
Экспорт - настройки экспорта. далее выбираем из списка нужный вид экспортируемых данных ( например заправки и сливы бака 1) и ставим галочки какие хотим

ЭКСПОРТ=>ЭКСПОРТИРОВАТЬ ДАННЫЕ в MS Exel=>СЧЕТЧИКИ=>Счетчики 1-4. В настройках экспорта в окне экспортируемых данных счетчики отсутствуют. В отчет выводятся ВСЕ данные.

plex 06.02.2011 15:17

Цитата:

Сообщение от LDM (Сообщение 2652)
В настройках экспорта в окне экспортируемых данных счетчики отсутствуют.

Давайте сюда скрины настроек экспорта...... вы настраиваете экспорт счетчиков1-4?

plex 06.02.2011 15:21

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

storm 07.02.2011 04:13

Цитата:

Сообщение от LDM (Сообщение 2626)
2. Во внешних отчетах пробег рассчитывается с точностью до 4-го знака!!?

зайдите в редактор шаблона, найдите ячейку с пробегом, щелкните по ней два раза мышкой, откроется редактор текста, выберите закладку формат "Число" и выберите нужны вам вариант вывода

LDM 07.02.2011 12:56

Цитата:

Сообщение от plex (Сообщение 2666)
Вот так например они не будут экспортироваться потому что экспорт счетчиков настроен в выгрузке рейсов

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

SK 07.02.2011 14:18

Цитата:

Сообщение от LDM (Сообщение 2652)
Цитата:

Сообщение от plex (Сообщение 2627)
Экспорт - настройки экспорта. далее выбираем из списка нужный вид экспортируемых данных ( например заправки и сливы бака 1) и ставим галочки какие хотим

ЭКСПОРТ=>ЭКСПОРТИРОВАТЬ ДАННЫЕ в MS Exel=>СЧЕТЧИКИ=>Счетчики 1-4. В настройках экспорта в окне экспортируемых данных счетчики отсутствуют. В отчет выводятся ВСЕ данные.

Это ложь. Счетчики присутствуют.

LDM 09.02.2011 07:14

Вложений: 1
Цитата:

Сообщение от SK (Сообщение 2785)
Цитата:

Сообщение от LDM (Сообщение 2652)
Цитата:

Сообщение от plex (Сообщение 2627)
Экспорт - настройки экспорта. далее выбираем из списка нужный вид экспортируемых данных ( например заправки и сливы бака 1) и ставим галочки какие хотим

ЭКСПОРТ=>ЭКСПОРТИРОВАТЬ ДАННЫЕ в MS Exel=>СЧЕТЧИКИ=>Счетчики 1-4. В настройках экспорта в окне экспортируемых данных счетчики отсутствуют. В отчет выводятся ВСЕ данные.

Это ложь. Счетчики присутствуют.

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

SK 09.02.2011 07:24

Цитата:

Сообщение от LDM (Сообщение 2986)
Может я что-то не так делаю. Подскажите пожалуйста, какой вид экспортируемых данных выбрать из списка и какие галочки поставить, чтобы в отчете полученном через ЭКСПОРТ=>ЭКСПОРТИРОВАТЬ ДАННЫЕ в 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

Цитата:

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

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

plex 21.02.2011 11:04

Цитата:

Сообщение от Kovalenko Yura (Сообщение 3949)
А откуда бы взять да и скачать такой модуль? Вообще, почитав форум, начинаешь осознавать что АвтоГраф имеет массу разных полезных модулей, надстроечек, добавочек, вот только где бы посмотреть их бы перечень да еще с пояснениями какая что делает. Часто бывает смотришь подобный список и видишь "Ага вот оно! Я так и хотел".

Спросите его у поставщика системы.

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

Цитата:

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

1. Насколько ошибаться в чем ? В определении факта остановки ? В измерении уровня топлива ? В определении факта нажатия на тревожную кнопку ? Ошибки в тексте отправляемых СМС ? В моточасах ?
Вам не кажется, что в вопросе чего-то не хватает ?
2. Какое отношение это имеет к теме про отчеты ?

Keine-engel 03.03.2011 04:01

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

plex 03.03.2011 04:10

Цитата:

Сообщение от Keine-engel (Сообщение 4572)
когда смотрим отчет рейсы, там есть графа "Пробег, км" он не сходиться с спидометром. Где 50км, где на 100км меньше, чем у спидометра.

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

Llirik81 03.03.2011 09:41

Цитата:

Сообщение от Keine-engel (Сообщение 4572)
когда смотрим отчет рейсы, там есть графа "Пробег, км" он не сходиться с спидометром. Где 50км, где на 100км меньше, чем у спидометра.

А ещё - водитель может спидометр подкрутить... А для "окончательной" уверенности - следует уточнить, что в отчётах и в программе отображается фактическое перемещение транспортного средства.

Дмитрий 22 11.05.2011 08:11

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

storm 11.05.2011 11:29

Цитата:

Сообщение от Дмитрий 22 (Сообщение 8818)
При формировании вижу следующее: если "Число прибытий" 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

Цитата:

Сообщение от storm (Сообщение 8835)
Цитата:

Сообщение от Дмитрий 22 (Сообщение 8818)
При формировании вижу следующее: если "Число прибытий" 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 (Сообщение 8852)
почему то засунули в середину того, что прислал вам я

storm это провокация не поддавайтесь на это!!!:Laie_16:

Дмитрий 22 12.05.2011 07:59

Цитата:

Сообщение от rukav (Сообщение 8855)
Цитата:

Сообщение от storm (Сообщение 8852)
почему то засунули в середину того, что прислал вам я

storm это провокация не поддавайтесь на это!!!:Laie_16:

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

ФОРУМ ТК 12.05.2011 16:44

Цитата:

Сообщение от Дмитрий 22 (Сообщение 8863)
Я же говорю что я НЕ ПРОГРАММИСТ и для меня это темный лес и помоч мне некому!

Очень жаль! Я так понимаю, что вам это вменили в обязанность. Поэтому придется медленно и терпеливо грызть гранит программирования.
Сделать готовый шаблон, мы конечно можем, это не проблема, НО нам это абсолютно некогда делать и если предположить, что у нас очень много пользователей, дилеров и каждому сделать отчет, то время работы наших программеров расписано как минимум до 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

Цитата:

Сообщение от Дмитрий 22 (Сообщение 8874)
Storm, я так понимаю проблема у меня вот в этом. Можете подробнее написать эти действия.

Дима, куда подробней? Может тебя сразу научить программировать? Учи азы или позови за пиво друга программиста :)

Дмитрий 22 13.05.2011 05:54

Цитата:

Сообщение от zsergey (Сообщение 8876)
Цитата:

Сообщение от Дмитрий 22 (Сообщение 8874)
Storm, я так понимаю проблема у меня вот в этом. Можете подробнее написать эти действия.

Дима, куда подробней? Может тебя сразу научить программировать? Учи азы или позови за пиво друга программиста :)

Storm, проблема что при выборе периода за день все правильно отображается, а при выборе за 2 и более суток неправильно.

storm 13.05.2011 05:59

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

ФОРУМ ТК 13.05.2011 06:37

Цитата:

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

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

Дмитрий 22 13.05.2011 07:29

Цитата:

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

Код вставил без проблем. Интересует:
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

Цитата:

Сообщение от Дмитрий 22 (Сообщение 8919)
: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

Цитата:

Сообщение от Дмитрий 22 (Сообщение 8919)
: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 типа - тип База и все остальные.
Подскажите, плиз, как сделать так, чтобы в одну ячейку записывалась сумма времени, проведенного на Базе, а в другую сумма времени, проведенного в других КТ?


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

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