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

📄 ustatcost.pas

📁 成本系统三层结构源码 开发工具:Delphi 7.0+SQLServer 2005 主要技术:Midas、COM+ 所用第三方控件: FastReport V2.47 D7 Inforp
💻 PAS
字号:
unit ustatcost;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, upub3, dxExEdtr, ImgList, ActnList, Menus, DB, ComCtrls,
  ToolWin, dxCntner, dxTL, dxDBCtrl, dxDBGrid, ExtCtrls, dxEditor, dxEdLib,
  StdCtrls, wwdbdatetimepicker, dxDBTLCl, dxGrClms;

type
  TfmStatCost = class(Tfmpub3)
    DSCostDetail: TDataSource;
    dxDBGrid1: TdxDBGrid;
    procedure AConfirmExecute(Sender: TObject);
    procedure FormCreate(Sender: TObject);
    procedure FormClose(Sender: TObject; var Action: TCloseAction);
    procedure AApproveExecute(Sender: TObject);
    procedure DBGrid1DblClick(Sender: TObject);
    procedure dxDBGrid1DblClick(Sender: TObject);
    procedure AExcelExecute(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  fmStatCost: TfmStatCost;

implementation

uses udmcost, SherryLib, udata;

{$R *.dfm}

procedure TfmStatCost.AConfirmExecute(Sender: TObject);
begin
  if DTPMonth.Date <= SystemStartDate then
    Warn('日期小於系统启用日期,请重新选择!');
  try
    ShowWait;
    DMCost.CStatCost.Active := False;
    DMCost.CStatCost.Params.ParamValues['@Date'] := DTPMonth.Date;
    DMCost.CStatCost.Params.ParamValues['@OrderNo'] := '';
    DMCost.CStatCost.Active := True;
    ShowGrid(DbGrid1, '年度月份', 3, False, True, False, False,1);
    Log(Self.Caption,'计算订单总成本'+FormatDateTime('yyyyMM',DTPMonth.DateTime));
    if PageControl.ActivePage <> TabBrowse then
      PageControl.ActivePage := TabReport;
    CloseData(DSCostDetail);
  finally
    hideWait;
  end;
end;

procedure TfmStatCost.FormCreate(Sender: TObject);
begin
  ShowFields(DMCost.CStatCost);
  TBApprove.Visible:=TBConfirm.Visible;
  inherited;
  AConfirm.Execute;
end;

procedure TfmStatCost.FormClose(Sender: TObject; var Action: TCloseAction);
begin
  inherited;
  CloseData(DSCostDetail);
end;

procedure TfmStatCost.AApproveExecute(Sender: TObject);
begin
  if PageControl.ActivePage = TabBrowse then
  begin
    if not DBGrid1.DataSource.DataSet.Active then abort;
    if DBGrid1.DataSource.DataSet.IsEmpty then abort;
    with DMCost.CCostDetail do
    try
      ShowWait;
      Active := False;
      Params.ParamValues['@Date'] := DTPMonth.Date;
      Params.ParamValues['@OrderNo'] := DMCost.CStatCost['OrderNo'];
      Active := True;
      if dxdbgrid1.ColumnCount = 0 then
      begin
        //dxDbGrid1.KeyField:='成本日期';
        ShowGrid(dxDbGrid1, '单价汇率', 3, True, True, True, True);
        dxDbGrid1.AddGroupColumn(dxDbGrid1.Columns[2]);
        dxDbGrid1.OptionsDB:=dxDbGrid1.OptionsDB-[edgoloadallrecords];
      end;
      dxDbGrid1.FullExpand;
      PageControl.ActivePage := TabReport;
      AApprove.Caption:='返回';
    finally
      hideWait;
    end;
  end
  else
  begin
    PageControl.ActivePage := TabBrowse;
    AApprove.Caption:='明细';
  end;
end;

procedure TfmStatCost.DBGrid1DblClick(Sender: TObject);
begin
  AApprove.Execute;
end;

procedure TfmStatCost.dxDBGrid1DblClick(Sender: TObject);
begin
  AApprove.Execute;
end;

procedure TfmStatCost.AExcelExecute(Sender: TObject);
begin
  if PageControl.ActivePage=TabBrowse then
  inherited else GridToExcel(dxDBGrid1,DMCost.CStatCost['OrderNo']+'成本明细');
end;

end.

⌨️ 快捷键说明

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