📄 dl110.~pas
字号:
unit DL110;
interface
uses
Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
MasterDetail, Menus, Db, DBTables, Grids, DBGrids, Buttons, ExtCtrls,
StdCtrls, Mask, DBCtrls;
type
TfmDL110 = class(TfmMasterDetail)
qyMasterCompanyID: TStringField;
qyMasterDeliveryID: TStringField;
qyMasterDeliveryDate: TStringField;
qyMasterCustomerID: TStringField;
qyMasterCustomerAttribName: TStringField;
qyMasterWarehouseID: TStringField;
qyMasterWarehouseName: TStringField;
qyMasterSalesManID: TStringField;
qyMasterChineseName: TStringField;
qyMasterDeliveryProperty: TStringField;
qyMasterInvoiceType: TStringField;
qyMasterInvoiceNo: TStringField;
qyMasterCustomerOrderNo: TStringField;
qyMasterSubTotal: TBCDField;
qyMasterValueAddTax: TBCDField;
qyMasterAmount: TBCDField;
qyMasterSales: TBCDField;
qyMasterTax: TBCDField;
qyMasterReceived: TBCDField;
qyMasterCreateMan: TStringField;
qyMasterCreateDate: TStringField;
qyMasterCreateTime: TStringField;
qyMasterModifyMan: TStringField;
qyMasterModifyDate: TStringField;
qyMasterModifyTime: TStringField;
Label1: TLabel;
DBEdit1: TDBEdit;
Label2: TLabel;
Label3: TLabel;
ED2: TDBEdit;
DBEdit4: TDBEdit;
Label5: TLabel;
ED5: TDBEdit;
DBEdit6: TDBEdit;
Label7: TLabel;
ED4: TDBEdit;
DBEdit8: TDBEdit;
sbWarehouseID: TSpeedButton;
sbSalesManID: TSpeedButton;
sbCustomerID: TSpeedButton;
Label13: TLabel;
Label14: TLabel;
Label15: TLabel;
Label11: TLabel;
Label12: TLabel;
EDC: TDBEdit;
EDD: TDBEdit;
DBEdit13: TDBEdit;
DBEdit14: TDBEdit;
DBEdit15: TDBEdit;
qyDetailCompanyID: TStringField;
qyDetailDeliveryItem: TStringField;
qyDetailProductID: TStringField;
qyDetailProductName: TStringField;
qyDetailSalesQuantity: TBCDField;
qyDetailSalesUnitPrice: TBCDField;
qyDetailSalesAmount: TBCDField;
qyDetailSalesAnalystAmount: TBCDField;
sbDeliveryDate: TSpeedButton;
qyMasterDeliveryAddressID: TStringField;
qyMasterAddressDescription: TStringField;
Label4: TLabel;
ED3: TDBEdit;
DBEdit5: TDBEdit;
sbDeliveryAddressID: TSpeedButton;
qyDetailDeliveryID: TStringField;
qyTemp2: TQuery;
qyTemp1: TQuery;
qyCustomerAddress: TQuery;
StringField3: TStringField;
StringField4: TStringField;
edProductID: TDBEdit;
rgDeliveryProperty: TDBRadioGroup;
rgInvoiceType: TDBRadioGroup;
qyMasterAccountReceivable: TBCDField;
procedure FormCreate(Sender: TObject);
procedure qyMasterBeforeOpen(DataSet: TDataSet);
procedure qyMasterNewRecord(DataSet: TDataSet);
procedure qyMasterBeforePost(DataSet: TDataSet);
procedure qyDetailBeforeOpen(DataSet: TDataSet);
procedure qyDetailNewRecord(DataSet: TDataSet);
procedure qyDetailBeforePost(DataSet: TDataSet);
procedure sbDeliveryDateClick(Sender: TObject);
procedure qyDetailSalesQuantityValidate(Sender: TField);
procedure qyDetailSalesUnitPriceValidate(Sender: TField);
procedure dsMasterStateChange(Sender: TObject);
procedure qyMasterCustomerIDValidate(Sender: TField);
procedure qyMasterDeliveryAddressIDValidate(Sender: TField);
procedure qyMasterSalesManIDValidate(Sender: TField);
procedure qyMasterWarehouseIDValidate(Sender: TField);
procedure qyDetailProductIDValidate(Sender: TField);
procedure gdDetailEditButtonClick(Sender: TObject);
procedure sbSalesManIDClick(Sender: TObject);
procedure sbCustomerIDClick(Sender: TObject);
procedure sbDeliveryAddressIDClick(Sender: TObject);
procedure qyCustomerAddressBeforeOpen(DataSet: TDataSet);
procedure sbWarehouseIDClick(Sender: TObject);
procedure qyDetailAfterInsert(DataSet: TDataSet);
procedure qyDetailUpdateRecord(DataSet: TDataSet;
UpdateKind: TUpdateKind; var UpdateAction: TUpdateAction);
procedure qyMasterUpdateRecord(DataSet: TDataSet;
UpdateKind: TUpdateKind; var UpdateAction: TUpdateAction);
procedure sbSelectClick(Sender: TObject);
procedure sbReportClick(Sender: TObject);
private
{ Private declarations }
procedure CalcSalesAmount;
procedure UpdateSalesAnalyst(DeliveryDate, CustomerID, ProductID,
DeliveryProperty: String; SalesQuantity, SalesAmount: Extended);
procedure UpdateCustomerInventory(CustomerID, ProductID: String;
Quantity: Extended);
public
{ Public declarations }
AStartPeriodDate, AEndPeriodDate : String;
AStartCustomerID, AEndCustomerID : String;
AStartSalesManID, AEndSalesManID : String;
AStartWarehouseID, AEndWarehouseID : String;
AProperty1, AProperty2, AProperty3, AProperty4 : String;
ReData : Boolean;
procedure OpenDB; override;
procedure CalcAmount; override;
procedure GetPrevValue; override;
end;
var
fmDL110: TfmDL110;
implementation
uses Main, DataModule, PublicFunction, CheckData, ChinaCalendar, GetData,
BaseSearch, DL110Select, Loading, DL110Report;
var
sPrevDeliveryDate, sPrevCustomerID, sPrevWarehouseID, sPrevDeliveryProperty : String;
{$R *.DFM}
{ TfmDL110 }
procedure TfmDL110.FormCreate(Sender: TObject);
begin
AStartPeriodDate := sStartPeriodDate;
AEndPeriodDate := sEndPeriodDate;
AStartCustomerID := '00000000';
AEndCustomerID := 'ZZZZZZZZ';
AStartSalesManID := '0000';
AEndSalesManID := 'ZZZZ';
AStartWarehouseID := '0000';
AEndWarehouseID := 'ZZZZ';
AProperty1 := '1';
AProperty2 := '2';
AProperty3 := '3';
AProperty4 := '4';
ReData := False;
inherited;
sPrevDeliveryDate := '';
sPrevCustomerID := '';
sPrevWarehouseID := '';
sPrevDeliveryProperty := '';
end;
procedure TfmDL110.OpenDB;
begin
qyMaster.Close;
OrderBySQL := 'M.DeliveryID';
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -