unit U_CWFKList; 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, cxDropDownEdit, cxPC, cxLookAndFeels, cxLookAndFeelPainters, cxNavigator, dxBarBuiltInMenu, dxSkinsCore, dxSkinsDefaultPainters, dxDateRanges, U_BaseList, ComObj; type FdDy = record inc: integer; //¿Í»§¶ËÌ×½Ó×Ö¾ä±ú FDdys: string[32]; //¿Í»§¶ËÌ×½Ó×Ö FdDysName: string[32]; //¿Í»§¶ËÌ×½Ó×Ö end; TfrmCWFKList = class(TfrmBaseList) ToolBar1: TToolBar; TBRafresh: TToolButton; TBDel: TToolButton; TBClose: TToolButton; ADOQueryTemp: TADOQuery; ADOQueryCmd: TADOQuery; Panel1: TPanel; Label1: TLabel; YFName: TEdit; ADOQueryMain: TADOQuery; RM1: TRMGridReport; RMDB_Main: TRMDBDataSet; Label3: TLabel; KHNameHZ: TEdit; Label2: TLabel; Label6: TLabel; begdate: TDateTimePicker; Enddate: TDateTimePicker; cxGridPopupMenu2: TcxGridPopupMenu; DS_1: TDataSource; ToolButton3: TToolButton; Label8: TLabel; HZFactoryName: TEdit; cxGrid1: TcxGrid; Tv1: TcxGridDBTableView; VDate: TcxGridDBColumn; VFTYName: TcxGridDBColumn; VYFName: TcxGridDBColumn; VPayMent: TcxGridDBColumn; VYB: TcxGridDBColumn; VNote: TcxGridDBColumn; cxGridLevel1: TcxGridLevel; v2Column1: TcxGridDBColumn; v2Column3: TcxGridDBColumn; v2Column4: TcxGridDBColumn; v2Column5: TcxGridDBColumn; v2Column6: TcxGridDBColumn; v2Column7: TcxGridDBColumn; Label5: TLabel; BankName: TEdit; Label7: TLabel; BankNo: TEdit; Label9: TLabel; ComTaiTou: TEdit; v2Column8: TcxGridDBColumn; v2Column9: TcxGridDBColumn; cxTabControl1: TcxTabControl; v2Column2: TcxGridDBColumn; v2Column10: TcxGridDBColumn; v2Column12: TcxGridDBColumn; v2Column15: TcxGridDBColumn; v2Column16: TcxGridDBColumn; CDS_1: TClientDataSet; ToolButton1: TToolButton; ToolButton2: TToolButton; ToolButton4: TToolButton; ToolButton5: TToolButton; Tv1Column1: TcxGridDBColumn; Tv1Column2: TcxGridDBColumn; Tv1Column3: TcxGridDBColumn; Tv1Column4: TcxGridDBColumn; Tv1Column5: TcxGridDBColumn; Tv1Column6: TcxGridDBColumn; Tv1Column7: TcxGridDBColumn; Tv1Column8: TcxGridDBColumn; Tv1Column9: TcxGridDBColumn; Tv1Column10: TcxGridDBColumn; Tv1Column11: TcxGridDBColumn; Tv1Column12: TcxGridDBColumn; Tv1Column13: TcxGridDBColumn; Tv1Column14: TcxGridDBColumn; ToolButton6: TToolButton; Panel2: TPanel; OpenDialog1: TOpenDialog; Tv1Column15: TcxGridDBColumn; Tv1Column16: TcxGridDBColumn; ToolButton7: TToolButton; ToolButton8: TToolButton; procedure FormClose(Sender: TObject; var Action: TCloseAction); procedure TBCloseClick(Sender: TObject); procedure TBDelClick(Sender: TObject); procedure FormShow(Sender: TObject); procedure TBRafreshClick(Sender: TObject); procedure ToolButton3Click(Sender: TObject); procedure cxGridDBColumn3PropertiesButtonClick(Sender: TObject; AButtonIndex: Integer); procedure FormCreate(Sender: TObject); procedure VPayMentPropertiesButtonClick(Sender: TObject; AButtonIndex: Integer); procedure v2Column5PropertiesButtonClick(Sender: TObject; AButtonIndex: Integer); procedure v2Column6PropertiesButtonClick(Sender: TObject; AButtonIndex: Integer); procedure v2Column9PropertiesEditValueChanged(Sender: TObject); procedure cxTabControl1Change(Sender: TObject); procedure TextEdit(Sender: TObject); procedure KHNameHZKeyPress(Sender: TObject; var Key: Char); procedure ToolButton1Click(Sender: TObject); procedure ToolButton2Click(Sender: TObject); procedure ToolButton4Click(Sender: TObject); procedure ToolButton5Click(Sender: TObject); procedure Tv1MouseDown(Sender: TObject; Button: TMouseButton; Shift: TShiftState; X, Y: Integer); procedure ButtonEdit(Sender: TObject; AButtonIndex: Integer); procedure v2Column10PropertiesEditValueChanged(Sender: TObject); procedure Tv1Column14PropertiesChange(Sender: TObject); procedure ToolButton6Click(Sender: TObject); procedure ToolButton7Click(Sender: TObject); procedure ToolButton8Click(Sender: TObject); private { Private declarations } canshu1: string; FLeft, FTop: Integer; procedure InitGrid(); function SaveData(): Boolean; public { Public declarations } RKFlag, FCYID, FZKType: string; dFdDy: array[0..20] of FdDy; //¿Í»§¶ËÁ¬½ÓÊý×é end; implementation uses U_DataLink, U_RTFun, U_ZDYHelp, U_GYSKPSel, U_CKFKHXList, U_FKHx, U_BankListSel, U_FjList10; {$R *.dfm} procedure TfrmCWFKList.InitGrid(); var WSql: string; begin WSql := SGetFilters(Panel1, 1, 2); if Trim(WSql) <> '' then WSql := ' and ' + WSql; try ADOQueryMain.DisableControls; with ADOQueryMain do begin Close; SQL.Clear; Filtered := False; sql.Add(' select A.*,WhxNum=Money-hxNum '); SQL.Add(',isfj=CAST((CASE WHEN (SELECT COUNT(*) FROM TP_FILE D WHERE D.WBID=A.cwid )>0 THEN 1 ELSE 0 END )AS BIT)'); sql.Add(' from CW_Money_CR A where A.CRType=''¸¶¿îµÇ¼Ç'' '); case cxTabControl1.TabIndex of 0: begin sql.Add(' and isnull(BZType,'''')=''$'' '); end; 1: begin sql.Add(' and isnull(BZType,'''')=''£¤'' '); end; 2: begin sql.Add(' and isnull(BZType,'''')=''€'' '); end; end; sql.Add(' and A.CRTime>=''' + FormatDateTime('yyyy-MM-dd', begdate.DateTime) + ''' '); sql.Add(' and CRTime<''' + FormatDateTime('yyyy-MM-dd', Enddate.DateTime + 1) + ''' '); sql.Add(WSql); // ShowMessage(SQL.Text); Open; end; SCreateCDS(ADOQueryMain, CDS_1); SInitCDSData(ADOQueryMain, CDS_1); finally ADOQueryMain.EnableControls; end; end; procedure TfrmCWFKList.KHNameHZKeyPress(Sender: TObject; var Key: Char); begin if Key = #13 then begin InitGrid(); end; end; procedure TfrmCWFKList.FormClose(Sender: TObject; var Action: TCloseAction); begin inherited; Action := caFree; end; procedure TfrmCWFKList.TBCloseClick(Sender: TObject); begin WriteCxGrid('¸¶¿îµÇ¼ÇDZ', TV1, '²ÆÎñ¹ÜÀí'); Close; end; procedure TfrmCWFKList.TBDelClick(Sender: TObject); var FBBMoney, CRID: string; begin if CDS_1.IsEmpty then Exit; if Trim(CDS_1.fieldbyname('CWID').AsString) <> '' then begin with ADOQueryCmd do begin Close; sql.Clear; sql.Add(' select * from CW_Money_CR'); sql.Add(' where CWID=''' + Trim(CDS_1.fieldbyname('CWID').AsString) + ''''); SQL.Add(' and status=''1'''); Open; end; if ADOQueryCmd.IsEmpty = False then begin Application.MessageBox('ÒÑÉóºËÊý¾Ý²»ÄÜɾ³ý!', 'Ìáʾ', 0); Exit; end; with ADOQueryTemp do begin Close; sql.Clear; sql.Add(' select * from CW_Bank_LS'); sql.Add(' where BLID=''' + Trim(CDS_1.fieldbyname('FromDataID1').AsString) + ''''); Open; end; if ADOQueryTemp.IsEmpty = False then begin Application.MessageBox('ÒøÐÐÁ÷Ë®Êý¾Ý²»ÄÜɾ³ý!', 'Ìáʾ', 0); Exit; end; if Application.MessageBox('È·¶¨ÒªÉ¾³ýÊý¾ÝÂð£¿', 'Ìáʾ', 32 + 4) <> IDYES then Exit; try ADOQueryCmd.Connection.BeginTrans; with ADOQueryCmd do begin close; sql.Clear; sql.Add(' insert into ZDel_CW_Money_CR '); sql.Add(' select * from CW_Money_CR where CWID=''' + Trim(CDS_1.fieldbyname('CWID').AsString) + ''''); sql.Add(' Update ZDel_CW_Money_CR Set DelTime=getdate(),DelName=''' + Trim(DName) + ''',DelCode=''' + Trim(DCode) + ''''); sql.Add(' where CWID=''' + Trim(CDS_1.fieldbyname('CWID').AsString) + ''''); sql.Add(' delete CW_Money_CR where CWID=''' + Trim(CDS_1.fieldbyname('CWID').AsString) + ''''); execsql; end; ADOQueryCmd.Connection.CommitTrans; CDS_1.Delete; except ADOQueryCmd.Connection.RollbackTrans; Application.MessageBox('ɾ³ýʧ°Ü!', 'Ìáʾ', 0); end; end; end; procedure TfrmCWFKList.FormShow(Sender: TObject); var fsj: string; begin inherited; ReadCxGrid('¸¶¿îµÇ¼ÇDZ', TV1, '²ÆÎñ¹ÜÀí'); Enddate.DateTime := SGetServerDate(ADOQueryTemp); begdate.DateTime := Enddate.DateTime - 50; InitGrid(); end; procedure TfrmCWFKList.TBRafreshClick(Sender: TObject); begin InitGrid(); end; function TfrmCWFKList.SaveData(): Boolean; var maxId, CRID: string; begin try ADOQueryCmd.Connection.BeginTrans; if GetLSNo(ADOQueryCmd, maxId, 'FK', 'CW_Money_CR', 4, 1) = False then begin Result := False; ADOQueryCmd.Connection.RollbackTrans; Application.MessageBox('È¡×î´óºÅʧ°Ü£¡', 'Ìáʾ', 0); Exit; end; with ADOQueryCmd do begin Close; SQL.Clear; sql.Add('select * from CW_Money_CR where 1<>1'); Open; end; with ADOQueryCmd do begin Append; FieldByName('CWID').Value := Trim(maxId); FieldByName('CRID').Value := '-99992'; FieldByName('Filler').Value := Trim(DName); FieldByName('Fillcode').Value := Trim(DCode); FieldByName('CRType').Value := '¸¶¿îµÇ¼Ç'; FieldByName('CRFlag').Value := 'Ó¦¸¶¸¶'; FieldByName('QtyFlag').Value := -1; FieldByName('FactoryNo').Value := Trim(CDS_1.fieldbyname('FactoryNo').AsString); FieldByName('BZType').Value := Trim(CDS_1.fieldbyname('BZType').AsString); FieldByName('lzCWID').Value := Trim(CDS_1.fieldbyname('lzCWID').AsString); FieldByName('FactoryName').Value := Trim(CDS_1.fieldbyname('FactoryName').AsString); FieldByName('HZFactoryNo').Value := Trim(CDS_1.fieldbyname('HZFactoryNo').AsString); FieldByName('HZFactoryName').Value := Trim(CDS_1.fieldbyname('HZFactoryName').AsString); FieldByName('bankno').Value := Trim(CDS_1.fieldbyname('bankno').AsString); FieldByName('BankName').Value := Trim(CDS_1.fieldbyname('BankName').AsString); FieldByName('BankHangHao').Value := Trim(CDS_1.fieldbyname('BankHangHao').AsString); FieldByName('CRTime').Value := SGetServerDate(ADOQueryTemp); FieldByName('ZKType').Value := Trim(FZKType); Post; end; with CDS_1 do begin Edit; FieldByName('CWID').Value := Trim(maxId); end; ADOQueryCmd.Connection.CommitTrans; Result := True; except Result := True; ADOQueryCmd.Connection.RollbackTrans; Application.MessageBox('ÔöÐÐʧ°Ü!', 'Ìáʾ', 0); end; end; procedure TfrmCWFKList.ToolButton1Click(Sender: TObject); begin if CDS_1.IsEmpty then exit; try with CDS_1 do begin DisableControls; First; while not Eof do begin if CDS_1.fieldbyname('SSel').AsBoolean then begin if Trim(CDS_1.fieldbyname('BankNo').AsString) = '' then begin CDS_1.EnableControls; Application.MessageBox('ÕË»§²»ÄÜΪ¿Õ£¬²»ÄܲÙ×÷!', 'Ìáʾ', 0); Exit; end; if Trim(CDS_1.fieldbyname('TOBankNo').AsString) = '' then begin CDS_1.EnableControls; Application.MessageBox('¶Ô·½ÕË»§²»ÄÜΪ¿Õ£¬²»ÄܲÙ×÷!', 'Ìáʾ', 0); Exit; end; with ADOQueryCmd do begin Close; sql.Clear; sql.Add(' select * from CW_Money_CR'); sql.Add(' where CWID=''' + Trim(CDS_1.fieldbyname('CWID').AsString) + ''''); SQL.Add(' and status=''1'' '); Open; end; if ADOQueryCmd.IsEmpty = False then begin CDS_1.EnableControls; Application.MessageBox('ÒÑÉóºËÊý¾Ý£¬²»ÄܲÙ×÷!', 'Ìáʾ', 0); Exit; end; with ADOQueryCmd do begin close; sql.Clear; sql.add('update CW_Money_CR set Chker=''' + trim(DName) + ''',Chktime=getdate(),status=''1'' '); sql.add('where CWID=''' + trim(CDS_1.fieldbyname('CWID').asstring) + ''' '); execsql; end; with ADOQueryCmd do begin close; sql.Clear; sql.Add(' exec P_CWLS_IN_FK @DataID=' + quotedstr(trim(CDS_1.fieldbyname('CWID').AsString))); Open; end; if ADOQueryCmd.FieldByName('intReturn').AsInteger = -1 then begin Application.MessageBox(PChar(ADOQueryCmd.fieldbyname('ShowMsg').AsString), 'Ìáʾ', 0); exit; end; CDS_1.Edit; CDS_1.FieldByName('status').Value := '1'; CDS_1.FieldByName('Chker').Value := DName; CDS_1.Post; end; Next; end; EnableControls; end; application.MessageBox('ÉóºË³É¹¦', 'Ìáʾ'); except CDS_1.EnableControls; application.MessageBox('ÉóºËʧ°Ü', 'Ìáʾ'); end; end; procedure TfrmCWFKList.ToolButton2Click(Sender: TObject); begin if CDS_1.IsEmpty then exit; try with CDS_1 do begin DisableControls; First; while not Eof do begin if CDS_1.fieldbyname('SSel').AsBoolean then begin // with ADOQueryCmd do // begin // Close; // sql.Clear; // sql.Add(' select * from CW_Money_CR'); // sql.Add(' where CWID=''' + Trim(CDS_1.fieldbyname('CWID').AsString) + ''''); // SQL.Add(' and Chker=' + QuotedStr(trim(DName))); // Open; // end; // // if ADOQueryCmd.IsEmpty then // begin // CDS_1.EnableControls; // Application.MessageBox('²»Äܳ·Ïú²»ÊÇ×Ô¼ºÉóºËµÄÊý¾Ý£¬²»ÄܲÙ×÷!', 'Ìáʾ', 0); // Exit; // end; with ADOQueryTemp do begin Close; sql.Clear; sql.Add(' select * from CW_Bank_LS'); sql.Add(' where BLID=''' + Trim(CDS_1.fieldbyname('FromDataID1').AsString) + ''''); Open; end; if ADOQueryTemp.IsEmpty = False then begin Application.MessageBox('ÒøÐÐÁ÷Ë®Êý¾Ý²»Äܳ·Ïú!', 'Ìáʾ', 0); Exit; end; with ADOQueryCmd do begin close; sql.Clear; sql.Add(' delete CW_Bank_LS where isnull(FromCWID,'''')<>'''' and FromCWID=' + quotedstr(trim(CDS_1.fieldbyname('CWID').AsString))); execsql; end; with ADOQueryCmd do begin close; sql.Clear; sql.add('update CW_Money_CR set Chker=null,Chktime=null,status=''0'' '); sql.add('where CWID=''' + trim(CDS_1.fieldbyname('CWID').asstring) + ''' '); execsql; end; CDS_1.Edit; CDS_1.FieldByName('status').Value := '0'; CDS_1.FieldByName('Chker').Value := ''; CDS_1.Post; end; Next; end; end; CDS_1.EnableControls; application.MessageBox('²Ù×÷³É¹¦', 'Ìáʾ'); except CDS_1.EnableControls; application.MessageBox('²Ù×÷ʧ°Ü', 'Ìáʾ'); end; end; procedure TfrmCWFKList.ToolButton3Click(Sender: TObject); var MFactoryNo, MFactoryName, MTOBankNo, MKPFactoryName, MBZType, maxId, MFactType: string; begin if GetLSNo(ADOQueryCmd, maxId, 'FK', 'CW_Money_CR', 4, 1) = False then begin ADOQueryCmd.Connection.RollbackTrans; Application.MessageBox('È¡×î´óºÅʧ°Ü£¡', 'Ìáʾ', 0); Exit; end; case cxTabControl1.TabIndex of 0: begin MBZType := '$'; end; 1: begin MBZType := '£¤'; end; 2: begin MBZType := '€'; end; end; try frmZDYHelp := TfrmZDYHelp.Create(Application); with frmZDYHelp do begin flag := 'GYSNAME'; flagname := '¹©Ó¦ÉÌÃû³Æ'; if ShowModal = 1 then begin with ClientDataSet1 do begin // MFactoryNo := Trim(Order_Main.fieldbyname('CoCode').AsString); MFactoryName := FieldByName('ZDYName').AsString; end; end; end; finally frmZDYHelp.Free; end; if trim(MFactoryName) = '' then Exit; try ADOQueryCmd.Connection.BeginTrans; with ADOQueryCmd do begin Close; SQL.Clear; sql.Add('select * from CW_Money_CR where 1<>1'); Open; end; with ADOQueryCmd do begin Append; FieldByName('CWID').Value := Trim(maxId); FieldByName('Filler').Value := Trim(DName); FieldByName('CRType').Value := '¸¶¿îµÇ¼Ç'; FieldByName('CRFlag').Value := 'Ó¦¸¶¸¶'; FieldByName('QtyFlag').Value := -1; FieldByName('FactoryNo').Value := MFactoryNo; FieldByName('FactoryName').Value := MFactoryName; FieldByName('HZFactoryNo').Value := MFactoryNo; FieldByName('HZFactoryName').Value := MFactoryName; FieldByName('KPFactoryName').Value := MKPFactoryName; FieldByName('TOBankNo').Value := MTOBankNo; FieldByName('CRTime').Value := formatdateTIme('yyyy-MM-dd', SGetServerDate(ADOQueryTemp)); FieldByName('BZType').Value := MBZType; FieldByName('FactType').Value := MFactType; Post; end; with Self.CDS_1 do begin Append; FieldByName('CWID').Value := Trim(maxId); FieldByName('FactoryNo').Value := MFactoryNo; FieldByName('FactoryName').Value := MFactoryName; FieldByName('HZFactoryNo').Value := MFactoryNo; FieldByName('HZFactoryName').Value := MFactoryName; FieldByName('KPFactoryName').Value := MKPFactoryName; FieldByName('TOBankNo').Value := MTOBankNo; FieldByName('CRTime').Value := SGetServerDate(ADOQueryTemp); FieldByName('BZType').Value := MBZType; FieldByName('FactType').Value := MFactType; Post; end; ADOQueryCmd.Connection.CommitTrans; except ADOQueryCmd.Connection.RollbackTrans; Application.MessageBox('ÔöÐÐʧ°Ü!', 'Ìáʾ', 0); end; end; procedure TfrmCWFKList.ToolButton4Click(Sender: TObject); begin if CDS_1.IsEmpty then exit; frmFkHx := TfrmFkHx.create(self); with frmFkHx do begin fkeyNo := CDS_1.fieldbyname('CWID').AsString; ffactoryNO := CDS_1.fieldbyname('factoryNo').AsString; FComTaiTou := CDS_1.fieldbyname('ComTaiTou').AsString; if showmodal = 1 then begin end; free; end; end; procedure TfrmCWFKList.ToolButton5Click(Sender: TObject); begin frmCKFKHXList := TfrmCKFKHXList.create(self); with frmCKFKHXList do begin FromId.text := Self.CDS_1.fieldbyname('CWID').AsString; if showmodal = 1 then begin end; free; end; end; procedure TfrmCWFKList.ToolButton6Click(Sender: TObject); var excelApp, WorkBook: Variant; i, j, k, LX, ExcelRowCount: integer; maxId, FCPID, FCPName, MAXNO, t1, t2, t3, MBZType: string; begin try excelApp := CreateOleObject('Excel.Application'); openDialog1.Filter := '*.CSV;*.xls'; if opendialog1.Execute then begin WorkBook := excelApp.WorkBooks.Open(OpenDialog1.FileName); end else exit; excelApp.Visible := false; ExcelRowCount := WorkBook.WorkSheets[1].UsedRange.Rows.Count; except application.MessageBox('¼ÓÔØEXCEL´íÎó£¡', '´íÎóÐÅÏ¢', MB_ICONERROR); exit; end; try k := 0; for i := 1 to 50 do begin if trim(excelApp.Cells[1, i].value) = '' then continue; //±éÀú½çÃæ°ó¶¨½çÃæÖÐÏÔʾµÄ×ֶκÍÃû³Æ for j := 0 to Tv1.ColumnCount - 1 do begin if trim(excelApp.Cells[1, i].value) = trim(Tv1.Columns[j].Caption) then begin dFdDy[k].inc := i; dFdDy[k].FDdys := trim(Tv1.Columns[j].DataBinding.FieldName); dFdDy[k].FdDysName := trim(Tv1.Columns[j].Caption); end; end; k := k + 1; end; except application.MessageBox('¼ÓÔØÊý×é´íÎó£¡', '´íÎóÐÅÏ¢', MB_ICONERROR); exit; end; case cxTabControl1.TabIndex of 0: begin MBZType := '$'; end; 1: begin MBZType := '£¤'; end; 2: begin MBZType := '€'; end; end; ADOQueryCmd.Connection.BeginTrans; panel2.Visible := true; try for i := 2 to ExcelRowCount do begin with ADOQueryCmd do begin close; sql.Clear; sql.Add('select * from CW_Money_CR where 1=2'); open; end; with ADOQueryCmd do begin ADOQueryCmd.Append; if GetLSNo(ADOQuerytemp, maxId, 'YFDR', 'CW_Money_CR', 4, 1) = False then begin Application.MessageBox('È¡×î´óºÅʧ°Ü£¡', 'Ìáʾ', 0); Exit; end; FieldByName('CWID').Value := Trim(maxId); FieldByName('Filler').Value := Trim(DName); FieldByName('CRType').Value := '¸¶¿îµÇ¼Ç'; FieldByName('CRFlag').Value := 'Ó¦¸¶¸¶'; FieldByName('QtyFlag').Value := -1; FieldByName('BZType').Value := MBZType; end; for j := 0 to k - 1 do begin if (trim(dFdDy[j].FDdys) <> '') then begin ADOQueryCmd.fieldbyname(dFdDy[j].FDdys).Value := excelApp.Cells[i, dFdDy[j].inc].Value; end; end; ADOQueryCmd.Post; end; WorkBook.Close; excelApp.Quit; excelApp := Unassigned; WorkBook := Unassigned; ADOQueryCmd.Connection.CommitTrans; application.MessageBox('µ¼Èë³É¹¦£¡', 'ÌáʾÐÅÏ¢'); panel2.Visible := false; InitGrid(); except WorkBook.Close; excelApp.Quit; excelApp := Unassigned; WorkBook := Unassigned; ADOQueryCmd.Connection.RollbackTrans; application.MessageBox('±£´æÊý¾Ý´íÎó£¡', '´íÎóÐÅÏ¢', MB_ICONERROR); panel2.Visible := false; exit; end; end; procedure TfrmCWFKList.ToolButton7Click(Sender: TObject); begin inherited; if CDS_1.IsEmpty then Exit; try frmFjList10 := TfrmFjList10.Create(Application); with frmFjList10 do begin // PState:=1; // if Trim(canshu1)<>'¸ßȨÏÞ' then cxButton1.Visible:=false; fkeyNO := Trim(Self.CDS_1.fieldbyname('CWID').AsString); fType := '¸¶¿î'; if ShowModal = 1 then begin end; end; finally frmFjList10.Free; end; end; procedure TfrmCWFKList.ToolButton8Click(Sender: TObject); begin inherited; if CDS_1.IsEmpty then Exit; TcxGridToExcel(self.Caption, cxgrid1); end; procedure TfrmCWFKList.ButtonEdit(Sender: TObject; AButtonIndex: Integer); var FComTaiTou: string; begin try frmZDYHelp := TfrmZDYHelp.Create(Application); with frmZDYHelp do begin flag := 'GSTTDZ'; flagname := '¹«Ë¾Ì§Í·'; if ShowModal = 1 then begin FComTaiTou := Trim(ClientDataSet1.fieldbyname('ZdyName').AsString); end; end; finally frmZDYHelp.Free; end; with Self.CDS_1 do begin Edit; FieldByName('ComTaiTou').Value := Trim(FComTaiTou); end; with ADOQueryCmd do begin Close; SQL.Clear; sql.Add('update CW_Money_CR set ComTaiTou=' + quotedstr(Trim(FComTaiTou))); sql.Add('where CWID=' + quotedstr(Trim(CDS_1.fieldbyname('CWID').AsString))); ExecSQL; end; end; procedure TfrmCWFKList.Tv1Column14PropertiesChange(Sender: TObject); var mvalue, FFieldName: string; begin mvalue := TcxTextEdit(Sender).EditingText; FFieldName := Trim(Tv1.Controller.FocusedColumn.DataBinding.FilterFieldName); with CDS_1 do begin Edit; FieldByName(FFieldName).Value := mvalue; Post; end; with ADOQueryCmd do begin Close; SQL.Clear; sql.Add('update CW_Money_CR set ' + FFieldName + '=' + quotedstr(Trim(mvalue))); sql.Add('where CWID=' + quotedstr(Trim(CDS_1.fieldbyname('CWID').AsString))); ExecSQL; end; tv1.Controller.EditingController.ShowEdit(); end; procedure TfrmCWFKList.Tv1MouseDown(Sender: TObject; Button: TMouseButton; Shift: TShiftState; X, Y: Integer); begin with ADOQueryTemp do begin Close; sql.Clear; sql.Add(' select * from CW_Money_CR'); sql.Add(' where CWID=''' + Trim(CDS_1.fieldbyname('CWID').AsString) + ''''); SQL.Add(' and status=''1'' '); Open; end; if ADOQueryTemp.IsEmpty then begin TV1.OptionsData.Editing := true; end else begin TV1.OptionsData.Editing := false; end; // with ADOQueryTemp do // begin // Close; // sql.Clear; // sql.Add(' select * from CW_Bank_LS '); // sql.Add(' where BLID=''' + Trim(CDS_1.fieldbyname('FromDataID1').AsString) + ''''); // Open; // end; // if not ADOQueryTemp.IsEmpty then // begin // TV1.OptionsData.Editing := False; // end // else // begin // TV1.OptionsData.Editing := True; // end; end; procedure TfrmCWFKList.cxGridDBColumn3PropertiesButtonClick(Sender: TObject; AButtonIndex: Integer); begin try frmZDYHelp := TfrmZDYHelp.Create(Application); with frmZDYHelp do begin flag := 'FKYFName'; flagname := 'ÏîÄ¿¼°ÕªÒª'; if ShowModal = 1 then begin with Self.CDS_1 do begin Edit; // FieldByName('YFCode').Value := Trim(ClientDataSet1.fieldbyname('ZdyNo').AsString); FieldByName('YFName').Value := Trim(ClientDataSet1.fieldbyname('ZdyName').AsString); with ADOQueryCmd do begin Close; SQL.Clear; sql.Add('update CW_Money_CR set YFNamE=' + quotedstr(Trim(ClientDataSet1.fieldbyname('ZdyName').AsString))); // SQL.Add(',YFCODE=' + quotedstr(Trim(ClientDataSet1.fieldbyname('ZdyNo').AsString))); sql.Add('where CWID=' + quotedstr(Trim(CDS_1.fieldbyname('CWID').AsString))); ExecSQL; end; end; end; end; finally frmZDYHelp.Free; end; end; procedure TfrmCWFKList.FormCreate(Sender: TObject); begin inherited; canshu1 := Trim(DParameters1); end; procedure TfrmCWFKList.VPayMentPropertiesButtonClick(Sender: TObject; AButtonIndex: Integer); begin try frmZDYHelp := TfrmZDYHelp.Create(Application); with frmZDYHelp do begin flag := 'FKPayment'; flagname := 'Ö§¸¶·½Ê½'; if ShowModal = 1 then begin with Self.CDS_1 do begin Edit; FieldByName('PayMent').Value := Trim(frmZDYHelp.ClientDataSet1.fieldbyname('ZdyName').AsString); end; end; end; finally frmZDYHelp.Free; end; end; procedure TfrmCWFKList.TextEdit(Sender: TObject); var mvalue, FFieldName: string; FPS, FQty, FPrice, FBZFee, FMoney: 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; FBZFee := CDS_1.fieldbyname('QTFee').AsFloat; FPrice := CDS_1.fieldbyname('Price').AsFloat; FMoney := CDS_1.fieldbyname('Money').AsFloat; end; if Trim(FFieldName) <> 'Money' then begin FMoney := FQty * FPrice + FBZFee; end; with CDS_1 do begin Edit; FieldByName('Money').Value := FMoney; Post; end; with ADOQueryCmd do begin Close; SQL.Clear; sql.Add('update CW_Money_CR set ' + FFieldName + '=' + Trim(mvalue)); if Trim(FFieldName) <> 'Money' then begin sql.Add(' ,Money=' + FloatToStr(FMoney)); end; sql.Add('where CWID=' + quotedstr(Trim(CDS_1.fieldbyname('CWID').AsString))); ExecSQL; end; Tv1.Controller.EditingController.ShowEdit(); end; procedure TfrmCWFKList.v2Column10PropertiesEditValueChanged(Sender: TObject); var mvalue, FFieldName: string; begin mvalue := TcxTextEdit(Sender).EditingText; FFieldName := Trim(Tv1.Controller.FocusedColumn.DataBinding.FilterFieldName); with CDS_1 do begin Edit; FieldByName(FFieldName).Value := mvalue; Post; end; with ADOQueryCmd do begin Close; SQL.Clear; sql.Add('update CW_Money_CR set ' + FFieldName + '=' + quotedstr(Trim(mvalue))); sql.Add('where CWID=' + quotedstr(Trim(CDS_1.fieldbyname('CWID').AsString))); ExecSQL; end; tv1.Controller.EditingController.ShowEdit(); end; procedure TfrmCWFKList.v2Column5PropertiesButtonClick(Sender: TObject; AButtonIndex: Integer); var FComTaiTou: string; begin try frmZDYHelp := TfrmZDYHelp.Create(Application); with frmZDYHelp do begin flag := 'GSTTDZ'; flagname := '¹«Ë¾Ì§Í·'; if ShowModal = 1 then begin FComTaiTou := Trim(ClientDataSet1.fieldbyname('ZdyName').AsString); end; end; finally frmZDYHelp.Free; end; with Self.CDS_1 do begin Edit; FieldByName('ComTaiTou').Value := Trim(FComTaiTou); end; with ADOQueryCmd do begin Close; SQL.Clear; sql.Add('update CW_Money_CR set ComTaiTou=' + quotedstr(Trim(FComTaiTou))); sql.Add('where CWID=' + quotedstr(Trim(CDS_1.fieldbyname('CWID').AsString))); ExecSQL; end; end; procedure TfrmCWFKList.v2Column6PropertiesButtonClick(Sender: TObject; AButtonIndex: Integer); var FBankName, FBankNo, FBKID, FComTaiTou: string; begin try frmZDYHelp := TfrmZDYHelp.Create(Application); with frmZDYHelp do begin flag := 'BANKNAME'; flagname := '¿ª»§ÐÐ'; fnote := true; V1Note.Caption := 'Õ˺Å'; if ShowModal = 1 then begin with Self.CDS_1 do begin Edit; // FieldByName('YFCode').Value := Trim(ClientDataSet1.fieldbyname('ZdyNo').AsString); FieldByName('bankname').Value := Trim(ClientDataSet1.fieldbyname('ZdyName').AsString); FieldByName('bankno').Value := Trim(ClientDataSet1.fieldbyname('Note').AsString); with ADOQueryCmd do begin Close; SQL.Clear; sql.Add('update CW_Money_CR set bankname=' + quotedstr(Trim(ClientDataSet1.fieldbyname('ZdyName').AsString))); SQL.Add(',bankno=' + quotedstr(Trim(ClientDataSet1.fieldbyname('Note').AsString))); sql.Add('where CWID=' + quotedstr(Trim(CDS_1.fieldbyname('CWID').AsString))); ExecSQL; end; end; end; end; finally frmZDYHelp.Free; end; end; procedure TfrmCWFKList.v2Column9PropertiesEditValueChanged(Sender: TObject); var mvalue, FName, RZMoney, BankFee: string; begin FName := TV1.Controller.FocusedColumn.DataBinding.FilterFieldName; mvalue := TcxTextEdit(Sender).EditingText; if Trim(mvalue) = '' then begin mvalue := '0'; end; with CDS_1 do begin Edit; FieldByName(FName).Value := mvalue; Post; end; if Trim(CDS_1.fieldbyname('RZMoney').AsString) = '' then RZMoney := '0' else RZMoney := CDS_1.fieldbyname('RZMoney').AsString; if Trim(CDS_1.fieldbyname('BankFee').AsString) = '' then BankFee := '0' else BankFee := CDS_1.fieldbyname('BankFee').AsString; with CDS_1 do begin Edit; FieldByName('Money').Value := StrToFloat(RZMoney) + StrToFloat(BankFee); Post; end; end; procedure TfrmCWFKList.cxTabControl1Change(Sender: TObject); begin InitGrid(); end; end.