unit U_ShaKCListJWLSEL; 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, cxLookAndFeels, cxLookAndFeelPainters, cxNavigator; type TfrmShaKCListJWLsel = 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; 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; Tv1Column1: TcxGridDBColumn; ToolButton1: TToolButton; 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); procedure ToolButton1Click(Sender: TObject); private procedure InitGrid(); { Private declarations } public FDYFlag: string; { Public declarations } end; var frmShaKCListJWLsel: TfrmShaKCListJWLsel; implementation uses U_DataLink, U_RTFun; {$R *.dfm} procedure TfrmShaKCListJWLsel.FormDestroy(Sender: TObject); begin frmShaKCListJWLSEL := nil; end; procedure TfrmShaKCListJWLsel.FormClose(Sender: TObject; var Action: TCloseAction); begin Action := caFree; end; procedure TfrmShaKCListJWLsel.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 TfrmShaKCListJWLsel.TBRafreshClick(Sender: TObject); begin InitGrid(); end; procedure TfrmShaKCListJWLsel.ConNoMChange(Sender: TObject); begin if ADOQueryMain.Active then begin SDofilter(ADOQueryMain, SGetFilters(Panel1, 1, 2)); end; end; procedure TfrmShaKCListJWLsel.TBCloseClick(Sender: TObject); begin WriteCxGrid('机物料库存选择列表', Tv1, '机物料仓库'); Close; end; procedure TfrmShaKCListJWLsel.FormShow(Sender: TObject); begin ReadCxGrid('机物料库存选择列表', Tv1, '机物料仓库'); InitGrid(); TBFind.Click; end; procedure TfrmShaKCListJWLsel.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 TfrmShaKCListJWLsel.MPRTCodeNameChange(Sender: TObject); begin TBFind.Click; end; procedure TfrmShaKCListJWLsel.N1Click(Sender: TObject); begin SelOKNo(CDS_Main, True); end; procedure TfrmShaKCListJWLsel.N2Click(Sender: TObject); begin SelOKNo(CDS_Main, False); end; procedure TfrmShaKCListJWLsel.SXBatchNOChange(Sender: TObject); begin TBFind.Click; end; procedure TfrmShaKCListJWLsel.FactoryNameChange(Sender: TObject); begin TBFind.Click; end; procedure TfrmShaKCListJWLsel.ToolButton2Click(Sender: TObject); begin if CDS_Main.IsEmpty then exit; TcxGridToExcel('机物料库存列表', cxGrid2); end; procedure TfrmShaKCListJWLsel.Tv1DblClick(Sender: TObject); begin Clipboard.SetTextBuf(PChar(Trim(CDS_Main.fieldbyname(TV1.Controller.FocusedColumn.DataBinding.FilterFieldName).AsString))); end; procedure TfrmShaKCListJWLsel.ToolButton1Click(Sender: TObject); begin if CDS_Main.IsEmpty then Exit; ModalResult := 1; end; end.