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

📄 inv110_02.pas.svn-base

📁 这是一个功能齐全的,代码完整的ERP企业信息管理系统,现在上传和大家分享
💻 SVN-BASE
字号:
unit Inv110_02;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, Bas200_16, DB, ADODB, Menus, StdCtrls, Buttons, ExtCtrls,
  dxdbtrel;

type
  TInv110_02Form = class(TBas200_16Form)
    lblCode: TLabel;
    lblType: TLabel;
    lblWeight: TLabel;
    lblLoc: TLabel;
    lblStatues: TLabel;
    lblVolume: TLabel;
    edtCode: TEdit;
    edtName: TEdit;
    edtLoc: TEdit;
    edtVolume: TEdit;
    cbIsAllocate: TCheckBox;
    cbIsMRP: TCheckBox;
    qryInv100: TADOQuery;
    sbWhsID: TSpeedButton;
    lblName: TLabel;
    lblWhsID: TLabel;
    edtWhsID: TEdit;
    edtWhsName: TEdit;
    cbType: TComboBox;
    qryInv100I100_001: TAutoIncField;
    qryInv100I100_002: TWideStringField;
    qryInv100I100_003: TWideStringField;
    qryInv100I100_010: TBooleanField;
    qryInv100I100_011: TBooleanField;
    cbStatues: TComboBox;
    edtWeight: TEdit;
    lblVol: TLabel;
    lblWei: TLabel;
    lblLocate: TLabel;
    procedure FormCreate(Sender: TObject);
    procedure FormClose(Sender: TObject; var Action: TCloseAction);
    procedure sbWhsIDClick(Sender: TObject);
    procedure edtWhsIDExit(Sender: TObject);
    procedure edtVolumeKeyPress(Sender: TObject; var Key: Char);
  private
    { Private declarations }
  public
    procedure OpenData(ACode:String);
    procedure SetInterface; override;
    procedure GetDataInfo; override;
    procedure SetEmptyInit; override;
    procedure InsertInit; override;
    procedure TableBeforePost; override;
    { Public declarations }
  end;

var
  Inv110_02Form: TInv110_02Form;

implementation

uses SYSDATA, CommFun, HwSelData;

{$R *.dfm}

procedure TInv110_02Form.OpenData(ACode:String);
begin
  if ACode='' then AMode:='ADD' else AMode:='UPD';
  ADOQuery1.Close;
  ADOQuery1.SQL.Clear;
  ADOQuery1.SQL.Add('select A.*,B.I100_002,I100_003 from INV110 A,INV100 B where I110_002=I100_001 order by I110_002,I110_003');
  ADOQuery1.Open;
  if ACode<>'' then
  begin
    ADOQuery1.Locate('I110_003',ACode,[]);
    ADOQuery1AfterScroll(ADOQuery1);
  end else
  begin
    InsertInit;
  end;
end;

procedure TInv110_02Form.SetInterface;
begin
  inherited;
  Caption:=GetDBString('INV11002001');  //库位资料维护
  lblWhsID.Caption:=GetDBString('INV11002002');  //仓库编号
  lblCode.Caption:=GetDBString('INV11002003');  //库位编号
  lblName.Caption:=GetDBString('INV11002004');  //库位名称
  lblType.Caption:=GetDBString('INV11002005');  //库位类型
  lblVolume.Caption:=GetDBString('INV11002006');  //容积能力
  lblWeight.Caption:=GetDBString('INV11002007');  //容重能力
  lblLoc.Caption:=GetDBString('INV11002008');  //库位能力
  cbIsAllocate.Caption:=GetDBString('INV11002009');  //允许将该仓库的料品的现有库存分配给销售定单
  cbIsMRP.Caption:=GetDBString('INV11002010');  //允许该仓库的料品参与 MRP(物料需求计划)的计算
end;

procedure TInv110_02Form.FormCreate(Sender: TObject);
begin
  inherited;
  qryInv100.Open;
end;

procedure TInv110_02Form.FormClose(Sender: TObject;
  var Action: TCloseAction);
begin
  inherited;
  qryInv100.Close;
end;

procedure TInv110_02Form.GetDataInfo;
begin
  inherited;
  edtWhsID.Text:=ADOQuery1.FieldByName('I100_002').AsString;  //仓库编号
  edtWhsName.Text:=ADOQuery1.FieldByName('I100_003').AsString;  //仓库名称
  edtCode.Text:=ADOQuery1.FieldByName('I110_003').AsString;  //库位编号
  edtName.Text:=ADOQuery1.FieldByName('I110_004').AsString;  //库位名称
  cbType.ItemIndex:=ADOQuery1.FieldByName('I110_005').AsInteger;  //库位类型
  edtVolume.Text:=ADOQuery1.FieldByName('I110_006').AsString;  //容积能力
  edtWeight.Text:=ADOQuery1.FieldByName('I110_007').AsString;  //容重能力
  edtLoc.Text:=ADOQuery1.FieldByName('I110_008').AsString;  //库位能力
  cbStatues.ItemIndex:=ADOQuery1.FieldByName('I110_011').AsInteger;  //库位状态
  cbIsAllocate.Checked:=ADOQuery1.FieldByName('I110_009').Value;  //允许将该仓库的料品的现有库存分配给销售定单
  cbIsMRP.Checked:=ADOQuery1.FieldByName('I110_010').Value;  //允许该仓库的料品参与 MRP(物料需求计划)的计算
  AOldCode:=edtCode.Text;
end;

procedure TInv110_02Form.SetEmptyInit;
begin
  inherited;
  edtWhsID.Text:='';  //仓库编号
  edtWhsName.Text:='';  //仓库名称
  edtCode.Text:='';  //库位编号
  edtName.Text:='';  //库位名称
  cbType.ItemIndex:=-1;  //库位类型
  edtVolume.Text:='';  //容积能力
  edtWeight.Text:='';  //容重能力
  edtLoc.Text:='';  //库位能力
  cbStatues.ItemIndex:=-1;  //库位状态
  cbIsAllocate.Checked:=False;  //允许将该仓库的料品的现有库存分配给销售定单
  cbIsMRP.Checked:=False;  //允许该仓库的料品参与 MRP(物料需求计划)的计算
end;

procedure TInv110_02Form.TableBeforePost;
var
  AWhsNo:Integer;
begin
  inherited;
  if not qryInv100.Locate('I100_002',edtWhsID.Text,[]) then
  begin
    ShowMsg('UMS10000440');  //无效的仓库编号,请重新输入
    edtWhsID.SetFocus;
    Abort;
  end;
  AWhsNo:=qryInv100.FieldByName('I100_001').AsInteger;

  if trim(edtCode.Text)='' then
  begin
    ShowMsg('UMS10000490');  //库位编号不能为空
    edtCode.SetFocus;
    Abort;
  end;
  if trim(edtName.Text)='' then
  begin
    ShowMsg('UMS10000491');  //库位名称不能为空
    edtName.SetFocus;
    Abort;
  end;
  if AOldCode<>trim(edtCode.Text) then
  begin
    if IsExists('select 1 from INV110 where I110_003='+''''+trim(edtCode.Text)+'''') then
    begin
      ShowMsg('UMS10000492');  //库位编号已存在,请重新输入
      edtCode.SetFocus;
      Abort;
    end;
  end;

  if AMode='ADD' then ADOQuery1.Append else ADOQuery1.Edit;
  ADOQuery1.FieldByName('I110_002').Value:=AWhsNo;  //仓库编号
  ADOQuery1.FieldByName('I110_003').AsString:=edtCode.Text;  //库位编号
  ADOQuery1.FieldByName('I110_004').AsString:=edtName.Text;  //库位名称
  ADOQuery1.FieldByName('I110_005').Value:=cbType.ItemIndex;  //库位类型
  ADOQuery1.FieldByName('I110_006').AsString:=edtVolume.Text;  //容积能力
  ADOQuery1.FieldByName('I110_007').AsString:=edtWeight.Text;  //容重能力
  ADOQuery1.FieldByName('I110_008').AsString:=edtLoc.Text;  //库位能力
  ADOQuery1.FieldByName('I110_011').Value:=cbStatues.ItemIndex;  //库位状态
  ADOQuery1.FieldByName('I110_009').Value:=cbIsAllocate.Checked;  //允许将该仓库的料品的现有库存分配给销售定单
  ADOQuery1.FieldByName('I110_010').Value:=cbIsMRP.Checked;  //允许该仓库的料品参与 MRP(物料需求计划)的计算
end;

procedure TInv110_02Form.InsertInit;
begin
  inherited;
  SetEmptyInit;
  cbType.ItemIndex:=0;  //库位类型
  cbStatues.ItemIndex:=0;  //库位状态
end;

procedure TInv110_02Form.sbWhsIDClick(Sender: TObject);
begin
  inherited;
//仓库编号查询
  if not edtWhsID.Focused then edtWhsID.SetFocus;
  HwSelDataForm:=THwSelDataForm.Create(Application);
  HwSelDataForm.OpenSelData(qryInv100,nil);
  if HwSelDataForm.ShowModal=1 then
  begin
    edtWhsID.Text:=qryInv100.FieldByName('I100_002').AsString;
    edtWhsName.Text:=qryInv100.FieldByName('I100_003').AsString;
    cbIsAllocate.Checked:=qryInv100.FieldByName('I100_010').AsBoolean;
    cbIsMRP.Checked:=qryInv100.FieldByName('I100_011').AsBoolean;
  end;
end;

procedure TInv110_02Form.edtWhsIDExit(Sender: TObject);
begin
  inherited;
//仓库编号
  if trim(edtWhsID.Text)='' then Exit;
  if qryInv100.Locate('I100_002',edtWhsID.Text,[]) then
  begin
    edtWhsID.Text:=qryInv100.FieldByName('I100_002').AsString;
    edtWhsName.Text:=qryInv100.FieldByName('I100_003').AsString;
    cbIsAllocate.Checked:=qryInv100.FieldByName('I100_010').AsBoolean;
    cbIsMRP.Checked:=qryInv100.FieldByName('I100_011').AsBoolean;
  end else
  begin
    ShowMsg('UMS10000440');  //无效的仓库编号,请重新输入
    edtWhsID.SetFocus;
    Abort;
  end;
end;

procedure TInv110_02Form.edtVolumeKeyPress(Sender: TObject; var Key: Char);
begin
  inherited;
  ValidFloat(Sender,Key);
end;

initialization
  RegisterClass(TInv110_02Form);

finalization
  UnRegisterClass(TInv110_02Form);

end.

⌨️ 快捷键说明

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