📄 gl_enter_credenceh.pas
字号:
unit Gl_Enter_CredenceH;
Interface
uses
Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
Base_Entry_Head, Menus, Db, ActnList, AdODB, Grids, DBGridEh, StdCtrls,
ExtCtrls, ComCtrls, ToolWin, jpeg, ExtPrintReport;
Type
TFrm_Gl_Enter_CredenceH = Class(TFrm_Base_Entry_Head)
AdoQry_HeadCharacterCode: TStringField;
AdoQry_HeadCredencedate: TDateTimeField;
AdoQry_HeadCredenceType: TIntegerField;
AdoQry_HeadBillAmount: TIntegerField;
AdoQry_HeadTotaldebitAmount: TFloatField;
AdoQry_HeadTotalcreditAmount: TFloatField;
AdoQry_HeadcreateEmployeeCode: TStringField;
AdoQry_HeadcreateEmployeeName: TStringField;
AdoQry_HeadcashierEmployeeCode: TStringField;
AdoQry_HeadcashierEmployeeName: TStringField;
AdoQry_HeadtallyEmployeeCode: TStringField;
AdoQry_HeadtallyEmployeeName: TStringField;
AdoQry_HeadassessorEmployeeCode: TStringField;
AdoQry_HeadassessorEmployeeName: TStringField;
AdoQry_HeadCharacterName: TStringField;
AdoQry_HeadTallyFlag: TIntegerField;
AdoQry_HeadAssessFlag: TIntegerField;
AdoQry_HeadSignFlag: TIntegerField;
AdoQry_HeadRemArk: TStringField;
AdoQry_HeadCredenceid: TAutoIncField;
AdoQry_HeadCredenceno: TStringField;
procedure FormDestroy(Sender: TObject);
procedure Act_DeleteExecute(Sender: TObject);
procedure Act_CancelCheckExecute(Sender: TObject);
procedure AdoQry_HeadAfterScroll(DataSet: TDataSet);
procedure Act_ModifyExecute(Sender: TObject);
procedure Act_NewExecute(Sender: TObject);
procedure FormClose(Sender: TObject; var Action: TCloseAction);
procedure FormShow(Sender: TObject);
procedure FormCreate(Sender: TObject);
private
tmpGl_Credence: string;
{ Private declarations }
public
procedure InitForm(AdOConnection:TAdOConnection;ReadOnly:Boolean);Override;
function getuseAccount:boolean;
{ Public declarations }
end;
var
Frm_Gl_Enter_CredenceH: TFrm_Gl_Enter_CredenceH;
implementation
uses Gl_Enter_Credence, Sys_Global;
{$R *.DFM}
{ TFrm_Sal_Enter_SaleOrderH }
function TFrm_Gl_Enter_CredenceH.getuseAccount:boolean;
var sqltext:string;
begin
Result:=False;
sqltext:='select * from Gl_Param'
+' where ParamCode=''StartUseAccount'' ';
Executesql(AdoQry_tmp,sqltext,0);
if AdoQry_tmp.fieldbyname('ParamValuen').asinteger=1 then
Result:=True;
end;
procedure TFrm_Gl_Enter_CredenceH.InitForm(AdOConnection: TAdOConnection;
ReadOnly: Boolean);
var sqltext:string;
begin
Application.ProcessMessages;
inherited;
If (ReadOnly) Then
begin
Act_New.Enabled:=False;
Act_New.Visible:=False;
Act_Modify.Enabled:=False;
Act_Modify.Visible:=False;
tlbtn_Delete.Visible:=False;
tlbtn_Delete.Enabled:=False;
act_Cancelcheck.Visible:=False;
act_Cancelcheck.Enabled:=False;
act_Delete.Visible:=False;
act_Delete.enabled:=False;
Pnl_Title.Caption:='记账凭证查询';
Frm_Gl_Enter_CredenceH.Caption:='记账凭证查询';
end
Else
begin
Pnl_Title.Caption:='记账凭证';
Frm_Gl_Enter_CredenceH.Caption:='记账凭证';
end;
//sqltext:='select convert(varchAr(10),t1.Credenceid) as Credenceid,t1.Characterno as CharacterCode, '
sqltext:=//' create view '+ tmpGl_Credence+ ' as '
'select t1.Credenceid,t1.Characterno as CharacterCode, '
+' Gl_CredenceType.CharacterCode as CharacterName,'
+' t1.Credencedate, '
+' t1.Credenceno, '
+' t1.CredenceType, '
+' t1.BillAmount, '
+' t1.TotaldebitAmount,'
+' t1.TotalcreditAmount, '
+ ' t1.CreateEmployeeCode,'
+' t1.assessflag, '
+' t1.tallyflag, '
+' t1.remArk, '
+' t1.signflag, '
+ ' Employee1.EmployeeName as createEmployeeName, '
+' t1.cashierEmployeeCode, '
+ ' Employee2.EmployeeName as cashierEmployeeName,'
+ ' t1.tallyEmployeeCode, '
+ ' Employee3.EmployeeName as tallyEmployeeName, '
+' t1.assessorEmployeeCode, '
+ ' Employee4.EmployeeName as assessorEmployeeName'
+' into #tmpGl_Credence '
+' from Gl_Credence t1 '
+ ' left join Employee Employee1 on t1.CreateEmployeeCode=Employee1.EmployeeCode '
+ ' left join Employee Employee2 on t1.cashierEmployeeCode=Employee2.EmployeeCode '
+ ' left join Employee Employee3 on t1.tallyEmployeeCode=Employee3.EmployeeCode '
+ ' left join Employee Employee4 on t1.assessorEmployeeCode=Employee4.EmployeeCode '
+' left join Gl_CredenceType on t1.Characterno=Gl_CredenceType.Characterno ';
Executesql(AdoQry_tmp,sqltext,1);
selectfromsql:='select * from #tmpGl_Credence' ;
Condition:=' assessflag=0 ';
OrderByFields:=' Credenceno';
GetData;
Frm_Entry_Body:=TFrm_Gl_Enter_Credence.Create(Application);
end;
procedure TFrm_Gl_Enter_CredenceH.FormDestroy(Sender: TObject);
begin
inherited;
Frm_Gl_Enter_CredenceH:=nil;
end;
procedure TFrm_Gl_Enter_CredenceH.Act_DeleteExecute(Sender: TObject);
var SqlText:String;
begin
inherited;
if AdoQry_Head.RecordCount=0 then exit;
if DispInfo('确认要弃废这张凭证吗?',2)<>'y' then exit;
try
dbconnect.beginTrans;
saveCredenceHistory(dbconnect,AdoQry_Head.fieldbyname('Credenceno').asstring,userCode,4);
sqltext:='update Gl_Credence '
+' set CredenceType=1 '
+' where Credenceno='+quotedstr(AdoQry_Head.fieldbyname('Credenceno').asstring);
Executesql(AdoQry_tmp,sqltext,1);
sqltext:='update #tmpGl_Credence '
+' set CredenceType=1 '
+' where Credenceno='+quotedstr(AdoQry_Head.fieldbyname('Credenceno').asstring);
Executesql(AdoQry_tmp,sqltext,1);
AdoQry_Head.Edit;
AdoQry_Head.fieldbyname('CredenceType').asinteger:=1;
AdoQry_Head.Post;
dbconnect.CommitTrans;
except
if dbconnect.InTransaction then
dbconnect.RollBackTrans;
end;
tlbtn_Delete.Action:=act_Cancelcheck;
end;
procedure TFrm_Gl_Enter_CredenceH.Act_CancelCheckExecute(Sender: TObject);
var sqltext:string;
begin
inherited;
if AdoQry_Head.RecordCount=0 then exit;
if DispInfo('确认要作废这张凭证吗?',2)<>'y' then exit;
try
dbconnect.beginTrans;
saveCredenceHistory(dbconnect,AdoQry_Head.fieldbyname('Credenceno').asstring,userCode,3);
sqltext:='update Gl_Credence '
+' set CredenceType=2 '
+' where Credenceno='+quotedstr(AdoQry_Head.fieldbyname('Credenceno').asstring);
Executesql(AdoQry_tmp,sqltext,1) ;
sqltext:='update #tmpGl_Credence '
+' set CredenceType=2 '
+' where Credenceno='+quotedstr(AdoQry_Head.fieldbyname('Credenceno').asstring);
Executesql(AdoQry_tmp,sqltext,1) ;
AdoQry_Head.Edit;
AdoQry_Head.fieldbyname('CredenceType').asinteger:=2;
AdoQry_Head.Post;
dbconnect.CommitTrans;
except
if dbconnect.InTransaction then dbconnect.RollBackTrans;
end;
tlbtn_Delete.Action:=act_Delete;
end;
procedure TFrm_Gl_Enter_CredenceH.AdoQry_HeadAfterScroll(
DataSet: TDataSet);
begin
inherited;
if AdoQry_Head.RecordCount=0 then
tlbtn_Delete.Action:=act_Cancelcheck;
if AdoQry_Head.fieldbyname('CredenceType').asinteger=2 then
tlbtn_Delete.Action:=act_Delete
else
tlbtn_Delete.Action:=act_Cancelcheck;
end;
procedure TFrm_Gl_Enter_CredenceH.Act_ModifyExecute(Sender: TObject);
begin
if AdoQry_Head.RecordCount=0 then exit;
if AdoQry_Head.fieldbyname('CredenceType').asinteger=2 then exit;
if not getuseAccount then
begin
DispInfo('帐套未启用,不可修改记账凭证!',3);
exit;
end;
if AdoQry_Head.fieldbyname('assessflag').asinteger=1 then
begin
DispInfo('记账凭证已审核,不可修改!',3);
exit;
end;
if AdoQry_Head.fieldbyname('signflag').asinteger=1 then
begin
DispInfo('记账凭证已出纳签字,不可修改!',3);
exit;
end;
inherited;
end;
procedure TFrm_Gl_Enter_CredenceH.Act_NewExecute(Sender: TObject);
begin
if not getuseAccount then
begin
DispInfo('帐套未启用,不可新增记账凭证!',3);
exit;
end;
inherited;
end;
procedure TFrm_Gl_Enter_CredenceH.FormClose(Sender: TObject;
var Action: TCloseAction);
begin
inherited;
try
//Executesql(AdoQry_tmp,'drop view '+tmpGl_Credence,1)
Executesql(AdoQry_tmp,'drop table #tmpGl_Credence',1)
except
end;
end;
procedure TFrm_Gl_Enter_CredenceH.FormShow(Sender: TObject);
begin
inherited;
Windowstate:=wsMaximized;
end;
procedure TFrm_Gl_Enter_CredenceH.FormCreate(Sender: TObject);
begin
inherited;
//tmpGl_Credence:=randomstring;
end;
end.
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -