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

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

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

г. Челябинск
Ахмедьянов Алексей Адлерович
storm вне форума   Ответить с цитированием
Старый 13.05.2011, 05:12    | »»» |  #32
zsergey
Пользователь
 
Аватар для zsergey
 
Регистрация: 16.03.2011
Сообщений: 178
zsergey is on a distinguished road
По умолчанию

Сообщение от Дмитрий 22 Посмотреть сообщение
Storm, я так понимаю проблема у меня вот в этом. Можете подробнее написать эти действия.
Дима, куда подробней? Может тебя сразу научить программировать? Учи азы или позови за пиво друга программиста
zsergey вне форума   Ответить с цитированием
Старый 13.05.2011, 05:54    | »»» |  #33
Дмитрий 22
Пользователь
 
Аватар для Дмитрий 22
 
Барнаул
Регистрация: 11.05.2011
Сообщений: 97
Дмитрий 22 is on a distinguished road
Отправить сообщение для Дмитрий 22 с помощью ICQ
По умолчанию

Сообщение от zsergey Посмотреть сообщение
Сообщение от Дмитрий 22 Посмотреть сообщение
Storm, я так понимаю проблема у меня вот в этом. Можете подробнее написать эти действия.
Дима, куда подробней? Может тебя сразу научить программировать? Учи азы или позови за пиво друга программиста
Storm, проблема что при выборе периода за день все правильно отображается, а при выборе за 2 и более суток неправильно.
Дмитрий 22 вне форума   Ответить с цитированием
Старый 13.05.2011, 05:59    | »»» |  #34
storm
Опытный пользователь
 
Аватар для storm
 
Регистрация: 22.12.2010
Сообщений: 2,121
storm is on a distinguished road
Отправить сообщение для storm с помощью Skype™
По умолчанию

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

г. Челябинск
Ахмедьянов Алексей Адлерович
storm вне форума   Ответить с цитированием
Старый 13.05.2011, 06:37    | »»» |  #35
ФОРУМ ТК
Опытный пользователь
 
Аватар для ФОРУМ ТК
 
Регистрация: 19.12.2010
Сообщений: 6,307
ФОРУМ ТК has much to be proud ofФОРУМ ТК has much to be proud ofФОРУМ ТК has much to be proud ofФОРУМ ТК has much to be proud ofФОРУМ ТК has much to be proud ofФОРУМ ТК has much to be proud ofФОРУМ ТК has much to be proud ofФОРУМ ТК has much to be proud of
Отправить сообщение для ФОРУМ ТК с помощью Skype™
По умолчанию

Сообщение от Дмитрий 22 Посмотреть сообщение
Тогда смысл вашего форума в чем? Отписываться о том что нам некогда вашими проблемами заниматься? Диллеру тоже некогда - бабки собирают за абонентскую плату, а остальное е....сь как хотите. Думаю не одному мне хотелось бы что нибудь изменить. Собрать хотя бы статистику по "желаниям" потребителей. Думаю найдутся примерные задачи. А удалить проще чем написать.
Матом ругаться мы все мастаки. Так, что давайте по-аккуратней на поворотах!
Что касается абонентки, то тут еще посмотреть надо: где и кто решил съэкономить.
Как-что сразу дилер, деньги берет ничего не делает. А потом выясняется, что клиент в целях экономии от всего отказался. Дык какие претензии в таком случае.
Учить в данном форуме азам программирования мы не будем, не наш профиль (для этого есть http://fast-report.com/ru/forum/ ), мы можем только поправить какие-то специфические вещи.
ФОРУМ ТК вне форума   Ответить с цитированием
Старый 13.05.2011, 07:29    | »»» |  #36
Дмитрий 22
Пользователь
 
Аватар для Дмитрий 22
 
Барнаул
Регистрация: 11.05.2011
Сообщений: 97
Дмитрий 22 is on a distinguished road
Отправить сообщение для Дмитрий 22 с помощью ICQ
По умолчанию

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

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

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

Код:
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, и растянуть его немного вниз, потом поместить в него ячейку с текстом, высоту этой ячейки сделать равной нулю, те выделяете ячейку и за нижнюю границу тянете вверх, пока у ячейки высота не станет нулевой, после этого саму мастердату тоже делаете нулевой высоты, таким образом мы получаем спрятанную(невидимую ячейку)

г. Челябинск
Ахмедьянов Алексей Адлерович
storm вне форума   Ответить с цитированием
Сказал «Я - ЗА»:
Дмитрий 22 (16.05.2011)
Старый 13.05.2011, 09:23    | »»» |  #38
Дмитрий 22
Пользователь
 
Аватар для Дмитрий 22
 
Барнаул
Регистрация: 11.05.2011
Сообщений: 97
Дмитрий 22 is on a distinguished road
Отправить сообщение для Дмитрий 22 с помощью ICQ
По умолчанию

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

Последний раз редактировалось Дмитрий 22; 25.08.2011 в 05:58.
Дмитрий 22 вне форума   Ответить с цитированием
Старый 13.05.2011, 11:19    | »»» |  #39
VizART
Дилер
 
Аватар для VizART
 
г.Волгоград, ООО "РСМ"
Регистрация: 20.12.2010
Сообщений: 565
VizART is on a distinguished road
Отправить сообщение для VizART с помощью Skype™
По умолчанию

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

ООО "РСМониторинг" (ООО "РСМ"), г. Волгоград, Волгоградская область, Россия
Денисов Валерий Игоревич, зам. директора
VizART вне форума   Ответить с цитированием
Старый 13.05.2011, 12:30    | »»» |  #40
storm
Опытный пользователь
 
Аватар для storm
 
Регистрация: 22.12.2010
Сообщений: 2,121
storm is on a distinguished road
Отправить сообщение для storm с помощью Skype™
По умолчанию

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

Код:
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.

г. Челябинск
Ахмедьянов Алексей Адлерович
storm вне форума   Ответить с цитированием
Сказал «Я - ЗА»:
Дмитрий 22 (16.05.2011)
Ответ


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

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

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

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


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


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