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

📄 invdiaed.pas

📁 文件包含程序源原文件
💻 PAS
字号:
unit InvDiaEd;

interface

uses
  Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
  StdCtrls, Ex2nmedt, InvDef, ExtCtrls, dpConst;

type
  TfrmEdit = class(TForm)
    GroupBox1: TGroupBox;
    edtValue: TEx2NumEdit;
    lblEmp: TLabel;
    cbxInput: TComboBox;
    edtInputEmpid: TEdit;
    edtInputEmpName: TEdit;
    edtrtnCause: TEdit;
    lblCause: TLabel;
    Panel1: TPanel;
    lblMsg: TLabel;
    lbldef: TLabel;
    cbxType: TComboBox;
    edtTID: TEdit;
    edtTName: TEdit;
    lblType: TLabel;
    lblTitle: TLabel;
    lblStockID: TLabel;
    edtStkID: TEdit;
    edtStkName: TEdit;
    lblDate: TLabel;
    edtDate: TEdit;
    lblPaper: TLabel;
    edtPaperNo: TEdit;
    lblCode: TLabel;
    edtCode: TEdit;
    lblName: TLabel;
    edtName: TEdit;
    lblGuageID: TLabel;
    edtIssGuageID: TEx2NumEdit;
    edtIssGuageName: TEdit;
    lblUnitPrice: TLabel;
    edtUPrice: TEx2NumEdit;
    lblUType: TLabel;
    lblQuantity: TLabel;
    edtQuantity: TEx2NumEdit;
    lblTotalAmount: TLabel;
    lblTPrice: TLabel;
    lblOrderSerial: TLabel;
    lblMold: TLabel;
    lblPartID: TLabel;
    lblSuplier: TLabel;
    lblMaker: TLabel;
    edtPartID: TEdit;
    edtMoldID: TEdit;
    edtOrderSerial: TEdit;
    edtSuplierCode: TEx2NumEdit;
    edtMakerCode: TEx2NumEdit;
    edtInvoiceNo: TEdit;
    lblInvoiceNo: TLabel;
    Panel2: TPanel;
    btnOK: TButton;
    btnCancel: TButton;
    lblSupplierNM: TLabel;
    lblMakerNM: TLabel;
    edtIssPaperNO: TEdit;
    lblIssPaper: TLabel;
    procedure FormClose(Sender: TObject; var Action: TCloseAction);
    procedure FormCloseQuery(Sender: TObject; var CanClose: Boolean);
    procedure btnOKClick(Sender: TObject);
    procedure btnCancelClick(Sender: TObject);
    procedure edtValueKeyPress(Sender: TObject; var Key: Char);
    procedure FormCreate(Sender: TObject);
    procedure cbxInputDropDown(Sender: TObject);
    procedure cbxInputChange(Sender: TObject);
    procedure cbxTypeDropDown(Sender: TObject);
    procedure cbxTypeChange(Sender: TObject);
  private
    { Private declarations }
    procedure SetMultilingual;
  public
    { Public declarations }
    InStockQty: Double;

  end;

var
  frmEdit: TfrmEdit;
  DlgMode: Integer;
  BtnFlg:  Boolean = False;

implementation

uses InvHistory, InvDM;

{$R *.DFM}

procedure TfrmEdit.FormCreate(Sender: TObject);
begin
  edtInputEmpid.Text   := '';
  edtInputEmpName.Text := '';
  edtrtnCause.Text     := '';
  cbxInput.Text        := '';
  edtTID.Text          := '';
  edtTName.Text        := '';
  cbxType.Text         := '';
  SetMultilingual;
end;

procedure TfrmEdit.FormClose(Sender: TObject; var Action: TCloseAction);
begin
  if BtnFlg then ModalResult := 1
  else ModalResult := -1;
end;

procedure TfrmEdit.FormCloseQuery(Sender: TObject; var CanClose: Boolean);
  procedure CancelProc;
  begin
    BtnFlg   := False;
    CanClose := False;
    edtValue.SetFocus;
  end;
begin
  case DlgMode of
    0: if BtnFlg and (edtValue.Value > InStockQty) then
         if MessageDlg('输入数量大于' +#13#10+
                       '当时入库数量,取所有数量吗?',
                      mtWarning, [mbYes, mbNo], 0) = mrNo then CancelProc
         else edtValue.Value := InStockQty;
  end;
end;

procedure TfrmEdit.btnOKClick(Sender: TObject);
var ErrorNo: integer;
    ErrMsg:  string;
begin
  ErrorNo := 0;
  case DlgMode of
    0: begin      //-- 退库
         if trim(edtTID.Text) ='' then ErrorNo := -4;
       end;
    1: begin     //-- 复制
         if trim(edtTID.Text) ='' then ErrorNo := 0;
       end;
    2: begin     //-- 调整
         if trim(edtTID.Text) ='' then ErrorNo := -4;
       end;
    else begin
      if trim(edtTID.Text) ='' then ErrorNo := -4;
    end;
  end;

  if trim(edtrtnCause.Text)   ='' then ErrorNo := -1;
  if trim(edtInputEmpid.Text) ='' then ErrorNo := -2;
  if edtValue.Value = 0           then ErrorNo := -3;

  if ErrorNo <> 0 then
  begin
    case ErrorNo of
      -1: begin
            case DlgMode of
              0: ErrMsg := '请输入退库原因!';
              1: ErrMsg := '请输入复制原因!';
              else ErrMsg := '请输入调整原因!';
            end;
          end;
      -2: begin
            case DlgMode of
              0: ErrMsg := '请输入退库人员!';
              1: ErrMsg := '请输入复制人员!';
              else ErrMsg := '请输入调整人员!';
            end;
          end;
      -3: begin
            case DlgMode of
              0: ErrMsg := '请输入退库数量!';
              1: ErrMsg := '请输入复制次数!';
              else ErrMsg := '请输入调整数量!';
            end;
          end;
      -4: begin
            case DlgMode of
              0: ErrMsg :=  '请输入退库类型!';
              1: ErrMsg :=  '请输入复制类型!';
              else ErrMsg := '请输入调整类型!';
            end;
          end
     end;
     MessageDlg(ErrMsg, mtWarning, [mbOK], 0);
  end
  else begin
    BtnFlg := True;
    Close;
  end;
end;

procedure TfrmEdit.btnCancelClick(Sender: TObject);
begin
  BtnFlg := False;
  Close;
end;

procedure TfrmEdit.edtValueKeyPress(Sender: TObject; var Key: Char);
begin
  if Key = #13 then begin
    Key := #0;
    btnOK.Click;
  end;
end;

procedure TfrmEdit.SetMultilingual;
begin
  self.Caption           := GetMultiLingalMsg(90205, 'Return Manager');
  lblStockID.Caption     := GetMultiLingalMsg(90027, 'Stock ID');
  lblDate.Caption        := GetMultiLingalMsg(90052, 'IN Date');
  lblPaper.Caption       := GetMultiLingalMsg(90053, 'Paper NO');
  lblCode.Caption        := GetMultiLingalMsg(90028, 'Material Code');
  lblName.Caption        := GetMultiLingalMsg(90029, 'Material Name');
  lblGuageID.Caption     := GetMultiLingalMsg(90054, 'Guage ID');

  lblUnitPrice.Caption   := GetMultiLingalMsg(90033, 'Unit Price');
  lblQuantity.Caption    := GetMultiLingalMsg(90055, 'IN Quantity');
  lblTotalAmount.Caption := GetMultiLingalMsg(90056, 'IN Amount');
  lblSuplier.Caption     := GetMultiLingalMsg(90057, 'Suplier');
  lblMaker.Caption       := GetMultiLingalMsg(90058, 'Maker');
  lblOrderSerial.Caption := GetMultiLingalMsg(90062, 'Order Serial');
  lblMold.Caption        := GetMultiLingalMsg(90063, 'Mold Code');
  lblPartID.Caption      := GetMultiLingalMsg(90064, 'Part Code');
  lblInvoiceNo.Caption   := GetMultiLingalMsg(90061, 'Invoice NO');
  lblIssPaper.Caption    := GetMultiLingalMsg(90236,'Issure Paper');

  lbldef.Caption         := GetMultiLingalMsg(90106, 'Return Quantity');
  lblEmp.Caption         := GetMultiLingalMsg(90107, 'Return Man');
  lblCause.Caption       := GetMultiLingalMsg(90108, 'Return Cause');
  lblType.Caption        := GetMultiLingalMsg(90109, 'Return Type');
end;

procedure TfrmEdit.cbxInputDropDown(Sender: TObject);
begin
  dm_inventory.Read_EmpInfoToCbx(cbxInput);
end;

procedure TfrmEdit.cbxInputChange(Sender: TObject);
begin
  edtInputEmpid.Text   := Get_PosBeforeStr(cbxInput.Text,'_');
  edtInputEmpName.Text := Get_PosAfterStr(cbxInput.Text,'_');
  
end;

procedure TfrmEdit.cbxTypeDropDown(Sender: TObject);
begin
  case DlgMode of
    0: dm_inventory.Read_IOIDInfo_ToCbx(cbxType,3);
    1: dm_inventory.Read_IOIDInfo_ToCbx(cbxType,0);
    2: dm_inventory.Read_IOIDInfo_ToCbx(cbxType,4);
    else dm_inventory.Read_IOIDInfo_ToCbx(cbxType,0);
  end;
end;

procedure TfrmEdit.cbxTypeChange(Sender: TObject);
begin
  edtTID.Text   := Get_PosBeforeStr(cbxType.Text,'_');
  edtTName.Text := Get_PosAfterStr(cbxType.Text,'_');
end;

end.

⌨️ 快捷键说明

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