ufrm_salesorder.pas

来自「完整的进销存系统。 设计文件及完整的源代码。 Delphi6.0」· PAS 代码 · 共 152 行

PAS
152
字号
unit Ufrm_salesorder;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, ufrm_level4_2, dxExEdtr, DB, DBTables, Menus, ImgList, dxCntner,
  dxTL, dxDBCtrl, dxDBGrid, StdCtrls, ExtCtrls, ComCtrls, ToolWin, Mask,
  DBCtrls, dxDBTLCl, dxGrClms, dxEditor, dxEdLib, dxDBELib, USelect_form;

type
  Tfrm_salesorder = class(Tfrm_level4_2)
    qy_masterORDERNO: TStringField;
    qy_masterORDERDATE: TDateTimeField;
    qy_masterCUSTNO: TStringField;
    qy_masterACTI: TStringField;
    qy_masterOWUS: TStringField;
    qy_masterGRUP: TStringField;
    qy_masterCRET: TDateTimeField;
    qy_masterMODU: TStringField;
    qy_masterMODT: TDateTimeField;
    Label1: TLabel;
    Label2: TLabel;
    Label3: TLabel;
    orderno: TDBEdit;
    Label4: TLabel;
    qy_detailORDERNO: TStringField;
    qy_detailORDERITEM: TIntegerField;
    qy_detailGOODSNO: TStringField;
    qy_detailORDERQTY: TFloatField;
    qy_detailUNIT: TStringField;
    qy_detailACTI: TStringField;
    qy_detailOWUS: TStringField;
    qy_detailGRUP: TStringField;
    qy_detailCRET: TDateTimeField;
    qy_detailMODU: TStringField;
    qy_detailMODT: TDateTimeField;
    dbGridORDERNO: TdxDBGridMaskColumn;
    dbGridORDERITEM: TdxDBGridMaskColumn;
    dbGridGOODSNO: TdxDBGridMaskColumn;
    dbGridORDERQTY: TdxDBGridMaskColumn;
    dbGridUNIT: TdxDBGridMaskColumn;
    dbGridACTI: TdxDBGridMaskColumn;
    dbGridOWUS: TdxDBGridMaskColumn;
    dbGridGRUP: TdxDBGridMaskColumn;
    dbGridCRET: TdxDBGridDateColumn;
    dbGridMODU: TdxDBGridMaskColumn;
    dbGridMODT: TdxDBGridDateColumn;
    DBText1: TDBText;
    orderdate: TdxDBDateEdit;
    customer: TdxDBButtonEdit;
    procedure customerButtonClick(Sender: TObject;
      AbsoluteIndex: Integer);
    procedure qy_masterNewRecord(DataSet: TDataSet);
  private
    { Private declarations }
  protected
    procedure set_Focus;        override;  //設置焦點
    procedure chg_canwrite;     override;  //設置關鍵字為可寫
    procedure chg_Readonly;     override;  //設置關鍵字為唯讀
    function  chk_save:boolean; override;  //保存前的檢查
    function  chk_conf:boolean; override;  //確認前的檢查
    procedure call_detail;      override;  //調用單身維護
  public
    { Public declarations }
  end;

var
  frm_salesorder: Tfrm_salesorder;

implementation

uses Ufrm_salesorder_list ,DateUtils ;

{$R *.dfm}

procedure Tfrm_salesorder.customerButtonClick(Sender: TObject;
  AbsoluteIndex: Integer);
begin
  inherited;
  application.CreateForm(TSelect_Form, Select_Form);
  Select_form.ComboBox1.Items.Add('CUSTNO') ;
  Select_form.Query1.SQL.Add('SELECT CUSTNO FROM T_CUSTOMER WHERE 1=1 ')  ;
  try
     select_form.Query1.Open;
  except
  end;
  Select_form.ShowModal ;
  if Select_form.ModalResult = mrok then
  begin
    qy_master.FieldByName('CUSTNO').AsString := Select_form.Query1.fieldbyname('CUSTNO').AsString ;
  end;
  try
     select_form.release;
   except
     ;
   end;
end;

procedure Tfrm_salesorder.set_Focus ;
begin
  if orderno.Enabled then
     orderno.SetFocus
  else if orderdate.Enabled then
        orderdate.SetFocus    ;
end;

procedure Tfrm_salesorder.call_detail ;
begin
   Application.CreateForm(Tfrm_salesorder_list, frm_salesorder_list);
   frm_salesorder_list.ShowModal;
   try
     frm_salesorder_list.Free;
   except
     ;
   end;

end;

procedure Tfrm_salesorder.chg_Readonly ;
begin
  orderno.Enabled := false ;
  orderno.Tag := 2; 
end;
procedure Tfrm_salesorder.chg_canwrite ;
begin
  orderno.Enabled:=true;
  orderno.Tag:=1;
end;

function Tfrm_salesorder.chk_save ;
begin
  result := true ;
  if qy_master.FieldByName('ORDERNO').AsString = '' then
  begin
     u_error := ' 订单号码不能为空! ' ;
     result := false  ; exit ;
  end;
end;

function Tfrm_salesorder.chk_conf ;
begin
  result := true; 
end;
procedure Tfrm_salesorder.qy_masterNewRecord(DataSet: TDataSet);
begin
  inherited;
  qy_master.FieldByName('ORDERDATE').AsDateTime := today() ;
end;

end.

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?