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

📄 inv_amountoutadjust_d.pas

📁 一个MRPII系统源代码版本
💻 PAS
字号:
unit Inv_AmountoutAdjust_D;

Interface

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

Type
  TFrm_Inv_AmountoutAdjust_D = Class(TFrm_Base_Entry_Detail)
    ExtEdt_ItemCode: TExtEdit;
    Label1: TLabel;
    Label2: TLabel;
    Lbl_ItemName: TLabel;
    Label4: TLabel;
    Lbl_UomName: TLabel;
    edt_memo: TEdit;
    Label5: TLabel;
    ExtEdt_NoTaxAmount: TExtEdit;
    Label8: TLabel;
    procedure InvItemCodeCheck(Sender: TObject);
    procedure ExtEdt_NoTaxAmountExit(Sender: TObject);
    procedure FormCreate(Sender: TObject);
  private
    { Private declarations }
    LineCount:Integer;
  public
    { Public declarations }
    procedure SetStatus(CurrentStatus:String;var EnableControls:String); Override;
    procedure InitControls; Override;
    procedure SaveBodyData; Override;
  end;

var
  Frm_Inv_AmountoutAdjust_D:TFrm_Inv_AmountoutAdjust_D;

implementation

uses Sys_Global,Inv_Global;

{$R *.DFM}

procedure TFrm_Inv_AmountoutAdjust_D.InitControls;
begin
  SetFocus_Control:=ExtEdt_ItemCode;
  Caption:='金额调整出库';
  inherited;
  ExtEdt_NoTaxAmount.Text:='0';
  with AdoQry_Body do
  begin
    ExtEdt_ItemCode.Text:=fieldbyname('ItemCode').AsString;
    Lbl_ItemName.Caption:=fieldbyname('ItemName').AsString;
    Lbl_UomName.Caption:=fieldbyname('UomName').AsString;
    Edt_memo.Text:=fieldbyname('BillLineRemArk').AsString;
    ExtEdt_NoTaxAmount.Text:=fieldbyname('InvBillNoTaxAmount').AsString;
  end;
end;

procedure TFrm_Inv_AmountoutAdjust_D.SaveBodyData;
begin
  inherited;
  with AdoQry_Body do
  begin
    fieldbyname('ItemCode').AsString:=ExtEdt_ItemCode.Text;
    fieldbyname('ItemName').AsString:=Lbl_ItemName.Caption;
    fieldbyname('UomName').AsString:=Lbl_UomName.Caption;
    fieldbyname('BillLineRemArk').AsString:=Edt_memo.Text;
    fieldbyname('InvBillNoTaxAmount').AsString:=ExtEdt_NoTaxAmount.Text;
    Post;
  end;
end;

procedure TFrm_Inv_AmountoutAdjust_D.SetStatus(CurrentStatus:String;var EnableControls:String);
begin
  inherited;
  if CurrentStatus='Add' then
  begin
    if LineCount=-1 then
    begin
      AdoQry_Tmp.Close;
      AdoQry_Tmp.SQL.Text:='Select BillLines'
        +' From BillType'
        +' Where BillTypeCode='''+Param1+'''';
      AdoQry_Tmp.Open;
      LineCount:=AdoQry_Tmp.fieldbyname('BillLines').AsInteger;
      LineCount:=1000;
    end;
    if AdoQry_Body.RecordCount>=LineCount then
    begin
      EnableControls:='None';
      DispInfo('本单据最多只允许输入'+IntToStr(LineCount)+'条单据行!',3);
    end;
  end;
end;

procedure TFrm_Inv_AmountoutAdjust_D.InvItemCodeCheck(Sender: TObject);
var
  BookmArk:TBookmArk;
begin
  inherited;
  if ActiveControl.Name='btn_Cancel' then
    Exit;
  if not DefaultWHCheck(AdoQry_Tmp,AdoQry_Head.fieldbyname('WHCode').AsString
    ,TEdit(Sender).Text) then
  begin
    TWinControl(Sender).SetFocus;
    Abort;
  end;
  BookmArk:=AdoQry_Body.GetBookmArk;
  AdoQry_Body.DisableControls;
  if Status='Add' then
  begin
    AdoQry_Body.First;
    if AdoQry_Body.Locate('ItemCode',TEdit(Sender).Text,[]) then
    begin
      DispInfo('该物料已经存在,不允许增加或修改!',1);
      TWinControl(Sender).SetFocus;
      AdoQry_Body.GotoBookmArk(BookmArk);
      AdoQry_Body.FreeBookmArk(BookmArk);
      AdoQry_Body.EnableControls;
      Abort;
    end
  end
  else if TEdit(Sender).Text<>AdoQry_Body.fieldbyname('ItemCode').AsString then
  begin
    AdoQry_Body.First;
    if AdoQry_Body.Locate('ItemCode',TEdit(Sender).Text,[]) then
    begin
      DispInfo('该物料已经存在,不允许增加或修改!',1);
      TWinControl(Sender).SetFocus;
      AdoQry_Body.GotoBookmArk(BookmArk);
      AdoQry_Body.FreeBookmArk(BookmArk);
      AdoQry_Body.EnableControls;
      Abort;
    end
  end;
  AdoQry_Body.GotoBookmArk(BookmArk);
  AdoQry_Body.FreeBookmArk(BookmArk);
  AdoQry_Body.EnableControls;
  AdoQry_Tmp.Close;
  AdoQry_Tmp.SQL.Text:='Select Uom.UomName'
    +' From Item Join Uom On Item.UomCode=Uom.UomCode'
    +' Where Item.ItemCode='''+TEdit(Sender).Text+'''';
  AdoQry_Tmp.Open;
  Lbl_UomName.Caption:=AdoQry_Tmp.fieldbyname('UomName').AsString;
end;

procedure TFrm_Inv_AmountoutAdjust_D.ExtEdt_NoTaxAmountExit(Sender: TObject);
begin
  inherited;
  FloatCheck(Sender);
  if StrToFloat(TEdit(Sender).Text)=0 then
  begin
    DispInfo('数量不能为零!',1);
    TWinControl(Sender).SetFocus;
    Abort;
  end;
end;

procedure TFrm_Inv_AmountoutAdjust_D.FormCreate(Sender: TObject);
begin
  inherited;
  LineCount:=-1;
end;

end.

⌨️ 快捷键说明

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