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

📄 bas_item_d0.pas

📁 一个MRPII系统源代码版本
💻 PAS
📖 第 1 页 / 共 5 页
字号:
      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;

      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;

      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;
      fieldbyname('UomCode').asstring:=ExtEdt_UomCode.text;
      fieldbyname('UomName').asstring:=lbl_UomName.Caption;
      fieldbyname('ItemType').asinteger:=cmbbx_ItemType.Itemindex;
      fieldbyname('LongPurchLT').asinteger:=cmbbx_LongPurchLT.Itemindex;
      fieldbyname('iScheck').asinteger:=cmbbx_iScheck.ItemIndex;
      fieldbyname('designno').asstring:=Edt_Designno.text;
      fieldbyname('maxqty').asfloat:=strtofloat(edt_maxqty.text);
      fieldbyname('purchldtime').asstring:=Edt_Purchldtime.text;
      fieldbyname('PrepareLT').asstring:=edt_PrepareLT.text;
      fieldbyname('RunLT').asstring:=edt_RunLT.text;
      fieldbyname('QcLT').asstring:=edt_QcLT.text;
      fieldbyname('ItemName').asstring:=Edt_ItemName.text;
      fieldbyname('Capacityhours').asstring:=edt_Capacityhours.text;
      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;
      fieldbyname('Batchstrat').asinteger:=cmbbx_Batchstrat.Itemindex;
      fieldbyname('BatchCtrl').asinteger:=cmbbx_BatchCtrl.Itemindex;
      fieldbyname('PmCode').asinteger:=cmbbx_PmCode.Itemindex;
      fieldbyname('mnldtime').asstring:=Edt_Mnldtime.text;
      fieldbyname('minqty').asfloat:=strtofloat(Edt_minqty.text);
      fieldbyname('PmBatch').asstring:=Edt_PmBatch.text;
      fieldbyname('BarCode').asstring:=ExtEdt_BarCode.text;
      fieldbyname('ItemCode2').asstring:=ExtEdt_ItemCode2.text;
      fieldbyname('canSale').asinteger:=cmbbx_CanSale.Itemindex;

      fieldbyname('onlydefaultwh').asinteger:=cmbbx_onlydefaultwh.Itemindex;
      fieldbyname('ItemUsable').asinteger:=cmbbx_ItemUsable.Itemindex;
      fieldbyname('limitout').asinteger:=cmbbx_limitout.Itemindex;
      fieldbyname('Material').asstring:=Trim(edt_mat.text);
      fieldbyname('remArk').asstring:=Edt_remArk.text;
      fieldbyname('ScrApType').asinteger:=Cmbbx_ScrApType.ItemIndex+1;
      fieldbyname('ISStockItem').asinteger:=Cmbbx_ISStockItem.ItemIndex;

      if (Add) then
      begin
        fieldbyname('Itemcreatetime').asdatetime:=now;
      end;
      if canmodify_Itemmodifytime=True then
         fieldbyname('Itemmodifytime').asdatetime:=now;

      if cmbbx_ItemUsable.ItemIndex=0 then
      begin
        if (Add) or ((not (Add)) and (AdoQry_Item.fieldbyname('ItemUsable').asinteger=1)) then

        fieldbyname('Itemdisabletime').asdatetime:=now;
      end;
      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('AssetKmCode').asstring:=Extedt_AssetKmCode.Text;
      fieldbyname('KmName').asstring:=Label48.Caption;
    end
    else
    begin
      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('ItemUsable').asinteger:=cmbbx_ItemUsable.Itemindex;
    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_D0.FormCreate(Sender: TObject);
begin
  inherited;
  SetFocus_Control:=Edt_ItemCode;//新增时聚焦的控件
end;

procedure TFrm_Bas_Item_D0.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_D0.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 :=417;
//            lbl_ParamName1.Top :=381;
            lbl_ParamName1.Caption :=Trim(fieldbyname('SysParamValueC').asstring)+':';
            lbl_ParamName1.Left :=420-length(lbl_ParamName1.Caption)*6;
            Edt_ItemClass1.Text:=AdoQry_Item.fieldbyname('ItemClass1').asstring;
            Edt_ItemClass1.Visible:=True;
          end;
        2:
          begin
            lbl_ParamName2.Visible:=True;
//            lbl_ParamName2.Left :=417;
//            lbl_ParamName2.Top :=403;
            lbl_ParamName2.Caption :=Trim(fieldbyname('SysParamValueC').asstring)+':';
            lbl_ParamName2.Left :=420-length(lbl_ParamName2.Caption)*6;
            Edt_ItemClass2.Text:=AdoQry_Item.fieldbyname('ItemClass2').asstring;
            Edt_ItemClass2.Visible:=True;
          end;
        3:
          begin
            lbl_ParamName3.Visible:=True;
//            lbl_ParamName3.Left :=417;
//            lbl_ParamName3.top :=426;
            lbl_ParamName3.Caption :=Trim(fieldbyname('SysParamValueC').asstring)+':';
            lbl_ParamName3.Left :=420-length(lbl_ParamName3.Caption)*6;
            Edt_ItemClass3.Visible:=True;
            Edt_ItemClass3.Text:=AdoQry_Item.fieldbyname('ItemClass3').asstring;
          end;
        4:
          begin
            lbl_ParamName4.Visible:=True;
//            lbl_ParamName4.Left :=417;
//            lbl_ParamName4.top :=449;
            lbl_ParamName4.Caption :=Trim(fieldbyname('SysParamValueC').asstring)+':';
            lbl_ParamName4.Left :=420-length(lbl_ParamName4.Caption)*6;
            Edt_ItemClass4.Text:=AdoQry_Item.fieldbyname('ItemClass4').asstring;
            Edt_ItemClass4.Visible:=True;
          end;
        5:
          begin
            lbl_ParamName5.Visible:=True;
//            lbl_ParamName3.Left :=417;
//            lbl_ParamName3.top :=473;
            lbl_ParamName5.Caption :=Trim(fieldbyname('SysParamValueC').asstring)+':';
            lbl_ParamName5.Left :=420-length(lbl_ParamName5.Caption)*6;
            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_D0.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_D0.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_D0.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);

⌨️ 快捷键说明

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