PDA

Просмотр полной версии : Отчёт КТ


Cyclone
20.03.2012, 08:44
Добрый день.
Создал шаблон отчёта Контрольные точки и отрезки - прохождение всех точек. Подскажите пожалуйста как сделать, что бы в отчёте было видно название точек и их время прохождения только для не определённых маршрутов. Иными словами хочется убрать данные с этих двух последних колонок для определяемых маршрутов, потому что кт много для прописанных маршрутов и отчёт получается слишком большим.

Cyclone
28.03.2012, 07:18
:sos::sos::sos::sos::sos:

SK
28.03.2012, 08:48
Для проверки надо чтобы были данные по маршрутам, чтобы в них были определившиеся и неопределившиеся маршруты и КТ.
Иными словами, надо смоделировать описанную Вами ситуацию.
У нас далеко не всегда есть данные с такими специфичными условиями.
Поэтому умозрительно (без таких данных) - помочь Вам затруднительно.

Cyclone
30.03.2012, 10:25
Посмотрите пожалуйста с 26.03 по 27.03. Там есть рейс, который неопределён. И ещё одна проблема появилась. Решил добавить подвал данных с итоговыми значениями. Получилось так, что эта табличка выскакивает не в конце отчёта, а после каждого рейса с непонятными значениями. Помогите пожалуйста ! ! !

KKV
04.04.2012, 06:27
По доработке в модуле отчетов AGReports попросил Алексея, он вам отпишет.
Определение маршрута, данный автотранспорт с данным маршрутом уже обсуждался. Если выполнить во вкладке: Список транспорта - Рейсы – Признаки нового рейса – К. точка 1 и К. точка 2, если указать начальную и конечную точку, то разбивка будет происходить по маршруту. Почему именно не отображаются маршруты, потому что данный автотранспорт не заезжает в контрольные точки маршрута. Необходимо увеличить радиус контрольных точек и тогда маршрут будет определяться.

storm
04.04.2012, 10:46
Cyclone,
для того, чтобы вам выводить КТ только для неопределенных маршрутов нужно добавить подотчет по рейсам(одиночные рейсы) и проверять название маршрута по каждому рейсу, если маршрут есть, то прятать список КТ, если нет, то выводить

Cyclone
11.05.2012, 12:09
Т.е. надо будет вручную список прятать? Если честно, я непойму, где в редакторе шаблона можно так сделать.
И подскажите пожалуйста, что мне сделать с подвалом данных? (писал сообщением выше).

storm
15.05.2012, 11:32
Т.е. надо будет вручную список прятать?
да

примерно так

procedure SetVisible(RouteName: string);
var
height : double;
begin
if (RouteName > '') then
begin
height := 0;
end
else
begin
height := 20;
end;
MasterData1.height :=height;
Memo1.height :=height;
Memo2.height :=height;
end;

вместо
MasterData1.height :=height;
вам нужно подставить имя вашей мастердаты
вместо
Memo1.height :=height;
Memo2.height :=height;
перечислить все названия ячеек, которые находятся в мастердате(абсолютно все, даже невидимые, если есть)

а потом вызвать из любой ячейки мастердаты эту функцию
[SetVisible(<Dataset1."ROUTE_NAME">)]

Cyclone
16.05.2012, 08:20
Сделал как вы написали. Ячейки не прячутся, но уменьшается их ширина.

может я не туда поставил процедуру или что-то мешает ей работать?

var
Days: array[1..7] of string;
PrevName: String;
num: integer;
procedure SetVisible(RouteName: string);
var
height : double;
begin
if (RouteName > '') then
begin
height := 0;
end
else
begin
height := 20;
end;
MasterData2.height :=height;
Memo1.height :=height;
Memo3.height :=height;
Memo12.height :=height;
Memo14.height :=height;
Memo18.height :=height;
Memo20.height :=height;
Memo25.height :=height;
Memo26.height :=height;
Memo29.height :=height;
Memo30.height :=height;
end;

procedure SetHeightMemo(LineNum: integer);
begin
if LineNum > 1 then
begin
Memo25.Frame.Typ := ftLeft + ftRight;
Memo25.Text := '';
Memo12.Frame.Typ := ftLeft + ftRight;
Memo12.Text := '';
end
else
begin
Memo25.Frame.Typ := ftLeft + ftRight + ftTop;
Memo12.Frame.Typ := ftLeft + ftRight + ftTop;
end;
end;
function GetNameKT(S_Name: String): String;
begin
if PrevName = S_Name then
begin
Memo3.Frame.Typ := ftLeft + ftRight;
result := '';
end
else
begin
Memo3.Frame.Typ := ftLeft + ftRight + ftTop;
PrevName := S_Name;
result := S_Name;
end;
end;
function GetNum(): String;
begin
Inc(num);
result := IntToStr(num);
end;


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

storm
16.05.2012, 09:21
Ячейки не прячутся, но уменьшается их ширина.
может быть высота уменьшается, а не ширина или я чего-то не понимаю - скриншот получившегося отчета посмотреть бы

и еще - откуда вызываете [SetVisible(<Dataset1."ROUTE_NAME">)]?

Cyclone
16.05.2012, 13:18
Ячейки не прячутся, но уменьшается их ширина.
может быть высота уменьшается, а не ширина или я чего-то не понимаю - скриншот получившегося отчета посмотреть бы

и еще - откуда вызываете [SetVisible(<Dataset1."ROUTE_NAME">)]?


Пардон, высота уменьшается :sad:
В данном случае вызывал функию из ячейки "название точки" ([GetNameKT(<Dataset1."S_NAME">)]). Пробывал прописывать функцию в других ячейках мастер даты, получается тоже самое.

storm
17.05.2012, 05:03
Cyclone,
предлагаю вывести в какую-нибудь ячейке само название маршрута, у меня такое подозрение, что оно у вас везде пустое, поэтому все выводится и ничего не скрывается

Cyclone
17.05.2012, 10:46
Cyclone,
предлагаю вывести в какую-нибудь ячейке само название маршрута, у меня такое подозрение, что оно у вас везде пустое, поэтому все выводится и ничего не скрывается


Это как?)) Может быть вы имели ввиду название рейса? Тогда название рейса выводится во второй ячейке слева. А если я ошибаюсь, тогда объясните пожалуйста, что надо сделать.

storm
17.05.2012, 12:53
Тогда название рейса выводится во второй ячейке слева.
вам нужно по этому полю скрывать или по какому?
и что это за поле название рейса?

Cyclone
04.06.2012, 10:51
Тогда название рейса выводится во второй ячейке слева.
вам нужно по этому полю скрывать или по какому?
и что это за поле название рейса?

название рейса это второй столбец. А надо скрывать два последних поля название КТ и время прохождения КТ. На картинке, прикреплённой в прошлом сообщении видно, что эти два последних столбца слишком объёмные. Нужно, что бы в этих столбцах данные выдавались только лишь по неопределённым рейсам. Тогда вместо трёх четырёх листов получится один лист на транспорт.

storm
14.06.2012, 05:19
Cyclone,
решение, как сделать то, что вам нужно уже было описано выше, попробуйте разобраться почему оно у вас не работает, возможно вы что-то делаете не так

SK
14.06.2012, 17:24
Предлагаю Вам созвониться - обговорить суть проблемы и решить её по RDP (модуль дистанционной техподдержки в ПО АвтоГРАФ).