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

📄 ap_paymode_d.pas

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

Interface

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

Type
  TFrm_Ap_PayMode_D = Class(TFrm_Base_Detail)
    Label1: TLabel;
    Label2: TLabel;
    Label4: TLabel;
    Edt_PayModeCode: TExtEdit;
    Edt_PayModeName: TEdit;
    Edt_PayModeRemArk: TEdit;
    Label3: TLabel;
    LEdt_PayModeKMCode: TLinkEdit;
    Edt_kmName: TEdit;
    procedure FormCreate(Sender: TObject);
    procedure Edt_PayModeCodeExit(Sender: TObject);
    procedure LEdt_PayModeKMCodeKeyDown(Sender: TObject; var Key: Word;
      Shift: TShiftState);
    procedure LEdt_PayModeKMCodeButtonClick(Sender: TObject);
    procedure LEdt_PayModeKMCodeExit(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  protected
    procedure InitControls; Override;
    procedure SaveData; Override;
  end;

var
  Frm_Ap_PayMode_D: TFrm_Ap_PayMode_D;

implementation
uses Sys_Global;
{$R *.DFM}

procedure TFrm_Ap_PayMode_D.FormCreate(Sender: TObject);
begin
  inherited;
  SetFocus_Control:=Edt_PayModeCode;
end;

procedure TFrm_Ap_PayMode_D.InitControls;
begin
  inherited;
  {if Status='Add' then
  begin
    Edt_PayModeCode.Text:='';
    Edt_PayModeName.Text:='';
    LEdt_PayModeKMCode.Text:='';
    Edt_kmName.text:='';
    Edt_PayModeRemArk.Text:='';
  end
  else
  begin}
    with AdoQry_Maintain do
    begin
      Edt_PayModeCode.Text:=fieldbyname('PayModeCode').AsString;
      Edt_PayModeName.Text:=fieldbyname('PayModeName').AsString;
      LEdt_PayModeKMCode.Text:=fieldbyname('PayModeKMCode').AsString;
      Edt_PayModeRemArk.Text:=fieldbyname('PayModeRemArk').AsString;
    end;
    LEdt_PayModeKMCodeExit(LEdt_PayModeKMCode);
  //end;
  Edt_kmName.Enabled :=False;
end;

procedure TFrm_Ap_PayMode_D.SaveData;
begin
  inherited;
  // if Trim(LEdt_PayModeKMCode.text)='' then
  //  LEdt_PayModeKMCode.text:='null';
  if(Add)then
  begin
    with AdoQry_Tmp do
    begin
      Close;
      SQL.clear;
      SQL.Add('Insert into PayMode(PayModeCode,PayModeName,PayModeKMCode,PayModeRemArk) Values('
        +''''+Edt_PayModeCode.text+''''+','''+Edt_PayModeName.Text+''','+IifString(Trim(LEdt_PayModeKMCode.text)='','null',QuotedStr(LEdt_PayModeKMCode.text))+','+
        ''''+Edt_PayModeRemArk.Text+''')');
      //SQL.Add('….');
      ExecSQL;
    end;
  end
  Else
  begin
    with AdoQry_Tmp do
    begin
      Close;
      SQL.clear;
      SQL.Add(' Update PayMode set PayModeCode='+''''+Edt_PayModeCode.text+''''+
      ',PayModeName='''+Edt_PayModeName.text+''','+
      ' PayModeKMCode='''+LEdt_PayModeKMCode.text+''','+
      ' PayModeRemArk='''+Edt_PayModeRemArk.text+''''+
      ' where PayModeCode='+''''+AdoQry_Maintain.fieldbyname('PayModeCode').asstring+'''');
      //SQL.Add('….');
      ExecSQL;
    end;
  end;
 with AdoQry_Maintain do
  begin
    fieldbyname('PayModeCode').AsString:=Edt_PayModeCode.Text;
    fieldbyname('PayModeName').AsString:=Edt_PayModeName.Text;
    fieldbyname('PayModeKMCode').AsString:=LEdt_PayModeKMCode.Text;
    fieldbyname('PayModeRemArk').asstring:=Edt_PayModeRemArk.Text;
    Post;
  end;
end;

procedure TFrm_Ap_PayMode_D.Edt_PayModeCodeExit(Sender: TObject);
begin
  inherited;
    if ActiveControl.Name='btn_Cancel' then
    exit;

  if (not BlankInStrCheck(Edt_PayModeCode.Text,'付款方式代码')) or
   (not BlankCheck(Edt_PayModeCode.text,'付款方式代码')) then
  begin
    TWinControl(Sender).SetFocus;
    abort;
  end;

  if(Add)or((not Add)and
    (TEdit(Sender).Text<>AdoQry_Maintain.fieldbyname('PayModeCode').AsString))then
  begin
    with AdoQry_Tmp do
    begin
      Close;
      SQL.clear;
      SQL.Add('Select PayModeCode From PayMode Where PayModeCode='''+TEdit(Sender).Text+'''');
      Open;
      if fieldbyname('PayModeCode').AsString<>'' then
      begin
        DispInfo('该付款方式代码已经存在,不允许增加或修改',1);
        TWinControl(Sender).SetFocus;
        Abort;
      end;
    end;
  end;

end;

procedure TFrm_Ap_PayMode_D.LEdt_PayModeKMCodeKeyDown(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_Ap_PayMode_D.LEdt_PayModeKMCodeButtonClick(Sender: TObject);
begin
  inherited;
  CommonHint(Sender,AdoQry_Tmp,'kmName','会计科目名称','KmCode',
    '会计科目代码','Gl_AccountSubject','endkm=1 and kmfreeze=0');
end;

procedure TFrm_Ap_PayMode_D.LEdt_PayModeKMCodeExit(Sender: TObject);
begin
  inherited;
  if activecontrol.Name='btn_Cancel' then
    abort;
  if Trim(LEdt_PayModeKMCode.text)<>'' then
  begin
    with AdoQry_tmp do
    begin
      Close;
      sql.clear;
      sql.text:='select KmCode,kmName from Gl_AccountSubject'+
                   ' where KmCode='''+Trim(LEdt_PayModeKMCode.text)+''''+
                   ' and endkm=1 and kmfreeze=0';
      open;
      if not eof then
      begin
        Edt_kmName.text:=fieldbyname('kmName').asstring;
      end
      else
      begin
        DispInfo('此会计科目代码不存在!请重新输入!',3);
        LEdt_PayModeKMCode.setfocus;
        abort;
      end;
    end;
  end;
end;

end.

⌨️ 快捷键说明

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