📄 inv_dailyreport.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 + -