unit U_JWLKCList; 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; type TfrmJWLKCList = class(TForm) ToolBar1: TToolBar; TBRafresh: TToolButton; TBFind: TToolButton; TBPrint: TToolButton; TBClose: TToolButton; cxGridPopupMenu1: TcxGridPopupMenu; ADOQueryCmd: TADOQuery; ADOQueryMain: TADOQuery; ADOQueryTemp: TADOQuery; DataSource1: TDataSource; TBExport: TToolButton; Panel1: TPanel; Label1: TLabel; Label2: TLabel; Label3: TLabel; Label4: TLabel; Label7: TLabel; BegDate: TDateTimePicker; EndDate: TDateTimePicker; YCLName: TEdit; YCLSpec: TEdit; GYSName: TEdit; cxGrid1: TcxGrid; Tv1: TcxGridDBTableView; v1Column1: TcxGridDBColumn; v1DepotClass: TcxGridDBColumn; v1P_ChnName: TcxGridDBColumn; v1Column2: TcxGridDBColumn; v1ShortName: TcxGridDBColumn; v1Quantity: TcxGridDBColumn; v1UnitName: TcxGridDBColumn; cxGrid1Level1: TcxGridLevel; CDS_Main: TClientDataSet; RMDB_Main: TRMDBDataSet; RM1: TRMGridReport; RMXLSExport1: TRMXLSExport; KCPlace: TEdit; Label6: TLabel; Label8: TLabel; CRType: TComboBox; v1Column4: TcxGridDBColumn; CheckBox1: TCheckBox; v1Column5: TcxGridDBColumn; v1Column6: TcxGridDBColumn; ToolButton1: TToolButton; v1KCMoney: TcxGridDBColumn; procedure FormClose(Sender: TObject; var Action: TCloseAction); procedure FormCreate(Sender: TObject); procedure TBCloseClick(Sender: TObject); procedure TBFindClick(Sender: TObject); procedure TBExportClick(Sender: TObject); procedure TBPrintClick(Sender: TObject); procedure TBRafreshClick(Sender: TObject); procedure YCLNameChange(Sender: TObject); procedure FormShow(Sender: TObject); procedure Tv1StylesGetContentStyle(Sender: TcxCustomGridTableView; ARecord: TcxCustomGridRecord; AItem: TcxCustomGridTableItem; out AStyle: TcxStyle); procedure ToolButton1Click(Sender: TObject); private canshu1,canshu2,canshu3:String; procedure InitGrid(); procedure InitForm(); { Private declarations } public { Public declarations } end; implementation uses U_DataLink,U_RTFun,U_JWLChkIn, U_ModuleNote; {$R *.dfm} procedure TfrmJWLKCList.FormClose(Sender: TObject; var Action: TCloseAction); begin Application:=MainApplication; Action:=caFree; end; procedure TfrmJWLKCList.FormCreate(Sender: TObject); begin cxgrid1.Align:=alClient; canshu1:=Trim(DParameters1); canshu2:=Trim(DParameters2); canshu3:=Trim(DParameters3); end; procedure TfrmJWLKCList.TBCloseClick(Sender: TObject); begin Close; WriteCxGrid('库存列表',Tv1,'原材料仓库'); end; procedure TfrmJWLKCList.InitGrid(); begin try ADOQueryMain.DisableControls; with ADOQueryMain do begin Filtered:=False; Close; sql.Clear; sql.Add('select A.*,CKQty=CRQty-KCQty,JWLPrice=cast(YCLMoney/CRQty as decimal(18,2))'); sql.Add(',KCMoney=YCLMoney-isnull((select sum(B.YCLMoney) from CK_YCLONE_CR B where B.CRFlag=''出库'' and B.RKID=A.MSID),0)'); sql.Add(' from CK_YCLONE_CR A'); if CheckBox1.Checked=False then begin SQL.Add(' where CRTime>='''+Trim(FormatDateTime('yyyy-MM-dd',BegDate.DateTime))+''''); SQL.Add(' and CRTime<'''+Trim(FormatDateTime('yyyy-MM-dd',EndDate.DateTime+1))+''''); end else begin sql.Add(' where KCQty<>0'); end; sql.Add(' and CKName='''+Trim(canshu1)+''''); SQL.Add(' and A.CRFlag=''入库'' '); Open; end; SCreateCDS20(ADOQueryMain,CDS_Main); SInitCDSData20(ADOQueryMain,CDS_Main); finally; ADOQueryMain.EnableControls; end; end; procedure TfrmJWLKCList.InitForm(); begin ReadCxGrid('库存列表',Tv1,'原材料仓库'); EndDate.DateTime:=SGetServerDateMEnd(ADOQueryTemp); BegDate.DateTime:=SGetServerDateMBeg(ADOQueryTemp); InitGrid(); end; procedure TfrmJWLKCList.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.TBExportClick(Sender: TObject); begin if CDS_Main.IsEmpty then Exit; TcxGridToExcel('库存列表',cxGrid1); end; procedure TfrmJWLKCList.TBPrintClick(Sender: TObject); var fPrintFile,FConNoM,RPTName:string; begin if CDS_Main.IsEmpty then Exit; fPrintFile:= ExtractFilePath(Application.ExeName) + 'Report\机染入库日报表.rmf' ; if FileExists(fPrintFile) then begin RMVariables['begdate']:=BegDate.DateTime; RMVariables['enddate']:=enddate.DateTime; //RMVariables['printtime']:=Now; //RMVariables['printer']:=Trim(gUserName); RM1.LoadFromFile(fPrintFile); RM1.ShowReport; end else begin Application.MessageBox(PChar('没有找'+ExtractFilePath(Application.ExeName)+RPTName),'提示',0); end; end; procedure TfrmJWLKCList.TBRafreshClick(Sender: TObject); begin BegDate.SetFocus; InitGrid(); end; procedure TfrmJWLKCList.YCLNameChange(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.FormShow(Sender: TObject); begin InitForm(); end; procedure TfrmJWLKCList.Tv1StylesGetContentStyle( Sender: TcxCustomGridTableView; ARecord: TcxCustomGridRecord; AItem: TcxCustomGridTableItem; out AStyle: TcxStyle); var id,id10:Integer; begin {if Trim(DParameters7)='已付金额' then begin try if Tv1.GroupedItemCount=0 then begin Id:=Tv1.GetColumnByFieldName('YFMoney').Index-tv1.GroupedItemCount; if Trim(VarToStr(ARecord.Values[id]))='' then Exit; if Id<=0 then Exit; if ARecord.Values[id]>0 then AStyle:=DataLink_JWLCK.Red; end else begin end; except end; end; } end; procedure TfrmJWLKCList.ToolButton1Click(Sender: TObject); begin try frmModuleNote:=TfrmModuleNote.Create(Application); with frmModuleNote do begin flag:='办公用品库存'; if ShowModal=1 then begin end; end; finally frmModuleNote.Free; end; end; end.