📄 sal_qry_analyzeshiporder3_d.pas
字号:
unit Sal_Qry_AnalyzeShipOrder3_D;
Interface
uses
Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
Base_Qry, Menus, ExtPrintReport, Db, ActnList, AdODB, Grids, DBGridEh,
StdCtrls, ExtCtrls, ComCtrls, ToolWin, DBCtrls, jpeg;
Type
TFrm_Sal_Qry_AnalyzeShipOrder3_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;
DBText1: TDBText;
Label1: TLabel;
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_AnalyzeShipOrder3_D: TFrm_Sal_Qry_AnalyzeShipOrder3_D;
implementation
uses Sal_Qry_AnalyzeShipOrder3, Sys_Global;
{$R *.DFM}
{ TFrm_Sal_Qry_AnalyzeShipOrder3_D }
procedure TFrm_Sal_Qry_AnalyzeShipOrder3_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 #TmpInvOutBill3 '
+' From '
+' (Select InvOutBillLine.ItemCode, '
+' Count(Distinct InvOutBill.InvBillNo) As Sa_SaleOrderNumber, '
+' Sum(TotalInvBillAmount)AS TotalTaxAmount, (Sum(InvBillQty)-Sum(IsNull(BackShipQty,0))) AS SloQty, Sum(Cost)As Cost, '
+' Sum(TotalInvBillAmount)-Sum(Cost) As GrossProfit, '
+' Sum(TotalInvBillAmount)/Count(Distinct InvOutBill.InvBillNo) As AverageTaxAmount , '
+' Sum(Cost)/Count(Distinct InvOutBill.InvBillNo) As AverageCost, '
+' (Sum(TotalInvBillAmount)-Sum(Cost))/Count(Distinct InvOutBill.InvBillNo) As AverageGrossProfit '
+' From InvOutBill'
+' Join InvOutBillLine '
+' On InvOutBill.InvBillID=InvOutBillLine.InvBillID '
+' Where (InvOutBill.InvBillDate Between '''+Frm_Sal_Qry_AnalyzeShipOrder3.CreateDateStArt+''' And '''+Frm_Sal_Qry_AnalyzeShipOrder3.CreateDateend+''') And '
+' (InvOutBill.CustomerCode Between '''+Frm_Sal_Qry_AnalyzeShipOrder3.CustomerCodeStArt+''' And '''+Frm_Sal_Qry_AnalyzeShipOrder3.CustomerCodeend+''') And '
+' (InvOutBill.InvBillNo Between '''+Frm_Sal_Qry_AnalyzeShipOrder3.SloNoStArt+''' And '''+Frm_Sal_Qry_AnalyzeShipOrder3.SloNoend+''') And '
+' (InvOutBill.SaleType Between '''+Frm_Sal_Qry_AnalyzeShipOrder3.SaleTypeCodeStArt+''' And '''+Frm_Sal_Qry_AnalyzeShipOrder3.SaleTypeCodeend+''') And '
+' (InvOutBill.DeptCode Between '''+Frm_Sal_Qry_AnalyzeShipOrder3.SaleDeptCodeStArt+''' And '''+Frm_Sal_Qry_AnalyzeShipOrder3.SaleDeptCodeend+''') And '
+' (InvOutBill.Sal_EmployeeCode = '''+AdoQuery.fieldbyname('Sal_EmployeeCode').AsString+''') And '
+' (InvOutBill.PayTermCode Between '''+Frm_Sal_Qry_AnalyzeShipOrder3.PayTermCodeStArt+''' And '''+Frm_Sal_Qry_AnalyzeShipOrder3.PayTermCodeend+''') And '
+' (InvOutBillLine.ItemCode Between '''+Frm_Sal_Qry_AnalyzeShipOrder3.ItemCodeStArt+''' And '''+Frm_Sal_Qry_AnalyzeShipOrder3.ItemCodeend+''') And '
+' InvOutBill.CurrencyCode='''+Frm_Sal_Qry_AnalyzeShipOrder3.CurrencyCode+''' '
+' Group By InvOutBillLine.ItemCode) Tmp '
+' Join Item'
+' On Tmp.ItemCode=Item.ItemCode '
+' Join Uom '
+' On Item.UomCode=Uom.UomCode ' ;
ExecuteSql(AdoQry_Main,SQLText,1);
SelectFromSQL:=' Select * from #TmpInvOutBill3 ';
ExecuteSql(AdoQry_Main,' Select * from #TmpInvOutBill3 Order By TotalTaxAmount DESC',0);
end;
procedure TFrm_Sal_Qry_AnalyzeShipOrder3_D.FormClose(Sender: TObject;
var Action: TCloseAction);
begin
inherited;
Try
ExecuteSql(AdoQry_tmp,'Drop Table #TmpInvOutBill3',1);
except
end;
end;
end.
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -