unit U_ShaKCListJWL; interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, cxStyles, cxCustomData, cxGraphics, cxFilter, cxData, cxDataStorage, cxEdit, DB, cxDBData, cxGridCustomTableView, cxGridTableView, cxGridBandedTableView, cxGridDBBandedTableView, cxGridLevel, cxClasses, cxControls, cxGridCustomView, cxGridDBTableView, cxGrid, StdCtrls, ComCtrls, ExtCtrls, ToolWin, cxGridCustomPopupMenu, cxGridPopupMenu, ADODB, DBClient, cxDropDownEdit, cxCheckBox, RM_Common, RM_Class, RM_e_Xls, RM_Dataset, RM_System, RM_GridReport, Menus, cxCalendar, cxButtonEdit, cxTextEdit,Clipbrd; type TfrmShaKCListJWL = class(TForm) ToolBar1: TToolBar; TBRafresh: TToolButton; TBFind: TToolButton; TBClose: TToolButton; ADOQueryCmd: TADOQuery; ADOQueryMain: TADOQuery; ADOQueryTemp: TADOQuery; DataSource1: TDataSource; cxGridPopupMenu1: TcxGridPopupMenu; CDS_Main: TClientDataSet; cxGrid2: TcxGrid; Tv1: TcxGridDBTableView; v1Column6: TcxGridDBColumn; v1Column2: TcxGridDBColumn; v1Column4: TcxGridDBColumn; v1Column15: TcxGridDBColumn; v1Column14: TcxGridDBColumn; v2Column1: TcxGridDBColumn; v1Column8: TcxGridDBColumn; v2Column6: TcxGridDBColumn; v1Column3: TcxGridDBColumn; v1Column5: TcxGridDBColumn; v1Column12: TcxGridDBColumn; cxGrid2Level1: TcxGridLevel; ToolButton2: TToolButton; v1Column17: TcxGridDBColumn; v1Column1: TcxGridDBColumn; v1Column10: TcxGridDBColumn; v1Column20: TcxGridDBColumn; v1Column21: TcxGridDBColumn; v1Column23: TcxGridDBColumn; Panel1: TPanel; Label3: TLabel; Label4: TLabel; Label5: TLabel; Label8: TLabel; Label12: TLabel; Label2: TLabel; Label9: TLabel; SPName: TEdit; FactoryName: TEdit; SPID: TEdit; SPSpec: TEdit; CRType: TComboBox; BatchNo: TEdit; SXPinPai: TEdit; Label1: TLabel; QtyUnit: TEdit; CheckBox1: TCheckBox; v1Column7: TcxGridDBColumn; v1Column9: TcxGridDBColumn; Label6: TLabel; Note: TEdit; v1Column11: TcxGridDBColumn; Label7: TLabel; KuWei: TEdit; procedure FormDestroy(Sender: TObject); procedure FormClose(Sender: TObject; var Action: TCloseAction); procedure TBRafreshClick(Sender: TObject); procedure ConNoMChange(Sender: TObject); procedure TBCloseClick(Sender: TObject); procedure FormShow(Sender: TObject); procedure TBFindClick(Sender: TObject); procedure MPRTCodeNameChange(Sender: TObject); procedure N1Click(Sender: TObject); procedure N2Click(Sender: TObject); procedure SXBatchNOChange(Sender: TObject); procedure FactoryNameChange(Sender: TObject); procedure ToolButton2Click(Sender: TObject); procedure Tv1DblClick(Sender: TObject); private procedure InitGrid(); { Private declarations } public FDYFlag:String; { Public declarations } end; var frmShaKCListJWL: TfrmShaKCListJWL; implementation uses U_DataLink,U_RTFun; {$R *.dfm} procedure TfrmShaKCListJWL.FormDestroy(Sender: TObject); begin frmShaKCListJWL:=nil; end; procedure TfrmShaKCListJWL.FormClose(Sender: TObject; var Action: TCloseAction); begin Action:=caFree; end; procedure TfrmShaKCListJWL.InitGrid(); begin try ADOQueryMain.DisableControls; with ADOQueryMain do begin Filtered:=False; Close; sql.Clear; sql.Add(' select A.* ,CKQty=isnull(Qty,0)-isnull(MXKCQty,0),CKPiQty=isnull(PiQty,0)-isnull(MXKCPiQty,0)'); sql.Add(' ,JSMoney=price*Qty '); sql.Add(' from CK_SXPB_CR A where isnull(CKName,'''')=''机物料'' '); SQL.Add(' and A.CRFlag=''入库'' and ZFFlag=0 '); if CheckBox1.Checked=false then begin SQL.Add(' and MXKCQty>0 '); end; Open; end; SCreateCDS20(ADOQueryMain,CDS_Main); SInitCDSData20(ADOQueryMain,CDS_Main); finally ADOQueryMain.EnableControls; end; end; procedure TfrmShaKCListJWL.TBRafreshClick(Sender: TObject); begin InitGrid(); end; procedure TfrmShaKCListJWL.ConNoMChange(Sender: TObject); begin if ADOQueryMain.Active then begin SDofilter(ADOQueryMain,SGetFilters(Panel1,1,2)); end; end; procedure TfrmShaKCListJWL.TBCloseClick(Sender: TObject); begin WriteCxGrid('机物料库存列表',Tv1,'机物料仓库'); Close; end; procedure TfrmShaKCListJWL.FormShow(Sender: TObject); begin ReadCxGrid('机物料库存列表',Tv1,'机物料仓库'); if FDYFlag='99' then begin InitGrid(); TBFind.Click; end; end; procedure TfrmShaKCListJWL.TBFindClick(Sender: TObject); begin if ADOQueryMain.Active then begin SDofilter(ADOQueryMain,SGetFilters(Panel1,1,2)); SCreateCDS20(ADOQueryMain,CDS_Main); SInitCDSData20(ADOQueryMain,CDS_Main); end; end; procedure TfrmShaKCListJWL.MPRTCodeNameChange(Sender: TObject); begin TBFind.Click; end; procedure TfrmShaKCListJWL.N1Click(Sender: TObject); begin SelOKNo(CDS_Main,True); end; procedure TfrmShaKCListJWL.N2Click(Sender: TObject); begin SelOKNo(CDS_Main,False); end; procedure TfrmShaKCListJWL.SXBatchNOChange(Sender: TObject); begin TBFind.Click; end; procedure TfrmShaKCListJWL.FactoryNameChange(Sender: TObject); begin TBFind.Click; end; procedure TfrmShaKCListJWL.ToolButton2Click(Sender: TObject); begin if CDS_Main.IsEmpty then exit; TcxGridToExcel('机物料库存列表',cxGrid2); end; procedure TfrmShaKCListJWL.Tv1DblClick(Sender: TObject); begin Clipboard.SetTextBuf(PChar(Trim(CDS_Main.fieldbyname(TV1.Controller.FocusedColumn.DataBinding.FilterFieldName).AsString))); end; end.