📄 inv_invanditem.pas
字号:
unit Inv_InvAndItem;
Interface
uses
Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
Base_Qry, Menus, ExtPrintReport, Db, ActnList, AdODB, Grids, DBGridEh,pr_PrintReportType,
StdCtrls, ExtCtrls, ComCtrls, ToolWin, DBCtrls;
Type
TFrm_Inv_InvAndItem = Class(TFrm_Base_Qry)
CheckBox1: TCheckBox;
Label1: TLabel;
lbl_Page: TLabel;
Label2: TLabel;
Label3: TLabel;
DBText1: TDBText;
AdODataSet_Main: TAdODataSet;
AdODataSet_MainItemflag: TStringField;
AdODataSet_MainonhandInv: TFloatField;
AdODataSet_MainCurrentonhandInv: TFloatField;
AdODataSet_MainDiffrentonhandInv: TFloatField;
AdODataSet_MainonCheckInv: TFloatField;
AdODataSet_MainCurrentonCheckInv: TFloatField;
AdODataSet_MainDiffrentonCheckInv: TFloatField;
AdODataSet_MainfreezeInv: TFloatField;
AdODataSet_MainCurrentfreezeInv: TFloatField;
AdODataSet_MainDiffrentfreezeInv: TFloatField;
AdODataSet_MainwasterInv: TFloatField;
AdODataSet_MainCurrentwasterInv: TFloatField;
AdODataSet_MainDiffrentwasterInv: TFloatField;
AdODataSet_MainonShipInv: TFloatField;
AdODataSet_MainCurrentonShipInv: TFloatField;
AdODataSet_MainDiffrentonShipInv: TFloatField;
procedure Act_nextExecute(Sender: TObject);
procedure CheckBox1Click(Sender: TObject);
procedure FormCreate(Sender: TObject);
private
{ Private declarations }
public
procedure InitForm(AdoQry:TAdOConnection);
procedure GetData; Override;
{ Public declarations }
end;
var
Frm_Inv_InvAndItem: TFrm_Inv_InvAndItem;
implementation
uses Inv_QueryStatus;
{$R *.DFM}
procedure TFrm_Inv_InvAndItem.Act_nextExecute(Sender: TObject);
var
i:integer;
begin
//inherited;
SelectFromSQL:='select '+
' Item.ItemCode+'' ''+Item.ItemName as Itemflag ,'+
' case when c.onhandInv is null then 0 else c.onhandInv end onhandInv,'+
' CurrentonhandInv, '+
' CurrentonhandInv-case when c.onhandInv is null then 0 else c.onhandInv end DiffrentonhandInv,'+
' case when c.onCheckInv is null then 0 else c.onCheckInv end onCheckInv,'+
' CurrentonCheckInv,'+
' CurrentonCheckInv-case when c.onCheckInv is null then 0 else c.onCheckInv end DiffrentonCheckInv,'+
' case when c.freezeInv is null then 0 else c.freezeInv end freezeInv,'+
' CurrentfreezeInv,'+
' CurrentfreezeInv-case when c.freezeInv is null then 0 else c.freezeInv end DiffrentfreezeInv,'+
' case when c.wasterInv is null then 0 else c.wasterInv end wasterInv,'+
' CurrentwasterInv,'+
' CurrentwasterInv-case when c.wasterInv is null then 0 else c.wasterInv end DiffrentwasterInv,'+
' case when c.onShipInv is null then 0 else c.onShipInv end onShipInv,'+
' CurrentonShipInv,'+
' CurrentonShipInv-case when c.onShipInv is null then 0 else c.onShipInv end DiffrentonShipInv '+
' from Item '+
' left join '+
' (select ItemCode,sum(onhandInv) onhandInv,sum(onCheckInv) onCheckInv,'+
' sum(freezeInv) freezeInv,sum(wasterInv) wasterInv,sum(onShipInv) onShipInv '+
' from CurrentInv '+
' group by ItemCode) c '+
' on Item.ItemCode=c.ItemCode ';
conditionuserDefine:=
' (abs(CurrentonhandInv-case when c.onhandInv is null then 0 else c.onhandInv end)>0.0001) or '+
' (abs(CurrentonCheckInv-case when c.onCheckInv is null then 0 else c.onCheckInv end)>0.0001) or '+
' (abs(CurrentfreezeInv-case when c.freezeInv is null then 0 else c.freezeInv end)>0.0001) or '+
' (abs(CurrentwasterInv-case when c.wasterInv is null then 0 else c.wasterInv end)>0.0001) or '+
' (abs(CurrentonShipInv-case when c.onShipInv is null then 0 else c.onShipInv end)>0.0001)';
with AdODataSet_Main do
begin
CommandTimeout:=0;
//Close;
//CommandText:=sql_txt;
//Open;
getdata;
lbl_Page.Caption:=inttostr(RecordCount);
end;
with DBGridEh do
begin
for i:=1 to 15 do
TFloatField(AdODataSet_Main.Fields[i]).displayFormat:='0.##';
Columns[0].Title.Caption:='物料标识';
Columns[1].Title.Caption:='可用库存|库存记录';
Columns[2].Title.Caption:='可用库存|物料主文件';
Columns[3].Title.Caption:='可用库存|差异';
Columns[4].Title.Caption:='待检库存|库存记录';
Columns[5].Title.Caption:='待检库存|物料主文件';
Columns[6].Title.Caption:='待检库存|差异';
Columns[7].Title.Caption:='冻结库存|库存记录';
Columns[8].Title.Caption:='冻结库存|物料主文件';
Columns[9].Title.Caption:='冻结库存|差异';
Columns[10].Title.Caption:='废品库存|库存记录';
Columns[11].Title.Caption:='废品库存|物料主文件';
Columns[12].Title.Caption:='废品库存|差异';
Columns[13].Title.Caption:='在运库存|库存记录';
Columns[14].Title.Caption:='在运库存|物料主文件';
Columns[15].Title.Caption:='在运库存|差异';
Columns[0].Width:=210;
Columns[1].Width:=60;
Columns[2].Width:=70;
Columns[3].Width:=60;
Columns[4].Width:=60;
Columns[5].Width:=70;
Columns[6].Width:=60;
Columns[7].Width:=60;
Columns[8].Width:=70;
Columns[9].Width:=60;
Columns[10].Width:=60;
Columns[11].Width:=70;
Columns[12].Width:=60;
Columns[13].Width:=60;
Columns[14].Width:=70;
Columns[15].Width:=60;
Frozencols:=1;
Frm_Inv_QueryStatus.Close;
Refresh;
UseMultiTitle:=True;
end;
end;
procedure TFrm_Inv_InvAndItem.InitForm(AdoQry: TAdOConnection);
begin
self.SetDBConnect(AdoQry);
AdODataSet_Main.Connection:=AdoQry;
AdoQry_Main.Connection:= AdoQry;
AdoQry_Tmp.Connection:=AdoQry;
TlBtn_Look.Action:=Act_next;
Act_next.Visible:=False;
Frm_Inv_QueryStatus.SetFocus;
Act_Next.Execute;
end;
procedure TFrm_Inv_InvAndItem.CheckBox1Click(Sender: TObject);
begin
inherited;
DBGridEh.AutoFitColWidths:=CheckBox1.Checked;
end;
procedure TFrm_Inv_InvAndItem.GetData;
begin
if SelectFromSQL<>'' then
begin
AdODataSet_Main.DisableControls;
AdODataSet_Main.Close;
AdODataSet_Main.CommandText:=SelectFromSQL;
if(Condition<>'')then
begin
if(ConditionUserDefine<>'')then
AdODataSet_Main.CommandText:=AdODataSet_Main.CommandText+' Where '+Condition+' and '+ConditionUserDefine
else
AdODataSet_Main.CommandText:=AdODataSet_Main.CommandText+' Where '+Condition;
end
else if(ConditionUserDefine<>'')then
AdODataSet_Main.CommandText:=AdODataSet_Main.CommandText+' Where '+ConditionUserDefine;
if(GroupByFields<>'')then
AdODataSet_Main.CommandText:=AdODataSet_Main.CommandText+' Group By '+GroupByFields;
AdODataSet_Main.Open;
AdODataSet_Main.Sort:=OrderByFields;
AdODataSet_Main.EnableControls;
end;
end;
procedure TFrm_Inv_InvAndItem.FormCreate(Sender: TObject);
begin
inherited;
Frm_Inv_QueryStatus:=TFrm_Inv_QueryStatus.Create(Application);
Frm_Inv_QueryStatus.Show;
Frm_Inv_QueryStatus.refresh;
end;
end.
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -