📄 gl_enter_firstsubjectbalance_d.pas
字号:
unit Gl_Enter_FirstSubjectBalance_D;
Interface
uses
Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
Base_Detail, Db, AdODB, ExtCtrls, StdCtrls;
Type
TFrm_Gl_Enter_FirstSubjectBalance_D = Class(TFrm_Base_Detail)
Label1: TLabel;
Label2: TLabel;
edt_kmName: TEdit;
edt_kmCode: TEdit;
Label3: TLabel;
edt_Debit: TEdit;
edt_Credit: TEdit;
Label4: TLabel;
edt_FirstBalance: TEdit;
Label5: TLabel;
edt_AmountBalance: TEdit;
Label6: TLabel;
cmb_Balancedir: TComboBox;
Label7: TLabel;
procedure btn_okClick(Sender: TObject);
private
FirstBalance:double;
{ Private declarations }
public
procedure InitControls; Override;
procedure SaveData;Override;
procedure SetStatus(CurrentStatus:String;var EnableControls:String); Override;
{ Public declarations }
end;
var
Frm_Gl_Enter_FirstSubjectBalance_D: TFrm_Gl_Enter_FirstSubjectBalance_D;
stArtYear,stArtMonth:integer;
implementation
uses Sys_Global;
{$R *.DFM}
procedure TFrm_Gl_Enter_FirstSubjectBalance_D.InitControls;
begin
inherited;
setfocus_Control:=edt_Debit;
case AdoQry_Maintain.fieldbyname('Amountcalculate').asinteger of
1 : edt_AmountBalance.Enabled:=True;
0 : edt_AmountBalance.Enabled:=False;
end;
with AdoQry_Maintain do
begin
edt_kmCode.Text:=fieldbyname('kmCode').asstring;
edt_kmName.Text:=Trim(fieldbyname('kmName').asstring);
edt_Debit.Text:=floattostr(fieldbyname('FirstdebitBalance').asfloat);
edt_Credit.Text:=floattostr(fieldbyname('FirstcreditBalance').asfloat);
edt_FirstBalance.Text:=floattostr(fieldbyname('FirstBalance').asfloat);
edt_AmountBalance.Text:=floattostr(fieldbyname('FirstAmountBalance').asfloat);
end;
cmb_Balancedir.ItemIndex:=AdoQry_Maintain.fieldbyname('Balancedirection').asinteger-1;
Executesql(AdoQry_tmp,'select * from Gl_AccountParam',0) ;
stArtYear:=AdoQry_tmp.fieldbyname('AccountuseYear').asinteger;
stArtMonth:=AdoQry_tmp.fieldbyname('AccountuseMonth').asinteger;
edt_Debit.Enabled:=iifValue(stArtMonth>1,True,False);
edt_Credit.Enabled:=iifValue(stArtMonth>1,True,False);
end;
procedure TFrm_Gl_Enter_FirstSubjectBalance_D.SaveData;
var sqltext:string;
begin
inherited;
try
dbconnect.beginTrans;
Executesql(AdoQry_tmp,'select * from Gl_AccountSubjectBalance where kmid='+inttostr(AdoQry_Maintain.fieldbyname('kmid').asinteger),0);
if AdoQry_tmp.RecordCount=0 then
begin
sqltext:='insert into Gl_AccountSubjectBalance(kmid,debitBalance,creditBalance,FirstBalance,Balancedirection,'+iifstring(stArtMonth>=1,'FirstAmountBalance','AmountBalance)')
+' Values('+inttostr(AdoQry_Maintain.fieldbyname('kmid').asinteger)+','
+ Trim(edt_Debit.text)+','
+ Trim(edt_Credit.text)+','
+ Trim(edt_FirstBalance.text)+','
+ inttostr(cmb_Balancedir.Itemindex+1)+','
+ iifstring(AdoQry_Maintain.fieldbyname('Amountcalculate').asinteger=1,Trim(edt_AmountBalance.text),'0')
+')';
Executesql(AdoQry_tmp,sqltext,1);
end
else
begin
sqltext:='update Gl_AccountSubjectBalance'
+' set debitBalance='+Trim(edt_Debit.text) +','
+' creditBalance='+Trim(edt_Credit.text)+','
+' FirstBalance='+Trim(edt_FirstBalance.text)+','
+' Balancedirection='+inttostr(cmb_Balancedir.Itemindex+1)+','
+iifstring(stArtMonth>=1,'FirstAmountBalance=',' AmountBalance=')+iifstring(AdoQry_Maintain.fieldbyname('Amountcalculate').asinteger=1,Trim(edt_AmountBalance.text),'0')
+' where kmid='+inttostr(AdoQry_Maintain.fieldbyname('kmid').asinteger);
Executesql(AdoQry_tmp,sqltext,1) ;
end;
sqltext:='update #FirstBalance '
+' set FirstdebitBalance='+Trim(edt_Debit.text) +','
+' FirstcreditBalance='+Trim(edt_Credit.text)+','
+' FirstBalance='+Trim(edt_FirstBalance.text)+','
+' Balancedirection='+inttostr(cmb_Balancedir.Itemindex+1)+','
+' FirstAmountBalance='+iifstring(AdoQry_Maintain.fieldbyname('Amountcalculate').asinteger=1,Trim(edt_AmountBalance.text),'0')
+' where kmid='+inttostr(AdoQry_Maintain.fieldbyname('kmid').asinteger);
Executesql(AdoQry_tmp,sqltext,1) ;
dbconnect.CommitTrans;
except
if dbconnect.InTransaction then dbconnect.RollBackTrans;
abort;
end;
AdoQry_Maintain.fieldbyname('FirstdebitBalance').asfloat:=strtofloat(Trim(edt_Debit.text));
AdoQry_Maintain.fieldbyname('FirstcreditBalance').asfloat:=strtofloat(Trim(edt_Credit.text));
AdoQry_Maintain.fieldbyname('FirstAmountBalance').asfloat:=strtofloat(Trim(edt_AmountBalance.text));
AdoQry_Maintain.fieldbyname('FirstBalance').asfloat:=strtofloat(Trim(edt_FirstBalance.text));
AdoQry_Maintain.fieldbyname('Balancedirection').asinteger:=cmb_Balancedir.Itemindex+1;
end;
procedure TFrm_Gl_Enter_FirstSubjectBalance_D.SetStatus(CurrentStatus:String;var EnableControls:String);
begin
inherited;
end;
procedure TFrm_Gl_Enter_FirstSubjectBalance_D.btn_okClick(Sender: TObject);
begin
{case AdoQry_Maintain.fieldbyname('kmproperty').asinteger of
1 : FirstBalance:=strtofloat(Trim(edt_Debit.text))-strtofloat(Trim(edt_Credit.text));
0 : FirstBalance:=strtofloat(Trim(edt_Credit.text))-strtofloat(Trim(edt_Debit.text));
end;
edt_FirstBalance.Text:=floattostr(FirstBalance) ; }
inherited;
end;
end.
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -