⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 dl110.~pas

📁 一套融入了系统营销管理思想的管理软件产品
💻 ~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 + -