unit U_YSZDList_YHZ; interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, cxGraphics, cxCustomData, cxStyles, cxTL, cxMaskEdit, DB, ADODB, cxInplaceContainer, cxDBTL, cxControls, cxTLData, ComCtrls, ToolWin, StdCtrls, cxFilter, cxData, cxDataStorage, cxEdit, cxDBData, DBClient, cxGridCustomTableView, cxGridTableView, cxGridDBTableView, ExtCtrls, cxSplitter, cxGridLevel, cxClasses, cxGridCustomView, cxGrid, cxGridCustomPopupMenu, cxGridPopupMenu, RM_Dataset, RM_System, RM_Common, RM_Class, RM_GridReport, IdBaseComponent, IdComponent, IdTCPConnection, IdTCPClient, IdFTP,ShellAPI,IniFiles, cxCheckBox, cxCalendar, cxButtonEdit, cxTextEdit, BtnEdit, RM_e_Xls; type TfrmYSZDList_YHZ = class(TForm) ToolBar1: TToolBar; TBRafresh: TToolButton; TBClose: TToolButton; ADOQueryTemp: TADOQuery; ADOQueryCmd: TADOQuery; Panel1: TPanel; ToolButton2: TToolButton; ADOQueryMain: TADOQuery; ToolButton1: TToolButton; RM1: TRMGridReport; RMDB_Main: TRMDBDataSet; Label3: TLabel; cxGridPopupMenu2: TcxGridPopupMenu; DS_HZ: TDataSource; CDS_HZ: TClientDataSet; Label1: TLabel; cxGrid2: TcxGrid; Tv2: TcxGridDBTableView; v2Column2: TcxGridDBColumn; v2Column1: TcxGridDBColumn; v2Column5: TcxGridDBColumn; v2Qty: TcxGridDBColumn; v2yfk: TcxGridDBColumn; v2fk: TcxGridDBColumn; v2yfkye: TcxGridDBColumn; cxGridLevel1: TcxGridLevel; Label6: TLabel; P_CodeName: TEdit; Order_Print: TClientDataSet; RMXLSExport1: TRMXLSExport; FactoryName: TComboBox; v2TeXing: TcxGridDBColumn; v2Column3: TcxGridDBColumn; Label13: TLabel; Label14: TLabel; SGFangshi: TEdit; TeXing: TEdit; v2GCName: TcxGridDBColumn; Label2: TLabel; GCName: TEdit; procedure FormDestroy(Sender: TObject); procedure FormClose(Sender: TObject; var Action: TCloseAction); procedure TBCloseClick(Sender: TObject); procedure FormShow(Sender: TObject); procedure TBRafreshClick(Sender: TObject); procedure ToolButton2Click(Sender: TObject); procedure FactoryNameChange(Sender: TObject); procedure ToolButton1Click(Sender: TObject); procedure FormCreate(Sender: TObject); procedure v2SselPropertiesChange(Sender: TObject); private { Private declarations } procedure InitGrid(); public { Public declarations } RKFlag,FCYID:String; end; var frmYSZDList_YHZ: TfrmYSZDList_YHZ; implementation uses U_DataLink,U_Fun,U_ZDYHelp; {$R *.dfm} procedure TfrmYSZDList_YHZ.InitGrid(); var FMoney,FUSDMoney:double; begin try ADOQueryMain.DisableControls; FMoney:=0; FUSDMoney:=0; with ADOQueryMain do begin Close; SQL.Clear; sql.Add(' select AA.CRTime,factoryName,GCName,P_CodeName,TeXing,SGFangshi,Sum(Qty) Qty,Sum(yfk) yfk,Sum(fk) fk,Sum(yfkye) yfkye'); sql.add(' from (select convert(varchar(7),A.CRTime,120) CRTime,Status,GCName,factoryName,P_CodeName,TeXing,SGFangshi,Qty,yfk=cast(Money as decimal(18,2))'); sql.add(',fk=cast(0 as decimal(18,2)),cast(0 as decimal(18,2)) yfkye'); sql.Add(' from YF_Money_CR A'); sql.Add(' where A.CRType=''应收款登记'''); sql.add(' union all'); sql.Add(' select convert(varchar(7),A.CRTime,120) CRTime,Status,GCName,factoryName,P_CodeName,TeXing,SGFangshi,cast(0 as decimal(18,2)) Qty,cast(0 as decimal(18,2)) yfk '); sql.add(',fk=cast(Money as decimal(18,2)),cast(0 as decimal(18,2)) yfkye'); sql.Add(' from YF_Money_CR A'); sql.Add(' where A.CRType=''收款登记'') AA'); sql.add(' where 1=1'); sql.add(' and FactoryName='''+trim(FactoryName.Text)+''''); if P_CodeName.Text<>'' then sql.add(' and P_CodeName like '''+'%'+trim(P_CodeName.Text)+'%'+''''); if TeXing.Text<>'' then sql.add(' and TeXing like '''+'%'+trim(TeXing.Text)+'%'+''''); if SGFangshi.Text<>'' then sql.add(' and SGFangshi like '''+'%'+trim(SGFangshi.Text)+'%'+''''); sql.add(' and isnull(AA.status,''0'')<>''0'' '); sql.Add(' group by AA.CRTime,factoryName,GCName,P_CodeName,TeXing,SGFangshi'); sql.Add(' order by AA.CRTime'); Open; end; SCreateCDS20(ADOQueryMain,CDS_HZ); CDS_HZ.DisableControls; with ADOQueryMain do begin first; while not eof do begin with CDS_HZ do begin append; fieldbyname('Ssel').AsBoolean:=false; fieldbyname('CRTime').Value:=ADOQueryMain.fieldbyname('CRTime').asstring; fieldbyname('factoryName').Value:=ADOQueryMain.fieldbyname('factoryName').AsString; fieldbyname('GCName').Value:=ADOQueryMain.fieldbyname('GCName').AsString; fieldbyname('P_CodeName').Value:=ADOQueryMain.fieldbyname('P_CodeName').AsString; fieldbyname('TeXing').Value:=ADOQueryMain.fieldbyname('TeXing').AsString; fieldbyname('SGFangshi').Value:=ADOQueryMain.fieldbyname('SGFangshi').AsString; fieldbyname('Qty').Value:=ADOQueryMain.fieldbyname('Qty').AsFloat; fieldbyname('yfk').Value:=ADOQueryMain.fieldbyname('yfk').AsFloat; fieldbyname('fk').Value:=ADOQueryMain.fieldbyname('fk').AsFloat; FMoney:=FMoney+ADOQueryMain.fieldbyname('yfk').AsFloat-ADOQueryMain.fieldbyname('fk').AsFloat; fieldbyname('yfkye').Value:=FMoney; post; end; next; end; end; CDS_HZ.EnableControls; finally ADOQueryMain.EnableControls; end; end; procedure TfrmYSZDList_YHZ.FormDestroy(Sender: TObject); begin frmYSZDList_YHZ:=nil; end; procedure TfrmYSZDList_YHZ.FormClose(Sender: TObject; var Action: TCloseAction); begin Action:=caFree; end; procedure TfrmYSZDList_YHZ.TBCloseClick(Sender: TObject); begin WriteCxGrid(self.Caption,Tv2,'财务管理2'); Close; end; procedure TfrmYSZDList_YHZ.FormShow(Sender: TObject); var fsj:string; begin ReadCxGrid(self.Caption,Tv2,'财务管理2'); fsj:='select distinct (A.FactoryName) name from YF_Money_CR A where A.CRType=''应收款登记'' '; SInitComBoxBySql(ADOQueryCmd,FactoryName,False,fsj); //InitGrid(); end; procedure TfrmYSZDList_YHZ.TBRafreshClick(Sender: TObject); begin Toolbar1.SetFocus; InitGrid(); end; procedure TfrmYSZDList_YHZ.ToolButton2Click(Sender: TObject); var fsj:string; begin initgrid(); end; procedure TfrmYSZDList_YHZ.FactoryNameChange(Sender: TObject); begin ToolButton2.Click; end; procedure TfrmYSZDList_YHZ.ToolButton1Click(Sender: TObject); begin if ADOQueryMain.IsEmpty then Exit; //TcxGridToExcel(self.Caption,cxgrid2); SelExportData(Tv2,ADOQueryMain,'应收款月统计列表'); end; procedure TfrmYSZDList_YHZ.FormCreate(Sender: TObject); begin cxGrid2.Align:=AlClient; end; procedure TfrmYSZDList_YHZ.v2SselPropertiesChange(Sender: TObject); begin toolBar1.SetFocus; end; end.