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

📄 inv_dailyreport.pas

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

Interface

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

Type
  TFrm_Inv_DailyReport = Class(TFrm_Base_Qry)
    procedure FormDestroy(Sender: TObject);
    procedure AdoQueryAfterOpen(DataSet: TDataSet);
  private
    { Private declarations }
  public
    procedure getData;Override;
    procedure InitForm(AdOConnection:TAdOConnection;ShowExtendColumn:Boolean);Override;
    { Public declarations }
  end;

var
  Frm_Inv_DailyReport: TFrm_Inv_DailyReport;

implementation
uses Inv_DailyReport_C,Sys_Global;
{$R *.DFM}
procedure TFrm_Inv_DailyReport.getData;
begin
  try
    AdoQry_Main.Close;
    AdoQry_Main.sql.clear;
    AdoQry_Main.sql.text:=condition;
    AdoQry_Main.Open;
    AdoQry_Main.Sort:='ItemCode';
  except
    begin
      with AdoQry_tmp do
      begin
        Close;
        sql.clear;
        sql.Add('drop table #tmp1  drop table #tmp3 ');
        execsql;
      end;
      DispInfo('数据连接失败!请重试!',3);
    end;
  end;
end;

procedure TFrm_Inv_DailyReport.InitForm(AdOConnection:TAdOConnection;ShowExtendColumn:Boolean);
var
  M:integer;
begin
  inherited;
  if UpperCase(ModuleCode)='Inv' then
  begin
    Caption:='日(时段)收发存数量汇总表';
    pnl_title.Caption:='日(时段)收发存数量汇总表';
  end
  else
  begin
    Caption:='日(时段)收发存金额汇总表';
    pnl_title.Caption:='日(时段)收发存金额汇总表';
  end;

  lbl_Order.Caption:='物料代码';
  with dbgrideh do
  begin
    Columns.Add;
    Columns[0].FieldName:='ItemCodeName';
    Columns[0].Width:=300;
    Columns[0].Title.Caption:='物料标识';
    Columns.Add;
    Columns[1].FieldName:='UomName';
    Columns[1].Width:=60;
    Columns[1].Title.Caption:='计量单位';
    Columns.Add;
    Columns[2].FieldName:='qichujiechun';
    Columns[2].Width:=80;
    Columns[2].Title.Caption:='期初结存';
    with AdoQry_tmp do
    begin
    //按单据类型入库汇总
      Close;
      sql.clear;
      if UpperCase(ModuleCode)='Inv' then
      sql.Add('select BillTypeCode,BillTypeName '+
            ' from BillType '+
            ' where io=0 '+
            '  and BillTypeCode not in (select BillTypeCode '+
                                        ' from BillType '+
                                        ' where BillTypeCode like ''1%'') '+
            ' Order by BillTypeCode')
      else
      sql.Add('select BillTypeCode,BillTypeName '+
            ' from BillType '+
            ' where io=0 '+
            '  and BillTypeCode<>''1102'' '+
            ' Order by BillTypeCode');
      open;
      First;
      M:=3;
      while not eof do
      begin
        Columns.Add;
        Columns[M].FieldName:='R'+Trim(fieldbyname('BillTypeCode').asstring);
        Columns[M].Width:=80;
        Columns[M].Title.Caption:='入库|'+fieldbyname('BillTypeName').asstring;
        M:=M+1;
        next;
      end;
      Columns.Add;
      Columns[M].FieldName:='insum';
      Columns[M].Width:=80;
      Columns[M].Title.Caption:='入库|合计';
      M:=M+1;
      Close;
      sql.clear;
      sql.Add('select BillTypeCode,BillTypeName '+
            ' from BillType '+
            ' where io=1 '+
            '  and BillTypeCode not in (select BillTypeCode '+
                                        ' from BillType '+
                                        ' where BillTypeCode like ''1%'') '+
            ' Order by BillTypeCode');
      open;
      First;
      while not eof do
      begin
        Columns.Add;
        Columns[M].FieldName:='C'+Trim(fieldbyname('BillTypeCode').asstring);
        Columns[M].Width:=80;
        Columns[M].Title.Caption:='出库|'+fieldbyname('BillTypeName').asstring;
        M:=M+1;
        next;
      end;
    end;
    Columns.Add;
    Columns[M].FieldName:='outsum';
    Columns[M].Width:=80;
    Columns[M].Title.Caption:='出库|合计';
    M:=M+1;
    Columns.Add;
    Columns[M].FieldName:='remant';
    Columns[M].Width:=80;
    Columns[M].Title.Caption:='结存';
    frozencols:=1;
    useMultititle:=True;
  end;
  Frm_Sys_Condition:=TFrm_Inv_DailyReport_C.Create(Self);
  TFrm_Inv_DailyReport_C(Frm_Sys_Condition).InitForm(UserCode,ModuleCode,LoginDate);
  Act_Filter.Execute;
end;

procedure TFrm_Inv_DailyReport.FormDestroy(Sender: TObject);
begin
  inherited;
  Frm_Inv_DailyReport:=nil;
end;

procedure TFrm_Inv_DailyReport.AdoQueryAfterOpen(DataSet: TDataSet);
var
  i:integer;
begin
  for i:=0 to dbgrideh.Columns.Count -1 do
  begin
    if dbgrideh.columns[i].Field =nil then
    begin
      if dbgrideh.columns[i].Visible then
        dbgrideh.columns[i].Visible :=False;
    end;
  end;
  inherited;

end;

end.

⌨️ 快捷键说明

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