Тема: Отчеты
Показать сообщение отдельно
Старый 12.05.2011, 04:02    | »»» |  #24
Дмитрий 22
Пользователь
 
Аватар для Дмитрий 22
 
Барнаул
Регистрация: 11.05.2011
Сообщений: 97
Дмитрий 22 is on a distinguished road
Отправить сообщение для Дмитрий 22 с помощью ICQ
По умолчанию

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

Последний раз редактировалось Дмитрий 22; 25.08.2011 в 05:58.
Дмитрий 22 вне форума   Ответить с цитированием