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

📄 f_stocheck.pas

📁 仓库管理系统 仓库管理系统
💻 PAS
字号:
unit f_stocheck;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, ComCtrls, DB, ADODB, StdCtrls, ExtCtrls, Grids, DBGrids, Buttons,
  DBCtrls, Mask, DBGridEh;

type
  Tdfmstocheck = class(TForm)
    StatusBar1: TStatusBar;
    Panel2: TPanel;
    DataSource1: TDataSource;
    ATblcheckin: TADOTable;
    delbtn: TBitBtn;
    postbtn: TBitBtn;
    DataSource2: TDataSource;
    Atblbranch: TADOTable;
    ATblspec: TADOTable;
    DataSource3: TDataSource;
    DataSource4: TDataSource;
    AQryware: TADOQuery;
    cancelbtn: TBitBtn;
    BitBtn1: TBitBtn;
    DataSource5: TDataSource;
    Atblvstotemp: TADOTable;
    ADOQuery1: TADOQuery;
    ADOQuery2: TADOQuery;
    DBGridEh1: TDBGridEh;
    DataSource6: TDataSource;
    ADOTable1: TADOTable;
    Panel3: TPanel;
    Label1: TLabel;
    Label3: TLabel;
    Label5: TLabel;
    Label9: TLabel;
    MaskEdit1: TMaskEdit;
    DBLookupComboBox1: TDBLookupComboBox;
    DateTimePicker1: TDateTimePicker;
    DBLookupComboBox2: TDBLookupComboBox;
    Panel4: TPanel;
    Label6: TLabel;
    Label7: TLabel;
    Label8: TLabel;
    Label4: TLabel;
    Label10: TLabel;
    MaskEdit2: TMaskEdit;
    MaskEdit3: TMaskEdit;
    MaskEdit4: TMaskEdit;
    StaticText1: TStaticText;
    Edit2: TEdit;
    procedure FormClose(Sender: TObject; var Action: TCloseAction);
    procedure DataSource1StateChange(Sender: TObject);
    procedure FormCreate(Sender: TObject);
    procedure MaskEdit3Exit(Sender: TObject);
    procedure delbtnClick(Sender: TObject);
    procedure postbtnClick(Sender: TObject);
    procedure cancelbtnClick(Sender: TObject);
    procedure BitBtn1Click(Sender: TObject);
    procedure FormKeyPress(Sender: TObject; var Key: Char);
    procedure sumno;
    procedure FormShow(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  dfmstocheck: Tdfmstocheck;

implementation

uses dbmRainbowMis, chHeadUnit, dfm_check;

{$R *.dfm}

procedure Tdfmstocheck.FormClose(Sender: TObject; var Action: TCloseAction);
begin
  ATblcheckin.Active := false;
  Atblbranch.Active := false;
  ATblspec.Active := false;
  ADOQuery1.ExecSQL ;
  ADOQuery2.ExecSQL ;
  dfmcheck.aqrycheckin.Close;
  dfmcheck.aqrycheckin.Open;
  action:=cafree;
end;

procedure Tdfmstocheck.DataSource1StateChange(Sender: TObject);
begin
    case ATblcheckin.State of
      dsbrowse:
        begin
          delbtn.Enabled :=true;
//          postbtn.Enabled :=false;
          cancelbtn.Enabled :=false;
        end;
      dsinsert:
        begin
          delbtn.Enabled :=false;
//          BitBtn_edit.Enabled :=true;
//          postbtn.Enabled :=true;
          cancelbtn.Enabled :=true;
        end;
      dsedit:
        begin
          delbtn.Enabled :=false;
//          BitBtn_edit.Enabled :=true;
//          postbtn.Enabled :=true;
          cancelbtn.Enabled :=true;
        end;
    end;
end;

procedure Tdfmstocheck.FormCreate(Sender: TObject);
begin
  DateTimePicker1.Date:=date();
  ATblcheckin.Active := true;
  Atblbranch.Active := true;
  ATblspec.Active := true;
end;

procedure Tdfmstocheck.MaskEdit3Exit(Sender: TObject);
begin
  with AQryware do
  begin
    close;
    Parameters.ParamByName ('vlabel').value:=trim(DBLookupComboBox2.text);
    Parameters.ParamByName ('vspbh').value:=trim(maskedit2.text)+trim(edit2.Text)+trim(maskedit3.text);
    open;
  end;
  if TCustomADODataSet(AQryware).RecordCount>0 then
    StaticText1.Caption :=ATblspec['cname']
  else
    StaticText1.Caption :='';
end;

procedure Tdfmstocheck.delbtnClick(Sender: TObject);
begin
  ATblcheckin.Delete ;
end;

procedure Tdfmstocheck.postbtnClick(Sender: TObject);
begin
  with AQryware do
  begin
    close;
    Parameters.ParamByName ('vlabel').value:=trim(DBLookupComboBox2.text);
    Parameters.ParamByName ('vspbh').value:=trim(maskedit2.text)+trim(edit2.Text)+trim(maskedit3.text);
    open;
  end;
  if TCustomADODataSet(AQryware).RecordCount>0 then
  begin
    ATblcheckin.Append ;
    ATblcheckin['ccheckno']:=maskedit1.Text ;
    ATblcheckin['bmh']:=DBLookupComboBox1.Text ;
    ATblcheckin['cuser']:=g_uInfo.fuserName;
    ATblcheckin['cdate']:=formatdatetime('yyyy,mm,dd',DateTimePicker1.Date);
    ATblcheckin['clabel']:=trim(DBLookupComboBox2.Text);
    ATblcheckin['spbh']:=trim(maskedit2.text)+trim(edit2.Text)+trim(maskedit3.text);
    ATblcheckin['cnumber']:=maskedit4.Text ;
    ATblcheckin.Post;
  end
  else
    application.messagebox('输入的商品信息不存在,请重新输入','错误提示',mb_ok);
  maskedit2.SetFocus;
end;

procedure Tdfmstocheck.cancelbtnClick(Sender: TObject);
begin
  ATblcheckin.Cancel ;
end;

procedure Tdfmstocheck.BitBtn1Click(Sender: TObject);
begin
  ADOQuery1.ExecSQL ;
  ADOQuery2.ExecSQL ;
  ATblcheckin.Close;
  ATblcheckin.Open;
end;

procedure Tdfmstocheck.FormKeyPress(Sender: TObject; var Key: Char);
begin
  chHeadUnit.tabventer(dfmstocheck,key);
end;

procedure Tdfmstocheck.sumno;
var
  n:integer;
  a:string;
begin
  if ATblcheckin.IsEmpty then
  begin
    ATblcheckin.Last;
    n:=strtoint(ATblcheckin['cstinno'])+1;
    a:=inttostr(n);
    while length(a)<10 do
    begin
      a:='0'+a;
    end;
    maskedit1.Text:=a;
  end;
end;

procedure Tdfmstocheck.FormShow(Sender: TObject);
begin
  if ATblcheckin.IsEmpty then
    maskedit1.Text:='0000000001'
  else
  begin
    ATblcheckin.Last;
    MaskEdit1.text:=ATblcheckin['ccheckno'];
//    DBLookupComboBox1.Text:=ATblcheckin['bmh'];
//    DBLookupComboBox2.Text:=ATblcheckin['clabel'];
    sumno;
  end;  
  MaskEdit1.SetFocus ;
end;

end.

⌨️ 快捷键说明

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