📄 sal_qry_analyzesaleorder1_d.pas
字号:
unit Sal_Qry_AnalyzeSaleOrder1_D;
Interface
uses
Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
Base_Qry, Menus, ExtPrintReport, Db, ActnList, AdODB, Grids, DBGridEh,
StdCtrls, ExtCtrls, ComCtrls, ToolWin, jpeg;
Type
TFrm_Sal_Qry_AnalyzeSaleOrder1_D = Class(TFrm_Base_Qry)
AdoQry_MainItemCode: TStringField;
AdoQry_MainSa_SaleOrderNumber: TIntegerField;
AdoQry_MainTotalTaxAmount: TFloatField;
AdoQry_MainCost: TFloatField;
AdoQry_MainGrossProfit: TFloatField;
AdoQry_MainAverageTaxAmount: TFloatField;
AdoQry_MainAverageCost: TFloatField;
AdoQry_MainAverageGrossProfit: TFloatField;
AdoQry_MainItemName: TStringField;
AdoQry_MainItemFalg: TStringField;
AdoQry_MainUomName: TStringField;
AdoQry_MainSloQty: TFloatField;
procedure FormClose(Sender: TObject; var Action: TCloseAction);
private
{ Private declarations }
public
procedure InitForm(AdOConnection:TAdOConnection;FormStatus:String;
AdoQuery:TAdoQuery);
{ Public declarations }
end;
var
Frm_Sal_Qry_AnalyzeSaleOrder1_D: TFrm_Sal_Qry_AnalyzeSaleOrder1_D;
implementation
uses Sal_Qry_AnalyzeSaleOrder1, Sys_Global;
{$R *.DFM}
{ TFrm_Sal_Qry_AnalyzeSaleOrder1_D }
procedure TFrm_Sal_Qry_AnalyzeSaleOrder1_D.InitForm(
AdOConnection: TAdOConnection; FormStatus: String; AdoQuery: TAdoQuery);
var
SqlText:String;
begin
SetDBConnect(AdOConnection);
TAdoQuery(DBGridEh.DataSource.DataSet).Connection:=AdOConnection;
SqlText:=' Select Tmp.*,ItemName,Tmp.ItemCode+'' ''+Item.ItemName As ItemFalg,UomName '
+' Into #TMpsa_SaleOrder '
+' From '
+' (Select Sa_SaleOrderLine.ItemCode, '
+' Count(Distinct Sa_SaleOrderLine.SloNo) As Sa_SaleOrderNumber, '
+' Sum(TaxAmount)AS TotalTaxAmount, Sum(SloQty) AS SloQty, Sum(Cost)As Cost, '
+' Sum(TaxAmount)-Sum(Cost) As GrossProfit, '
+' Sum(TaxAmount)/Count(Distinct Sa_SaleOrder.SloNo) As AverageTaxAmount , '
+' Sum(Cost)/Count(Distinct Sa_SaleOrder.SloNo) As AverageCost, '
+' (Sum(TaxAmount)-Sum(Cost))/Count(Distinct Sa_SaleOrderLine.SloNo) As AverageGrossProfit '
+' From Sa_SaleOrder'
+' Join Sa_SaleOrderLine '
+' On Sa_SaleOrder.SloNo=Sa_SaleOrderLine.SloNo '
+' Where (Sa_SaleOrder.CreateDate Between '''+Frm_Sal_Qry_AnalyzeSaleOrder1.CreateDateStArt+''' And '''+Frm_Sal_Qry_AnalyzeSaleOrder1.CreateDateend+''') And '
+' (Sa_SaleOrder.CustomerCode = '''+AdoQuery.fieldbyname('CustomerCode').AsString+''') And '
+' (Sa_SaleOrder.SloNo Between '''+Frm_Sal_Qry_AnalyzeSaleOrder1.SloNoStArt+''' And '''+Frm_Sal_Qry_AnalyzeSaleOrder1.SloNoend+''') And '
+' (Sa_SaleOrder.SaleTypeCode Between '''+Frm_Sal_Qry_AnalyzeSaleOrder1.SaleTypeCodeStArt+''' And '''+Frm_Sal_Qry_AnalyzeSaleOrder1.SaleTypeCodeend+''') And '
+' (Sa_SaleOrder.SaleDeptCode Between '''+Frm_Sal_Qry_AnalyzeSaleOrder1.SaleDeptCodeStArt+''' And '''+Frm_Sal_Qry_AnalyzeSaleOrder1.SaleDeptCodeend+''') And '
+' (Sa_SaleOrder.SaleEmployeeCode Between '''+Frm_Sal_Qry_AnalyzeSaleOrder1.SaleEmployeeCodeStArt+''' And '''+Frm_Sal_Qry_AnalyzeSaleOrder1.SaleEmployeeCodeend+''') And '
+' (Sa_SaleOrder.PayTermCode Between '''+Frm_Sal_Qry_AnalyzeSaleOrder1.PayTermCodeStArt+''' And '''+Frm_Sal_Qry_AnalyzeSaleOrder1.PayTermCodeend+''') And '
+' (Sa_SaleOrderLine.ItemCode Between '''+Frm_Sal_Qry_AnalyzeSaleOrder1.ItemCodeStArt+''' And '''+Frm_Sal_Qry_AnalyzeSaleOrder1.ItemCodeend+''') And '
+' CurrencyCode='''+Frm_Sal_Qry_AnalyzeSaleOrder1.CurrencyCode+''' '
+' Group By Sa_SaleOrderLine.ItemCode) Tmp '
+' Join Item'
+' On Tmp.ItemCode=Item.ItemCode '
+' Join Uom '
+' On Item.UomCode=Uom.UomCode ' ;
ExecuteSql(AdoQry_Main,SQLText,1);
SelectFromSQL:=' Select * from #TMpsa_SaleOrder ';
ExecuteSql(AdoQry_Main,' Select * from #TMpsa_SaleOrder Order By TotalTaxAmount DESC',0);
end;
procedure TFrm_Sal_Qry_AnalyzeSaleOrder1_D.FormClose(Sender: TObject;
var Action: TCloseAction);
begin
inherited;
Try
ExecuteSql(AdoQry_tmp,'Drop Table #TMpsa_SaleOrder',1);
except
end;
end;
end.
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -