📄 gl_enter_accountsubject.pas
字号:
unit Gl_Enter_AccountSubject;
Interface
uses
Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
Base_Outer, Menus, ExtPrintReport, Db, ActnList, AdODB, Grids, DBGridEh,
StdCtrls, ExtCtrls, ComCtrls, ToolWin, jpeg;
Type
TFrm_Gl_Enter_AccountSubject = Class(TFrm_Base_Outer)
AdoQry_MainKmID: TAutoIncField;
AdoQry_MainKmLevel: TIntegerField;
AdoQry_MainKmCode: TStringField;
AdoQry_MainKmHelpCode: TStringField;
AdoQry_MainKmName: TStringField;
AdoQry_MainKmType: TIntegerField;
AdoQry_MainKmProperty: TIntegerField;
AdoQry_MainPageType: TIntegerField;
AdoQry_MainFCurrecy: TStringField;
AdoQry_MainAmountCalculate: TIntegerField;
AdoQry_MainUomCode: TStringField;
AdoQry_MainCashControl: TIntegerField;
AdoQry_MainKmFreeze: TIntegerField;
AdoQry_MainDepArtCalculate: TIntegerField;
AdoQry_MainPersonCalculate: TIntegerField;
AdoQry_MainCustomerCalculate: TIntegerField;
AdoQry_MaInvendorCalculate: TIntegerField;
AdoQry_MainProjectCalculate: TIntegerField;
PageControl1: TPageControl;
TabSheet1: TTabSheet;
TabSheet2: TTabSheet;
TabSheet3: TTabSheet;
TabSheet4: TTabSheet;
TabSheet5: TTabSheet;
TabSheet6: TTabSheet;
DBGridEh1: TDBGridEh;
DBGridEh2: TDBGridEh;
DBGridEh3: TDBGridEh;
DBGridEh4: TDBGridEh;
DBGridEh5: TDBGridEh;
DBGridEh6: TDBGridEh;
procedure FormShow(Sender: TObject);
procedure PageControl1Change(Sender: TObject);
procedure Act_DeleteExecute(Sender: TObject);
procedure AdoQry_MainKmNameGetText(Sender: TField; var Text: String;
DisplayText: Boolean);
private
function DeleteendKm(var_KmCode:String):Boolean;
procedure endKmCheck(kmCodestr: string; kmLevelint: integer);
procedure SaveGl_AccountSubjectHistoryHistory(AdoConnection:TAdoConnection;KmCode:string;UserCode:string;HisType:integer);
{ Private declarations }
public
procedure InitForm(AdOConnection:TAdOConnection;ReadOnly:Boolean);Override;
{ Public declarations }
end;
var
Frm_Gl_Enter_AccountSubject: TFrm_Gl_Enter_AccountSubject;
implementation
uses Gl_Enter_AccountSubject_D, Sys_Global;
{$R *.DFM}
{ TFrm_Gl_Enter_AccountSubject }
procedure TFrm_Gl_Enter_AccountSubject.InitForm(
AdOConnection: TAdOConnection; ReadOnly: Boolean);
begin
inherited;
SelectFromSql:=' Select * From Gl_AccountSubject ';
OrderByFields := 'KmCode,KmLevel';
GetData;
Frm_Sys_Detail:=TFrm_Gl_Enter_AccountSubject_D.Create(Application);
end;
procedure TFrm_Gl_Enter_AccountSubject.FormShow(Sender: TObject);
begin
inherited;
PageControl1.ActivePageIndex := 0;
end;
procedure TFrm_Gl_Enter_AccountSubject.PageControl1Change(Sender: TObject);
begin
inherited;
if PageControl1.ActivePageIndex = 0 then
begin
Condition := '';
ConditionUserDefine:='' ;
Lbl_Condition.Caption := '全部';
end
else
if PageControl1.ActivePageIndex = 1 then
begin
Condition := '';
ConditionUserDefine:=' KmType = 1 ';
Lbl_Condition.Caption := '资产';
end
else
if PageControl1.ActivePageIndex = 2 then
begin
Condition := '';
ConditionUserDefine:=' KmType = 2 ';
Lbl_Condition.Caption := '负债';
end
else
if PageControl1.ActivePageIndex = 3 then
begin
Condition := '';
ConditionUserDefine:=' KmType = 3 ';
Lbl_Condition.Caption := '权益';
end
else
if PageControl1.ActivePageIndex = 4 then
begin
Condition := '';
ConditionUserDefine:=' KmType = 4 ';
Lbl_Condition.Caption := '成本';
end
else
begin
Condition := '';
ConditionUserDefine:=' KmType = 5 ';
Lbl_Condition.Caption := '损益';
end;
GetData;
end;
procedure TFrm_Gl_Enter_AccountSubject.Act_DeleteExecute(Sender: TObject);
var
KmID:String;
begin
// inherited;
// endKmCheck(AdoQry_Main.fieldbyname('KmCode').AsString,AdoQry_Main.fieldbyname('Kmlevel').Asinteger);
//exit;
if (not AdoQry_Main.IsEmpty) and
(DispInfo(' 真的删除当前记录吗? ',2)='y') then
begin
try
DbConnect.beginTrans;
SaveGl_AccountSubjectHistoryHistory(DbConnect,AdoQry_Main.fieldbyname('KmCode').AsString,UserCode,3);
endKmCheck(AdoQry_Main.fieldbyname('KmCode').AsString,AdoQry_Main.fieldbyname('Kmlevel').Asinteger);
If not DeleteendKm(AdoQry_Main.fieldbyname('KmCode').AsString) then
Abort;
AdoQry_Tmp.Close;
AdoQry_Tmp.SQL.Text:='Select KmId From Gl_AccountSubject Where KmCode='''+AdoQry_Main.fieldbyname('KmCode').AsString+'''';
AdoQry_Tmp.OPen;
KmId := AdoQry_Tmp.fieldbyname('KmId').AsString;
AdoQry_Tmp.Close;
AdoQry_Tmp.SQL.clear;
AdoQry_Tmp.SQL.Text:= ' Delete Gl_AccountSubjectBalance Where kmId ='''+KmID+''' ';
AdoQry_Tmp.ExecSQL;
AdoQry_Tmp.Close;
AdoQry_Tmp.SQL.Text:='Delete Gl_AccountSubject Where KmCode='''+AdoQry_Main.fieldbyname('KmCode').AsString+'''';
AdoQry_Tmp.ExecSQL;
AdoQry_Main.Delete;
DbConnect.CommitTrans;
except
DbConnect.RollBackTrans ;
DispInfo(' 无法删除当前记录!',1);
Abort;
end;
end;
end;
procedure TFrm_Gl_Enter_AccountSubject.SaveGl_AccountSubjectHistoryHistory(
AdoConnection: TAdoConnection; KmCode, UserCode: string;
HisType: integer);
var AdoQry:TAdoQuery;
AdoQrytmp:TAdoQuery;
sqltext:string;
chgType:string;
begin
case hisType of
1: chgType:='新增';
2: chgType:='修改';
3: chgType:='删除';
end;
AdoQry:=TAdoQuery.Create(Application);
AdoQry.EnableBCD:=False;
AdoQry.Connection:=AdoConnection;
AdoQrytmp:=TAdoQuery.Create(Application);
AdoQrytmp.EnableBCD:=False;
AdoQrytmp.Connection:=AdoConnection;
with AdoQry do
begin
Close;
sql.clear;
sql.Text:='Select * from Gl_AccountSubject where KmCode='+Quotedstr(KmCode);
Prepared;
open;
if recordCount=0 then exit;
end;
sqltext := ' Insert into Gl_AccountSubjectHistory'
+' (endKm,KmId,KmLevel,KmCode,KmHelpCode,KmName,FCurrecy,UomCode,KmType,KmProperty,'
+' PageType,AmountCalculate,KmFreeze,CashControl,'
+' PersonCalculate,DepArtCalculate,VendorCalculate,'
+' CustomerCalculate,ProjectCalculate,ChgEmployeeCode,ChgTime,ChgType ) '
+' Values('
+' '''+AdoQry.fieldbyname('endKm').AsString+''','
+' '''+AdoQry.fieldbyname('KmID').AsString+''','
+' '''+AdoQry.fieldbyname('KmLevel').AsString+''','
+' '''+AdoQry.fieldbyname('KmCode').AsString+''','
+' '''+AdoQry.fieldbyname('KmHelpCode').AsString+''','
+' '''+AdoQry.fieldbyname('KmName').AsString+''','
// +' '''+AdoQry.fieldbyname('TotalKmCode').AsString +''','
+' '''+AdoQry.fieldbyname('FCurrecy').AsString +''','
+' '''+AdoQry.fieldbyname('UomCode').AsString +''','
+''''+AdoQry.fieldbyname('KmType').AsString +''','
+''''+AdoQry.fieldbyname('KmProperty').AsString +''','
+''''+AdoQry.fieldbyname('PageType').AsString +''','
// +''''+AdoQry.fieldbyname('FCurrecyCalculate').AsString +''','
+''''+AdoQry.fieldbyname('AmountCalculate').AsString +''','
+''''+AdoQry.fieldbyname('KmFreeze').AsString +''','
+''''+AdoQry.fieldbyname('CashControl').AsString +''','
+''''+AdoQry.fieldbyname('PersonCalculate').AsString +''','
+''''+AdoQry.fieldbyname('DepArtCalculate').AsString +''','
+''''+AdoQry.fieldbyname('VendorCalculate').AsString +''','
+''''+AdoQry.fieldbyname('CustomerCalculate').AsString +''','
+''''+AdoQry.fieldbyname('ProjectCalculate').AsString +''','
+quotedstr(userCode)+','
+'getdate(),'
+quotedstr(chgType)+')';
with AdoQrytmp do
begin
Close;
sql.clear;
sql.Text:=sqltext;
try
execsql;
except
end;
end;
try
AdoQry.Free;
AdoQrytmp.Free;
except
end;
end;
function TFrm_Gl_Enter_AccountSubject.DeleteendKm(
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -