📄 ar_enter_arparam.pas
字号:
unit Ar_Enter_ArParam;
Interface
uses
Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
Base_Dialog, Db, AdODB, StdCtrls, ExtCtrls, ComCtrls, Mask, linkedit;
Type
TFrm_Ar_Enter_ArParam = Class(TFrm_Base_Dialog)
Label1: TLabel;
cmb_CancelTypeCode: TComboBox;
Label2: TLabel;
edt_kmCode: TLinkEdit;
edt_kmName: TEdit;
procedure Edt_BuyerCtrlTypeChange(Sender: TObject);
procedure btn_okClick(Sender: TObject);
procedure FormClose(Sender: TObject; var Action: TCloseAction);
procedure FormKeyDown(Sender: TObject; var Key: Word;
Shift: TShiftState);
procedure btn_CancelClick(Sender: TObject);
procedure MEdt_AutoRunPSI1Change(Sender: TObject);
procedure edt_kmCodeKeyDown(Sender: TObject; var Key: Word;
Shift: TShiftState);
procedure edt_kmCodeButtonClick(Sender: TObject);
procedure edt_kmCodeExit(Sender: TObject);
procedure edt_kmCodeChange(Sender: TObject);
procedure cmb_CancelTypeCodeChange(Sender: TObject);
private
{ Private declarations }
FReadOnly:Boolean;
public
procedure InitForm(AdoConnection:TAdoConnection;ReadOnly:Boolean);
{ Public declarations }
end;
var
Frm_Ar_Enter_ArParam: TFrm_Ar_Enter_ArParam;
implementation
{$R *.DFM}
uses Sys_Global;
{ TFrm_Bas_Param }
procedure TFrm_Ar_Enter_ArParam.InitForm(AdoConnection: TAdoConnection;
ReadOnly: Boolean);
var I: integer;
begin
FReadOnly:=ReadOnly;
AdoQry_Tmp.Connection:=AdOConnection;
AdoQry_Tmp.Close ;
AdoQry_Tmp.SQL.clear ;
AdoQry_Tmp.SQL.Add('select * from Ar_ArParam');
AdoQry_Tmp.Open ;
With AdoQry_Tmp do
begin
if locate('ArParamCode','CancelType',[]) then
cmb_CancelTypeCode.ItemIndex:=fieldbyname('ArParamValuen').asinteger;
if locate('ArParamCode','SelltaxkmCode',[]) then
begin
Edt_KmCode.Text := fieldbyname('ArParamValueC').AsString;
Edt_KmCode.OnExit(Edt_KmCode);
end;
end;
end;
procedure TFrm_Ar_Enter_ArParam.Edt_BuyerCtrlTypeChange(Sender: TObject);
begin
inherited;
if not FReadOnly then
Btn_Ok.Enabled :=True;
end;
procedure TFrm_Ar_Enter_ArParam.btn_okClick(Sender: TObject);
var sqltext:string;
begin
inherited;
sqltext:='select * from Ar_ArParam where ArParamCode=' +quotedstr('CancelType');
Executesql(AdoQry_tmp,sqltext,0) ;
if AdoQry_tmp.RecordCount=0 then
begin
sqltext:='insert into Ar_ArParam(ArParamCode,ArParamName,ArParamValuen,ArParamValuec)'
+' Values ('+quotedstr('CancelType')+','
+quotedstr('应收帐款核销方式')+','
+inttostr(cmb_CancelTypeCode.Itemindex)+','
+quotedstr('')+')';
Executesql(AdoQry_tmp,sqltext,1);
end
else
Executesql(AdoQry_tmp,'update Ar_ArParam set ArParamValuen='+inttostr(cmb_CancelTypeCode.Itemindex)+' where ArParamCode=''CancelType''',1);
sqltext:='select * from Ar_ArParam where ArParamCode=' +quotedstr('SelltaxkmCode');
Executesql(AdoQry_tmp,sqltext,0) ;
if AdoQry_tmp.RecordCount=0 then
begin
sqltext:='insert into Ar_ArParam(ArParamCode,ArParamName,ArParamValuen,ArParamValuec)'
+' Values ('+quotedstr('SelltaxkmCode')+','
+quotedstr('销项税会计科目')+','
+'null,'
+quotedstr(Edt_KmCode.Text)+')';
Executesql(AdoQry_tmp,sqltext,1);
end
else
Executesql(AdoQry_tmp,'update Ar_ArParam '
+' set ArParamValueC='+QuotedStr(Edt_KmCode.Text)
+' where ArParamCode=''SelltaxkmCode''',1);
Close;
end;
procedure TFrm_Ar_Enter_ArParam.FormClose(Sender: TObject;
var Action: TCloseAction);
begin
inherited;
Action:=CaFree;
end;
procedure TFrm_Ar_Enter_ArParam.FormKeyDown(Sender: TObject; var Key: Word;
Shift: TShiftState);
begin
inherited;
If Key=Vk_EScApe then
Close;
end;
procedure TFrm_Ar_Enter_ArParam.btn_CancelClick(Sender: TObject);
begin
inherited;
Close;
end;
procedure TFrm_Ar_Enter_ArParam.MEdt_AutoRunPSI1Change(Sender: TObject);
begin
inherited;
if not FReadOnly then
Btn_Ok.Enabled :=True;
end;
procedure TFrm_Ar_Enter_ArParam.edt_kmCodeKeyDown(Sender: TObject;
var Key: Word; Shift: TShiftState);
begin
inherited;
if key=120 then
CommOnHint(Sender,AdoQry_Tmp,'kmName','科目名称','kmCode',
'科目代码',' Gl_AccountSubject ',' endkm=1 and kmfreeze=0 ');
end;
procedure TFrm_Ar_Enter_ArParam.edt_kmCodeButtonClick(Sender: TObject);
begin
inherited;
CommOnHint(Sender,AdoQry_Tmp,'kmName','科目名称','kmCode',
'科目代码',' Gl_AccountSubject ',' endkm=1 and kmfreeze=0 ');
end;
procedure TFrm_Ar_Enter_ArParam.edt_kmCodeExit(Sender: TObject);
begin
inherited;
if activecontrol.Name='btn_Cancel' then exit;
if Trim(Tedit(sender).text)='' then exit;
Executesql(AdoQry_tmp,'select * from Gl_AccountSubject '
+' where endkm=1 '
+' and kmfreeze=0 '
+' and kmCode='+quotedstr(Trim(Tedit(sender).text)),0) ;
if AdoQry_tmp.RecordCount=0 then
begin
DispInfo('科目代码错误!',3);
Tedit(sender).setfocus;
abort;
end;
Edt_KmName.Text := AdoQry_Tmp.fieldbyname('KmName').AsString;
end;
procedure TFrm_Ar_Enter_ArParam.edt_kmCodeChange(Sender: TObject);
begin
inherited;
if not FReadOnly then
Btn_Ok.Enabled :=True;
end;
procedure TFrm_Ar_Enter_ArParam.cmb_CancelTypeCodeChange(Sender: TObject);
begin
inherited;
if not FReadOnly then
Btn_Ok.Enabled :=True;
end;
end.
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -