📄 hrps016_1q.pas
字号:
, 5+(AVH*(LV+1) )
, AVW
, AVH
, Query.FieldByName('Item_Name').AsString
, FONTSIZE ,0);
CreateQRDBLabel( 1+(AVW * LC),
1+(AVH*LV),
AVW ,
AVH,
'Pay_AMT'+IntToStr(II),
FONTSIZE,0,2);
// twDBColumn(Columns[ Columns.Count - 1 ]).FieldName := 'Pay_Amt'+inttostr(Ii);
Query.Next;
Inc( LC );
Inc(II);
End;
for i := LC To Type1_Count - 1 - ALREADY_COUNT1 do
Begin
CreateQRLabel(ColumnHeaderBand1, 1+( AVW * i )
, 5+(AVH*3 )
, AVW
, AVH
, ' '
, FONTSIZE ,0);
CreateQRDBLabel( 1+(AVW * i),
1+(AVH*2),
AVW ,
AVH,
' ',
FONTSIZE,0,2);
End;
CreateQRLabel(ColumnHeaderBand1, 1+( AVW * i )
, 5+(AVH*3 )
, AVW
, AVH
, '惑咯陛 '
, FONTSIZE ,0);
CreateQRDBLabel( 1+(AVW * I),
1+(AVH*2),
AVW ,
AVH,
'Bonus_Pay',
FONTSIZE,0,2);
CreateQRLabel(ColumnHeaderBand1, 1+( AVW * (i+1) )
, 5+(AVH*3 )
, AVW
, AVH
, '醚瘤鞭咀'
, FONTSIZE ,1);
CreateQRDBLabel( 1+(AVW * (I+1)),
1+(AVH*2),
AVW ,
AVH,
'Tot_Pay',
FONTSIZE,0,2);
Close;
ParamByName( 'Pay_Ded_Type').AsString := '2';
Open;
Lv := 0;
LC := 0;
FrameWidth := 4;
StartPosition := AW + AVW * Type1_Count;
CreateQRLabel(ColumnHeaderBand1, 1
, 1
, AVW * Type2_Count
, AVH + 4
, '力 傍力 棺 瞒牢 瘤鞭咀'
, FONTSIZE ,1);
FrameWidth := 2;
While not Query.Eof Do
Begin
If (Type2_Count) <= LC Then
begin
StartPosition := AW + AVW * Type1_Count;
LC := 0;
Inc( LV );
End;
CreateQRLabel(ColumnHeaderBand1, 1+( AVW * LC )
, 5+(AVH*(LV+1) )
, AVW
, AVH
, Query.FieldByName('Item_Name').AsString
, FONTSIZE ,0);
CreateQRDBLabel( 1+(AVW * LC),
1+(AVH*LV),
AVW ,
AVH,
'Pay_AMT'+INttoStr(II),
FONTSIZE,0,2);
// twDBColumn(Columns[ Columns.Count - 1 ]).FieldName := 'Pay_Amt'+inttostr(Ii);
Query.Next;
Inc( LC );
inc( II );
End;
for i := LC To Type2_Count - 1 - ALREADY_COUNT2 do
Begin
CreateQRLabel(ColumnHeaderBand1, 1+( AVW * i )
, 5+(AVH*3 )
, AVW
, AVH
, ' '
, FONTSIZE ,0);
CreateQRDBLabel( 1+(AVW * i),
1+(AVH*2),
AVW ,
AVH,
' ',
FONTSIZE,0,2);
End;
CreateQRLabel(ColumnHeaderBand1, 1+( AVW * i )
, 5+(AVH*3 )
, AVW
, AVH
, '傍力 钦拌'
, FONTSIZE ,0);
CreateQRDBLabel( 1+(AVW * i),
1+(AVH*2),
AVW ,
AVH,
'tot_ded_AMT',
FONTSIZE,0,2);
CreateQRLabel(ColumnHeaderBand1, 1+( AVW * (i+1) )
, 5+(AVH*3 )
, AVW
, AVH
, '瞒牢 瘤鞭咀'
, FONTSIZE ,1);
CreateQRDBLabel( 1+(AVW * (i+1)),
1+(AVH*2),
AVW ,
AVH,
'Real_Pay_AMT',
FONTSIZE,0,2);
CreateNameLabel( DetailBand1, 1, 1, 116, DetailBand1.Height,
10, 1 );
End; // <----- With
end;
procedure TfHRPS016_1Q.FormClose(Sender: TObject;
var Action: TCloseAction);
begin
FieldNames.Clear;
FreeAndNil( FieldNames );
end;
procedure TfHRPS016_1Q.QuickRep1NeedData(Sender: TObject;
var MoreData: Boolean);
Var
I : Integer;
Don : Currency;
procedure TotalSumPrint;
Var
I :integer;
begin
SumFlag := false;
SumPrnFlag := True;
ViewNameLable('傈眉 钦拌', True );
for i := 0 to FieldNames.Count - 1 do
Begin
If Trim(FieldNames[i]) <> '' Then
TQRLabel( QuickRep1.FindComponent( FieldNames[i] ) ).Caption :=
formatFloat(',#',SumRec[i].TotSum );
SumRec[i].TotSum := 0;
End; // <---- for..
End;
procedure groupSumPrint;
Var
I : Integer;
Begin
GroupFlag := false;
groupPrnFlag := True;
ViewNameLable('何辑拌('+OldGroupName+')', True );
for i := 0 to FieldNames.Count - 1 do
Begin
If Trim(FieldNames[i]) <> '' Then
TQRLabel( QuickRep1.FindComponent( FieldNames[i] ) ).Caption :=
formatFloat(',#',SumRec[i].GroupSum );
SumRec[i].GroupSum := 0;
End; // <---- for..
End;
begin
If Query.Eof and not SumFlag and not GroupFlag Then
Begin
MoreData := False;
exit;
End;
If GroupPrnFlag Then
Begin
GroupPrnFlag := false;
ViewNameLable('', false );
End;
If SumPrnFlag Then
Begin
SumPrnFlag := false;
ViewNameLable('', false );
End;
If GroupName <> Query.FieldByName('Dept_name').AsString Then
Begin
OldGroupName := GroupName;
if GroupCount > 0 Then
GroupFlag := True
Else
OldGroupName := Query.FieldByName('Dept_name').AsString;
GroupName := Query.FieldByName('Dept_name').AsString;
inc(GroupCount);
End;
for i := 0 to FieldNames.Count - 1 do
If Trim(FieldNames[i]) <> '' Then
TQRLabel( QuickRep1.FindComponent( FieldNames[i] ) ).Caption := '';
MoreData := true;
If Query.EOF and not GroupFlag and not sumFlag Then
Begin
GroupFlag := True;
SumFlag := True;
End;
If GroupFlag and SumFlag Then
Begin
If printLine >= ( PRNCOUNT - 3 ) Then
Begin
GroupSumPrint;
End;
End
Else If GroupFlag Then
Begin
If printLine >= ( PRNCOUNT - 2 ) Then
Begin
GroupSumPrint;
End;
End
Else If SumFlag Then
Begin
If printLine >= ( PRNCOUNT - 2 ) Then
Begin
TotalSumPrint;
End;
End
else
Begin
for i := 0 to FieldNames.Count - 1 do
Begin
If FieldNames[i] = ' ' Then Continue;
TQRLabel( QuickRep1.FindComponent( FieldNames[i] ) ).Caption :=
trim( Query.FieldByName( FieldNames[i] ).AsString );
If i > 5 Then
Begin
Try
If Trim( Query.FieldByName( FieldNames[i] ).AsString ) = '' Then
Don := 0
Else
Don := StrToFloat( StringReplace( Trim( Query.FieldByName( FieldNames[i] ).AsString ),
',','', [rfReplaceAll, rfIgnoreCase] ) );
Except
Don := 0;
End;
SumRec[i].GroupSum := SumRec[i].GroupSum + Don;
SumRec[i].TotSum := SumRec[i].TotSum + Don;
End;
End; // <---- for..
Query.Next;
If Query.Eof Then
If groupCount = 1 Then
GroupFlag := True
Else
Begin
GroupFlag := True;
SumFlag := True;
End;
End; // <-- if
Inc( PrintLine );
end;
procedure TfHRPS016_1Q.QuickRep1BeforePrint(Sender: TCustomQuickRep;
var PrintReport: Boolean);
Var
i : Integer;
begin
Query.First;
GroupFlag := false;
SumFlag := false;
PrintLine := 0;
GroupCount := 0;
OldGroupName := '';
GroupName := '';
ViewNameLable('',false);
for i := 0 to High( SumRec ) do
Begin
Sumrec[ i ].GroupSum := 0;
Sumrec[ i ].TotSum := 0;
End;
end;
procedure TfHRPS016_1Q.PageHeaderBeforePrint(Sender: TQRCustomBand;
var PrintBand: Boolean);
begin
Condition1.Caption := '何 辑 疙 : ' + Query.FieldByName('Dept_name').AsString;
Page1.Caption := 'Page : '+Format('%3d',[QuickRep1.PageNumber] )+' / '+Format('%3d',[TotPageNum]);
PrintLine := 0;
end;
end.
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -