⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 ar_enter_arparam.pas

📁 一个MRPII系统源代码版本
💻 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 + -