ufrm_invoice_list.pas

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

PAS
170
字号
unit Ufrm_invoice_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_invoice_list = class(Tfrm_level4_3)
    Label1: TLabel;
    Label2: TLabel;
    Label3: TLabel;
    Label4: TLabel;
    Label5: TLabel;
    Label6: TLabel;
    Label7: TLabel;
    Label8: TLabel;
    Label9: TLabel;
    DBText1: TDBText;
    DBEdit1: TDBEdit;
    DBEdit2: TDBEdit;
    DBEdit3: TDBEdit;
    DBEdit4: TDBEdit;
    DBEdit5: TDBEdit;
    DBEdit6: TDBEdit;
    dxDBButtonEdit1: TdxDBButtonEdit;
    dxDBButtonEdit2: TdxDBButtonEdit;
    qy_detailINVOICENO: TStringField;
    qy_detailINVOICEITEM: TIntegerField;
    qy_detailGOODSNO: TStringField;
    qy_detailUNIT: TStringField;
    qy_detailGOODSQTY: TFloatField;
    qy_detailPRICE: TFloatField;
    qy_detailCURRENCY: TStringField;
    qy_detailAMOUNT: TFloatField;
    qy_detailSHIPNO: TStringField;
    qy_detailSHIPITEM: TIntegerField;
    qy_detailACTI: TStringField;
    qy_detailOWUS: TStringField;
    qy_detailGRUP: TStringField;
    qy_detailCRET: TDateTimeField;
    qy_detailMODU: TStringField;
    qy_detailMODT: TDateTimeField;
    dbGridINVOICENO: TdxDBGridMaskColumn;
    dbGridINVOICEITEM: TdxDBGridMaskColumn;
    dbGridGOODSNO: TdxDBGridMaskColumn;
    dbGridUNIT: TdxDBGridMaskColumn;
    dbGridGOODSQTY: TdxDBGridMaskColumn;
    dbGridPRICE: TdxDBGridMaskColumn;
    dbGridCURRENCY: TdxDBGridMaskColumn;
    dbGridAMOUNT: TdxDBGridMaskColumn;
    dbGridSHIPNO: TdxDBGridMaskColumn;
    dbGridSHIPITEM: TdxDBGridMaskColumn;
    dbGridACTI: TdxDBGridMaskColumn;
    dbGridOWUS: TdxDBGridMaskColumn;
    dbGridGRUP: TdxDBGridMaskColumn;
    dbGridCRET: TdxDBGridDateColumn;
    dbGridMODU: TdxDBGridMaskColumn;
    dbGridMODT: TdxDBGridDateColumn;
    qy_detailD_SN: TFloatField;
    procedure dxDBButtonEdit1ButtonClick(Sender: TObject;
      AbsoluteIndex: Integer);
    procedure dxDBButtonEdit2ButtonClick(Sender: TObject;
      AbsoluteIndex: Integer);
    procedure qy_detailNewRecord(DataSet: TDataSet);
  private
    { Private declarations }
  protected
    function next_ordinal:integer;
    function chk_save:boolean ; override ;
  public
    { Public declarations }
  end;

var
  frm_invoice_list: Tfrm_invoice_list;

implementation

uses uSelect_Form, udm , uglobal_var,uglobal_fun ;

{$R *.dfm}

procedure Tfrm_invoice_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;

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

end;

function Tfrm_invoice_list.next_ordinal:integer;
var l_value:integer;
begin
  with dm do
    begin
      g_sqlstr:='SELECT MAX(INVOICEITEM) FROM T_INVOICELIST WHERE INVOICENO='''+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_invoice_list.qy_detailNewRecord(DataSet: TDataSet);
begin
  inherited;
   qy_detail.FieldByName('INVOICEITEM').AsInteger:=self.next_ordinal; 
end;


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

⌨️ 快捷键说明

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