📄 inv110_02.pas.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 + -