?? insuplier.pas
字號:
unit InSuplier;
interface
uses Windows, SysUtils, Classes, Graphics, Forms, Controls, StdCtrls, Dialogs,
Buttons, ExtCtrls, Ex2nmedt, InvDef, dpConst;
type
TfrmInSuplier = class(TForm)
Bevel1: TBevel;
edtSuplierCode: TEx2NumEdit;
lblSupplierNM: TEdit;
cbxSuplier: TComboBox;
edtIssPaperNO: TEdit;
lblSuplier: TLabel;
lblIsspaper: TLabel;
edtIOID: TEdit;
lblInType: TLabel;
lblEmpID: TLabel;
cbxMan: TComboBox;
cbxIO: TComboBox;
edtIOName: TEdit;
edtManName: TEdit;
edtManID: TEx2NumEdit;
edtStkID: TEdit;
edtStkName: TEdit;
cbxStk: TComboBox;
lblStkID: TLabel;
btnConfirm: TBitBtn;
btnCancel: TBitBtn;
btnSuplierSearch: TSpeedButton;
procedure FormCreate(Sender: TObject);
procedure FormShow(Sender: TObject);
procedure FormClose(Sender: TObject; var Action: TCloseAction);
procedure btnConfirmClick(Sender: TObject);
procedure cbxSuplierDropDown(Sender: TObject);
procedure cbxSuplierChange(Sender: TObject);
procedure edtSuplierCodeChange(Sender: TObject);
procedure edtSuplierCodeExit(Sender: TObject);
procedure btnCancelClick(Sender: TObject);
procedure FormKeyDown(Sender: TObject; var Key: Word; Shift: TShiftState);
procedure cbxManDropDown(Sender: TObject);
procedure cbxIODropDown(Sender: TObject);
procedure cbxIOChange(Sender: TObject);
procedure cbxManChange(Sender: TObject);
procedure edtIOIDChange(Sender: TObject);
procedure edtIOIDExit(Sender: TObject);
procedure edtManIDChange(Sender: TObject);
procedure edtManIDExit(Sender: TObject);
procedure cbxStkChange(Sender: TObject);
procedure edtStkIDChange(Sender: TObject);
procedure edtStkIDExit(Sender: TObject);
procedure btnSuplierSearchClick(Sender: TObject);
private
{ Private declarations }
procedure SetMultilingual;
procedure Close_TabStop;
Procedure Init_TabStopAndTabOrder;
Procedure GetNextTabOrder(Key: Word; ShiftState: TShiftState);
public
{ Public declarations }
InWinLogin: Integer;
end;
var
frmInSuplier: TfrmInSuplier;
implementation
uses InvDM, Main, InvSuplierSearch;
{$R *.dfm}
procedure TfrmInSuplier.FormCreate(Sender: TObject);
begin
SetMultilingual;
end;
procedure TfrmInSuplier.FormShow(Sender: TObject);
begin
Close_TabStop;
Init_TabStopAndTabOrder;
edtIssPaperNO.Text := '0';
edtSuplierCode.Value := 0;
lblSupplierNM.Text := '';
cbxSuplier.Text := '';
edtIOID.Text := '';
edtIOName.Text := '';
cbxIO.Text := '';
edtManID.Value := frmMain.FUserID;
edtManName.Text := dm_Inventory.Get_EmpName(trim(edtManID.Text));
cbxMan.Text := '';
edtStkID.Text := frmMain.FDefStkID;
edtStkName.Text := dm_Inventory.GetStockName(frmMain.FDefStkID);
cbxStk.Text := '';
if trim(edtStkID.Text)='' then edtStkID.Text := IniData.matstkid;
edtIssPaperNO.SetFocus;
end;
procedure TfrmInSuplier.FormClose(Sender: TObject;
var Action: TCloseAction);
begin
action := cafree;
end;
procedure TfrmInSuplier.btnConfirmClick(Sender: TObject);
var iBool1,iBool2,iBool3,iBool4: Boolean;
WCD1,WCD2: Integer;
WTmpStr1,WTmpStr2,WTmpStr3: String;
ErrorCode: Integer;
begin
Modalresult := mrNone;
ErrorCode := 0;
WCD1 := trunc(edtSuplierCode.Value);
WCD2 := trunc(edtManID.Value);
WTmpStr1 := trim(edtIOID.Text);
WTmpStr2 := FloatTostr(edtManID.Value);
WTmpStr3 := trim(edtStkID.Text);
/////////////////////////////////////////////////////////
if (WCD1<=0) then ErrorCode := -1;
/////////////////////////////////////////////////////////
iBool1 := dm_Inventory.MasterProc(WCD1, lblSupplierNM);
if not(iBool1) then begin
edtSuplierCode.Value := 0;
ErrorCode := -1;
Exit;
end;
/////////////////////////////////////////////////////////
if trim(edtIssPaperNO.Text)='' then ErrorCode := -2;
/////////////////////////////////////////////////////////
if WTmpStr1='' then ErrorCode := -3;
iBool2 := dm_Inventory.InOut_IDProc(WTmpStr1,1, edtIOName);
if not(iBool2) then begin
edtIOID.Text := '';
ErrorCode := -3;
Exit;
end;
/////////////////////////////////////////////////////////
if (WCD2<=0) then ErrorCode := -4;
iBool3 := dm_Inventory.Emp_IDProc(WTmpStr2, edtManName);
if not(iBool3) then begin
edtManID.Value := 0;
ErrorCode := -4;
Exit;
end;
/////////////////////////////////////////////////////////
if (WTmpStr3='') then ErrorCode := -5;
iBool4 := dm_Inventory.Get_StockCheck(WTmpStr3,edtStkName);
if not(iBool4) then begin
edtStkID.Text := '';
ErrorCode := -5;
Exit;
end;
/////////////////////////////////////////////////////////
case ErrorCode of
-1: begin
MessageDlg(GetMultiLingalMsg(90264,'Please Selected One Suplier!'),mtError,[mbOk],0);
Exit;
end;
-2: begin
MessageDlg(GetMultiLingalMsg(90237, 'None Input Customer Issure Paper No!'),mtError,[mbOk],0);
Exit;
end;
-3: begin
MessageDlg(GetMultiLingalMsg(90209, 'None Input IN Type!'),mtError,[mbOk],0);
Exit;
end;
-4: begin
MessageDlg(GetMultiLingalMsg(90210,'Please Input Man!'),mtError,[mbOk],0);
Exit;
end;
-5: begin
MessageDlg('請選定入庫的倉庫!',mtError,[mbOk],0);
Exit;
end;
-6: begin
MessageDlg('請輸入進倉單號!',mtError,[mbOk],0);
Exit;
end;
else Modalresult := mrOK;
end;
end;
procedure TfrmInSuplier.SetMultilingual;
begin
self.Caption := GetMultiLingalMsg(90259, 'Selected Suplier Delivery');
lblSuplier.Caption := GetMultiLingalMsg(90057, 'Suplier');
lblIsspaper.Caption := GetMultiLingalMsg(90236, 'Issue Paper');
lblInType.Caption := GetMultiLingalMsg(90059, 'In Type');
lblEmpID.Caption := GetMultiLingalMsg(90060, 'In Man');
lblStkID.Caption := GetMultiLingalMsg(90027,'Stock ID');
end;
procedure TfrmInSuplier.cbxSuplierDropDown(Sender: TObject);
begin
dm_inventory.Read_SupplyMake_ToCbx(cbxSuplier);
end;
procedure TfrmInSuplier.cbxSuplierChange(Sender: TObject);
begin
edtSuplierCode.Value := StrToIntDef(Get_PosBeforeStr(cbxSuplier.Text,'_'),0);
lblSupplierNM.Text := Get_PosAfterStr(cbxSuplier.Text,'_');
edtSuplierCode.SetFocus;
end;
procedure TfrmInSuplier.edtSuplierCodeChange(Sender: TObject);
begin
lblSupplierNM.Text := dm_Inventory.GetShigenName(Trunc(edtSuplierCode.Value));
end;
procedure TfrmInSuplier.edtSuplierCodeExit(Sender: TObject);
var iBool: Boolean;
WCD: Integer;
begin
WCD := trunc(edtSuplierCode.Value);
iBool := dm_Inventory.MasterProc(WCD, lblSupplierNM);
if not(iBool) then begin
edtSuplierCode.Value := 0;
Exit;
end;
end;
procedure TfrmInSuplier.btnCancelClick(Sender: TObject);
begin
Modalresult := mrCancel;
CLOSE;
end;
////////////////////////////////////////////////////////////////////////////
////////////////////////////////////////////////////////////////////////////
procedure TfrmInSuplier.Close_TabStop;
var
i:Integer;
begin
for i:=0 To Self.ComponentCount-1 do
try
if not ((Self.Components[i] is TLabel) or (Self.Components[i] is TImageList)or
(Self.Components[i] is TSpeedButton) or (self.Components[i] is TBevel)or
(Self.Components[i] is TButton))then
begin
(Self.Components[i] as TWinControl).TabStop := False;
(Self.Components[i] as TWinControl).TabOrder := -1;
end;
except
;
end;
end;
procedure TfrmInSuplier.Init_TabStopAndTabOrder;
begin
edtIssPaperNO.TabStop := true;
edtIssPaperNO.TabOrder := 7;
edtSuplierCode.TabStop := true;
edtSuplierCode.TabOrder := 6;
edtIOID.TabStop := true;
edtIOID.TabOrder := 5;
edtManID.TabStop := true;
edtManID.TabOrder := 4;
edtStkID.TabStop := true;
edtStkID.TabOrder := 3;
btnConfirm.TabStop := true;
btnConfirm.TabOrder := 2;
btnCancel.TabStop := true;
btnCancel.TabOrder := 1;
end;
procedure TfrmInSuplier.GetNextTabOrder(Key: Word; ShiftState: TShiftState);
var
nextControl : TWinControl;
begin
if key = VK_TAB then begin
nextControl := FindNextControl(ActiveControl ,false,true,false);
if NextControl <> nil then NextControl.SetFocus;
end
else if key = VK_RETURN then
begin
nextControl := FindNextControl(ActiveControl ,true,true,false);
if NextControl <> nil then NextControl.SetFocus;
end;
end;
procedure TfrmInSuplier.FormKeyDown(Sender: TObject; var Key: Word; Shift: TShiftState);
begin
if (Key = VK_TAB) or (Key = VK_RETURN) then //--
GetNextTabOrder(VK_TAB, Shift);
end;
procedure TfrmInSuplier.cbxManDropDown(Sender: TObject);
begin
dm_inventory.Read_EmpInfoToCbx(cbxMan);
end;
procedure TfrmInSuplier.cbxIODropDown(Sender: TObject);
begin
dm_inventory.Read_IOIDInfo_ToCbx(cbxIO,1);
end;
procedure TfrmInSuplier.cbxIOChange(Sender: TObject);
begin
edtIOID.Text := Get_PosBeforeStr(cbxIO.Text,'_');
edtIOName.Text := Get_PosAfterStr(cbxIO.Text,'_');
edtIOID.SetFocus;
end;
procedure TfrmInSuplier.cbxManChange(Sender: TObject);
begin
edtManID.Value := StrToIntDef(Get_PosBeforeStr(cbxMan.Text,'_'),0);
edtManName.Text := Get_PosAfterStr(cbxMan.Text,'_');
edtManID.SetFocus;
end;
procedure TfrmInSuplier.edtIOIDChange(Sender: TObject);
begin
edtIOName.Text := dm_Inventory.Get_IOIDName(trim(edtIOID.Text),1);
end;
procedure TfrmInSuplier.edtIOIDExit(Sender: TObject);
var iBool: Boolean;
WTmpStr: String;
begin
WTmpStr := trim(edtIOID.Text);
iBool := dm_Inventory.InOut_IDProc(WTmpStr,1, edtIOName);
if not(iBool) then begin
edtIOID.Text := '';
Exit;
end;
end;
procedure TfrmInSuplier.edtManIDChange(Sender: TObject);
begin
edtManName.Text := dm_Inventory.Get_EmpName(trim(edtManID.Text));
end;
procedure TfrmInSuplier.edtManIDExit(Sender: TObject);
var iBool: Boolean;
WTmpStr: string;
begin
WTmpStr := FloatTostr(edtManID.Value);
iBool := dm_Inventory.Emp_IDProc(WTmpStr, edtManName);
if not(iBool) then begin
edtManID.Value := 0;
Exit;
end;
end;
procedure TfrmInSuplier.cbxStkChange(Sender: TObject);
begin
edtStkID.Text := Get_PosBeforeStr(cbxStk.Text,'_');
edtStkName.Text := Get_PosAfterStr(cbxStk.Text,'_');
edtStkID.SetFocus;
end;
procedure TfrmInSuplier.edtStkIDChange(Sender: TObject);
begin
edtStkName.Text := dm_Inventory.GetStockName(trim(edtStkID.Text));
end;
procedure TfrmInSuplier.edtStkIDExit(Sender: TObject);
var WTmpStr: string;
iBool: Boolean;
begin
WTmpStr := trim(edtStkID.Text);
iBool := dm_Inventory.Get_StockCheck(WTmpStr,edtStkName);
if not(iBool) then begin
edtStkID.Text := '';
Exit;
end;
end;
procedure TfrmInSuplier.btnSuplierSearchClick(Sender: TObject);
var frmSupSearch: TfrmSupSearch;
agp: PSHIGEN;
begin
frmSupSearch := TfrmSupSearch.Create(self);
frmSupSearch.ShowModal;
if frmSupSearch.ModalResult = mrOK then
begin
agp := frmSupSearch.FSelectedSuplier;
edtSuplierCode.Value := (agp^.SIGEN_CD);
end;
frmSupSearch.Release;
end;
end.
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -