unit U_CollectList; 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, cxPC, cxDropDownEdit, cxLookAndFeels, cxLookAndFeelPainters, cxNavigator, dxBarBuiltInMenu, dxSkinsCore, dxSkinsDefaultPainters, dxDateRanges, U_BaseList, Vcl.Menus, Vcl.Clipbrd, dxSkinWXI, dxScrollbarAnnotations, cxCalc; type TfrmCollectList = class(TfrmBaseList) ToolBar1: TToolBar; TBRafresh: TToolButton; btnDel: TToolButton; TBClose: TToolButton; ADOQueryTemp: TADOQuery; ADOQueryCmd: TADOQuery; Panel1: TPanel; ADOQueryMain: TADOQuery; RM1: TRMGridReport; RMDB_Main: TRMDBDataSet; Label3: TLabel; OppCoName: TEdit; cxGrid1: TcxGrid; Tv1: TcxGridDBTableView; v2CRTime: TcxGridDBColumn; cxGridLevel1: TcxGridLevel; begdate: TDateTimePicker; Enddate: TDateTimePicker; GPM_1: TcxGridPopupMenu; DS_1: TDataSource; CDS_1: TClientDataSet; btnAdd: TToolButton; v2FactoryName: TcxGridDBColumn; F_Name: TEdit; Label4: TLabel; CheckBox1: TCheckBox; Label6: TLabel; F_Code: TEdit; v2OrderNo: TcxGridDBColumn; cxTabControl1: TcxTabControl; Label10: TLabel; ConNo: TEdit; Label11: TLabel; BuyConNo: TEdit; v2Column2: TcxGridDBColumn; btnChk: TToolButton; btnReChk: TToolButton; PopupMenu1: TPopupMenu; N1: TMenuItem; ToolButton4: TToolButton; Label2: TLabel; OppParentCoName: TEdit; ToolButton5: TToolButton; N2: TMenuItem; btnEdit: TToolButton; Tv1Column1: TcxGridDBColumn; Tv1Column2: TcxGridDBColumn; Tv1Column3: TcxGridDBColumn; Tv1Column17: TcxGridDBColumn; Tv1Column18: TcxGridDBColumn; Tv1Column19: TcxGridDBColumn; Tv1Column20: TcxGridDBColumn; Tv1Column21: TcxGridDBColumn; Tv1Column22: TcxGridDBColumn; ToolButton7: TToolButton; ToolButton8: TToolButton; Tv1Column4: TcxGridDBColumn; Tv1Column5: TcxGridDBColumn; ToolButton9: TToolButton; N3: TMenuItem; Tv1Column6: TcxGridDBColumn; Tv1Column7: TcxGridDBColumn; Tv1Column8: TcxGridDBColumn; Tv1Column9: TcxGridDBColumn; ToolButton1: TToolButton; Tv1Column10: TcxGridDBColumn; Tv1Column11: TcxGridDBColumn; ToolButton2: TToolButton; ToolButton3: TToolButton; ToolButton6: TToolButton; Panel2: TPanel; Panel3: TPanel; Label1: TLabel; Label5: TLabel; SXFAmount: TEdit; JHExchangeRate: TEdit; Button1: TButton; Button2: TButton; FFID: TEdit; Tv1Column12: TcxGridDBColumn; Tv1Column13: TcxGridDBColumn; Tv1Column14: TcxGridDBColumn; Tv1Column15: TcxGridDBColumn; DKAmount: TEdit; Label7: TLabel; procedure FormClose(Sender: TObject; var Action: TCloseAction); procedure TBCloseClick(Sender: TObject); procedure btnDelClick(Sender: TObject); procedure FormShow(Sender: TObject); procedure TBRafreshClick(Sender: TObject); procedure cxGridDBColumn5PropertiesEditValueChanged(Sender: TObject); procedure btnAddClick(Sender: TObject); procedure OppCoNameKeyPress(Sender: TObject; var Key: Char); procedure cxTabControl1Change(Sender: TObject); procedure btnChkClick(Sender: TObject); procedure btnReChkClick(Sender: TObject); procedure N1Click(Sender: TObject); procedure ToolButton4Click(Sender: TObject); procedure ToolButton5Click(Sender: TObject); procedure N2Click(Sender: TObject); procedure btnEditClick(Sender: TObject); procedure ToolButton7Click(Sender: TObject); procedure ToolButton8Click(Sender: TObject); procedure ToolButton9Click(Sender: TObject); procedure N3Click(Sender: TObject); procedure ToolButton1Click(Sender: TObject); procedure ToolButton2Click(Sender: TObject); procedure ToolButton3Click(Sender: TObject); procedure Tv1CustomDrawCell(Sender: TcxCustomGridTableView; ACanvas: TcxCanvas; AViewInfo: TcxGridTableDataCellViewInfo; var ADone: Boolean); procedure Button1Click(Sender: TObject); procedure JHExchangeRateKeyPress(Sender: TObject; var Key: Char); procedure ToolButton6Click(Sender: TObject); procedure Button2Click(Sender: TObject); private procedure InitGrid(); procedure SetStatus(); public FAuthority: string; end; implementation uses U_DataLink, U_RTFun, U_CollectInput, U_ZDYHelp, U_CollectWriteOff, U_CollectWriteOffList, U_AttachmentUpload; {$R *.dfm} procedure TfrmCollectList.SetStatus(); begin btnChk.Enabled := false; //审核 btnReChk.Enabled := false; //撤销 btnAdd.Enabled := false; //新增 btnEdit.Enabled := false; //修改 btnDel.Enabled := false; //删除 ToolButton2.Enabled := false; //完成核销 ToolButton3.Enabled := false; //撤销完成 // if Trim(FAuthority) = '管理' then begin btnAdd.Enabled := true; case cxTabControl1.TabIndex of 0: begin btnEdit.Enabled := true; btnDel.Enabled := true; btnChk.Enabled := true; end; 1: begin btnReChk.Enabled := true; ToolButton2.Enabled := true; ToolButton3.Enabled := true; end; 2: begin end; end; end; end; procedure TfrmCollectList.InitGrid(); var WSql: string; begin WSql := SGetFilters(Panel1, 1, 2); if Trim(WSql) <> '' then WSql := ' and ' + WSql else CheckBox1.Checked := True; try ADOQueryMain.DisableControls; with ADOQueryMain do begin Close; SQL.Clear; Filtered := False; sql.Add(' select IsFJ=cast((case when (select COUNT(T.WBID) from FJ_File T where T.TFType = ''SD'' and T.WBID=A.FFID)=0 then 0 else 1 end) as bit )'); sql.Add(',Amount=(Case when ISNULL(A.RegType,'''')=''收款'' then -1*Amount else Amount end)'); sql.Add(',SSAmount=(Case when ISNULL(A.RegType,'''')=''收款'' then -1*Amount else Amount end)-ISNULL(A.SXFAmount,0)'); sql.Add(',SSCNYAmount=((Case when ISNULL(A.RegType,'''')=''收款'' then -1*Amount else Amount end) '); sql.Add('-ISNULL(A.SXFAmount,0))*ISNULL((Case when Currency=''CNY'' then 1 else A.JHExchangeRate end),1)'); SQL.Add(',A.*,Saleser=(select Top 1 Saleser from BS_Company X where X.CoAbbrName=A.OppCoName)'); sql.Add(' from Finance_Flow A where A.FFType=''收款登记'' '); case cxTabControl1.TabIndex of 0: begin sql.Add(' and isnull(status,''0'')=''0'' '); end; 1: begin sql.Add(' and isnull(status,''0'')=''9'' '); end; end; if CheckBox1.Checked then begin sql.Add(' and ISNULL(A.FFTime,A.SQDate)>=''' + FormatDateTime('yyyy-MM-dd', begdate.DateTime) + ''' '); sql.Add(' and ISNULL(A.FFTime,A.SQDate)<''' + FormatDateTime('yyyy-MM-dd', Enddate.DateTime + 1) + ''' '); end; sql.Add(WSql); sql.Add('Order By A.HXFlag'); // showmessage(sql.text); Open; end; SCreateCDS(ADOQueryMain, CDS_1); SInitCDSData(ADOQueryMain, CDS_1); finally ADOQueryMain.EnableControls; TV1.DataController.Filter.Clear; end; end; procedure TfrmCollectList.JHExchangeRateKeyPress(Sender: TObject; var Key: Char); begin if not (((Key >= '0') and (Key <= '9')) or (Key = '.') or (Key = #8)) then begin Key := #0; end else if (pos('.', TEdit(Sender).text) <> 0) then begin if Key = '.' then begin Key := #0; end; end; end; procedure TfrmCollectList.N1Click(Sender: TObject); begin SelOKNo(cds_1, true); end; procedure TfrmCollectList.N2Click(Sender: TObject); begin Clipboard.SetTextBuf(PChar(Trim(CDS_1.fieldbyname(TV1.Controller.FocusedColumn.DataBinding.FilterFieldName).AsString))); end; procedure TfrmCollectList.N3Click(Sender: TObject); begin SelOKNo(cds_1, false); end; procedure TfrmCollectList.FormClose(Sender: TObject; var Action: TCloseAction); begin inherited; Action := caFree; end; procedure TfrmCollectList.TBCloseClick(Sender: TObject); begin Close; end; procedure TfrmCollectList.btnDelClick(Sender: TObject); var FFFIDS: string; begin if CDS_1.IsEmpty then exit; if not CDS_1.Locate('SSel', True, []) then begin application.MessageBox('请选择数据', '提示'); Exit; end; with ADOQueryTemp do begin Close; SQL.Clear; sql.Add(' select * from Trade_Plan_Main where OrderNo = ' + QuotedStr(CDS_1.FieldByName('OrderNo').AsString) + ' and status = ''10'' '); open; end; if not ADOQueryTemp.IsEmpty then begin application.MessageBox('计划单已完成,无法删除', '提示'); Exit; end; with CDS_1 do begin DisableControls; while CDS_1.Locate('SSel', True, []) do begin FFFIDS := FFFIDS + Trim(CDS_1.fieldbyname('FFID').AsString) + ','; CDS_1.Delete; end; EnableControls; end; try with ADOQueryCmd do begin Close; sql.Clear; sql.Add(' exec P_Fin_Flow_Del '); sql.Add(' @FFIDS=' + QuotedStr(FFFIDS)); Sql.Add(',@DCode=' + quotedstr(Trim(DCode))); Sql.Add(',@DName=' + quotedstr(Trim(DName))); open; end; if ADOQueryCmd.FieldByName('intReturn').AsInteger = -1 then raise Exception.Create(pchar(trim(ADOQueryCmd.FieldByName('ShowMsg').AsString))); application.MessageBox('删除成功', '提示'); except application.MessageBox(PChar(Exception(ExceptObject).Message), '提示信息', 0); InitGrid(); end; end; procedure TfrmCollectList.FormShow(Sender: TObject); begin inherited; ReadCxGrid(trim(Self.Caption), Tv1, '财务管理'); Enddate.DateTime := SGetServerDate(ADOQueryTemp); begdate.DateTime := Enddate.DateTime - 91; SetStatus(); InitGrid(); end; procedure TfrmCollectList.TBRafreshClick(Sender: TObject); begin begdate.SetFocus; InitGrid(); end; procedure TfrmCollectList.cxGridDBColumn5PropertiesEditValueChanged(Sender: TObject); var mvalue, FFieldName: string; FPS, FQty, FPrice, FQTFee, FMoney, FZKMoney: Double; begin FFieldName := Trim(Tv1.Controller.FocusedColumn.DataBinding.FilterFieldName); mvalue := TcxTextEdit(Sender).EditingText; if Trim(mvalue) = '' then begin mvalue := '0'; end; with CDS_1 do begin Edit; FieldByName(FFieldName).Value := Trim(mvalue); Post; FPS := CDS_1.fieldbyname('PS').AsFloat; FQty := CDS_1.fieldbyname('Qty').AsFloat; FQTFee := CDS_1.fieldbyname('QTFee').AsFloat; FPrice := CDS_1.fieldbyname('Price').AsFloat; FMoney := CDS_1.fieldbyname('Money').AsFloat; FZKMoney := CDS_1.fieldbyname('ZKMoney').AsFloat; end; if Trim(FFieldName) <> 'Money' then begin FMoney := FQty * FPrice + FQTFee - FZKMoney; end; with CDS_1 do begin Edit; FieldByName('Money').Value := FMoney; Post; end; with ADOQueryCmd do begin Close; SQL.Clear; sql.Add('update Finance_Flow set ' + FFieldName + '=' + Trim(mvalue)); if Trim(FFieldName) <> 'Money' then sql.Add(' ,Money=' + FloatToStr(FMoney)); sql.Add('where FFID=' + quotedstr(Trim(CDS_1.fieldbyname('FFID').AsString))); ExecSQL; end; Tv1.Controller.EditingController.ShowEdit(); end; procedure TfrmCollectList.btnChkClick(Sender: TObject); var FFFIDS: string; begin if CDS_1.IsEmpty then exit; if not CDS_1.Locate('SSel', True, []) then begin application.MessageBox('请选择数据', '提示'); Exit; end; with CDS_1 do begin DisableControls; while CDS_1.Locate('SSel', True, []) do begin FFFIDS := FFFIDS + Trim(CDS_1.fieldbyname('FFID').AsString) + ','; CDS_1.Delete; end; EnableControls; end; try ADOQueryCmd.Connection.BeginTrans; with ADOQueryCmd do begin Close; sql.Clear; sql.Add(' exec P_Fin_Flow_SetStatus_SK '); sql.Add(' @FFIDS=' + QuotedStr(FFFIDS)); sql.Add(',@Operation=''审核'' '); Sql.Add(',@DCode=' + quotedstr(Trim(DCode))); Sql.Add(',@DName=' + quotedstr(Trim(DName))); open; end; if ADOQueryCmd.FieldByName('intReturn').AsInteger = -1 then raise Exception.Create(pchar(trim(ADOQueryCmd.FieldByName('ShowMsg').AsString))); with ADOQueryCmd do begin Close; sql.Clear; sql.Add(' exec P_Fin_In_Bank_Flow '); sql.Add(' @FFIDS=' + QuotedStr(FFFIDS)); Sql.Add(',@DCode=' + quotedstr(Trim(DCode))); Sql.Add(',@DName=' + quotedstr(Trim(DName))); open; end; if ADOQueryCmd.FieldByName('intReturn').AsInteger = -1 then raise Exception.Create(pchar(trim(ADOQueryCmd.FieldByName('ShowMsg').AsString))); ADOQueryCmd.Connection.CommitTrans; application.MessageBox('审核成功', '提示'); except ADOQueryCmd.Connection.RollbackTrans; application.MessageBox(PChar(Exception(ExceptObject).Message), '提示信息', 0); InitGrid(); end; end; procedure TfrmCollectList.btnReChkClick(Sender: TObject); var FFFIDS: string; begin if CDS_1.IsEmpty then exit; if not CDS_1.Locate('SSel', True, []) then begin application.MessageBox('请选择数据', '提示'); Exit; end; with CDS_1 do begin DisableControls; while CDS_1.Locate('SSel', True, []) do begin FFFIDS := FFFIDS + Trim(CDS_1.fieldbyname('FFID').AsString) + ','; CDS_1.Delete; end; EnableControls; end; try ADOQueryCmd.Connection.BeginTrans; with ADOQueryCmd do begin Close; sql.Clear; sql.Add(' exec P_Fin_Flow_SetStatus_SK '); sql.Add(' @FFIDS=' + QuotedStr(FFFIDS)); sql.Add(',@Operation=''撤销审核'' '); Sql.Add(',@DCode=' + quotedstr(Trim(DCode))); Sql.Add(',@DName=' + quotedstr(Trim(DName))); open; end; if ADOQueryCmd.FieldByName('intReturn').AsInteger = -1 then raise Exception.Create(pchar(trim(ADOQueryCmd.FieldByName('ShowMsg').AsString))); with ADOQueryCmd do begin Close; sql.Clear; sql.Add(' exec P_Fin_In_Bank_Flow '); sql.Add(' @FFIDS=' + QuotedStr(FFFIDS)); Sql.Add(',@DCode=' + quotedstr(Trim(DCode))); Sql.Add(',@DName=' + quotedstr(Trim(DName))); open; end; if ADOQueryCmd.FieldByName('intReturn').AsInteger = -1 then raise Exception.Create(pchar(trim(ADOQueryCmd.FieldByName('ShowMsg').AsString))); ADOQueryCmd.Connection.CommitTrans; application.MessageBox('撤销审核成功', '提示'); except ADOQueryCmd.Connection.RollbackTrans; application.MessageBox(PChar(Exception(ExceptObject).Message), '提示信息', 0); InitGrid(); end; end; procedure TfrmCollectList.Button1Click(Sender: TObject); begin Panel2.Visible := False; JHExchangeRate.text := ''; SXFAmount.text := ''; end; procedure TfrmCollectList.Button2Click(Sender: TObject); var PJHExchangeRate: string; PSXFAmount: string; begin if FFID.Text <> '' then begin if JHExchangeRate.Text <> '' then PJHExchangeRate := JHExchangeRate.Text else PJHExchangeRate := 'Null'; if SXFAmount.Text <> '' then PSXFAmount := SXFAmount.Text else PSXFAmount := 'Null'; with ADOQueryCmd do begin Close; sql.Clear; sql.Add('UPdate Finance_Flow '); sql.Add(' Set JHExchangeRate=' + Trim(PJHExchangeRate) + ''); sql.Add(',SXFAmount=' + Trim(PSXFAmount) + ''); SQL.Add(' where FFID=''' + Trim(FFID.Text) + ''''); sql.Add('UPdate Finance_WriteOff '); sql.Add(' Set WoJHExchangeRate=' + Trim(PJHExchangeRate) + ''); // sql.Add(',SXFAmount=''' + Trim(SXFAmount.Text) + ''''); SQL.Add(' where FromId=''' + Trim(FFID.Text) + ''''); sql.Add('UPDATE f'); sql.Add('SET f.WoSXFAmount = '); sql.Add(' CASE '); sql.Add(' WHEN t.Amount = 0 OR t.Amount IS NULL THEN 0'); sql.Add(' ELSE (f.WoAmount / t.Amount) * ' + Trim(PSXFAmount) + ''); sql.Add(' END'); sql.Add('FROM Finance_WriteOff f'); sql.Add('CROSS APPLY ('); sql.Add(' SELECT Amount '); sql.Add(' FROM Finance_Flow '); sql.Add(' WHERE FFID = ''' + Trim(FFID.Text) + ''''); sql.Add(') t'); sql.Add('WHERE f.FromId = ''' + Trim(FFID.Text) + ''''); // ShowMessage(sql.Text); execsql; end; end; Application.MessageBox('保存成功!', '提示', 0); Button1.Click; end; procedure TfrmCollectList.btnAddClick(Sender: TObject); begin try frmCollectInput := TfrmCollectInput.Create(Application); with frmCollectInput do begin FFFID := ''; if ShowModal = 1 then begin InitGrid(); end; end; finally frmCollectInput.Free; end; end; procedure TfrmCollectList.ToolButton1Click(Sender: TObject); begin try frmCollectInput := TfrmCollectInput.Create(Application); with frmCollectInput do begin FFFID := Trim(SELF.CDS_1.fieldbyname('FFID').AsString); PState := '复制'; if ShowModal = 1 then begin InitGrid(); end; end; finally frmCollectInput.Free; end; end; procedure TfrmCollectList.ToolButton2Click(Sender: TObject); var FFFIDS: string; begin if CDS_1.IsEmpty then exit; if not CDS_1.Locate('SSel', True, []) then begin application.MessageBox('请选择数据', '提示'); Exit; end; with CDS_1 do begin DisableControls; while CDS_1.Locate('SSel', True, []) do begin FFFIDS := FFFIDS + Trim(CDS_1.fieldbyname('FFID').AsString) + ','; CDS_1.Delete; end; EnableControls; end; try ADOQueryCmd.Connection.BeginTrans; with ADOQueryCmd do begin Close; sql.Clear; sql.Add(' exec P_Fin_Flow_SetStatus_HX '); sql.Add(' @FFIDS=' + QuotedStr(FFFIDS)); sql.Add(',@Operation=''核销完成'' '); Sql.Add(',@DCode=' + quotedstr(Trim(DCode))); Sql.Add(',@DName=' + quotedstr(Trim(DName))); open; end; if ADOQueryCmd.FieldByName('intReturn').AsInteger = -1 then raise Exception.Create(pchar(trim(ADOQueryCmd.FieldByName('ShowMsg').AsString))); ADOQueryCmd.Connection.CommitTrans; application.MessageBox('核销完成成功', '提示'); InitGrid(); except ADOQueryCmd.Connection.RollbackTrans; application.MessageBox(PChar(Exception(ExceptObject).Message), '提示信息', 0); InitGrid(); end; end; procedure TfrmCollectList.ToolButton3Click(Sender: TObject); var FFFIDS: string; begin if CDS_1.IsEmpty then exit; if not CDS_1.Locate('SSel', True, []) then begin application.MessageBox('请选择数据', '提示'); Exit; end; with CDS_1 do begin DisableControls; while CDS_1.Locate('SSel', True, []) do begin FFFIDS := FFFIDS + Trim(CDS_1.fieldbyname('FFID').AsString) + ','; CDS_1.Delete; end; EnableControls; end; try ADOQueryCmd.Connection.BeginTrans; with ADOQueryCmd do begin Close; sql.Clear; sql.Add(' exec P_Fin_Flow_SetStatus_HX '); sql.Add(' @FFIDS=' + QuotedStr(FFFIDS)); sql.Add(',@Operation=''撤销核销'' '); Sql.Add(',@DCode=' + quotedstr(Trim(DCode))); Sql.Add(',@DName=' + quotedstr(Trim(DName))); open; end; if ADOQueryCmd.FieldByName('intReturn').AsInteger = -1 then raise Exception.Create(pchar(trim(ADOQueryCmd.FieldByName('ShowMsg').AsString))); ADOQueryCmd.Connection.CommitTrans; application.MessageBox('撤销核销成功', '提示'); InitGrid(); except ADOQueryCmd.Connection.RollbackTrans; application.MessageBox(PChar(Exception(ExceptObject).Message), '提示信息', 0); InitGrid(); end; end; procedure TfrmCollectList.ToolButton4Click(Sender: TObject); begin if ADOQueryMain.IsEmpty then Exit; TcxGridToExcel(self.Caption, cxgrid1); end; procedure TfrmCollectList.ToolButton5Click(Sender: TObject); begin WriteCxGrid(trim(Self.Caption), Tv1, '财务管理'); end; procedure TfrmCollectList.ToolButton6Click(Sender: TObject); begin FFID.text := trim(CDS_1.fieldbyname('FFID').AsString); Panel2.Left := (self.width - Panel2.width) div 2; Panel2.Top := 330; Panel2.Visible := True; end; procedure TfrmCollectList.btnEditClick(Sender: TObject); begin with ADOQueryTemp do begin Close; SQL.Clear; sql.Add(' select * from Trade_Plan_Main where OrderNo = ' + QuotedStr(CDS_1.FieldByName('OrderNo').AsString) + ' and status = ''10'' '); open; end; if not ADOQueryTemp.IsEmpty then begin application.MessageBox('计划单已完成,无法修改', '提示'); Exit; end; try with ADOQueryCmd do begin Close; sql.Clear; sql.Add(' exec P_Fin_Flow_Judge '); sql.Add(' @FFIDS=' + QuotedStr(Trim(SELF.CDS_1.fieldbyname('FFID').AsString))); Sql.Add(',@DCode=' + quotedstr(Trim(DCode))); Sql.Add(',@DName=' + quotedstr(Trim(DName))); open; end; if ADOQueryCmd.FieldByName('intReturn').AsInteger = -1 then raise Exception.Create(pchar(trim(ADOQueryCmd.FieldByName('ShowMsg').AsString))); except application.MessageBox(PChar(Exception(ExceptObject).Message), '提示信息', 0); Exit; end; try frmCollectInput := TfrmCollectInput.Create(Application); with frmCollectInput do begin FFFID := Trim(SELF.CDS_1.fieldbyname('FFID').AsString); if ShowModal = 1 then begin InitGrid(); end; end; finally frmCollectInput.Free; end; end; procedure TfrmCollectList.ToolButton7Click(Sender: TObject); begin if CDS_1.IsEmpty then exit; with ADOQueryTemp do begin Close; sql.Clear; sql.Add(' select * from Finance_Flow'); sql.Add(' where FFID=''' + Trim(CDS_1.fieldbyname('FFID').AsString) + ''''); SQL.Add(' and status=''9'' '); Open; end; if ADOQueryTemp.IsEmpty then begin Application.MessageBox('未审核数据,不能操作!', '提示', 0); Exit; end; frmCollectWriteOff := TfrmCollectWriteOff.create(self); with frmCollectWriteOff do begin FFFID := CDS_1.fieldbyname('FFID').AsString; FOppCoNo := CDS_1.fieldbyname('OppCoNo').AsString; FOurCoName := CDS_1.fieldbyname('OurCoName').AsString; if showmodal = 1 then begin end; free; end; end; procedure TfrmCollectList.ToolButton8Click(Sender: TObject); begin frmCollectWriteOffList := TfrmCollectWriteOffList.create(self); with frmCollectWriteOffList do begin FromId.text := Self.CDS_1.fieldbyname('FFID').AsString; if showmodal = 1 then begin end; free; end; end; procedure TfrmCollectList.ToolButton9Click(Sender: TObject); begin if CDS_1.IsEmpty then Exit; try frmAttachmentUpload := TfrmAttachmentUpload.Create(Application); with frmAttachmentUpload do begin if Trim(Self.CDS_1.fieldbyname('filler').AsString) = dname then FEditAuthority := True; fkeyNO := Trim(Self.CDS_1.fieldbyname('FFID').AsString); fType := 'SD'; if ShowModal = 1 then begin end; end; finally frmAttachmentUpload.Free; end; end; procedure TfrmCollectList.Tv1CustomDrawCell(Sender: TcxCustomGridTableView; ACanvas: TcxCanvas; AViewInfo: TcxGridTableDataCellViewInfo; var ADone: Boolean); begin if AViewInfo.GridRecord.Values[tv1.GetColumnByFieldName('HXFlag').Index] <> '已核销' then ACanvas.Brush.Color := clWebOrange; end; procedure TfrmCollectList.OppCoNameKeyPress(Sender: TObject; var Key: Char); begin if Key = #13 then begin InitGrid(); end; end; procedure TfrmCollectList.cxTabControl1Change(Sender: TObject); begin SetStatus(); InitGrid(); end; end.