ufrm_salesorder_list.pas

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

PAS
123
字号
unit Ufrm_salesorder_list;

interface

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

type
  Tfrm_salesorder_list = class(Tfrm_level4_3)
    Label1: TLabel;
    Label2: TLabel;
    Label3: TLabel;
    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;
    DBText1: TDBText;
    DBEdit2: TDBEdit;
    DBEdit3: TDBEdit;
    qy_detailD_SN: TFloatField;
    dxDBButtonEdit1: TdxDBButtonEdit;
    dbGridORDERNO: TdxDBGridMaskColumn;
    dbGridORDERITEM: TdxDBGridMaskColumn;
    dbGridGOODSNO: TdxDBGridMaskColumn;
    dbGridORDERQTY: TdxDBGridMaskColumn;
    dbGridUNIT: TdxDBGridMaskColumn;
    dbGridACTI: TdxDBGridMaskColumn;
    dbGridOWUS: TdxDBGridMaskColumn;
    dbGridGRUP: TdxDBGridMaskColumn;
    dbGridCRET: TdxDBGridDateColumn;
    dbGridMODU: TdxDBGridMaskColumn;
    dbGridMODT: TdxDBGridDateColumn;
    dbGridD_SN: TdxDBGridMaskColumn;
    procedure qy_detailNewRecord(DataSet: TDataSet);
    procedure dxDBButtonEdit1ButtonClick(Sender: TObject;
      AbsoluteIndex: Integer);
  private
    { Private declarations }
  protected
    function next_ordinal:integer;
    function chk_save:boolean ; override ;
  public
    { Public declarations }
  end;

var
  frm_salesorder_list: Tfrm_salesorder_list;

implementation

uses udm,uglobal_var,uglobal_fun, uSelect_Form;
{$R *.dfm}

function Tfrm_salesorder_list.next_ordinal:integer;
var l_value:integer;
begin
  with dm do
    begin
      g_sqlstr:='SELECT MAX(ORDERITEM) FROM T_ORDERLIST WHERE ORDERNO='''+u_mpvalue[1]+'''';
      pub1.Close;
      pub1.sql.Clear;
      pub1.SQL.Add(g_sqlstr);
      pub1.Open;
      l_value:=pub1.Fields[0].AsInteger;
      l_value:=l_value+1;
    end;
  result:=l_value;
end;



procedure Tfrm_salesorder_list.qy_detailNewRecord(DataSet: TDataSet);
begin
  inherited;
  qy_detail.FieldByName('ORDERITEM').AsInteger:=self.next_ordinal; 
end;

procedure Tfrm_salesorder_list.dxDBButtonEdit1ButtonClick(Sender: TObject;
  AbsoluteIndex: Integer);
begin
  inherited;
  application.CreateForm(TSelect_Form, Select_Form);
  Select_form.ComboBox1.Items.Add('GOODSNO') ;
  Select_form.Query1.SQL.Add('SELECT GOODSNO,GOODSDESC FROM T_GOODSMASTER WHERE 1=1 ')  ;
  try
     select_form.Query1.Open;
  except
  end;
  Select_form.ShowModal ;
  if Select_form.ModalResult = mrok then
  begin
    qy_detail.FieldByName('GOODSNO').AsString := Select_form.Query1.fieldbyname('GOODSNO').AsString ;
  end;
  try
     select_form.release;
   except
     ;
   end;

end;

function Tfrm_salesorder_list.chk_save ;
begin
  result := true ;
  if qy_detail.FieldByName('ORDERQTY').AsInteger = 0 then
    begin
       u_error := ' 订单数量不能为零 '   ;
       result := false ; exit ;
    end;
end;
end.

⌨️ 快捷键说明

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