📄 inv_mnoutsumqry1.pas
字号:
unit Inv_MnOutSumQry1;
//程序员:
Interface
uses
Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
Base_Qry, Menus, ExtPrintReport, Db, ActnList, AdODB, Grids, DBGridEh,DBGrids,
StdCtrls, ExtCtrls, ComCtrls, ToolWin;
Type
TFrm_Inv_MnOutSumQry1 = Class(TFrm_Base_Qry)
Lab_Amount: TLabel;
edt_Amount: TEdit;
AdoQry_MainIte_ItemCode: TStringField;
AdoQry_MainItemName: TStringField;
AdoQry_MainIte_ItemFlag: TStringField;
AdoQry_MainItemCode: TStringField;
AdoQry_MainItemName_1: TStringField;
AdoQry_MainItemFlag: TStringField;
AdoQry_MainInvBillQty: TFloatField;
AdoQry_MainPrice: TFloatField;
AdoQry_MainInvBillNotTaxAmount: TFloatField;
AdoQry_MainItemCodeFlag: TStringField;
procedure AdoQueryAfterOpen(DataSet: TDataSet);
procedure DBGridEhGetCellParams(
Sender: TObject; Column: TColumnEh;
AFont: TFont; var Background: TColor;
State: TGridDrawState);
procedure Act_FilterExecute(Sender: TObject);
private
ShowExtend:boolean;
{ Private declarations }
public
procedure getData;Override;
procedure InitReport;Override;
procedure InitForm(AdOConnection:TAdOConnection;
ShowExtendColumn:Boolean);Override;
{ Public declarations }
end;
var
Frm_Inv_MnOutSumQry1: TFrm_Inv_MnOutSumQry1;
implementation
uses Inv_MnOutSumQry_C1;
{$R *.DFM}
procedure TFrm_Inv_MnOutSumQry1.getData;
begin
AdoQry_Main.Close;
AdoQry_Main.sql.clear;
AdoQry_Main.sql.text:=condition;
AdoQry_Main.Open;
AdoQry_Main.Sort:='ItemCode';
end;
procedure TFrm_Inv_MnOutSumQry1.InitForm(AdOConnection:TAdOConnection;ShowExtendColumn:Boolean);
begin
inherited;
AmountFields:='InvBillnotaxAmount,';
PriceFields:='Price,';
if(not ShowExtendColumn)then
begin
DBGridEh.Columns.Delete(8);
DBGridEh.Columns.Delete(7);
showextend:=False;
end
else
begin
ShowExtend:=True;
Param1:='Amount';
end;
lbl_Order.Caption:='子项代码/父项代码';
Frm_Sys_Condition:=TFrm_Inv_MnOutSumQry_C1.Create(Self);
TFrm_Inv_MnOutSumQry_C1(Frm_Sys_Condition).InitForm(UserCode,ModuleCode,LoginDate);
Act_Filter.Execute;
end;
procedure TFrm_Inv_MnOutSumQry1.InitReport;
begin//定义表头
inherited;
ExtprintReport.Headers.Items[ExtprintReport.Headers.indexof('InvBillqty')].sum:=True;
ExtprintReport.Headers.Items[ExtprintReport.Headers.indexof('InvBillnotaxAmount')].sum:=True;
end;
procedure TFrm_Inv_MnOutSumQry1.AdoQueryAfterOpen(DataSet: TDataSet);
var
sql_txt:string;
i:integer;
sumAmount:real;
begin
inherited;
if ShowExtend then
begin
lab_Amount.Visible:=True;
edt_Amount.Visible:=True;
sumAmount:=0;
//计算汇总金额
If Not AdoQry_Main.IsEmpty then
begin
AdoQry_Main.First;
for I:=0 to AdoQry_Main.RecordCount-1 do
begin
If Pos('合计',AdoQry_Main.fieldbyname('Ite_ItemFlag').AsString)>0 then
SumAmount:=SumAmount+AdoQry_Main.fieldbyname('InvBillnottaxAmount').asFloat;
AdoQry_Main.next;
end;
AdoQry_Main.First;
end;
edt_Amount.text:=FormatFloat('#.##',SumAmount);
end;
end;
procedure TFrm_Inv_MnOutSumQry1.DBGridEhGetCellParams(
Sender: TObject; Column: TColumnEh;
AFont: TFont; var Background: TColor;
State: TGridDrawState);
begin
inherited;
With AdoQry_Main do
begin
If (Pos('合计',fieldbyname('Ite_ItemFlag').AsString)>0 )
And (Length(Condition)>1300)then
begin
BackGround:=$ffccee;
AFont.Color:=clblack;
end;
end;
end;
procedure TFrm_Inv_MnOutSumQry1.Act_FilterExecute(Sender: TObject);
begin
inherited;
IF Length(Condition)<=1262 Then
DBGridEh.Columns[2].Visible:=False
Else
DBGridEh.Columns[2].Visible:=True;
end;
end.
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -