📄 bas_item_d_new.pas
字号:
fieldbyname('ScrApType').asinteger:=Cmbbx_ScrApType.ItemIndex+1;
fieldbyname('ItemCode2').asstring:=ExtEdt_ItemCode2.text;
fieldbyname('ItemClass1').asstring:=Edt_ItemClass1.text;
fieldbyname('ItemClass2').asstring:=Edt_ItemClass2.text;
fieldbyname('ItemClass3').asstring:=Edt_ItemClass3.text;
fieldbyname('ItemClass4').asstring:=Edt_ItemClass4.text;
fieldbyname('ItemClass5').asstring:=Edt_ItemClass5.text;
fieldbyname('ClassCode').asstring:=Edt_ClassCode.text;
fieldbyname('ClassName').asstring:=lbl_ClassName.Caption;
fieldbyname('ProductClass').asstring:=Edt_ProductClass.text;
fieldbyname('QcClass').asstring:=Edt_QcClass.text;
fieldbyname('ItemType').asstring:=getCode(cmbbx_ItemType.text);
fieldbyname('PmCode').asstring:=getCode(cmbbx_PmCode.text);
fieldbyname('AssetKmCode').asstring:=Extedt_AssetKmCode.Text;
fieldbyname('KmName').asstring:=Label47.Caption;
end;
if (Character='Plan') then
begin
fieldbyname('ItemType').asinteger:=cmbbx_ItemType.Itemindex;
fieldbyname('PmCode').asinteger:=cmbbx_PmCode.Itemindex;
if Trim(ExtEdt_EmployeeCode.text)<>'' then
begin
fieldbyname('EmployeeCode').asstring:=ExtEdt_EmployeeCode.text;
fieldbyname('CaiGou').asstring:=lbl_CaiGou.Caption;
end
else
begin
fieldbyname('EmployeeCode').asstring:='';
fieldbyname('CaiGou').asstring:='';
end;
if Trim(ExtEdt_Pla_EmployeeCode.text)<>'' then
begin
fieldbyname('JiHua').asstring:=lbl_JiHua.Caption;
fieldbyname('Pla_EmployeeCode').asstring:=ExtEdt_Pla_EmployeeCode.text;
end
else
begin
fieldbyname('JiHua').asstring:='';
fieldbyname('Pla_EmployeeCode').asstring:='';
end;
fieldbyname('BatchCtrl').asinteger:=cmbbx_BatchCtrl.Itemindex;
fieldbyname('LongPurchLT').asinteger:=cmbbx_LongPurchLT.Itemindex;
fieldbyname('iScheck').asinteger:=cmbbx_iScheck.ItemIndex;
fieldbyname('purchldtime').asstring:=Edt_Purchldtime.text;
fieldbyname('mnldtime').asstring:=Edt_Mnldtime.text;
fieldbyname('RunLT').asstring:=edt_RunLT.text;
fieldbyname('PrepareLT').asstring:=edt_PrepareLT.text;
fieldbyname('QcLT').asstring:=edt_QcLT.text;
fieldbyname('Batchstrat').asinteger:=cmbbx_Batchstrat.Itemindex;
fieldbyname('Capacityhours').asstring:=edt_Capacityhours.text;
fieldbyname('PmBatch').asstring:=Edt_PmBatch.text;
if Trim(Edt_DeptCode.text)<>'' then
begin
fieldbyname('DeptCode').asstring:=edt_DeptCode.text;
// fieldbyname('DeptName').asstring:=lbl_DeptName.Caption;
end
else
begin
fieldbyname('DeptCode').asstring:='';
// fieldbyname('DeptName').asstring:='';
end;
end;
if Character='Warehouse' then
begin
if Trim(Extedt_WhCode.text)<>'' then
begin
fieldbyname('whCode').asstring:=ExtEdt_WhCode.text;
fieldbyname('whName').asstring:=lbl_Warehouse.Caption;
end
else
begin
fieldbyname('whCode').asstring:='';
fieldbyname('whName').asstring:='';
end;
if Trim(ExtEdt_Wh_EmployeeCode.text)<>'' then
begin
fieldbyname('wh_EmployeeName').asstring:=lbl_Wh_EmployeeName.Caption;
fieldbyname('wh_EmployeeCode').asstring:=ExtEdt_Wh_EmployeeCode.text;
end
else
begin
fieldbyname('wh_EmployeeName').asstring:='';
fieldbyname('wh_EmployeeCode').asstring:='';
end;
fieldbyname('maxqty').asfloat:=strtofloat(edt_maxqty.text);
fieldbyname('minqty').asfloat:=strtofloat(Edt_minqty.text);
fieldbyname('canSale').asinteger:=cmbbx_CanSale.Itemindex;
fieldbyname('onlydefaultwh').asinteger:=cmbbx_onlydefaultwh.Itemindex;
fieldbyname('limitout').asinteger:=cmbbx_limitout.Itemindex;
end;
if canmodify_Itemmodifytime=True then
fieldbyname('Itemmodifytime').asdatetime:=now;
fieldbyname('AssetKmCode').asstring:=Extedt_AssetKmCode.Text;
fieldbyname('KmName').asstring:=Label47.Caption;
fieldbyname('ISStockItem').asinteger:=Cmbbx_ISStockItem.Itemindex;
end
else
begin
if (Add) then
begin
fieldbyname('ItemUsable').asinteger:=0;
end;
fieldbyname('ItemCode').asstring:=Edt_ItemCode.text;
fieldbyname('ItemName').asstring:=Edt_ItemName.text;
fieldbyname('ItemType').asinteger:=cmbbx_ItemType.Itemindex;
fieldbyname('UomName').asstring:=lbl_UomName.Caption;
fieldbyname('AssetKmCode').asstring:=Extedt_AssetKmCode.Text;
fieldbyname('KmName').asstring:=Label47.Caption;
end;
AdoQry_Maintain.fieldbyname('InSpecTEmployeeCode').AsString:=Trim(LEdt_InSpecTEmployeeCode.Text);
AdoQry_Maintain.fieldbyname('InSpecTEmployeeName').AsString:=Trim(Lbl_InspecTEmployeeName.Caption);
// Post;
end;
end;
procedure TFrm_Bas_Item_D_New.Edt_ItemCodeExit(Sender: TObject);
begin
inherited;
if ActiveControl.Name='btn_Cancel' then
exit;
if not blankcheck(edt_ItemCode.text,'物料代码') then
begin
TWinControl(Sender).SetFocus;
Abort;
end;
if not BlankInStrCheck(edt_ItemCode.text,'物料代码') then
begin
TWinControl(Sender).SetFocus;
Abort;
end;
If (Add) then
begin
with AdoQry_Tmp do
begin
Close;
sql.clear;
sql.Text:='select SysParamValueN,SysParamValueC from SysParam where SysParamCode='''+'ItemCodeLen'+'''';
open;
if fieldbyname('SysParamValueC').asstring='0' then
begin
if length(edt_ItemCode.text)<>fieldbyname('SysParamValueN').asinteger then
begin
DispInfo('物料代码长度必须等于系统设定的参数:'+fieldbyname('SysParamValueN').asstring,3);
edt_ItemCode.SetFocus ;
abort;
end;
end
else
if fieldbyname('SysParamValueC').asstring='1' then
begin
if length(edt_ItemCode.text)>fieldbyname('SysParamValueN').asinteger then
begin
DispInfo('物料代码长度必须小于等于系统设定的参数:'+fieldbyname('SysParamValueN').asstring,3);
edt_ItemCode.SetFocus ;
abort;
end;
end;
Close;
SQL.clear;
SQL.Add('Select ItemCode From Item Where ItemCode='''+TEdit(Sender).Text+'''');
Open;
if not eof then
begin
DispInfo('物料代码已经存在,不允许增加或修改!',1);
TWinControl(Sender).SetFocus;
Abort;
end;
end;
end;
if (not Add) and
(TEdit(Sender).Text<>AdoQry_Item.fieldbyname('ItemCode').AsString)then
with AdoQry_Tmp do
begin
Close;
SQL.clear;
SQL.Add('Select ItemCode From Item Where ItemCode='''+TEdit(Sender).Text+'''');
Open;
if not eof then
begin
DispInfo('物料代码已经存在,不允许增加或修改!',1);
TWinControl(Sender).SetFocus;
Abort;
end;
end;
end;
procedure TFrm_Bas_Item_D_New.initSysParamName;
var
M,fieldCounts,i,j:Integer;
ItemClass:string;
begin
M:=0;
with AdoQry_tmp do
begin
Close;
sql.clear;
sql.Add('select SysParamValueC from SysParam where left(SysParamCode,9)=''ItemClass'' ');
open;
while not eof do
begin
if fieldbyname('SysParamValueC').asstring<>'' then
begin
inc(M);
case M of
1:
begin
lbl_ParamName1.Visible:=True;
// lbl_ParamName1.Left :=353;
// lbl_ParamName1.Top :=77;
lbl_ParamName1.Caption :=Trim(fieldbyname('SysParamValueC').asstring)+':';
lbl_ParamName1.Left :=417-length(lbl_ParamName1.Caption)*7;
Edt_ItemClass1.Text:=AdoQry_Item.fieldbyname('ItemClass1').asstring;
Edt_ItemClass1.Visible:=True;
end;
2:
begin
lbl_ParamName2.Visible:=True;
// lbl_ParamName2.Left :=353;
// lbl_ParamName2.Top :=97;
lbl_ParamName2.Caption :=Trim(fieldbyname('SysParamValueC').asstring)+':';
lbl_ParamName2.Left :=417-length(lbl_ParamName2.Caption)*7;
Edt_ItemClass2.Text:=AdoQry_Item.fieldbyname('ItemClass2').asstring;
Edt_ItemClass2.Visible:=True;
end;
3:
begin
lbl_ParamName3.Visible:=True;
// lbl_ParamName3.Left :=353;
// lbl_ParamName3.top :=118;
lbl_ParamName3.Caption :=Trim(fieldbyname('SysParamValueC').asstring)+':';
lbl_ParamName3.Left :=417-length(lbl_ParamName3.Caption)*7;
Edt_ItemClass3.Visible:=True;
Edt_ItemClass3.Text:=AdoQry_Item.fieldbyname('ItemClass3').asstring;
end;
4:
begin
lbl_ParamName4.Visible:=True;
// lbl_ParamName4.Left :=353;
lbl_ParamName4.top :=141;
lbl_ParamName4.Caption :=Trim(fieldbyname('SysParamValueC').asstring)+':';
lbl_ParamName4.Left :=417-length(lbl_ParamName4.Caption)*7;
Edt_ItemClass4.Text:=AdoQry_Item.fieldbyname('ItemClass4').asstring;
Edt_ItemClass4.Visible:=True;
end;
5:
begin
lbl_ParamName5.Visible:=True;
// lbl_ParamName3.Left :=353;
// lbl_ParamName3.top :=156;
lbl_ParamName5.Caption :=Trim(fieldbyname('SysParamValueC').asstring)+':';
lbl_ParamName5.Left :=417-length(lbl_ParamName5.Caption)*7;
Edt_ItemClass5.Text:=AdoQry_Item.fieldbyname('ItemClass5').asstring;
Edt_ItemClass5.Visible:=True;
end;
end ;
end
else
//防止中间有一个为空的,如果有,则后面的都不理会
break;
next;
end;
end;
end;
procedure TFrm_Bas_Item_D_New.Edt_ItemNameExit(Sender: TObject);
begin
inherited;
if ActiveControl.Name='btn_Cancel' then
exit;
if not blankcheck(edt_ItemName.text,'物料描述') then
begin
TWinControl(Sender).SetFocus;
Abort;
end;
if pos('''',edt_ItemName.text)>0 then
begin
DispInfo('物料描述中含有非法字符,例如单引号!',1);
TWinControl(Sender).SetFocus;
Abort
end;
If (Add) then
begin
with AdoQry_Tmp do
begin
Close;
SQL.clear;
SQL.Add('Select ItemName From Item Where ItemName='''+TEdit(Sender).Text+'''');
Open;
if not eof then
begin
DispInfo('物料描述已经存在,不允许增加或修改!',1);
TWinControl(Sender).SetFocus;
Abort;
end;
end;
end;
if (not Add) and
(TEdit(Sender).Text<>AdoQry_Item.fieldbyname('ItemName').AsString)then
with AdoQry_Tmp do
begin
Close;
SQL.clear;
SQL.Add('Select ItemName From Item Where ItemName='''+TEdit(Sender).Text+'''');
Open;
if not eof then
begin
DispInfo('物料描述已经存在,不允许增加或修改!',1);
TWinControl(Sender).SetFocus;
Abort;
end;
end;
end;
procedure TFrm_Bas_Item_D_New.Edt_MnldtimeExit(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;
end;
procedure TFrm_Bas_Item_D_New.Edt_PurchldtimeExit(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;
end;
procedure TFrm_Bas_Item_D_New.Edt_maxqtyExit(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;
end;
procedure TFrm_Bas_Item_D_New.Edt_minqtyExit(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;
end;
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -