📄 gl_enter_cashreport_d.pas
字号:
unit Gl_Enter_CashReport_D;
Interface
uses
Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
Base_Detail, Db, AdODB, ExtCtrls, StdCtrls, ExtEdit, Mask, linkedit;
Type
TFrm_Gl_Enter_CashReport_D = Class(TFrm_Base_Detail)
Label1: TLabel;
edt_ProjectCode: TEdit;
Label8: TLabel;
cmb_issum: TComboBox;
Label2: TLabel;
edt_ProjectName: TEdit;
Label4: TLabel;
edt_lineno: TEdit;
Label3: TLabel;
edt_Totalsum: TEdit;
procedure edt_linenoExit(Sender: TObject);
procedure btn_okClick(Sender: TObject);
private
{ Private declarations }
public
procedure InitControls; Override;
procedure SaveData;Override;
procedure SetStatus(CurrentStatus:String;var EnableControls:String); Override;
procedure CheckInfo;
{ Public declarations }
end;
var
Frm_Gl_Enter_CashReport_D: TFrm_Gl_Enter_CashReport_D;
implementation
uses Sys_Global;
{$R *.DFM}
{ TFrm_Ar_Enter_Gathering_D }
procedure TFrm_Gl_Enter_CashReport_D.CheckInfo;
var tMpstr,tmpkmCode,sqltext:string;
i,j:integer;
begin
if Add then
begin
if Trim(edt_ProjectCode.Text)='' then
begin
DispInfo('项目编号不能为空!',3);
edt_ProjectCode.SetFocus;
abort;
end;
Executesql(AdoQry_tmp,'select * from Gl_CashReport where projectCode='+quotedstr(Trim(edt_ProjectCode.text)),0);
if AdoQry_tmp.RecordCount>0 then
begin
DispInfo('该项目编号已存在!',3);
edt_ProjectCode.SetFocus;
abort;
end;
end;
if Trim(edt_ProjectName.text)='' then
begin
DispInfo('项目不能为空!',3);
edt_ProjectName.setfocus;
abort;
end;
if Cmb_IsSum.ItemIndex=0 then
if Trim(edt_Totalsum.Text)<>'' then
begin
DispInfo('只有是合计栏才可以输入金额项目值!',3);
edt_Totalsum.SetFocus;
abort;
end;
tMpstr:=Trim(edt_Totalsum.text);
while tMpstr<>'' do
begin
i:=pos('+',tMpstr);
j:=pos('-',tMpstr);
if (i=0) and (j=0) then
begin
tmpkmCode:=tMpstr;
tMpstr:='';
end
else
if (i=0) and (j<>0) then
begin
tmpkmCode:=copy(tMpstr,1,j-1);
tMpstr:=copy(tMpstr,j+1,length(tMpstr)-j);
end
else if (i<>0) and (j=0) then
begin
tmpkmCode:=copy(tMpstr,1,i-1);
tMpstr:=copy(tMpstr,i+1,length(tMpstr)-i);
end
else if (i<>0) and (j<>0) then
begin
if i<j then
begin
tmpkmCode:=copy(tMpstr,1,i-1);
tMpstr:=copy(tMpstr,i+1,length(tMpstr)-i);
end
else begin
tmpkmCode:=copy(tMpstr,1,j-1);
tMpstr:=copy(tMpstr,j+1,length(tMpstr)-j);
end;
end;
sqltext:='select * from Gl_CashReport'
+' where ProjectCode='+quotedstr(tmpkmCode)
+' and IsSum=0 ';
{sqltext:='select ProjectCode from Gl_CashReport'
+' where ProjectCode='+quotedstr(tmpkmCode);}
Executesql(AdoQry_tmp,sqltext,0);
if AdoQry_tmp.RecordCount=0 then
begin
DispInfo('项目代码'+quotedstr(tmpkmCode)+'错误!必须输入非合计项目!',3);
//DispInfo('项目代码'+quotedstr(tmpkmCode)+'错误!!',3);
edt_Totalsum.SetFocus;
abort;
end;
end;
end;
procedure TFrm_Gl_Enter_CashReport_D.InitControls;
var i:integer;
begin
if (Add) then
begin
SetFocus_Control:=edt_ProjectCode;
end
else
SetFocus_Control:=cmb_issum;
inherited;
with AdoQry_Maintain do
begin
edt_ProjectCode.Text:=AdoQry_Maintain.fieldbyname('projectCode').asstring;
cmb_issum.ItemIndex:=AdoQry_Maintain.fieldbyname('issum').asinteger;
edt_ProjectName.Text:=AdoQry_Maintain.fieldbyname('projectName').asstring;
edt_lineno.Text:=AdoQry_Maintain.fieldbyname('plineno').asstring;
edt_Totalsum.Text:=AdoQry_Maintain.fieldbyname('Totalsum').asstring;
if not Add then
begin
edt_ProjectCode.Enabled:=False;
cmb_issum.Enabled:=True;
end
else
begin
edt_ProjectCode.Enabled:=True;
cmb_issum.Enabled:=True;
end;
end;
end;
procedure TFrm_Gl_Enter_CashReport_D.SaveData;
var sqltext:string;
AdoQry:TAdoQuery;
begin
inherited;
AdoQry:=TAdoQuery.Create(nil);
AdoQry.Connection:=dbconnect;
try
dbconnect.beginTrans;
if Add then
//新增
sqltext:='insert into Gl_CashReport(projectCode,issum,'
+' projectName,plineno,Totalsum)'
+' Values('+quotedstr(Trim(edt_ProjectCode.text))+','
+inttostr(cmb_issum.Itemindex)+','
+quotedstr(Trim(edt_ProjectName.text))+','
+iifstring(Trim(edt_lineno.text)='','null',Trim(edt_lineno.text))+','
+quotedstr(Trim(edt_Totalsum.text))
+')'
else
sqltext:='update Gl_CashReport'
+' set projectName='+quotedstr(Trim(edt_ProjectName.text))+','
+' plineno='+iifstring(Trim(edt_lineno.text)='','null',Trim(edt_lineno.text))+','
+' Totalsum='+quotedstr(Trim(edt_Totalsum.text))
+'where projectCode='+quotedstr(Trim(edt_ProjectCode.text));
if Add then
begin
Executesql(AdoQry_tmp,sqltext,1);
savetablehistory(dbconnect,'Gl_CashReport','Gl_CashReporthistory','新增',userCode,'projectCode='+quotedstr(Trim(edt_ProjectCode.text)));
// saveGainhistory(dbconnect,Trim(edt_ProjectCode.text),userCode,0);
end
else
begin
savetablehistory(dbconnect,'Gl_CashReport','Gl_CashReporthistory','修改',userCode,'projectCode='+quotedstr(Trim(edt_ProjectCode.text)));
Executesql(AdoQry_tmp,sqltext,1);
end;
if Assigned(AdoQry) then AdoQry.Free;
dbconnect.CommitTrans;
with AdoQry_Maintain do
begin
fieldbyname('projectCode').asstring:=Trim(edt_ProjectCode.text);
fieldbyname('issum').asinteger:=cmb_issum.ItemIndex;
fieldbyname('projectName').asstring:=Trim(edt_ProjectName.text);
if Trim(edt_lineno.text)='' then
fieldbyname('plineno').asinteger:=0
else fieldbyname('plineno').asinteger:=strtoint(Trim(edt_lineno.text));
fieldbyname('Totalsum').asstring:=Trim(edt_Totalsum.text);
post;
end;
except
if dbconnect.InTransaction then
dbconnect.RollBackTrans;
if Assigned(AdoQry) then AdoQry.Free;
abort;
end;
end;
procedure TFrm_Gl_Enter_CashReport_D.SetStatus(CurrentStatus: String;
var EnableControls: String);
begin
inherited;
end;
procedure TFrm_Gl_Enter_CashReport_D.edt_linenoExit(Sender: TObject);
begin
inherited;
if Trim(edt_lineno.text)='' then exit;
integercheck(sender);
end;
procedure TFrm_Gl_Enter_CashReport_D.btn_okClick(Sender: TObject);
begin
CheckInfo;//检测信息
inherited;
end;
end.
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -