NickS писав:Для начала скиньте свой код, который формирует вид угодий. Для этого по-любому должен быть какой-то код и в зависимости от нужд, он разный. А я уже подскажу как его исправить, чтобы только имя было.
В целом, вид угодий состоит из номера (классификатора) и имени. Они находятся в разных полях таблицы, потому чтобы их вместе написать составляется строка. Надо просто из этой строки убрать добавление номера.
Код: Виділити все
Var
sStr, Isp : string;
OldX, OldY, MinX, MaxX, MinY, MaxY, Cut : double;
Num : integer;
procedure DetailHeader1OnBeforePrint(Sender: TfrxComponent);
begin
with DetailHeader1, Engine do
begin
Cut := 1;
Num := 0;
MinX := <DM1.TbPlanPoint."X">;
MaxX := <DM1.TbPlanPoint."X">;
MinY := <DM1.TbPlanPoint."Y">;
MaxY := <DM1.TbPlanPoint."Y">;
OldX := <DM1.TbPlanPoint."X">;
OldY := <DM1.TbPlanPoint."Y">;
end
end;
procedure DetailData1OnBeforePrint(Sender: TfrxComponent);
var
SetUgol, X, Y : double;
begin
with DetailData1, Engine do
begin
X := <DM1.TbPlanPoint."X">;
Y := <DM1.TbPlanPoint."Y">;
Memo44.Visible := (Num <> 0);
Memo45.Visible := (Num <> 0);
Memo46.Visible := (Num <> 0);
If Num = 0 Then
Num := <DM1.TbPlanPoint."Number">
Else
Begin
If (OldY = 0) And (OldX = 0) Then
SetUgol := 0
Else
If (Y -OldY = 0) Or (X -OldX = 0) Then
SetUgol := Abs( ArcTan( 0))
Else
SetUgol := Abs( ArcTan( (Y -OldY) /(X -OldX)));
If (X -OldX) >= 0 Then
Begin
If (Y -OldY) >= 0 Then
SetUgol := SetUgol
Else
SetUgol := Pi*2 -SetUgol;
End
Else
Begin
If (Y -OldY)>= 0 Then
SetUgol := Pi -SetUgol
Else
SetUgol := Pi +SetUgol;
End;
Cut := Abs( (180 /Pi) *SetUgol);
If Num = <DM1.TbPlanPoint."Number"> Then
Num := 0;
End;
If X < MinX Then MinX := X;
If Y < MinY Then MinY := Y;
If X > MaxX Then MaxX := X;
If Y > MaxY Then MaxY := Y;
OldX := X;
OldY := Y;
end
end;
procedure MasterData1OnBeforePrint(Sender: TfrxComponent);
begin
sStr := '';
If (<DM1.TbPlan."ID_TypeLand"> > 0) And (LOCATEDATA('DM2.TbTypeLand', 'ID_TypeLand', <DM1.TbPlan."ID_TypeLand">) = True) Then
sStr := <DM2.TbTypeLand."Number">'. ' + UpperFirst(<DM2.TbTypeLand."Name">)
Else
sStr := <DM1.TbPlan."Name">;
end;
begin
If RECORDCOUNT('DM1.QiTechDoc') > 0 Then
If LOCATEDATA('DM1.QbFirm', 'ID_Firm', <DM1.QiTechDoc."ID_Firm">) Then
If LOCATEDATA('DM1.TbWorking', 'ID_People', <DM1.QiTechDoc."ID_People">) then
Isp := <DM1.TbWorking."People">;
end.