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

📄 sfc_mnlistrequest_d.pas

📁 一个MRPII系统源代码版本
💻 PAS
📖 第 1 页 / 共 5 页
字号:
unit Sfc_MnListRequest_D;

Interface

uses
  Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
  Base_Entry_Detail, Db, AdODB, ExtCtrls, StdCtrls, ExtEdit;

Type
  TFrm_Sfc_MnListRequest_D = Class(TFrm_Base_Entry_Detail)
    Label1: TLabel;
    Label2: TLabel;
    lbl_ItemName: TLabel;
    Extedt_ItemCode: TExtEdit;
    Label4: TLabel;
    lbl_MoCtrlqty: TLabel;
    Label6: TLabel;
    lbl_MoRealqty: TLabel;
    Label8: TLabel;
    lbl_onhandInv: TLabel;
    Label12: TLabel;
    lbl_UomName: TLabel;
    edt_Batchno1: TExtEdit;
    Label7: TLabel;
    Label9: TLabel;
    Label10: TLabel;
    cmbx_WhCode1: TComboBox;
    Label11: TLabel;
    cmbx_WhpCode1: TComboBox;
    Label13: TLabel;
    edt_MoRealqty1: TExtEdit;
    Label15: TLabel;
    Label21: TLabel;
    edt_Batchno2: TExtEdit;
    cmbx_WhCode2: TComboBox;
    cmbx_WhpCode2: TComboBox;
    edt_MoRealqty2: TExtEdit;
    edt_Batchno3: TExtEdit;
    cmbx_WhCode3: TComboBox;
    cmbx_WhpCode3: TComboBox;
    edt_MoRealqty3: TExtEdit;
    Bevel1: TBevel;
    Bevel2: TBevel;
    Label25: TLabel;
    lbl_Requesttime1: TLabel;
    lbl_Requesttime2: TLabel;
    lbl_Requesttime3: TLabel;
    Label27: TLabel;
    Label29: TLabel;
    lbl_Bomqty: TLabel;
    lbl_BomScrAp: TLabel;
    Label5: TLabel;
    Bevel3: TBevel;
    lbl_Requesttime4: TLabel;
    edt_Batchno4: TExtEdit;
    cmbx_WhCode4: TComboBox;
    cmbx_WhpCode4: TComboBox;
    edt_MoRealqty4: TExtEdit;
    Label16: TLabel;
    Bevel4: TBevel;
    lbl_Requesttime5: TLabel;
    edt_Batchno5: TExtEdit;
    cmbx_WhCode5: TComboBox;
    cmbx_WhpCode5: TComboBox;
    edt_MoRealqty5: TExtEdit;
    Label3: TLabel;
    lbl_WhCode: TLabel;
    Label14: TLabel;
    lbl_useOther: TLabel;
    Label17: TLabel;
    lbl_CurWhCode: TLabel;
    Label18: TLabel;
    lbl_CurWhPosition: TLabel;
    procedure FormCreate(Sender: TObject);
    procedure InOutItemCodeCheck(Sender: TObject);
    procedure edt_Batchno1KeyDon(Sender: TObject; var Key: Word;
      Shift: TShiftState);
    procedure btn_okClick(Sender: TObject);
    procedure cmbx_WhCode1Change(Sender: TObject);
    procedure cmbx_WhCode2Change(Sender: TObject);
    procedure cmbx_WhCode3Change(Sender: TObject);
    procedure cmbx_WhCode1KeyDown(Sender: TObject; var Key: Word;
      Shift: TShiftState);
    procedure cmbx_WhpCode1KeyDown(Sender: TObject; var Key: Word;
      Shift: TShiftState);
    procedure cmbx_WhCode2KeyDown(Sender: TObject; var Key: Word;
      Shift: TShiftState);
    procedure cmbx_WhpCode2KeyDown(Sender: TObject; var Key: Word;
      Shift: TShiftState);
    procedure cmbx_WhCode3KeyDown(Sender: TObject; var Key: Word;
      Shift: TShiftState);
    procedure cmbx_WhpCode3KeyDown(Sender: TObject; var Key: Word;
      Shift: TShiftState);
    procedure edt_Batchno2KeyDown(Sender: TObject; var Key: Word;
      Shift: TShiftState);
    procedure edt_Batchno3KeyDown(Sender: TObject; var Key: Word;
      Shift: TShiftState);
    procedure cmbx_WhCode1Exit(Sender: TObject);
    procedure cmbx_WhpCode1Change(Sender: TObject);
    procedure cmbx_WhpCode2Change(Sender: TObject);
    procedure cmbx_WhpCode3Change(Sender: TObject);
    procedure edt_Batchno1Exit(Sender: TObject);
    procedure edt_Batchno2Exit(Sender: TObject);
    procedure edt_Batchno3Exit(Sender: TObject);
    procedure FormActivate(Sender: TObject);
    procedure cmbx_WhCode4Change(Sender: TObject);
    procedure cmbx_WhCode4KeyDown(Sender: TObject; var Key: Word;
      Shift: TShiftState);
    procedure cmbx_WhpCode4Change(Sender: TObject);
    procedure cmbx_WhpCode4KeyDown(Sender: TObject; var Key: Word;
      Shift: TShiftState);
    procedure edt_Batchno4Exit(Sender: TObject);
    procedure edt_Batchno4KeyDown(Sender: TObject; var Key: Word;
      Shift: TShiftState);
    procedure cmbx_WhCode5Change(Sender: TObject);
    procedure cmbx_WhCode5KeyDown(Sender: TObject; var Key: Word;
      Shift: TShiftState);
    procedure cmbx_WhpCode5KeyDown(Sender: TObject; var Key: Word;
      Shift: TShiftState);
    procedure cmbx_WhpCode5Change(Sender: TObject);
    procedure edt_Batchno5KeyDown(Sender: TObject; var Key: Word;
      Shift: TShiftState);
    procedure edt_Batchno5Exit(Sender: TObject);
  private
      tmp_Mono,tmp_MoLineno,tmp_Date,tmp_ItemCode,tmp_MoRequestid,oldmoRequestqty,whCode,WhPositionCode:string;
      tmp_ItemListid,tmp_Parentid,tmp_alterNative,tmp_ShiftType,CurrentInvfields:string;
      tmp_BodymoRequestqty,tmp_MoCtrlqty,tmp_MoRequestqty,tmp_Bomqty,tmp_BomScrAp_Percent:real;
      Itemid:string;     { Private declarations }
      judge1,judge2,judge3,judge4,judge5:boolean;
    procedure InitCmBx1(var InputCmBx:TcomboBox;ItemCode:string;whjudge:string;condition:string='');
    procedure show_WhName;
  public
    procedure InitControls; Override;//根据AdoQry_Body当前值,初始化Form的控件
    procedure SaveBodyData; Override;//把Form的控件值写入缓存,要Post
    //设置在部分修改状态下,那些控件Enable=True
    procedure SetStatus(CurrentStatus:String;var EnableControls:String);Override;
    procedure SetFormParam(frmParam1,frmParam2,frmParam3,frmParam4,frmParam5,frmParam6:string);Override;
    procedure show_WhCode(ItemCode:string;flag:integer);
    { Public declarations }
  end;

var
  Frm_Sfc_MnListRequest_D: TFrm_Sfc_MnListRequest_D;

implementation

uses Sys_Global,Inv_Global,Sfc_MnListRequest,Sfc_MnListRequest_Hint;
{$R *.DFM}
procedure TFrm_Sfc_MnListRequest_D.InitControls;
var
  i:integer;
  tmp_WhCode:string;
begin
  inherited;
  cmbx_WhCode1.OnExit:=nil;
  cmbx_WhCode2.OnExit:=nil;
  cmbx_WhCode3.OnExit:=nil;
  cmbx_WhCode4.OnExit:=nil;
  cmbx_WhCode5.OnExit:=nil;
  //初始化三次领料的ENABLE
  if cmbx_WhCode1.Enabled  then
  begin
     cmbx_WhCode2.Enabled:=False;
     cmbx_WhpCode2.Enabled:=False;
//     edt_MoRequestqty2.Enabled:=False;
     edt_Batchno2.Enabled :=False;
     cmbx_WhCode3.Enabled:=False;
     cmbx_WhpCode3.Enabled:=False;
//     edt_MoRequestqty3.Enabled:=False;
     edt_Batchno3.Enabled :=False;
     cmbx_WhCode4.Enabled:=False;
     cmbx_WhpCode4.Enabled:=False;
//     edt_MoRequestqty3.Enabled:=False;
     edt_Batchno4.Enabled :=False;
     cmbx_WhCode5.Enabled:=False;
     cmbx_WhpCode5.Enabled:=False;
//     edt_MoRequestqty3.Enabled:=False;
     edt_Batchno5.Enabled :=False;
  end;
  if cmbx_WhCode2.Enabled then
  begin
     cmbx_WhCode3.Enabled:=False;
     cmbx_WhpCode3.Enabled:=False;
//     edt_MoRequestqty3.Enabled:=False;
     edt_Batchno3.Enabled :=False;
     cmbx_WhCode4.Enabled:=False;
     cmbx_WhpCode4.Enabled:=False;
//     edt_MoRequestqty3.Enabled:=False;
     edt_Batchno4.Enabled :=False;
     cmbx_WhCode5.Enabled:=False;
     cmbx_WhpCode5.Enabled:=False;
//     edt_MoRequestqty3.Enabled:=False;
     edt_Batchno5.Enabled :=False;
  end;
  if cmbx_WhCode3.Enabled then
  begin
     cmbx_WhCode4.Enabled:=False;
     cmbx_WhpCode4.Enabled:=False;
//     edt_MoRequestqty3.Enabled:=False;
     edt_Batchno4.Enabled :=False;
     cmbx_WhCode5.Enabled:=False;
     cmbx_WhpCode5.Enabled:=False;
//     edt_MoRequestqty3.Enabled:=False;
     edt_Batchno5.Enabled :=False;
  end;
  if cmbx_WhCode4.Enabled then
  begin
     cmbx_WhCode5.Enabled:=False;
     cmbx_WhpCode5.Enabled:=False;
//     edt_MoRequestqty3.Enabled:=False;
     edt_Batchno5.Enabled :=False;
  end;
  if AdoQry_Body.fieldbyname('Parentid').asstring=AdoQry_Body.fieldbyname('ItemListid').asstring then
  begin
    btn_ok.Enabled :=False;
    for i:=0 to controlCount-1 do
    begin
      if (controls[i] is tedit) or (controls[i] is tcombobox) then
      begin
        if  controls[i].Name='Extedt_ItemCode' then
          Extedt_ItemCode.OnExit:=nil;
        controls[i].Enabled :=False;
        if  controls[i].Name='Extedt_ItemCode' then
          Extedt_ItemCode.OnExit:=InOutItemCodeCheck;
      end;
    end;
  end
  else
    btn_ok.Enabled :=True;
  cmbx_WhCode1.OnExit:=cmbx_WhCode1Exit;
  cmbx_WhCode2.OnExit:=cmbx_WhCode1Exit;
  cmbx_WhCode3.OnExit:=cmbx_WhCode1Exit;
  cmbx_WhCode4.OnExit:=cmbx_WhCode1Exit;
  cmbx_WhCode5.OnExit:=cmbx_WhCode1Exit;
  //初始化控件的TEXT、Caption
  with AdoQry_Body do
  begin
    if status='Add' then
    begin
      Extedt_ItemCode.text:='';
//      edt_MoRequestqty1.text:='0';
      lbl_ItemName.Caption:='';
      lbl_MoCtrlqty.Caption:='0';
      lbl_MoRealqty.Caption:='0';
      lbl_onhandInv.Caption:='0';
      lbl_UomName.Caption:='';
//      edt_MoRequestqty1.Text :='0';
      edt_MoRealqty1.Text :='0';
//      edt_MoRequestqty2.Text :='0';
      edt_MoRealqty2.Text :='0';
//      edt_MoRequestqty3.Text :='0';
      edt_MoRealqty3.Text :='0';
      edt_MoRealqty4.Text :='0';
      edt_MoRealqty5.Text :='0';
      lbl_Requesttime1.Caption :='';
      lbl_Requesttime2.Caption :='';
      lbl_Requesttime3.Caption :='';
      lbl_Requesttime4.Caption :='';
      lbl_Requesttime5.Caption :='';
      Extedt_ItemCode.OnKeyDown :=InOutItemHint;
      lbl_Bomqty.Caption :='0';
      lbl_BomScrAp.Caption :='0';
    end
    else
    begin
      Extedt_ItemCode.text:=getCode(fieldbyname('ItemDESC').asstring);
      Extedt_ItemCode.enabled:=False;
      lbl_ItemName.Caption:=getName(fieldbyname('ItemDESC').asstring);
      lbl_UomName.Caption:=fieldbyname('UomName').asstring;
      if fieldbyname('moCtrlqty').asstring<>'' then
        lbl_MoCtrlqty.Caption:=fieldbyname('moCtrlqty').asstring
      else
        lbl_MoCtrlqty.Caption:='0';
      if fieldbyname('realoutqty1').asstring='' then
        edt_MoRealqty1.Text :='0'
      else
        edt_MoRealqty1.Text :=fieldbyname('realoutqty1').asstring;
      edt_Batchno1.Text :=fieldbyname('Batchno1').asstring;
      if fieldbyname('realoutqty2').asstring='' then
         edt_MoRealqty2.Text :='0'
      else
         edt_MoRealqty2.Text :=fieldbyname('realoutqty2').asstring;
      edt_Batchno2.Text :=fieldbyname('Batchno2').asstring;
      if fieldbyname('realoutqty3').asstring='' then
         edt_MoRealqty3.Text :='0'
      else
         edt_MoRealqty3.Text :=fieldbyname('realoutqty3').asstring;
      edt_Batchno3.Text :=fieldbyname('Batchno3').asstring;
      if fieldbyname('realoutqty4').asstring='' then
         edt_MoRealqty4.Text :='0'
      else
         edt_MoRealqty4.Text :=fieldbyname('realoutqty4').asstring;
      edt_Batchno4.Text :=fieldbyname('Batchno4').asstring;
      if fieldbyname('realoutqty5').asstring='' then
         edt_MoRealqty5.Text :='0'
      else
         edt_MoRealqty5.Text :=fieldbyname('realoutqty5').asstring;
      edt_Batchno5.Text :=fieldbyname('Batchno5').asstring;
      lbl_MoRealqty.Caption:=fieldbyname('MoRealqty').asstring;
      lbl_Requesttime1.Caption :=fieldbyname('Requesttime1').asstring;
      lbl_Requesttime2.Caption :=fieldbyname('Requesttime2').asstring;
      lbl_Requesttime3.Caption :=fieldbyname('Requesttime3').asstring;
      lbl_Requesttime4.Caption :=fieldbyname('Requesttime4').asstring;
      lbl_Requesttime5.Caption :=fieldbyname('Requesttime5').asstring;
      lbl_Bomqty.Caption :=fieldbyname('Bomqty').asstring;
      lbl_BomScrAp.Caption :=fieldbyname('BomScrAp_Percent').asstring;
    end;
  end;

  Itemid:=AdoQry_Body.fieldbyname('ItemListid').asstring;
  if Extedt_ItemCode.Text<>'' then
  begin
    with AdoQry_tmp do
    begin
      Close;
      sql.Text:='select whCode from Item where ItemCode='''+Extedt_ItemCode.text+'''';
      open;
      tmp_WhCode:=fieldbyname('whCode').asstring;
    end;
    if (AdoQry_Body.fieldbyname('whCode1').asstring<>'')  then
       InitCmBxText(cmbx_WhCode1,getCode(AdoQry_Body.fieldbyname('whCode1').asstring))
    else if (AdoQry_Body.fieldbyname('whCode1').asstring='') and (cmbx_WhCode1.Enabled) then
       InitCmBxText(cmbx_WhCode1,tmp_WhCode)
    else
       cmbx_WhCode1.ItemIndex :=-1;

    if (AdoQry_Body.fieldbyname('whCode2').asstring<>'')  then
       InitCmBxText(cmbx_WhCode2,getCode(AdoQry_Body.fieldbyname('whCode2').asstring))
    else if (AdoQry_Body.fieldbyname('whCode2').asstring='') and (cmbx_WhCode2.Enabled) then
       InitCmBxText(cmbx_WhCode2,tmp_WhCode)
    else
       cmbx_WhCode2.ItemIndex :=-1;

    if (AdoQry_Body.fieldbyname('whCode3').asstring<>'')  then
       InitCmBxText(cmbx_WhCode3,getCode(AdoQry_Body.fieldbyname('whCode3').asstring))
    else if (AdoQry_Body.fieldbyname('whCode3').asstring='') and (cmbx_WhCode3.Enabled) then
       InitCmBxText(cmbx_WhCode3,tmp_WhCode)
    else

⌨️ 快捷键说明

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