📄 inv_opjournalqry.pas
字号:
unit Inv_OpJournalQry;
Interface
uses
Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
Base_Qry, Menus, ExtPrintReport, Db, ActnList, AdODB, Grids, DBGridEh,
StdCtrls, ExtCtrls, ComCtrls, ToolWin, DBCtrls, jpeg;
Type
TFrm_Inv_OpJournalQry = Class(TFrm_Base_Qry)
Label1: TLabel;
DBText1: TDBText;
procedure DBGridEhGetCellParams(Sender: TObject; Column: TColumnEh;
AFont: TFont; var Background: TColor; State: TGridDrawState);
procedure FormClose(Sender: TObject; var Action: TCloseAction);
procedure Act_LookExecute(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
procedure InitForm(AdOConnection:TAdOConnection;ShowExtendColumn:Boolean);Override;
procedure SetFormParam(FrmParam1,FrmParam2,FrmParam3,FrmParam4,
FrmParam5,FrmParam6:String);Override;
end;
var
Frm_Inv_OpJournalQry: TFrm_Inv_OpJournalQry;
implementation
uses Inv_OpJournalQry_C, Inv_SaleBillQry, Sys_Global, Inv_MnInBillQry,
Inv_PurchaseInBillQry, Inv_OpOutBillQry, Inv_MnOutBillQry,
Inv_OtherOutBillQry, Inv_OtherInBillQry, Inv_WhPMoveBillQry,
Inv_CheckInBillQry, Inv_OpDiffBillQry, Inv_JournalQry_D;
{$R *.DFM}
procedure TFrm_Inv_OpJournalQry.InitForm(AdOConnection:TAdOConnection;ShowExtendColumn:Boolean);
begin
inherited;
AmountFields:='InvBillAmount,OInvBillAmount,InvBlncAmount,';
PriceFields:='InvBillPrice,OInvBillPrice,InvBlncPrice,';
try
AdoQry_Tmp.Close;
AdoQry_Tmp.SQL.Text:='Drop TABLE #OPJournalQry';
AdoQry_Tmp.ExecSQL;
except
end;
AdoQry_Tmp.Close;
AdoQry_Tmp.SQL.Text:='CREATE TABLE #OPJournalQry ('
+' [DateSting] [varchAr] (10) NULL'
+',[MonthString] [varchAr] (10) NULL'
+',[BillTypeCode] [varchAr] (4) NULL'
+',[InvBillNo] [varchAr] (30) NULL'
+',[MoPoNo] [varchAr] (30) NULL'
+',[InvBillRemArk] [varchAr] (100) NULL'
+',[InvBillQty] [float] NULL'
+',[OInvBillQty] [float] NULL'
+',[InvBlncQty] [float] NULL'
+',[InvBillPrice] [float] NULL'
+',[OInvBillPrice] [float] NULL'
+',[InvBlncPrice] [float] NULL'
+',[InvBillAmount] [float] NULL'
+',[OInvBillAmount] [float] NULL'
+',[InvBlncAmount] [float] NULL'
+',[InvBillCreateTime] [datetime] NULL'
+',[WHCode] [varchAr] (4) NULL'
+' )';
AdoQry_Tmp.ExecSQL;
SelectFromSQL:='Select #OPJournalQry.DateSting'
+',InvInBill.InvBillId'
+',#OPJournalQry.MonthString'
+',#OPJournalQry.BillTypeCode'
+',#OPJournalQry.InvBillNo'
+',#OPJournalQry.MoPoNo'
+',#OPJournalQry.InvBillRemArk'
+',#OPJournalQry.InvBillQty'
+',#OPJournalQry.OInvBillQty'
+',#OPJournalQry.InvBlncQty'
+',#OPJournalQry.InvBillPrice'
+',#OPJournalQry.OInvBillPrice'
+',#OPJournalQry.InvBlncPrice'
+',#OPJournalQry.InvBillAmount'
+',#OPJournalQry.OInvBillAmount'
+',#OPJournalQry.InvBlncAmount'
+',#OPJournalQry.InvBillCreateTime'
+',#OPJournalQry.WHCode'
+' From #OPJournalQry'
+' Left Join InvInBill On #OPJournalQry.WHCode=InvInBill.WHCode'
+' And #OPJournalQry.InvBillNo=InvInBill.InvBillNo';
OrderByFields:='MonthString,InvBillCreateTime';
Frm_Sys_Condition:=TFrm_Inv_OpJournalQry_C.Create(Self);
if Param1='' then
Act_Filter.Execute
else
begin
FormStyle:=fsNormal;
Windowstate:=wsMaximized;
end;
end;
procedure TFrm_Inv_OpJournalQry.DBGridEhGetCellParams(Sender: TObject;
Column: TColumnEh; AFont: TFont; var Background: TColor;
State: TGridDrawState);
begin
inherited;
if (gdSelected in State)or(gdFocused in State) then
begin
Background:=clNavy;
AFont.Color:=clWindow;
end
else
begin
if AdoQry_Main.fieldbyname('BillTypeCode').AsString='0000' then
begin
AFont.Color:=clBlue;
end
else
AFont.Color:=clBlack;
end;
if (Column.FieldName='InvBillRemArk')
and((AdoQry_Main.fieldbyname('InvBillRemArk').AsString='本月合计')
or(AdoQry_Main.fieldbyname('InvBillRemArk').AsString='本月合计(未结帐)')) then
begin
AFont.Color:=clRed;
end
end;
procedure TFrm_Inv_OpJournalQry.FormClose(Sender: TObject;
var Action: TCloseAction);
begin
inherited;
AdoQry_Tmp.Close;
AdoQry_Tmp.SQL.Text:='Drop TABLE #OPJournalQry';
AdoQry_Tmp.ExecSQL;
if Param1<>'' then
begin
Frm_Inv_OpJournalQry.Release;
Frm_Inv_OpJournalQry:=nil;
end;
end;
procedure TFrm_Inv_OpJournalQry.Act_LookExecute(Sender: TObject);
begin
inherited;
if (AdoQry_Main.Active=False)or(Param1<>'') then
Exit;
if(AdoQry_Main.fieldbyname('BillTypeCode').AsString='0203')
or(AdoQry_Main.fieldbyname('BillTypeCode').AsString='0204')then
begin
Application.CreateForm(TFrm_Inv_SaleBillQry,Frm_Inv_SaleBillQry);
Frm_Inv_SaleBillQry.Getvar(GetCode(AdoQry_Main.fieldbyname('InvBillNo').AsString),
AdoQry_Main.fieldbyname('WHCode').AsString,
AdoQry_Main.fieldbyname('BillTypeCode').AsString,'Stk');
Frm_Inv_SaleBillQry.InitForm(DBConnect,True);
end
else if(AdoQry_Main.fieldbyname('BillTypeCode').AsString='0105')
or(AdoQry_Main.fieldbyname('BillTypeCode').AsString='0104')then
begin
Application.CreateForm(TFrm_Inv_MnInBillQry,Frm_Inv_MnInBillQry);
Frm_Inv_MnInBillQry.Getvar(GetCode(AdoQry_Main.fieldbyname('InvBillNo').AsString),
AdoQry_Main.fieldbyname('WHCode').AsString,
AdoQry_Main.fieldbyname('BillTypeCode').AsString);
Frm_Inv_MnInBillQry.InitForm(DBConnect,True);
end
else if(AdoQry_Main.fieldbyname('BillTypeCode').AsString='0101')
or(AdoQry_Main.fieldbyname('BillTypeCode').AsString='0102')
or(AdoQry_Main.fieldbyname('BillTypeCode').AsString='0103')then
begin
Application.CreateForm(TFrm_Inv_PurchaseInBillQry,Frm_Inv_PurchaseInBillQry);
Frm_Inv_PurchaseInBillQry.Getvar(GetCode(AdoQry_Main.fieldbyname('InvBillNo').AsString),
AdoQry_Main.fieldbyname('WHCode').AsString,
AdoQry_Main.fieldbyname('BillTypeCode').AsString);
Frm_Inv_PurchaseInBillQry.InitForm(DBConnect,True);
end
else if(AdoQry_Main.fieldbyname('BillTypeCode').AsString='0202')then
begin
Application.CreateForm(TFrm_Inv_OpOutBillQry,Frm_Inv_OpOutBillQry);
Frm_Inv_OpOutBillQry.Getvar(GetCode(AdoQry_Main.fieldbyname('InvBillNo').AsString),
AdoQry_Main.fieldbyname('WHCode').AsString,
AdoQry_Main.fieldbyname('BillTypeCode').AsString);
Frm_Inv_OpOutBillQry.InitForm(DBConnect,True);
end
else if(AdoQry_Main.fieldbyname('BillTypeCode').AsString='0201')then
begin
Application.CreateForm(TFrm_Inv_MnOutBillQry,Frm_Inv_MnOutBillQry);
Frm_Inv_MnOutBillQry.Getvar(GetCode(AdoQry_Main.fieldbyname('InvBillNo').AsString),
AdoQry_Main.fieldbyname('WHCode').AsString,
AdoQry_Main.fieldbyname('BillTypeCode').AsString);
Frm_Inv_MnOutBillQry.InitForm(DBConnect,True);
end
else if(AdoQry_Main.fieldbyname('BillTypeCode').AsString='0299')then
begin
Application.CreateForm(TFrm_Inv_OtherOutBillQry,Frm_Inv_OtherOutBillQry);
Frm_Inv_OtherOutBillQry.Getvar(GetCode(AdoQry_Main.fieldbyname('InvBillNo').AsString),
AdoQry_Main.fieldbyname('WHCode').AsString,
AdoQry_Main.fieldbyname('BillTypeCode').AsString);
Frm_Inv_OtherOutBillQry.InitForm(DBConnect,True);
end
else if(AdoQry_Main.fieldbyname('BillTypeCode').AsString='0199')then
begin
Application.CreateForm(TFrm_Inv_OtherInBillQry,Frm_Inv_OtherInBillQry);
Frm_Inv_OtherInBillQry.Getvar(GetCode(AdoQry_Main.fieldbyname('InvBillNo').AsString),
AdoQry_Main.fieldbyname('WHCode').AsString,
AdoQry_Main.fieldbyname('BillTypeCode').AsString,
AdoQry_Main.fieldbyname('DateSting').AsString);
Frm_Inv_OtherInBillQry.InitForm(DBConnect,True);
end
else if(AdoQry_Main.fieldbyname('BillTypeCode').AsString='1101')then
begin
Application.CreateForm(TFrm_Inv_WhPMoveBillQry,Frm_Inv_WhPMoveBillQry);
Frm_Inv_WhPMoveBillQry.Getvar(GetCode(AdoQry_Main.fieldbyname('InvBillNo').AsString),
AdoQry_Main.fieldbyname('WHCode').AsString,
AdoQry_Main.fieldbyname('BillTypeCode').AsString);
Frm_Inv_WhPMoveBillQry.InitForm(DBConnect,True);
end
else if(AdoQry_Main.fieldbyname('BillTypeCode').AsString='1102')then
begin
Application.CreateForm(TFrm_Inv_CheckInBillQry,Frm_Inv_CheckInBillQry);
Frm_Inv_CheckInBillQry.Getvar(GetCode(AdoQry_Main.fieldbyname('InvBillNo').AsString),
AdoQry_Main.fieldbyname('WHCode').AsString);
Frm_Inv_CheckInBillQry.InitForm(DBConnect,'ReadOnly',AdoQry_Main);
Frm_Inv_CheckInBillQry.ShowModal;
Frm_Inv_CheckInBillQry.Release;
end
else if(AdoQry_Main.fieldbyname('BillTypeCode').AsString='1202')then
begin
Application.CreateForm(TFrm_Inv_OpDiffBillQry,Frm_Inv_OpDiffBillQry);
Frm_Inv_OpDiffBillQry.Caption:='委外加工材料费单据';
Frm_Inv_OpDiffBillQry.SetUserParam(Param1,Param2,Param3,Param4,Param5,Param6);
Frm_Inv_OpDiffBillQry.SetSysParam(UserCode,ModuleCode,MenuId,LoginDate);
Frm_Inv_OpDiffBillQry.Getvar(GetCode(AdoQry_Main.fieldbyname('InvBillNo').AsString),
AdoQry_Main.fieldbyname('WHCode').AsString);
Frm_Inv_OpDiffBillQry.InitForm(DBConnect,'Query',AdoQry_Main);
Frm_Inv_OpDiffBillQry.ShowModal;
Frm_Inv_OpDiffBillQry.Release;
end
else if(AdoQry_Main.fieldbyname('BillTypeCode').AsString='9999')then
begin
Frm_Inv_JournalQry_D:=TFrm_Inv_JournalQry_D.Create(Self);
Frm_Inv_JournalQry_D.InitForm(DBConnect,'ReadOnly',AdoQry_Main);
Frm_Inv_JournalQry_D.ShowModal;
Frm_Inv_JournalQry_D.Release;
end;
end;
procedure TFrm_Inv_OpJournalQry.SetFormParam(FrmParam1,FrmParam2,FrmParam3,FrmParam4,
FrmParam5,FrmParam6:String);
begin
Frm_Sys_Condition.SetDBConnect(DBConnect);
Frm_Sys_Condition.SetFormParam(FrmParam1,FrmParam2,FrmParam3,FrmParam4,'','');
Condition:=Frm_Sys_Condition.Condition;
Lbl_Condition.Caption:=Frm_Sys_Condition.ConditionHint;
GetData;
end;
end.
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -