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

📄 bas200_13.pas.svn-base

📁 这是一个功能齐全的,代码完整的ERP企业信息管理系统,现在上传和大家分享
💻 SVN-BASE
📖 第 1 页 / 共 2 页
字号:
//新增
  try
    Screen.Cursor:=crHourGlass;
    AMode:='ADD';
    ADate:=GetServerDate;
    edtCreateDate.Text:=FormatDateTime('yyyy-mm-dd hh:mm:ss',ADate);
    edtCreateBy.Text:=AUserName;
    edtUpdateDate.Text:=FormatDateTime('yyyy-mm-dd hh:mm:ss',ADate);
    edtUpdateBy.Text:=AUserName;
    InsertEvent;
    SetButtonState(True);
    if (Visible) and (edtCode.Enabled) then edtCode.SetFocus;
  finally
    Screen.Cursor:=crDefault;
  end;
end;

procedure TBas200_13Form.ActUpdateExecute(Sender: TObject);
begin
  inherited;
//修改
  if ADOQuery1.IsEmpty then
  begin
    ShowMsg('UMS10000002');  //表记录为空,操作无效
    Abort;
  end;
  try
    Screen.Cursor:=crHourGlass;
    AMode:='UPD';
    UpdateEvent;
    SetButtonState(True);
    if (Visible) and (edtCode.Enabled) then edtCode.SetFocus;
  finally
    Screen.Cursor:=crDefault;
  end;
end;

procedure TBas200_13Form.ActDeleteExecute(Sender: TObject);
begin
  inherited;
//删除
  if ADOQuery1.IsEmpty then
  begin
    ShowMsg('UMS10000002');  //表记录为空,操作无效
    Abort;
  end;
  if ShowDialog('UMS10000008')=IDNO then Abort;  //确定要删除此记录吗?
  try
    Screen.Cursor:=crHourGlass;
    AMode:='DEL';
    DeleteEvent;
    ActRefresh.Execute;
  finally
    Screen.Cursor:=crDefault;
  end;
end;

procedure TBas200_13Form.ActSaveExecute(Sender: TObject);
begin
  inherited;
//保存
  try
    Screen.Cursor:=crHourGlass;
    SaveData;
  finally
    Screen.Cursor:=crDefault;
  end;
end;

procedure TBas200_13Form.ActCancelExecute(Sender: TObject);
begin
  inherited;
//取消
  try
    Screen.Cursor:=crHourGlass;
    SetButtonState(False);
    ADOQuery1AfterScroll(ADOQuery1);
  finally
    Screen.Cursor:=crDefault;
  end;
end;

procedure TBas200_13Form.ActRefreshExecute(Sender: TObject);
var
  ABookmark:TBookmark;
begin
  inherited;
//刷新
  ABookmark:=ADOQuery1.GetBookmark;
  try
    Screen.Cursor:=crHourGlass;
    ADOQuery1.DisableControls;
    ADOQuery1.Close;
    ADOQuery1.Open;
    if ADOQuery1.BookmarkValid(ABookmark) then ADOQuery1.GotoBookmark(ABookmark);
  finally
    ADOQuery1.FreeBookmark(ABookmark);
    ADOQuery1.EnableControls;
    Screen.Cursor:=crDefault;
  end;
end;

procedure TBas200_13Form.ActLocateExecute(Sender: TObject);
begin
  inherited;
//查找
  if ADOQuery1.IsEmpty then
  begin
    ShowMsg('UMS10000002');  //表记录为空,操作无效
    Abort;
  end;
  try
    Screen.Cursor:=crHourGlass;
    LocateDialog(DataSource1);
  finally
    Screen.Cursor:=crDefault;
  end;
end;

procedure TBas200_13Form.ActSearchExecute(Sender: TObject);
begin
  inherited;
//查询
  try
    Screen.Cursor:=crHourGlass;
    FilterDialog(DataSource1);
  finally
    Screen.Cursor:=crDefault;
  end;
end;

procedure TBas200_13Form.ActPrintExecute(Sender: TObject);
var
  ACode:String;
  ABookmark:TBookmark;
begin
  inherited;
//打印
  ABookmark:=ADOQuery1.GetBookmark;
  try
    Screen.Cursor:=crHourGlass;
    ACode:=ADOQuery1.FieldByName(AFieldName).AsString;
    SelectReport(ADOQuery1,AProgramID,AReportName,ReportGetValue,ACode);
    ActRefresh.Execute;
    if ADOQuery1.BookmarkValid(ABookmark) then ADOQuery1.GotoBookmark(ABookmark);
  finally
    ADOQuery1.FreeBookmark(ABookmark);
    ADOQuery1.EnableControls;
    Screen.Cursor:=crDefault;
  end;
end;

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

procedure TBas200_13Form.ADOQuery1AfterScroll(DataSet: TDataSet);
begin
  inherited;
  if ADOQuery1.State in [dsInsert,dsEdit] then Exit;
  if ADOQuery1.IsEmpty then
  begin
    SetEmptyInit;  //初始化
    Exit;
  end;

  edtCode.Text:=ADOQuery1.FieldByName(AFieldName).AsString;
  AOldCode:=edtCode.Text;
  GetDataInfo;  //取得界面信息

  if not Active then Exit;
  if ActSave.Enabled then Exit;
  ActNext.Enabled:=not ADOQuery1.Eof;
  ActLast.Enabled:=not ADOQuery1.Eof;
  ActFirst.Enabled:=not ADOQuery1.Bof;
  ActPrior.Enabled:=not ADOQuery1.Bof;
end;

//从数据表中取得界面信息
procedure TBas200_13Form.GetDataInfo;
begin
end;

//数据保存前的处理,数据检验及赋值操作
procedure TBas200_13Form.TableBeforePost;
begin
end;

//数据保存后的处理
procedure TBas200_13Form.TableAfterPost;
begin
end;

//检验并保存数据
procedure TBas200_13Form.SaveData;
begin
//保存
  if edtCode.Enabled then
  begin
    if (trim(edtCode.Text)='') and (not AIsAutoCode) then
    begin
      ShowMsg('UMS10000436');  //单据编号不能为空
      edtCode.SetFocus;
      Abort;
    end;
    if AOldCode<>edtCode.Text then
    begin
      if IsExists('select 1 from '+ATableName+' where '+AFieldName+'='+''''+edtCode.Text+'''') then
      begin
        ShowMsg('UMS10000437');  //单据编号已存在,请重新输入
        edtCode.SetFocus;
        Abort;
      end;
    end;
  end;

  TableBeforePost;
  try
//    SYSDM.ADOC.BeginTrans;
    if (edtCode.Text='') and (AIsAutoCode) then edtCode.Text:=GetAutoCode(AProgramID);
    if AOldCode<>edtCode.Text then ADOQuery1.FieldByName(AFieldName).Value:=edtCode.Text;  //汇报编号
    ADOQuery1.Post;

    TableAfterPost;

//    SYSDM.ADOC.CommitTrans;
    SetButtonState(False);
    ActRefresh.Execute;
    ADOQuery1AfterScroll(ADOQuery1);
    if AMode='ADD' then
    begin
      if ShowDialog('['+edtCode.Text+'] '+GetDBString('UMS10000309'),1)=IDYES then  //记录保存成功,是否继续增加新记录?
      begin
        ActInsert.Execute;
      end;
    end;
  except
//    SYSDM.ADOC.RollbackTrans;
    if SYSDM.ADOC.Errors.Count<>0 then ShowMsg(SYSDM.ADOC.Errors[0].Description,1);
    Abort;
  end;
end;

//打印报表的多语种处理
procedure TBas200_13Form.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 ADOQuery1.FindField(ParName)<>nil then ParValue:=ADOQuery1.FieldByName(ParName).DisplayLabel;
end;

//空表时初始化
procedure TBas200_13Form.SetEmptyInit;
begin
end;

//是否可以删除 并执行删除操作
procedure TBas200_13Form.DeleteEvent;
begin
end;

//新增初始化
procedure TBas200_13Form.InsertEvent;
begin
end;

//是否可以修改 并执行修改操作
procedure TBas200_13Form.UpdateEvent;
begin
end;

end.

⌨️ 快捷键说明

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