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

📄 inv_opout_h.pas

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

unit Inv_OpOut_H;
//委外加工领料表头单元
Interface

uses
  Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
  Base_Entry_Head, Menus, Db, ActnList, AdODB, Grids, DBGridEh, StdCtrls,
  ExtCtrls, ComCtrls, ToolWin, DBCtrls, jpeg, ExtPrintReport, variants;

Type
  TFrm_Inv_OpOut_H = Class(TFrm_Base_Entry_Head)
    AdoQry_HeadPoNo: TStringField;
    AdoQry_HeadPoLineNo: TIntegerField;
    AdoQry_HeadItemCode: TStringField;
    AdoQry_HeadItemName: TStringField;
    AdoQry_HeadPoQty: TFloatField;
    AdoQry_HeadPolineDate: TDateTimeField;
    AdoQry_HeadPoSpecial: TIntegerField;
    AdoQry_HeadVendorCode: TStringField;
    AdoQry_HeadVendor: TStringField;
    AdoQry_HeadItem: TStringField;
    Label1: TLabel;
    Label2: TLabel;
    DBText1: TDBText;
    DBText2: TDBText;
    AdoQry_HeadVendorName: TStringField;
    procedure Act_NewExecute(Sender: TObject);
    procedure Act_LookExecute(Sender: TObject);
  private
    IsOverPlan:Boolean;
    { Private declarations }
  public
    procedure InitForm(AdOConnection:TAdOConnection;ReadOnly:Boolean);OverRide;
    { Public declarations }
  end;

var
  Frm_Inv_OpOut_H: TFrm_Inv_OpOut_H;

implementation
uses Sys_Global,Inv_OpOut_C,Inv_OpOut_B;
{$R *.DFM}

{ TFrm_Inv_OpOut_H }

procedure TFrm_Inv_OpOut_H.InitForm(AdOConnection: TAdOConnection;
  ReadOnly: Boolean);
begin
  inherited;
  //委外加工领料,超订单领料判断
  If UpperCase(Param1)='OverPlan' then
    IsOverPlan:=True
  Else If UpperCase(Param1)='InPlan' then
    IsOverPlan:=False
  Else
  begin
    DispInfo('系统参数传入不正确,请与系统管理员联系!',1);
    Abort;
  end;

  If IsOverPlan then
  begin
    Frm_Inv_OpOut_H.Caption:='委外加工超订单领料';
    Pnl_Title.Caption:='委外加工超订单领料';
  end
  Else
  begin
    Frm_Inv_OpOut_H.Caption:='委外加工领料';
    Pnl_Title.Caption:='委外加工领料';
  end;

  SelectFromSql:='select '+
                 '  Po.PoNo,Po.VendorCode,'+
                 '  Po.VendorCode+'' ''+V.VendorName Vendor,'+
                 '  PoLine.PoLineNo,PoLine.ItemCode, '+
                 '  Item.ItemName, '+
                 '  poline.ItemCode+'' ''+Item.ItemName Item,'+
                 '  po.VendorCode, '+
                 '  v.VendorName, '+
                 '  PoLine.PoQty,Poline.PolineDate,po.PoSpecial '+
                 'from PoLine '+
                 'join Po  on (Po.PoNo=PoLine.PoNo and po.poType=1) '+
                 '  and Poline.PolineStatus=6  '+
                 'Join Item on Item.ItemCode=PoLine.ItemCode '+
                 'Join Vendor V'+
                 '  On V.VendorCode=Po.VendorCode ';
  OrderByFields:=' VendorCode,PoNo,PoLineNo';
  Frm_Entry_Body:=TFrm_Inv_OpOut_B.Create(Self);
  Frm_Sys_Condition:=TFrm_Inv_OpOut_C.Create(Self);
  Act_Filter.Execute;
end;

procedure TFrm_Inv_OpOut_H.Act_NewExecute(Sender: TObject);
var
  po,polineno:string;
begin
  if not AdoQry_Head.Active then abort;
  If (UpperCase(Param1)='InPlan' ) and (AdoQry_Head.recordCount<=0) then
     abort;
  po:=AdoQry_Head.fieldbyname('pono').asstring;
  polineno:=AdoQry_Head.fieldbyname('polineno').asstring;
  If AdoQry_Head.Active then
    Param2:=AdoQry_Head.fieldbyname('PoNo').AsString;
   //先把要传的参数设置好,由基类传到BODY窗体
  inherited;
  if not AdoQry_Head.IsEmpty then
  AdoQry_Head.Locate('pono;polineno',varArrayOf([po,polineno]),[loPArtialKey]);
end;

procedure TFrm_Inv_OpOut_H.Act_LookExecute(Sender: TObject);
begin
  If AdoQry_Head.Active then
    Param2:=AdoQry_Head.fieldbyname('PoNo').AsString;
  inherited;
end;

end.

⌨️ 快捷键说明

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