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

📄 sys500_01.pas.svn-base

📁 这是一个功能齐全的,代码完整的ERP企业信息管理系统,现在上传和大家分享
💻 SVN-BASE
📖 第 1 页 / 共 3 页
字号:
  if tsItem.TabVisible then
  begin
    qryInv120.DisableControls;
    qryInv120.Close;
    qryInv120.Parameters[0].Value:=qrySys500AS500A_001.Value;
    qryInv120.Open;
    qryInv120.EnableControls;
    dbgItem.Enabled:=not qryInv120.IsEmpty;
  end;
  //客户权限
  if tsCust.TabVisible then
  begin
    qryOrd110.DisableControls;
    qryOrd110.Close;
    qryOrd110.Parameters[0].Value:=qrySys500AS500A_001.Value;
    qryOrd110.Open;
    qryOrd110.EnableControls;
    dbgCust.Enabled:=not qryOrd110.IsEmpty;
  end;
  //科目权限
  if tsAccount.TabVisible then
  begin
    qryGld150.DisableControls;
    qryGld150.Close;
    qryGld150.Parameters[0].Value:=qrySys500AS500A_001.Value;
    qryGld150.Open;
    qryGld150.EnableControls;
    dbgAccount.Enabled:=not qryGld150.IsEmpty;
  end;
end;

procedure TSys500_01Form.qrySys500ANewRecord(DataSet: TDataSet);
begin
  qrySys500A.FieldByName('S500A_004').Value:=False;
  qrySys500A.FieldByName('S500A_005').Value:=True;
  qrySys500A.FieldByName('S500A_006').Value:=False;
end;

procedure TSys500_01Form.dbgProgramClick(Sender: TObject);
begin
  if dbgProgram.FocusedField.FieldName='S500D_007' then Exit;
  if qrySys500B.IsEmpty then Exit;
  if qrySys500B.State in [dsInsert,dsEdit] then qrySys500B.Post;
  SetRights;
end;

procedure TSys500_01Form.dbgProgramKeyUp(Sender: TObject; var Key: Word;
  Shift: TShiftState);
var
  AFieldName:string;
begin
//按空格鍵
  if qrySys500B.IsEmpty then Exit;
  AFieldName:=dbgProgram.FocusedField.FieldName;
  if AFieldName='S500D_007' then Exit;
  if Key=VK_Space then
  begin
    qrySys500B.Edit;
    qrySys500B.FieldByName(AFieldName).Value:=not qrySys500B.FieldByName(AFieldName).Value;
    qrySys500B.Post;
    SetRights;
  end;
  dbgProgram.SetFocus;
end;

procedure TSys500_01Form.ActFirstExecute(Sender: TObject);
begin
//最前
  if qrySys500A.IsEmpty then Exit;
  qrySys500A.First;
  ActFirst.Enabled:=False;
  ActPrior.Enabled:=False;
  ActNext.Enabled:=True;
  ActLast.Enabled:=True;
end;

procedure TSys500_01Form.ActPriorExecute(Sender: TObject);
begin
//上移
  if qrySys500A.IsEmpty then Exit;
  qrySys500A.Prior;
  ActNext.Enabled:=not qrySys500A.Eof;
  ActLast.Enabled:=not qrySys500A.Eof;
  ActFirst.Enabled:=not qrySys500A.Bof;
  ActPrior.Enabled:=not qrySys500A.Bof;
end;

procedure TSys500_01Form.ActNextExecute(Sender: TObject);
begin
//下移
  if qrySys500A.IsEmpty then Exit;
  qrySys500A.Next;
  ActNext.Enabled:=not qrySys500A.Eof;
  ActLast.Enabled:=not qrySys500A.Eof;
  ActFirst.Enabled:=not qrySys500A.Bof;
  ActPrior.Enabled:=not qrySys500A.Bof;
end;

procedure TSys500_01Form.ActLastExecute(Sender: TObject);
begin
//最后
  if qrySys500A.IsEmpty then Exit;
  qrySys500A.Last;
  ActNext.Enabled:=False;
  ActLast.Enabled:=False;
  ActFirst.Enabled:=True;
  ActPrior.Enabled:=True;
end;

procedure TSys500_01Form.ActInsertExecute(Sender: TObject);
begin
//新增
  Sys500_02Form:=TSys500_02Form.Create(Application);
  Sys500_02Form.OpenData(0,qrySys500A);
  Sys500_02Form.ShowModal;
  ActRefresh.Execute;
end;

procedure TSys500_01Form.ActUpdateExecute(Sender: TObject);
begin
//修改
  if qrySys500A.IsEmpty then
  begin
    ShowMsg('UMS10000002');  //表记录为空,操作无效
    Abort;
  end;
  Sys500_02Form:=TSys500_02Form.Create(Application);
  Sys500_02Form.OpenData(qrySys500AS500A_001.AsInteger,qrySys500A);
  Sys500_02Form.ShowModal;
  ActRefresh.Execute;
end;

procedure TSys500_01Form.ActDeleteExecute(Sender: TObject);
begin
//删除
  if qrySys500A.IsEmpty then
  begin
    ShowMsg('UMS10000002');  //表记录为空,操作无效
    Abort;
  end;

  if IsExists('select 1 from SYS500E where S500E_001='+qrySys500AS500A_001.AsString) then
  begin
    ShowMsg('UMS10000034');  //不能删除在线用户
    Abort;
  end;

  if qrySys500A.FieldByName('S500A_006').AsBoolean then
  begin
    ShowMsg('UMS10000035');  //不能删除超级用户');
    Abort;
  end;

  if ShowDialog('UMS10000008')=IDNO then Abort;  //确定要删除此记录吗?
  try
    SYSDM.ADOC.BeginTrans;
    //删除权限表
    SYSDM.qryQuery.Close;
    SYSDM.qryQuery.SQL.Clear;
    SYSDM.qryQuery.SQL.Add('delete from SYS500B where S500B_001='+qrySys500AS500A_001.AsString);
    SYSDM.qryQuery.ExecSQL;
    //帐户&部门&仓库权限
    SYSDM.qryQuery.Close;
    SYSDM.qryQuery.SQL.Clear;
    SYSDM.qryQuery.SQL.Add('delete from SYS500C where S500C_001='+qrySys500AS500A_001.AsString);
    SYSDM.qryQuery.ExecSQL;
    //删上机日志
    SYSDM.qryQuery.Close;
    SYSDM.qryQuery.SQL.Clear;
    SYSDM.qryQuery.SQL.Add('delete from SYS300 where S300_001='+qrySys500AS500A_001.AsString);
    SYSDM.qryQuery.ExecSQL;
    qrySys500A.Delete;
    SYSDM.ADOC.CommitTrans;
    ActRefresh.Execute;
  except
    SYSDM.ADOC.RollbackTrans;
    ShowMsg('UMS10000116');  //删除记录失败
    Abort;
  end;
end;

procedure TSys500_01Form.ActRefreshExecute(Sender: TObject);
begin
//刷新
  qrySys500A.Close;
  qrySys500A.Open;
end;

procedure TSys500_01Form.ActLocateExecute(Sender: TObject);
begin
//查找
  if qrySys500A.IsEmpty then
  begin
    ShowMsg('UMS10000002');  //表记录为空,操作无效
    Abort;
  end;
  LocateDialog(dsSys500A);
end;

procedure TSys500_01Form.ActSearchExecute(Sender: TObject);
begin
//查询
  FilterDialog(dsSys500A);
end;

procedure TSys500_01Form.ActExitExecute(Sender: TObject);
begin
//退出
  Close;
end;

procedure TSys500_01Form.TreeView1GetImageIndex(Sender: TObject;
  Node: TTreeNode);
begin
  Node.ImageIndex:=1;
end;

procedure TSys500_01Form.qrySys500DCalcFields(DataSet: TDataSet);
begin
  if SYSDM.qryLangs.Locate('LangID;Type',VarArrayOf([qrySys500DS500D_001.Value,3]),[]) then
    qrySys500DS500D_007.Value:=SYSDM.qryLangs.FieldByName('Name').Value;
end;

procedure TSys500_01Form.qrySys500BCalcFields(DataSet: TDataSet);
begin
  if SYSDM.qryLangs.Locate('LangID;Type',VarArrayOf([qrySys500BS500D_001.Value,3]),[]) then
    qrySys500BS500D_007.Value:=SYSDM.qryLangs.FieldByName('Name').Value;
end;

procedure TSys500_01Form.dbgCshClick(Sender: TObject);
var
  ADataSet:TDataSet;
  AFieldName:string;
begin
  ADataSet:=TdxDBGrid(Sender).DataSource.DataSet;
  if ADataSet.IsEmpty then Exit;
  AFieldName:=TdxDBGrid(Sender).FocusedField.FieldName;
  if (AFieldName='S500C_004') and (ADataSet.State in [dsInsert,dsEdit]) then ADataSet.Post;
end;

procedure TSys500_01Form.dbgCshKeyUp(Sender: TObject; var Key: Word;
  Shift: TShiftState);
var
  ADataSet:TDataSet;
  AFieldName:string;
begin
//按空格鍵
  ADataSet:=TdxDBGrid(Sender).DataSource.DataSet;
  if ADataSet.IsEmpty then Exit;
  AFieldName:=TdxDBGrid(Sender).FocusedField.FieldName;
  if (AFieldName='S500C_004') and (Key=VK_Space) then
  begin
    ADataSet.Edit;
    ADataSet.FieldByName(AFieldName).Value:=not ADataSet.FieldByName(AFieldName).Value;
    ADataSet.Post;
  end;
end;

procedure TSys500_01Form.ActPrintExecute(Sender: TObject);
begin
//打印
  SelectReport(qrySys500A,AProgramID,AReportName,ReportGetValue);
end;

procedure TSys500_01Form.ReportGetValue(const ParName: String;
  var ParValue: Variant);
begin
  if ParName='USENM' then ParValue:=AUserName
  else if ParName='PRNDT' then ParValue:=GetDBString('COM00006006')  //列印日期
  else if ParName='PRNNM' then ParValue:=GetDBString('COM00006007')  //列印人員
  else if ParName='REPNM' then ParValue:=AReportTitle

  else if ParName='S500A_002' then ParValue:=qrySys500AS500A_002.DisplayLabel  //用户名称
end;

procedure TSys500_01Form.ActCopyExecute(Sender: TObject);
begin
//复制
  if qrySys500A.IsEmpty then
  begin
    ShowMsg('UMS10000002');  //表记录为空,操作无效
    Abort;
  end;
end;

initialization
  RegisterClass(TSys500_01Form);

finalization
  UnRegisterClass(TSys500_01Form);

end.

⌨️ 快捷键说明

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