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

📄 bas_item_d.pas

📁 一个MRPII系统源代码版本
💻 PAS
📖 第 1 页 / 共 4 页
字号:
  end
  else
  begin
    TEdit(Sender).Text:='0';
  end;
end;

procedure TFrm_Bas_Item_D.Vw_BuyerCodeCheck(Sender: TObject);
begin
  inherited;
  if Trim(tExtedit(sender).text)='' then
  lbl_CaiGou.Caption:='';
end;

procedure TFrm_Bas_Item_D.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.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.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.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.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.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.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.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.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,Edt_ItemClass1,'+
                    'Edt_ItemClass2,Edt_ItemClass3,Edt_ItemClass4,Edt_ItemClass5,'+
                    'edt_ClassCode,edt_ProductClass,edt_QcClass,LEdt_InspecTEmployeeCode,'+
                    'Edt_RemArk,'
  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.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.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.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.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.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.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.UomCodeCheck(Sender: TObject);
begin
  inherited;
  if not Add then
  begin
    if (cmbbx_ItemType.ItemIndex=1) and (Trim(Extedt_UomCode.Text)<>'小时') then
    begin
      DispInfo('工作中心的单位必须是小时!',1);
      Extedt_UomCode.SetFocus;
      Abort;
    end;
  end;
end;

procedure TFrm_Bas_Item_D.LEdt_InspecTEmployeeCodeExit(Sender: TObject);
begin
  inherited;
  If Trim(TLinkEdit(Sender).Text)='' Then
    Exit;
  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 + -