📄 bas_item_d_new.pas
字号:
procedure TFrm_Bas_Item_D_New.Vw_BuyerCodeCheck(Sender: TObject);
begin
inherited;
if Trim(tExtedit(sender).text)='' then
lbl_CaiGou.Caption:='';
end;
procedure TFrm_Bas_Item_D_New.cmbbx_onlydefaultwhEnter(Sender: TObject);
begin
inherited;
if Trim(Extedt_WhCode.text)='' then
begin
cmbbx_onlydefaultwh.Itemindex:=0;
cmbbx_onlydefaultwh.enabled:=False;
Edt_maxqty.SetFocus;
end
end;
procedure TFrm_Bas_Item_D_New.Edt_PmBatchExit(Sender: TObject);
begin
inherited;
if ActiveControl.Name='btn_Cancel' then
exit;
if((Add)or (not Add)) and (Trim(TEdit(Sender).Text)<>'') then
begin
try
strtoint(TEdit(Sender).Text);
except
begin
DispInfo('请输入数字!',1);
TWinControl(Sender).SetFocus;
Abort;
end;
end;
if (Trim(cmbbx_Batchstrat.Text)='是') and (TEdit(Sender).Text='0') then
begin
DispInfo('请输入正确的采购生产批量!',1);
TWinControl(Sender).SetFocus;
abort;
end;
if strtoint(TEdit(Sender).Text)<0 then
begin
DispInfo('采购生产批量不允许小于零!',1);
TWinControl(Sender).SetFocus;
abort;
end;
end
else
begin
TEdit(Sender).Text:='0';
end;
end;
procedure TFrm_Bas_Item_D_New.edt_CapacityhoursExit(Sender: TObject);
begin
inherited;
if ActiveControl.Name='btn_Cancel' then
exit;
if((Add)or (not Add)) and (Trim(TEdit(Sender).Text)<>'') then
begin
try
strtoint(TEdit(Sender).Text);
except
begin
DispInfo('请输入数字!',1);
TWinControl(Sender).SetFocus;
Abort;
end;
end;
if (getCode(cmbbx_ItemType.text)='1') and (strtoint(TEdit(Sender).Text)=0) then
begin
DispInfo('请输入正确的"能力工时"!',1);
TWinControl(Sender).SetFocus;
Abort;
end;
if strtoint(TEdit(Sender).Text)<0 then
begin
DispInfo('能力工时不允许小于零!',1);
TWinControl(Sender).SetFocus;
abort;
end;
end
else
begin
TEdit(Sender).Text:='0';
end;
end;
procedure TFrm_Bas_Item_D_New.edt_PrepareLTExit(Sender: TObject);
begin
inherited;
if ActiveControl.Name='btn_Cancel' then
exit;
if((Add)or (not Add)) and (Trim(TEdit(Sender).Text)<>'') then
begin
try
strtoint(TEdit(Sender).Text);
except
begin
DispInfo('请输入整数!',1);
TWinControl(Sender).SetFocus;
Abort;
end;
end;
if strtoint(TEdit(Sender).Text)<0 then
begin
DispInfo('准备提前期不能小于零!',1);
TWinControl(Sender).SetFocus;
Abort;
end;
end
else
begin
TEdit(Sender).Text:='0';
end;
Edt_Mnldtime.text:=inttostr(strtoint(edt_PrepareLT.text)+strtoint(edt_RunLT.text)+strtoint(edt_QcLT.text))
end;
procedure TFrm_Bas_Item_D_New.edt_RunLTExit(Sender: TObject);
begin
inherited;
if ActiveControl.Name='btn_Cancel' then
exit;
if((Add)or (not Add)) and (Trim(TEdit(Sender).Text)<>'') then
begin
try
strtoint(TEdit(Sender).Text);
except
begin
DispInfo('请输入整数!',1);
TWinControl(Sender).SetFocus;
Abort;
end;
end;
if strtoint(TEdit(Sender).Text)<0 then
begin
DispInfo('运行提前期不能小于零!',1);
TWinControl(Sender).SetFocus;
Abort;
end;
end
else
begin
TEdit(Sender).Text:='0';
end;
Edt_Mnldtime.text:=inttostr(strtoint(edt_PrepareLT.text)+strtoint(edt_RunLT.text)+strtoint(edt_QcLT.text))
end;
procedure TFrm_Bas_Item_D_New.edt_QcLTExit(Sender: TObject);
begin
inherited;
if ActiveControl.Name='btn_Cancel' then
exit;
if((Add)or (not Add)) and (Trim(TEdit(Sender).Text)<>'') then
begin
try
strtoint(TEdit(Sender).Text);
except
begin
DispInfo('请输入整数!',1);
TWinControl(Sender).SetFocus;
Abort;
end;
end;
if strtoint(TEdit(Sender).Text)<0 then
begin
DispInfo('质检提前期不能小于零!',1);
TWinControl(Sender).SetFocus;
Abort;
end;
end
else
begin
TEdit(Sender).Text:='0';
end;
Edt_Mnldtime.text:=inttostr(strtoint(edt_PrepareLT.text)+strtoint(edt_RunLT.text)+strtoint(edt_QcLT.text))
end;
procedure TFrm_Bas_Item_D_New.WhEmployeeCodeCheck(sender:tobject);
begin
if (getCode(cmbbx_ItemType.Text)='1')or
(getCode(cmbbx_ItemType.Text)='3')or
(getCode(cmbbx_ItemType.Text)='4')or
(getCode(cmbbx_ItemType.Text)='5')or
(getCode(cmbbx_ItemType.Text)='6')or
(getCode(cmbbx_ItemType.Text)='7')then
begin
if tExtedit(sender).text='' then
exit;
end;
inherited;
end;
procedure TFrm_Bas_Item_D_New.WarehouseCodeCheck(Sender: TObject);
begin
if (getCode(cmbbx_ItemType.Text)='1')or
(getCode(cmbbx_ItemType.Text)='3')or
(getCode(cmbbx_ItemType.Text)='4')or
(getCode(cmbbx_ItemType.Text)='5')or
(getCode(cmbbx_ItemType.Text)='6')or
(getCode(cmbbx_ItemType.Text)='7')then
begin
if tExtedit(sender).text='' then
exit;
end;
inherited;
if Trim(TExtedit(sender).text)<>'' then
begin
cmbbx_onlydefaultwh.enabled:=True;
if upkey=False then
cmbbx_onlydefaultwh.SetFocus;
end;
end;
procedure TFrm_Bas_Item_D_New.SetStatus(CurrentStatus:String;
var EnableControls:String);
begin
if ((CurrentStatus='Add') or (CurrentStatus='Edit')) and (Character='General') then
begin
SetFocus_Control:=Edt_ItemCode;//新增时聚焦的控件
EnableControls:='Edt_ItemCode,Edt_ItemName,Extedt_UomCode,Edt_Designno,'+
'Extedt_BarCode,Extedt_ItemCode2,edt_mat,edt_remArk,Cmbbx_ScrApType,Edt_ItemClass1,'+
'Edt_ItemClass2,Edt_ItemClass3,Edt_ItemClass4,Edt_ItemClass5,'+
'edt_ClassCode,edt_ProductClass,edt_QcClass,Extedt_AssetKmCode,'
end;
if (CurrentStatus='Edit') and (Character='Plan') then
begin
SetFocus_Control:=cmbbx_ItemType;//新增时聚焦的控件
EnableControls:='cmbbx_ItemType,cmbbx_PmCode,ExtEdt_EmployeeCode,'+
'ExtEdt_Pla_EmployeeCode,cmbbx_BatchCtrl,cmbbx_LongPurchLT,cmbbx_iScheck,'+
'Edt_Purchldtime,Edt_Mnldtime,edt_RunLT,edt_PrepareLT,edt_QcLT,'+
'cmbbx_Batchstrat,Edt_PmBatch,edt_DeptCode,edt_Capacityhours,'
end;
if (CurrentStatus='Edit') and (Character='Warehouse') then
begin
SetFocus_Control:=Extedt_WhCode;//新增时聚焦的控件
EnableControls:='Extedt_WhCode,cmbbx_onlydefaultwh,Extedt_Wh_EmployeeCode,'+
'Edt_maxqty,Edt_minqty,cmbbx_limitout,cmbbx_CanSale,';
end;
end;
procedure TFrm_Bas_Item_D_New.edt_ClassCodeExit(Sender: TObject);
begin
inherited;
if activecontrol.Name='btn_Cancel' then
exit;
if edt_ClassCode.Text<>'' then
begin
with AdoQry_tmp do
begin
Close;
sql.Text :='select Count(*) aa from ItemClass where pClassCode='''+edt_ClassCode.text+'''';
open;
if fieldbyname('aa').asinteger>0 then
begin
DispInfo('该分类代码有子项,不能在此输入!',1);
twincontrol(sender).SetFocus ;
abort;
end
else
begin
Close;
sql.Text :='select * from ItemClass where ClassCode='''+edt_ClassCode.text+'''';
open;
if eof then
begin
DispInfo('不存在该分类代码,请重新输入!',3);
twincontrol(sender).setfocus;
abort;
end
else
begin
lbl_ClassName.Caption :=fieldbyname('ClassName').asstring;
end;
end;
end;
end
else
lbl_ClassName.Caption :='';
end;
procedure TFrm_Bas_Item_D_New.edt_ClassCodeKeyDown(Sender: TObject;
var Key: Word; Shift: TShiftState);
begin
inherited;
if key=120 then
commonHint(sender,AdoQry_tmp,'ClassName','分类名称','ClassCode','分类代码','ItemClass','ClassCode not in (select distinct pClassCode from ItemClass)');
end;
procedure TFrm_Bas_Item_D_New.FormActivate(Sender: TObject);
begin
inherited;
if edt_ClassCode.Text<>'' then
begin
with AdoQry_tmp do
begin
Close;
sql.Text :='select Count(*) aa from ItemClass where pClassCode='''+edt_ClassCode.text+'''';
open;
if fieldbyname('aa').asinteger>0 then
begin
DispInfo('该分类代码有子项,不能在此输入!',1);
twincontrol(sender).SetFocus ;
abort;
end
else
begin
Close;
sql.Text :='select * from ItemClass where ClassCode='''+edt_ClassCode.text+'''';
open;
if eof then
begin
DispInfo('不存在该分类代码,请重新输入!',3);
twincontrol(sender).setfocus;
abort;
end
else
begin
lbl_ClassName.Caption :=fieldbyname('ClassName').asstring;
end;
end;
end;
end;
end;
procedure TFrm_Bas_Item_D_New.edt_remArkExit(Sender: TObject);
begin
inherited;
if activecontrol.Name='btn_Cancel' then
abort;
if pos('''',edt_remArk.text)>0 then
begin
DispInfo('物料备注中含有非法字符,例如单引号!',1);
TWinControl(Sender).SetFocus;
Abort
end;
end;
procedure TFrm_Bas_Item_D_New.Edt_ItemCodeButtonClick(Sender: TObject);
var sqltext:string;
tmpItemCode:string;
tmpordinal:integer;
begin
inherited;
sqltext:='select ItemCode from Item where ItemCode like '+quotedstr(Trim(edt_ItemCode.text)+'%')+' Order by ItemCode DESC ';
Executesql(AdoQry_tmp,sqltext,0) ;
{try
tmpItemCode:=copy(AdoQry_tmp.fieldbyname('ItemCode').asstring,length(Trim(edt_ItemCode.text))+1,length(AdoQry_tmp.fieldbyname('ItemCode').asstring)-length(Trim(edt_ItemCode.text)));
tmpordinal:=length(tmpItemCode);
tmpItemCode:='1'+tmpItemCode;
tmpItemCode:=inttostr(strtoint(tmpItemCode));
tmpItemCode:=edt_ItemCode.Text+copy(tmpItemCode,2,length(tmpItemCode)-1);
except
tmpItemCode:=AdoQry_tmp.fieldbyname('ItemCode').asstring;
end;}
// edt_ItemCode.Text:=tmpItemCode;
if AdoQry_tmp.RecordCount>0 then
edt_ItemCode.Text:=AdoQry_tmp.fieldbyname('ItemCode').asstring;
end;
procedure TFrm_Bas_Item_D_New.cmbbx_PmCodeChange(Sender: TObject);
begin
inherited;
btn_ok.Enabled:=True;
edt_DeptCode.Text:='';
lbl_DeptName.Caption:='';
if cmbbx_PmCode.ItemIndex=0 then
begin
edt_DeptCode.OnKeyDown:=DeptHint;
edt_DeptCode.OnExit:=getDeptName;
end
else
begin
edt_DeptCode.OnKeyDown:=VendorHint;
edt_DeptCode.OnExit:=getVendorName;
end;
end;
procedure TFrm_Bas_Item_D_New.UomCodeCheck(Sender: TObject);
begin
inherited;
if not Add then
begin
if (cmbbx_ItemType.ItemIndex=1) and ((Trim(Extedt_UomCode.Text)<>'小时') or (Trim(Extedt_UomCode.Text)<>'h')) then
begin
DispInfo('工作中心的单位必须是小时!',1);
Extedt_UomCode.SetFocus;
Abort;
end;
end;
end;
procedure TFrm_Bas_Item_D_New.btn_CancelClick(Sender: TObject);
begin
inherited;
try
if (AdoQry_Maintain.State=dsinsert) or (AdoQry_Maintain.State=dsedit) then
AdoQry_Maintain.Post;
except
end;
end;
procedure TFrm_Bas_Item_D_New.Extedt_AssetKmCodeExit(Sender: TObject);
begin
inherited;
if Trim(Extedt_AssetKmCode.text)<>'' then
AccountSubjectCheck(Extedt_AssetKmCode)
end;
procedure TFrm_Bas_Item_D_New.btn_okClick(Sender: TObject);
begin
if not Add then
if existsBomItem(Trim(edt_ItemCode.text),cmbbx_ItemType.ItemIndex) then
updateBomItemType(Trim(edt_ItemCode.text),cmbbx_ItemType.Itemindex);
inherited;
end;
procedure TFrm_Bas_Item_D_New.LEdt_InSpecTEmployeeCodeExit(Sender: TObject);
begin
inherited;
If (ActiveControl.Name='btn_Cancel') Or (Trim(TLinkEdit(Sender).Text)='') Then
begin
Lbl_InspecTEmployeeName.Caption:='';
Exit;
end;
EmployeeCodeCheck(Sender);
AdoQry_Tmp.Close;
AdoQry_Tmp.SQL.Text:=' Select EmployeeName From Employee Where EmployeeCode='''+Trim(TLinkEdit(Sender).Text)+'''';
AdoQry_Tmp.Open;
Lbl_InSpecTEmployeeName.Caption:=AdoQry_Tmp.fieldbyname('EmployeeName').AsString;
end;
end.
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -