fxstj.pas.~49~

来自「delphi2007开发的汽车配件进销存系统.实用级的源码.」· ~49~ 代码 · 共 192 行

~49~
192
字号
{*******************************************************}
{                                                       }
{       单证打印                                        }
{	      Fxstj.pas
{       2007-07-01 19:01:37
{	      独孤九剑 rhcgrys@sina.com                                                 }
{       版权所有 (C) 2007 未来科技                      }
{                                                       }
{*******************************************************}

unit Fxstj;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, cxTextEdit, cxMaskEdit, cxDropDownEdit, cxCalendar, cxContainer,
  cxEdit, cxLabel, cxPC, cxControls, GridsEh, DBGridEh, cxStyles, cxCustomData,
  cxGraphics, cxFilter, cxData, cxDataStorage, DB, cxDBData, cxGridLevel,
  cxClasses, cxGridCustomView, cxGridCustomTableView, cxGridTableView,
  cxGridDBTableView, cxGrid, StdCtrls, cxCheckBox, cxRadioGroup, cxGroupBox,
  DateUtils, Menus, cxLookAndFeelPainters, cxButtons, frxClass, frxDBSet;

type
  Tfrmxstj = class(TForm)
    cxPageControl1: TcxPageControl;
    cxTabSheet1: TcxTabSheet;
    DBGridEh1: TDBGridEh;
    cxGroupBox1: TcxGroupBox;
    cxLabel1: TcxLabel;
    cxDateEdit1: TcxDateEdit;
    cxGroupBox2: TcxGroupBox;
    cxRadioButton2: TcxRadioButton;
    cxRadioButton1: TcxRadioButton;
    cxLabel2: TcxLabel;
    cxDateEdit2: TcxDateEdit;
    cxDateEdit3: TcxDateEdit;
    cxLabel3: TcxLabel;
    Button1: TButton;
    cxCheckBox1: TcxCheckBox;
    PopupMenu1: TPopupMenu;
    N1: TMenuItem;
    frxReport1: TfrxReport;
    frxDBDataset1: TfrxDBDataset;
    cxButton1: TcxButton;
    procedure FormShow(Sender: TObject);
    procedure Button1Click(Sender: TObject);
    procedure InitTableHTitle(BL:Boolean);
    procedure cxRadioButton1Click(Sender: TObject);
    procedure cxRadioButton2Click(Sender: TObject);
    procedure N1Click(Sender: TObject);
    procedure cxButton1Click(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  frmxstj: Tfrmxstj;

implementation

uses UDM;

{$R *.dfm}

{-------------------------------------------------------------------------------
  过程名:    Tfrmxstj.InitTableHTitle
  作者:      Administrator
  日期:      2007.07.01
  参数:      BL:Boolean
  返回值:    无
-------------------------------------------------------------------------------}
procedure Tfrmxstj.InitTableHTitle(BL:Boolean);
begin
  //初始化表表
  if not bl then begin
    DBGridEh1.Columns[0].Title.caption:='销售编码';
    DBGridEh1.Columns[1].Title.caption:='商品编码';
    DBGridEh1.Columns[2].Title.caption:='品名';
    DBGridEh1.Columns[3].Title.caption:='规格';
    DBGridEh1.Columns[4].Title.caption:='产地';
    DBGridEh1.Columns[5].Title.caption:='数量';
    DBGridEh1.Columns[6].Title.caption:='进价';
    DBGridEh1.Columns[7].Title.caption:='单价';
    DBGridEh1.Columns[8].Title.caption:='金额';
    DBGridEh1.Columns[9].Title.caption:='销售日期';
    end
  else begin
    DBGridEh1.Columns[0].Title.caption:='货位';
    DBGridEh1.Columns[1].Title.caption:='商品编码';
    DBGridEh1.Columns[2].Title.caption:='品名';
    DBGridEh1.Columns[3].Title.caption:='数量';
    DBGridEh1.Columns[4].Title.caption:='金额';
  end;
end;

procedure Tfrmxstj.N1Click(Sender: TObject);
begin
  if Application.MessageBox('记录删除无法恢复,确认删除记录?', '提示', 
    MB_OKCANCEL + MB_ICONQUESTION) = IDOK then
  begin
      DM.qry9.Delete;
  end;
end;

procedure Tfrmxstj.Button1Click(Sender: TObject);
begin
  //条件查询
  if cxCheckBox1.Checked then
     with dm.qry9 do begin
      close;
      with SQL do begin
        Clear;
        Add('select t2.hw,t1.bm,t2.pm,t1.sl,t1.je  '+
            'from (select bm,sum(sl) as sl,sum(je) '+
            'as je from xsdmx where rq>=:p_rqq and '+
            'rq<=:p_rqz group by bm) t1 ,spxx t2 where t1.bm=t2.bm ');
      end;
      if cxRadioButton1.Checked then begin
        Parameters.ParamByName('p_rqq').Value :=FormatDateTime('YYYY-MM-DD',cxDateEdit1.date)+' 00:00:00';
        Parameters.ParamByName('p_rqz').Value :=FormatDateTime('YYYY-MM-DD',cxDateEdit1.date)+' 23:59:59';
        end
      else begin
        Parameters.ParamByName('p_rqq').Value :=FormatDateTime('YYYY-MM-DD',cxDateEdit2.date)+' 00:00:00';
        Parameters.ParamByName('p_rqz').Value :=FormatDateTime('YYYY-MM-DD',cxDateEdit3.date)+' 23:59:59';
      end;

      Open;
     end
  else
    with dm.qry9 do begin
      close;
      with SQL do begin
        Clear;
        Add('select * from xsdmx where rq>=:p_rqq and rq<=:p_rqz');
      end;
      if cxRadioButton1.Checked then begin
        Parameters.ParamByName('p_rqq').Value :=FormatDateTime('YYYY-MM-DD',cxDateEdit1.date)+' 00:00:00';
        Parameters.ParamByName('p_rqz').Value :=FormatDateTime('YYYY-MM-DD',cxDateEdit1.date)+' 23:59:59';
        end
      else begin
        Parameters.ParamByName('p_rqq').Value :=FormatDateTime('YYYY-MM-DD',cxDateEdit2.date)+' 00:00:00';
        Parameters.ParamByName('p_rqz').Value :=FormatDateTime('YYYY-MM-DD',cxDateEdit3.date)+' 23:59:59';
      end;
      
      Open;
    end;

    //初始化表头
    InitTableHTitle(cxCheckBox1.Checked)
end;

procedure Tfrmxstj.cxButton1Click(Sender: TObject);
begin
  frxReport1.ShowReport(True);
end;

procedure Tfrmxstj.cxRadioButton1Click(Sender: TObject);
begin
  if cxRadioButton1.Checked then begin
     cxGroupBox1.Enabled:=True;
     cxGroupBox2.Enabled:=False;
  end
  else begin
     cxGroupBox1.Enabled:=False;
     cxGroupBox2.Enabled:=True;
  end;
end;

procedure Tfrmxstj.cxRadioButton2Click(Sender: TObject);
begin
  if cxRadioButton2.Checked then begin
     cxGroupBox2.Enabled:=True;
     cxGroupBox1.Enabled:=False;
  end
  else begin
     cxGroupBox2.Enabled:=False;
     cxGroupBox1.Enabled:=True;
  end;
end;

procedure Tfrmxstj.FormShow(Sender: TObject);
begin
  cxDateEdit1.Date := date;
  cxDateEdit2.Date := StartOftheMonth(now());
  cxDateEdit3.date := date;
end;

end.

⌨️ 快捷键说明

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