📄 inv_salesum_cost.pas
字号:
unit Inv_SaleSum_Cost;
Interface
uses
Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
Base_Qry, Menus, ExtPrintReport, Db, ActnList, AdODB, Grids, DBGridEh,
StdCtrls, ExtCtrls, ComCtrls, ToolWin;
Type
TFrm_Inv_SaleSum_Cost = Class(TFrm_Base_Qry)
Panel1: TPanel;
Label1: TLabel;
Edit1: TEdit;
procedure AdoQueryAfterOpen(DataSet: TDataSet);
private
{ Private declarations }
public
{ Public declarations }
procedure InitForm(AdOConnection:TAdOConnection;ShowExtendColumn:Boolean);Override;
procedure initReport;Override;
end;
var
Frm_Inv_SaleSum_Cost: TFrm_Inv_SaleSum_Cost;
implementation
uses Inv_SaleSum_C;
{$R *.DFM}
{ TFrm_Inv_ItemSaleSum }
procedure TFrm_Inv_SaleSum_Cost.InitForm(AdOConnection: TAdOConnection;
ShowExtendColumn: Boolean);
begin
AmountFields:='InvBillSaleAmount,';
PriceFields:='InvBillSalePrice,';
if Param1='0203' then
begin
Caption:='材料分客户分物料销售汇总';
Pnl_Title.Caption:='材料分客户分物料销售汇总';
ConditionUserDefine:='InvOutBill.BillTypeCode='''+Param1+''''
+' And InvOutBill.InvBillWHChck=1';
end
else if Param1='0204' then
begin
ConditionUserDefine:='InvOutBill.BillTypeCode='''+Param1+''''
+' And InvOutBill.InvBillWHChck=1';
if Param2='NoMps' then
begin
ConditionUserDefine:=ConditionUserDefine
+'And InvOutBill.MpsSale=0';
Caption:='非主计划分客户分物料销售汇总';
Pnl_Title.Caption:='非主计划分客户分物料销售汇总';
end
else
begin
ConditionUserDefine:=ConditionUserDefine
+'And InvOutBill.MpsSale=1';
Caption:='主计划分客户分物料销售汇总';
Pnl_Title.Caption:='主计划分客户分物料销售汇总';
end;
end;
inherited;
SelectFromSQL:='Select InvOutBillLine.ItemCode'
+',Item.ItemName'
+',InvOutBillLine.ItemCode+'' ''+Item.ItemName As ItemCodeName'
+',Uom.UomName'
+',InvOutBill.CustomerCode'
+',Customer.CustomerName'
+',InvOutBill.CustomerCode+'' ''+Customer.CustomerName As CustomerCodeName'
+',Sum(InvOutBillLine.InvBillQty) As InvBillQty'
+',Case When Sum(InvOutBillLine.InvBillQty)=0 Then 0'
+' Else Sum(InvOutBillLine.InvBillNoTaxAmount)/Sum(InvOutBillLine.InvBillQty)'
+' end As InvBillSalePrice'
+',Sum(InvOutBillLine.InvBillNoTaxAmount) As InvBillSaleAmount'
+' From InvOutBillLine'
+' Join InvOutBill on InvOutBillLine.InvBillId=InvOutBill.InvBillId'
+' Join Item on InvOutBillLine.ItemCode=Item.ItemCode'
+' Join Customer on InvOutBill.CustomerCode=Customer.CustomerCode'
+' Join Uom on Item.UomCode=Uom.UomCode';
OrderByFields:='CustomerCodeName';
GroupByFields:='InvOutBillLine.ItemCode,Item.ItemName,Uom.UomName'
+',InvOutBill.CustomerCode,Customer.CustomerName';
Frm_Sys_Condition:=TFrm_Inv_SaleSum_C.Create(Self);
Act_Filter.Execute;
end;
procedure TFrm_Inv_SaleSum_Cost.initReport;
begin
inherited;
ExtprintReport.Headers.Items[ExtprintReport.Headers.indexof('InvBillQty')].sum:=True;
ExtprintReport.Headers.Items[ExtprintReport.Headers.indexof('InvBillSaleAmount')].sum:=True;
end;
procedure TFrm_Inv_SaleSum_Cost.AdoQueryAfterOpen(DataSet: TDataSet);
var
sql_txt:string;
i:integer;
sumAmount:real;
begin
inherited;
sumAmount:=0;
//汇总金额
If Not AdoQry_Main.IsEmpty then
begin
AdoQry_Main.First;
for I:=0 to AdoQry_Main.RecordCount-1 do
begin
SumAmount:=SumAmount+AdoQry_Main.fieldbyname('InvBillSaleAmount').asFloat;
AdoQry_Main.next;
end;
AdoQry_Main.First;
end;
edit1.text:=FormatFloat('#.##',SumAmount);
end;
end.
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -