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

📄 bas_item_d.pas

📁 一个MRPII系统源代码版本
💻 PAS
📖 第 1 页 / 共 4 页
字号:
        fieldbyname('ItemType').asstring:=getCode(cmbbx_ItemType.text);
        fieldbyname('PmCode').asstring:=getCode(cmbbx_PmCode.text);

      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;
    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;
    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.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.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.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.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.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.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.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;

⌨️ 快捷键说明

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