03.03.2011, 09:41
|
| »»» |
#21
|
Дилер
Смоленск, Смоленская область, ООО "Смотр"
Регистрация: 14.12.2010
Сообщений: 758
|
Сообщение от Keine-engel
|
когда смотрим отчет рейсы, там есть графа "Пробег, км" он не сходиться с спидометром. Где 50км, где на 100км меньше, чем у спидометра.
|
А ещё - водитель может спидометр подкрутить... А для "окончательной" уверенности - следует уточнить, что в отчётах и в программе отображается фактическое перемещение транспортного средства.
ООО "Смотр", Смоленская обл, г. Смоленск, Россия
Хасин Кирилл Игоревич, генеральный директор
|
|
|
|
11.05.2011, 08:11
|
| »»» |
#22
|
Пользователь
Барнаул
Регистрация: 11.05.2011
Сообщений: 97
|
Редактирование шаблона отчета.
Доброго времени суток! Столкнулся с такой проблемой: Руководитель хочет видеть в отчете "Число прибытий в контрольные точки" столбец где указывается общее время нахождения в данной КТ. Редактирую шаблон путем удаления столбца "Пробег" и вставляю [Dataset1."REAL_CONT"]. При формировании вижу следующее: если "Число прибытий" 1 то время нахождения правильно, а если более 2 х посещений КТ то абсолютно неправильно, т. е. не суммируется. Также не могу создать "составной" отчет чтоб итог был тот же. В самой программе есть примерный отчет с колонкой "Время нахождения", но нет строки "Включая не пройденные" и не подлежит экспорту в другие форматы. Сам я не программист, поэтому помогите решить данную проблему.
Последний раз редактировалось Дмитрий 22; 25.08.2011 в 05:58.
|
|
|
|
11.05.2011, 11:29
|
| »»» |
#23
|
Опытный пользователь
Регистрация: 22.12.2010
Сообщений: 2,121
|
Сообщение от Дмитрий 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()]
г. Челябинск
Ахмедьянов Алексей Адлерович
Последний раз редактировалось storm; 11.05.2011 в 11:33.
|
|
|
|
12.05.2011, 04:02
|
| »»» |
#24
|
Пользователь
Барнаул
Регистрация: 11.05.2011
Сообщений: 97
|
Сообщение от 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.
|
|
|
|
12.05.2011, 05:17
|
| »»» |
#25
|
Опытный пользователь
Регистрация: 22.12.2010
Сообщений: 2,121
|
в вашем случае вкладка код должна содержать код, который я скинул и в конец добавляете то, что у вас уже было
должно получиться так
Код:
|
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
|
| »»» |
#26
|
Опытный пользователь
Регистрация: 19.12.2010
Сообщений: 6,306
|
Сообщение от storm
|
почему то засунули в середину того, что прислал вам я
|
storm это провокация не поддавайтесь на это!!!
|
|
|
|
12.05.2011, 07:59
|
| »»» |
#27
|
Пользователь
Барнаул
Регистрация: 11.05.2011
Сообщений: 97
|
Сообщение от rukav
|
Сообщение от storm
|
почему то засунули в середину того, что прислал вам я
|
storm это провокация не поддавайтесь на это!!!
|
Я же говорю что я НЕ ПРОГРАММИСТ и для меня это темный лес и помоч мне некому! сижу туплю второй день. По другому не можете помоч? Более чтоб понятно было для меня или выслать например уже готовый шаблон???
На первом скрине видно что когда ставлю галку "Включая непройденные" - ошибка.
Второй скрин показывает что при выборе периода за день все правильно отображается, а при выборе за 2 и более суток неправильно.
Последний раз редактировалось Дмитрий 22; 25.08.2011 в 05:58.
|
|
|
|
12.05.2011, 16:44
|
| »»» |
#28
|
Опытный пользователь
Регистрация: 19.12.2010
Сообщений: 6,306
|
Сообщение от Дмитрий 22
|
Я же говорю что я НЕ ПРОГРАММИСТ и для меня это темный лес и помоч мне некому!
|
Очень жаль! Я так понимаю, что вам это вменили в обязанность. Поэтому придется медленно и терпеливо грызть гранит программирования.
Сделать готовый шаблон, мы конечно можем, это не проблема, НО нам это абсолютно некогда делать и если предположить, что у нас очень много пользователей, дилеров и каждому сделать отчет, то время работы наших программеров расписано как минимум до 2099 года... Дальше не загадываю.
Поэтому, поймите, если вы один раз разберетесь, то в последующем вам уже будет гораздо проще все реализовывать.
|
|
|
|
13.05.2011, 02:15
|
| »»» |
#29
|
Пользователь
Барнаул
Регистрация: 11.05.2011
Сообщений: 97
|
Тогда смысл вашего форума в чем? Отписываться о том что нам некогда вашими проблемами заниматься? Диллеру тоже некогда - бабки собирают за абонентскую плату, а остальное е....сь как хотите. Думаю не одному мне хотелось бы что нибудь изменить. Собрать хотя бы статистику по "желаниям" потребителей. Думаю найдутся примерные задачи. А удалить проще чем написать.
|
|
|
|
13.05.2011, 04:17
|
| »»» |
#30
|
Пользователь
Барнаул
Регистрация: 11.05.2011
Сообщений: 97
|
в MasterData2 вызываете первую функцию, в нее параметром передаете время для суммирования
в вашем случае как-то так [SumCont(<Dataset1."REAL_CONT">)], ее можно засунуть в невидимую ячейку или в любую ячейку в MasterData2
Storm, я так понимаю проблема у меня вот в этом. Можете подробнее написать эти действия.
|
|
|
|
Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
|
|
Ваши права в разделе
|
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения
HTML код Выкл.
|
|
|
Текущее время: 06:06. Часовой пояс GMT.
|
|