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

📄 sy130.pas

📁 一套融入了系统营销管理思想的管理软件产品
💻 PAS
字号:
unit SY130;

interface

uses
  Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
  MasterDetail, Menus, Db, DBTables, Grids, DBGrids, Buttons, ExtCtrls,
  StdCtrls, Mask, DBCtrls;

type
  TfmSY130 = class(TfmMasterDetail)
    qyMasterCreateMan: TStringField;
    qyMasterCreateDate: TStringField;
    qyMasterCreateTime: TStringField;
    qyMasterModifyMan: TStringField;
    qyMasterModifyDate: TStringField;
    qyMasterModifyTime: TStringField;
    qyDetailCompanyID: TStringField;
    qyDetailProgramID: TStringField;
    qyDetailRun: TStringField;
    qyDetailAppend: TStringField;
    qyDetailEdit: TStringField;
    qyDetailDel: TStringField;
    qyDetailReport: TStringField;
    qyDetailBrowseAll: TStringField;
    qyDetailEditAll: TStringField;
    qyMasterCompanyID: TStringField;
    Label1: TLabel;
    ED4: TDBEdit;
    edProgramID: TDBEdit;
    qyMasterUserID: TStringField;
    qyMasterUserName: TStringField;
    Label3: TLabel;
    qyDetailProgramName: TStringField;
    qyDetailUserID: TStringField;
    procedure qyMasterBeforeDelete(DataSet: TDataSet);
    procedure qyDetailBeforeOpen(DataSet: TDataSet);
    procedure qyDetailNewRecord(DataSet: TDataSet);
    procedure qyDetailBeforePost(DataSet: TDataSet);
    procedure gdDetailEditButtonClick(Sender: TObject);
    procedure dsMasterStateChange(Sender: TObject);
    procedure qyDetailProgramIDValidate(Sender: TField);
    procedure qyMasterBeforeInsert(DataSet: TDataSet);
    procedure qyMasterAfterScroll(DataSet: TDataSet);
  private
    { Private declarations }
  public
    { Public declarations }
    procedure OpenDB; override;
  end;

var
  fmSY130: TfmSY130;

implementation

uses Main, DataModule, PublicFunction, CheckData, DataSearch, BaseSearch,
  GetData;


{$R *.DFM}

{ TfmSY130 }

procedure TfmSY130.OpenDB;
begin
  qyMaster.Close;
  OrderBySQL := 'UserID';
  qyMaster.SQL.Text := SQLText;
  qyMaster.Open;

end;

procedure TfmSY130.qyMasterBeforeDelete(DataSet: TDataSet);
begin
  Abort;
  inherited;
end;

procedure TfmSY130.qyDetailBeforeOpen(DataSet: TDataSet);
begin
  inherited;

  qyDetail.ParamByName('UserID').AsString := qyMaster.FieldByName('UserID').AsString;
end;

procedure TfmSY130.qyDetailNewRecord(DataSet: TDataSet);
begin
  inherited;

  with qyDetail do
  begin
    FieldByName('ProgramID').AsString := Space(10);
    FieldByName('UserID').AsString := qyMaster.FieldByName('UserID').AsString;
    FieldByName('Run').AsString := 'Y';
    FieldByName('Append').AsString := 'Y';
    FieldByName('Edit').AsString := 'Y';
    FieldByName('Del').AsString := 'Y';
    FieldByName('Report').AsString := 'Y';
    FieldByName('BrowseAll').AsString := 'Y';
    FieldByName('EditAll').AsString := 'Y';
  end;
end;

procedure TfmSY130.qyDetailBeforePost(DataSet: TDataSet);
begin
  inherited;

  if qyDetail.State = dsInsert then
  begin
    if not CheckProgramID(qyDetail.FieldByName('ProgramID').AsString) then
    begin
      gdDetail.SelectedField := qyDetailProgramID;
      Abort;
    end;
    with qyTemp do
    begin
      Close;
      SQL.Clear;
      SQL.Add('SELECT ProgramID ');
      SQL.Add('FROM UserAuthority ');
      SQL.Add('WHERE CompanyID = :CompanyID AND ProgramID = :ProgramID ');
      SQL.Add('AND UserID = :UserID ');
      ParamByName('CompanyID').AsString := sCompanyID;
      ParamByName('ProgramID').AsString := qyDetail.FieldByName('ProgramID').AsString;
      ParamByName('UserID').AsString := qyDetail.FieldByName('UserID').AsString;
      Open;
    end;
    if qyTemp.FieldByName('ProgramID').AsString <> '' then
    begin
      MyWarning('程序编号:[' + qyDetail.FieldByName('ProgramID').AsString +
                ']的权限设定数据重复,请重新输入。');
      gdDetail.SelectedField := qyDetailProgramID;
      Abort;
    end;
  end;
  if AtStr(qyDetail.FieldByName('Run').AsString, 'YN') = 0 then
    qyDetail.FieldByName('Run').AsString := 'N';
  if AtStr(qyDetail.FieldByName('Append').AsString, 'YN') = 0 then
    qyDetail.FieldByName('Append').AsString := 'N';
  if AtStr(qyDetail.FieldByName('Edit').AsString, 'YN') = 0 then
    qyDetail.FieldByName('Edit').AsString := 'N';
  if AtStr(qyDetail.FieldByName('Del').AsString, 'YN') = 0 then
    qyDetail.FieldByName('Del').AsString := 'N';
  if AtStr(qyDetail.FieldByName('Report').AsString, 'YN') = 0 then
    qyDetail.FieldByName('Report').AsString := 'N';
  if AtStr(qyDetail.FieldByName('BrowseAll').AsString, 'YN') = 0 then
    qyDetail.FieldByName('BrowseAll').AsString := 'N';
  if AtStr(qyDetail.FieldByName('EditAll').AsString, 'YN') = 0 then
    qyDetail.FieldByName('EditAll').AsString := 'N';
  if qyDetail.FieldByName('ReportOrModify').AsString = '1' then
  begin
    qyDetail.FieldByName('Append').AsString := 'N';
    qyDetail.FieldByName('Edit').AsString := 'N';
    qyDetail.FieldByName('Del').AsString := 'N';
    qyDetail.FieldByName('BrowseAll').AsString := 'N';
    qyDetail.FieldByName('EditAll').AsString := 'N';
  end;
end;

procedure TfmSY130.gdDetailEditButtonClick(Sender: TObject);
begin
  inherited;
  if (gdDetail.SelectedField.FieldName = 'ProgramID') and
     (qyDetail.State in [dsInsert, dsEdit]) then
    qyDetail.FieldByName('ProgramID').AsString := Searchdata(edProgramID, DM.qyProgram);
end;

procedure TfmSY130.dsMasterStateChange(Sender: TObject);
begin
  inherited;
  sbAppend.Enabled := False;
  sbDel.Enabled := False;
end;

procedure TfmSY130.qyDetailProgramIDValidate(Sender: TField);
begin
  inherited;
  qyDetail.FieldByName('ProgramName').AsString :=
           GetProgramName(qyDetail.FieldByName('ProgramID').AsString);
end;

procedure TfmSY130.qyMasterBeforeInsert(DataSet: TDataSet);
begin
  Abort;
  inherited;
end;

procedure TfmSY130.qyMasterAfterScroll(DataSet: TDataSet);
begin
  inherited;
  sbAppend.Enabled := False;
  sbDel.Enabled := False;
end;

end.

⌨️ 快捷键说明

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