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

📄 gl_enter_moreaccountbook_d.pas

📁 一个MRPII系统源代码版本
💻 PAS
字号:
unit Gl_Enter_MoreAccountBook_D;

Interface

uses
  Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
  Base_Entry_Detail, Db, AdODB, ExtCtrls, StdCtrls, linkedit;

Type
  TFrm_Gl_Enter_MoreAccountBook_D = Class(TFrm_Base_Entry_Detail)
    Label1: TLabel;
    Edt_KmCode: TLinkEdit;
    Edt_KmName: TEdit;
    Label2: TLabel;
    cmb_Dir: TComboBox;
    procedure Edt_KmCodeKeyDown(Sender: TObject; var Key: Word;
      Shift: TShiftState);
    procedure Edt_KmCodeButtonClick(Sender: TObject);
    procedure Edt_KmCodeExit(Sender: TObject);
  private
    { Private declarations }
  public
    procedure InitControls; Override;
    procedure SaveBodyData; Override;
    procedure SetStatus(CurrentStatus:String;var EnableControls:String);Override;
    { Public declarations }
  end;

var
  Frm_Gl_Enter_MoreAccountBook_D: TFrm_Gl_Enter_MoreAccountBook_D;

implementation

uses Gl_Enter_MoreAccountBook, Sys_Global;

{$R *.DFM}

{ TFrm_Gl_Enter_ForeignCurrencyRate_D }

procedure TFrm_Gl_Enter_MoreAccountBook_D.InitControls;
begin
  Inherited;
  with AdoQry_Body do
  begin
    If (Status='Add') then
    begin
      Edt_KmCode.Enabled := True;
      Edt_KmCode.Text := '';
      Edt_KmName.Text:='';
      cmb_Dir.ItemIndex:=0;
    end
    else
    begin
      Edt_KmCode.Enabled := False;
      Edt_KmCode.Text:=fieldbyname('KmCode').AsString;
      Edt_KmName.Text:=fieldbyname('KmName').AsString;
      cmb_Dir.ItemIndex:=fieldbyname('Balancedirection').asinteger-1;
      cmb_Dir.Enabled:=True;
    end;
  end;
  if Edt_KmCode.CanFocus then
    Edt_KmCode.SetFocus;
end;

procedure TFrm_Gl_Enter_MoreAccountBook_D.SaveBodyData;
begin
  inherited;
  if status='Add' then 
   begin
     AdoQry_Body.First;
     while not AdoQry_Body.Eof do
      begin
       if AdoQry_Body.fieldbyname('kmCode').asstring=Trim(edt_kmCode.text) then
        begin
         DispInfo('科目代码不能重复!',3);
         abort;
        end;
       AdoQry_Body.Next; 
      end;
   end;
  If Status='Add' Then
    AdoQry_Body.Append
  Else
  AdoQry_Body.Edit;
  with AdoQry_Body do
  begin
    fieldbyname('KmCode').AsString := Trim(Edt_KmCode.Text);
    fieldbyname('KmName').AsString := Trim(Edt_KmName.Text);
    fieldbyname('Balancedirection').asinteger:=cmb_Dir.ItemIndex+1;
    Post;
  end;

end;

procedure TFrm_Gl_Enter_MoreAccountBook_D.SetStatus(
  CurrentStatus: String; var EnableControls: String);
begin
  inherited;
  if(CurrentStatus='Add')then
    EnableControls := 'Edt_KmCode,cmb_Dir,'
  else
    EnableControls := 'cmb_Dir,';
end;

procedure TFrm_Gl_Enter_MoreAccountBook_D.Edt_KmCodeKeyDown(Sender: TObject;
  var Key: Word; Shift: TShiftState);
begin
  inherited;
   If key=120 Then
  CommOnHint(Sender,AdoQry_Tmp,'KmName','科目名称','KmCode',
             '科目代码',' Gl_AccountSubject ');
end;

procedure TFrm_Gl_Enter_MoreAccountBook_D.Edt_KmCodeButtonClick(
  Sender: TObject);
begin
  inherited;
  CommOnHint(Sender,AdoQry_Tmp,'KmName','科目名称','KmCode',
             '科目代码',' Gl_AccountSubject ');
end;

procedure TFrm_Gl_Enter_MoreAccountBook_D.Edt_KmCodeExit(Sender: TObject);
begin
  inherited;
  if Activecontrol.Name =  'btn_ok' then
  begin
    AdoQry_Tmp.Close;
    AdoQry_Tmp.SQL.clear;
    AdoQry_Tmp.SQL.text := 'Select KmName from Gl_AccountSubject Where KmCode='''+Edt_KmCode.Text +'''';
    AdoQry_Tmp.Open;
    if AdoQry_Tmp.Eof then
    begin
      DispInfo('科目代码输入错误!',1);
      Edt_KmCode.SetFocus;
      Abort;
    end
    else
      Edt_KmName.Text := AdoQry_Tmp.fieldbyname('KmName').AsString;
  end;
end;

end.

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -