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

📄 inv_billtype2_d.pas

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

Interface

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

Type
  TFrm_Inv_BillType2_D = Class(TFrm_Base_Detail)
    Edt_BillType2Code: TEdit;
    Edt_BillType2Name: TEdit;
    Edt_BillType2remArk: TEdit;
    Label1: TLabel;
    Label2: TLabel;
    Label3: TLabel;
    Label4: TLabel;
    Cmbbx_io2: TComboBox;
    Label5: TLabel;
    cmbx_isinuse: TComboBox;
    Label6: TLabel;
    LEdt_PayModeKMCode: TLinkEdit;
    Edt_kmName: TEdit;
    procedure FormCreate(Sender: TObject);
    procedure Edt_BillType2CodeExit(Sender: TObject);
    procedure Cmbbx_io2Exit(Sender: TObject);
    procedure LEdt_PayModeKMCodeKeyDown(Sender: TObject; var Key: Word;
      Shift: TShiftState);
    procedure LEdt_PayModeKMCodeButtonClick(Sender: TObject);
    procedure LEdt_PayModeKMCodeExit(Sender: TObject);
  private
    procedure InitControls; Override;
    procedure SetStatus(CurrentStatus:String;var EnableControls:String);Override;
    procedure SaveData; Override;
    { Private declarations }
  public
    { Public declarations }
  end;

var
  Frm_Inv_BillType2_D: TFrm_Inv_BillType2_D;

implementation

uses Sys_Global;
{$R *.DFM}

procedure TFrm_Inv_BillType2_D.InitControls;
begin
  inherited;
  with AdoQry_Maintain do
  begin
    Edt_BillType2Code.Text:=fieldbyname('BillType2Code').AsString;
    Edt_BillType2Name.Text:=fieldbyname('BillType2Name').AsString;
    Cmbbx_io2.ItemIndex:=fieldbyname('io2').Asinteger;
    //Cmbx_ChangeAp.ItemIndex:=fieldbyname('ChangeAp').Asinteger;
    LEdt_PayModeKMCode.text:=fieldbyname('kmCode').asstring;
    Edt_BillType2remArk.Text:=fieldbyname('BillType2remArk').AsString;
    cmbx_isinuse.ItemIndex:=fieldbyname('isinuse').AsInteger;
  end;
  if Trim(LEdt_PayModeKMCode.text)='' then
  begin
    Edt_kmName.text:='';
    exit;
  end;
  LEdt_PayModeKMCode.OnExit (LEdt_PayModeKMCode);
  {if Status='Add' then
    SetFocus_Control:=Edt_BillType2Code;
  if Status='Edit' then
    SetFocus_Control:=Edt_BillType2Name;
  LEdt_PayModeKMCode.OnExit (LEdt_PayModeKMCode);
  Edt_kmName.Enabled:=False;
  if status='Edit' then
  begin
    Edt_BillType2Code.ReadOnly :=True;
    //Edt_BillType2Code.enabled :=False;
    Edt_BillType2Name.SetFocus ;
  end
  else
  begin
    if Edt_BillType2Code.ReadOnly  then
      Edt_BillType2Code.ReadOnly :=False;
    Edt_BillType2Code.SetFocus ;
  end;}
end;

procedure TFrm_Inv_BillType2_D.SaveData;
begin
  Inherited;
  if (Add) then
  begin
    with AdoQry_Tmp do
    begin
      Close;
      SQL.clear;
      sql.Add('Insert BillType2(BillType2Code,'+
                              'BillType2Name,'+
                              'io2,'+
                              'isinuse,'+
                              //'ChangeAp,'+
                              'KMCode,'+
                              'BillType2remArk) '+
                      'ValueS ('''+Edt_BillType2Code.text+''','+
                              ''''+Edt_BillType2Name.text+''','+
                              inttostr(cmbbx_io2.Itemindex)+','+
                              IntToStr(cmbx_isinuse.ItemIndex)+','+
                              //inttostr(cmbx_ChangeAp.Itemindex)+','+
                              IifString(Trim(LEdt_PayModeKMCode.text)='','null',
                              QuotedStr(LEdt_PayModeKMCode.text))+','+
                              ''''+Edt_BillType2remArk.text+''')');
    ExecSQL;
    end
  end
  else
  begin
    with AdoQry_Tmp do
    begin
      Close;
      SQL.clear;
      sql.Add('update BillType2 set '+
                              'BillType2Code='''+Edt_BillType2Code.text+''','+
                              'BillType2Name='''+Edt_BillType2Name.text+''','+
                              'isinuse='+inttostr(cmbx_isinuse.ItemIndex)+','+
                              'io2='+inttostr(cmbbx_io2.Itemindex)+','+
                              //'ChangeAp='+inttostr(cmbx_ChangeAp.Itemindex)+','+
                              'KMCode='+IifString(Trim(LEdt_PayModeKMCode.text)='','null',QuotedStr(LEdt_PayModeKMCode.text))+ ','+
                              'BillType2remArk='''+Edt_BillType2remArk.text+''''+
                  ' where BillType2Code='''+AdoQry_Maintain.fieldbyname('BillType2Code').asstring+'''');
      ExecSQL;
    end
  end;
  //给AdoQry_Item各字段赋值
  with AdoQry_Maintain do
  begin
    fieldbyname('BillType2Code').asstring:=Edt_BillType2Code.text;
    fieldbyname('BillType2Name').asstring:=Edt_BillType2Name.text;
    fieldbyname('io2').asinteger:=cmbbx_io2.Itemindex;
    // fieldbyname('ChangeAp').asinteger:=cmbx_ChangeAp.Itemindex;
    fieldbyname('kmCode').asstring:=LEdt_PayModeKMCode.text;
    fieldbyname('BillType2remArk').asstring:=Edt_BillType2remArk.text;
    fieldbyname('isinuse').AsInteger:=cmbx_isinuse.ItemIndex;
    Post;
  end;
end;

procedure TFrm_Inv_BillType2_D.FormCreate(Sender: TObject);
begin
  inherited;
  //SetFocus_Control:=Edt_BillType2Code;

end;

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

  if not blankcheck(edt_BillType2Code.text,'其它出入库代码') then
  begin
    TWinControl(Sender).SetFocus;
    Abort;
  end;

  if not BlankInStrCheck(edt_BillType2Code.text,'其它出入库代码') then
  begin
    TWinControl(Sender).SetFocus;
    Abort;
  end;

  if(Add)or((not Add)and
    (TEdit(Sender).Text<>AdoQry_Maintain.fieldbyname('BillType2Code').AsString))then
  with AdoQry_Tmp do
  begin
    Close;
    SQL.clear;
    SQL.Add('Select BillType2Code From BillType2 Where BillType2Code='''+TEdit(Sender).Text+'''');
    Open;
    if not eof then
    begin
      DispInfo(' 该其它出入库代码已经存在,不允许增加或修改',1);
      TWinControl(Sender).SetFocus;
      Abort;
    end;
  end;
end;

procedure TFrm_Inv_BillType2_D.Cmbbx_io2Exit(Sender: TObject);
begin
  inherited;
  if ActiveControl.Name='btn_Cancel' then
    exit;
//  if cmbbx_io2.Itemindex=1 then
//  begin
//    cmbx_ChangeAp.Itemindex:=0;
//  end;
end;

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

procedure TFrm_Inv_BillType2_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;

procedure TFrm_Inv_BillType2_D.SetStatus(CurrentStatus: String;
  var EnableControls: String);
begin
  inherited;
  if CurrentStatus='Edit' then
    EnableControls:='Edt_BillType2Name,Cmbbx_io2,cmbx_isinuse,LEdt_PayModeKMCode,Edt_BillType2remArk,'
  else if CurrentStatus='Add' then
    EnableControls:='Edt_BillType2Code,Edt_BillType2Name,Cmbbx_io2,cmbx_isinuse,LEdt_PayModeKMCode,Edt_BillType2remArk,';
  if Status='Add' then
    SetFocus_Control:=Edt_BillType2Code
  else
    SetFocus_Control:=Edt_BillType2Name;
end;

end.

⌨️ 快捷键说明

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