unit U_JWLKCList_MoneyMX; interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls, ExtCtrls, ComCtrls, ToolWin, cxStyles, cxCustomData, cxGraphics, cxFilter, cxData, cxDataStorage, cxEdit, DB, cxDBData, ADODB, cxGridCustomPopupMenu, cxGridPopupMenu, cxGridLevel, cxClasses, cxControls, cxGridCustomView, cxGridCustomTableView, cxGridTableView, cxGridDBTableView, cxGrid, cxCalendar, cxButtonEdit, cxDropDownEdit, DBClient, Menus, cxSplitter, cxTextEdit, RM_Common, RM_Class, RM_GridReport, RM_System, RM_Dataset, RM_e_Xls, dxPSGlbl, dxPSUtl, dxPSEngn, dxPrnPg, dxBkgnd, dxWrap, dxPrnDev, dxPSCompsProvider, dxPSFillPatterns, dxPSEdgePatterns, dxPSCore, dxPScxCommon, dxPScxGridLnk, cxGridBandedTableView, cxGridDBBandedTableView, cxLookAndFeels, cxLookAndFeelPainters, dxSkinsCore, dxSkinBlack, dxSkinBlue, dxSkinBlueprint, dxSkinCaramel, dxSkinCoffee, dxSkinDarkRoom, dxSkinDarkSide, dxSkinDevExpressDarkStyle, dxSkinDevExpressStyle, dxSkinFoggy, dxSkinGlassOceans, dxSkinHighContrast, dxSkiniMaginary, dxSkinLilian, dxSkinLiquidSky, dxSkinLondonLiquidSky, dxSkinMcSkin, dxSkinMetropolis, dxSkinMetropolisDark, dxSkinMoneyTwins, dxSkinOffice2007Black, dxSkinOffice2007Blue, dxSkinOffice2007Green, dxSkinOffice2007Pink, dxSkinOffice2007Silver, dxSkinOffice2010Black, dxSkinOffice2010Blue, dxSkinOffice2010Silver, dxSkinOffice2013DarkGray, dxSkinOffice2013LightGray, dxSkinOffice2013White, dxSkinPumpkin, dxSkinSeven, dxSkinSevenClassic, dxSkinSharp, dxSkinSharpPlus, dxSkinSilver, dxSkinSpringTime, dxSkinStardust, dxSkinSummer2008, dxSkinTheAsphaltWorld, dxSkinsDefaultPainters, dxSkinValentine, dxSkinVS2010, dxSkinWhiteprint, dxSkinXmas2008Blue, dxSkinscxPCPainter, cxNavigator; type TfrmJWLKCList_MoneyMX = class(TForm) ToolBar1: TToolBar; TBRafresh: TToolButton; TBFind: TToolButton; TBClose: TToolButton; cxGridPopupMenu1: TcxGridPopupMenu; ADOQueryCmd: TADOQuery; ADOQueryMain: TADOQuery; ADOQueryTemp: TADOQuery; DataSource1: TDataSource; Panel1: TPanel; Label1: TLabel; Label3: TLabel; EndDate: TDateTimePicker; LYDept: TEdit; CDS_Main: TClientDataSet; RMDB_Main: TRMDBDataSet; RM1: TRMGridReport; RMXLSExport1: TRMXLSExport; Label8: TLabel; cxStyleRepository1: TcxStyleRepository; cxStyle1: TcxStyle; YCLSpec: TComboBox; DataSource2: TDataSource; JWL_Sub: TClientDataSet; TJWL: TToolButton; JWL_Money: TClientDataSet; RMDBMain: TRMDBDataSet; RM2: TRMGridReport; cxGrid1: TcxGrid; Tv1: TcxGridDBTableView; v1Column1: TcxGridDBColumn; v1DepotClass: TcxGridDBColumn; v1P_ChnName: TcxGridDBColumn; v1Column2: TcxGridDBColumn; v1ShortName: TcxGridDBColumn; v1Column4: TcxGridDBColumn; v1Column5: TcxGridDBColumn; v1Quantity: TcxGridDBColumn; v1CheHao: TcxGridDBColumn; v1CLName: TcxGridDBColumn; v1SJName: TcxGridDBColumn; v1YCLMoney: TcxGridDBColumn; v1UnitName: TcxGridDBColumn; v1Note: TcxGridDBColumn; cxGrid1Level1: TcxGridLevel; procedure FormClose(Sender: TObject; var Action: TCloseAction); procedure FormCreate(Sender: TObject); procedure TBCloseClick(Sender: TObject); procedure TBFindClick(Sender: TObject); procedure TBExportClick(Sender: TObject); procedure TBRafreshClick(Sender: TObject); procedure LYDeptChange(Sender: TObject); procedure FormShow(Sender: TObject); procedure FormDestroy(Sender: TObject); procedure RadioGroup1Click(Sender: TObject); procedure CheckBox1Click(Sender: TObject); procedure TJWLClick(Sender: TObject); private canshu1, canshu2, canshu3: string; procedure InitGrid(); procedure InitForm(); { Private declarations } public FYCLSpec:string; { Public declarations } end; var frmJWLKCList_MoneyMX: TfrmJWLKCList_MoneyMX; implementation uses U_DataLink, U_RTFun, U_ModuleNote; {$R *.dfm} procedure TfrmJWLKCList_MoneyMX.FormClose(Sender: TObject; var Action: TCloseAction); begin Action := caFree; end; procedure TfrmJWLKCList_MoneyMX.FormCreate(Sender: TObject); begin cxgrid1.Align := alClient; canshu1 := Trim(DParameters1); canshu2 := Trim(DParameters2); canshu3 := Trim(DParameters3); end; procedure TfrmJWLKCList_MoneyMX.TBCloseClick(Sender: TObject); begin Close; WriteCxGrid('库存汇总', Tv1, '原材料仓库'); end; procedure TfrmJWLKCList_MoneyMX.InitGrid(); begin try ADOQueryMain.DisableControls; with ADOQueryMain do begin Filtered := False; Close; sql.Clear; sql.Add('exec P_JWL_MoneyKC_MX '); SQL.Add('@YCLSpec=''' + trim(FYCLSpec) + ''' '); SQL.Add(',@Enddate=''' + trim(FormatDateTime('yyyy-MM', EndDate.Date)) + ''' '); // ShowMessage(SQL.text); Open; end; SCreateCDS20(ADOQueryMain, CDS_Main); SInitCDSData20(ADOQueryMain, CDS_Main); TBFind.Click; finally ADOQueryMain.EnableControls; end; end; procedure TfrmJWLKCList_MoneyMX.InitForm(); begin ReadCXGrid('库存汇总', Tv1, '原材料仓库'); EndDate.DateTime := SGetServerDateMEnd(ADOQueryTemp); with ADOQueryTemp do begin close; SQL.Clear; sql.Add('select distinct YCLSpec from CK_YCLONE_CR '); open; end; with ADOQueryTemp do begin first; while not eof do begin YCLSpec.Items.Add(ADOQueryTemp.fieldbyname('YCLSpec').AsString); next; end; end; InitGrid(); end; procedure TfrmJWLKCList_MoneyMX.TBFindClick(Sender: TObject); begin if ADOQueryMain.IsEmpty then Exit; SDofilter(ADOQueryMain, SGetFilters(Panel1, 1, 2)); SCreateCDS20(ADOQueryMain, CDS_Main); SInitCDSData20(ADOQueryMain, CDS_Main); end; procedure TfrmJWLKCList_MoneyMX.TBExportClick(Sender: TObject); begin if CDS_Main.IsEmpty then Exit; TcxGridToExcel('库存列表', cxGrid1); end; procedure TfrmJWLKCList_MoneyMX.TBRafreshClick(Sender: TObject); begin ToolBar1.SetFocus; InitGrid(); end; procedure TfrmJWLKCList_MoneyMX.LYDeptChange(Sender: TObject); begin if ADOQueryMain.Active = False then Exit; SDofilter(ADOQueryMain, SGetFilters(Panel1, 1, 2)); SCreateCDS20(ADOQueryMain, CDS_Main); SInitCDSData20(ADOQueryMain, CDS_Main); end; procedure TfrmJWLKCList_MoneyMX.FormShow(Sender: TObject); begin InitForm(); end; procedure TfrmJWLKCList_MoneyMX.FormDestroy(Sender: TObject); begin frmJWLKCList_MoneyMX := nil; end; procedure TfrmJWLKCList_MoneyMX.RadioGroup1Click(Sender: TObject); begin TBRafresh.Click; end; procedure TfrmJWLKCList_MoneyMX.CheckBox1Click(Sender: TObject); begin TBRafresh.Click; end; procedure TfrmJWLKCList_MoneyMX.TJWLClick(Sender: TObject); var fPrintFile, FConNoM, RPTName: string; begin if CDS_Main.IsEmpty then Exit; fPrintFile := ExtractFilePath(Application.ExeName) + 'Report\机物料费用汇总表.rmf'; with ADOQueryCmd do begin close; SQL.Clear; sql.Add('exec P_JWL_MoneyKC '); SQL.Add('@Enddate=''' + trim(FormatDateTime('yyyy-MM', EndDate.Date)) + ''' '); Open; end; SCreateCDS20(ADOQueryCmd, JWL_Money); SInitCDSData20(ADOQueryCmd, JWL_Money); if FileExists(fPrintFile) then begin //RMVariables['begdate']:=BegDate.DateTime; RMVariables['enddate'] := enddate.DateTime; RM2.LoadFromFile(fPrintFile); RM2.ShowReport; end else begin Application.MessageBox(PChar('没有找' + ExtractFilePath(Application.ExeName) + RPTName), '提示', 0); end; end; end.