unit U_OtherFeeLIST; 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; type TfrmOtherFeelist = class(TForm) ToolBar1: TToolBar; TBRafresh: TToolButton; TBDel: TToolButton; TBClose: TToolButton; ADOQueryTemp: TADOQuery; ADOQueryCmd: TADOQuery; Panel1: TPanel; ToolButton2: TToolButton; ADOQueryMain: TADOQuery; TBExport: TToolButton; RM1: TRMGridReport; RMDB_Main: TRMDBDataSet; Label3: TLabel; CCREN: TEdit; cxGrid2: TcxGrid; Tv2: TcxGridDBTableView; cxGridLevel1: TcxGridLevel; Label6: TLabel; begdate: TDateTimePicker; Enddate: TDateTimePicker; cxGridPopupMenu2: TcxGridPopupMenu; DS_HZ: TDataSource; CDS_HZ: TClientDataSet; v2Note: TcxGridDBColumn; Edit1: TEdit; Label7: TLabel; Button1: TButton; Label8: TLabel; ComTaiTou: TEdit; CheckBox1: TCheckBox; filler: TLabel; SY: TEdit; cxTabControl1: TcxTabControl; ToolButton3: TToolButton; ToolButton4: TToolButton; Tv2Column2: TcxGridDBColumn; DS_SUB: TDataSource; CDS_SUB: TClientDataSet; ToolButton5: TToolButton; ToolButton1: TToolButton; cxGrid1: TcxGrid; TV1: TcxGridDBTableView; cxGridDBColumn2: TcxGridDBColumn; cxGridDBColumn4: TcxGridDBColumn; cxGridDBColumn5: TcxGridDBColumn; cxGridDBColumn6: TcxGridDBColumn; cxGridLevel2: TcxGridLevel; ToolButton6: TToolButton; TV1Column1: TcxGridDBColumn; TV1Column2: TcxGridDBColumn; TV1Column3: TcxGridDBColumn; TV1Column4: TcxGridDBColumn; TV1Column5: TcxGridDBColumn; TV1Column7: TcxGridDBColumn; TV1Column8: TcxGridDBColumn; Label1: TLabel; YWZB: TEdit; ToolButton7: TToolButton; Tv2Column1: TcxGridDBColumn; Tv2Column3: TcxGridDBColumn; Tv2Column4: TcxGridDBColumn; ToolButton8: TToolButton; ToolButton9: TToolButton; ToolButton10: TToolButton; ToolButton11: TToolButton; ToolButton12: TToolButton; ToolButton13: TToolButton; TV1Column9: TcxGridDBColumn; TV1Column10: TcxGridDBColumn; TV1Column11: TcxGridDBColumn; TV1Column12: TcxGridDBColumn; TV1Column13: TcxGridDBColumn; ToolButton14: TToolButton; ADOPrint: TADOQuery; cxStyleRepository1: TcxStyleRepository; cxStyle1: TcxStyle; Tv2Column5: TcxGridDBColumn; TV1Column6: TcxGridDBColumn; TV1Column14: TcxGridDBColumn; TV1Column15: TcxGridDBColumn; Tv2Column6: TcxGridDBColumn; Tv2Column7: TcxGridDBColumn; Tv2Column8: TcxGridDBColumn; procedure FormDestroy(Sender: TObject); procedure FormClose(Sender: TObject; var Action: TCloseAction); procedure TBCloseClick(Sender: TObject); procedure TBDelClick(Sender: TObject); procedure FormShow(Sender: TObject); procedure TBRafreshClick(Sender: TObject); procedure ToolButton2Click(Sender: TObject); procedure CCRENChange(Sender: TObject); procedure cxGridDBColumn5PropertiesEditValueChanged(Sender: TObject); procedure cxGridDBColumn1PropertiesEditValueChanged(Sender: TObject); procedure TBAddClick(Sender: TObject); procedure cxGridDBColumn3PropertiesButtonClick(Sender: TObject; AButtonIndex: Integer); procedure cxGridDBColumn6PropertiesButtonClick(Sender: TObject; AButtonIndex: Integer); procedure TBExportClick(Sender: TObject); procedure v2Column2PropertiesEditValueChanged(Sender: TObject); procedure v2BatchNoPropertiesEditValueChanged(Sender: TObject); procedure Button1Click(Sender: TObject); procedure cxTabControl1Change(Sender: TObject); procedure v2Column7PropertiesEditValueChanged(Sender: TObject); procedure v2Column8PropertiesButtonClick(Sender: TObject; AButtonIndex: Integer); procedure CCRENKeyPress(Sender: TObject; var Key: Char); procedure v2Column4PropertiesButtonClick(Sender: TObject; AButtonIndex: Integer); procedure v2Column2PropertiesButtonClick(Sender: TObject; AButtonIndex: Integer); procedure v2Column6PropertiesButtonClick(Sender: TObject; AButtonIndex: Integer); procedure ToolButton1Click(Sender: TObject); procedure v2Column1PropertiesButtonClick(Sender: TObject; AButtonIndex: Integer); procedure v2Column5PropertiesButtonClick(Sender: TObject; AButtonIndex: Integer); procedure v2Column11PropertiesButtonClick(Sender: TObject; AButtonIndex: Integer); procedure ToolButton3Click(Sender: TObject); procedure ToolButton4Click(Sender: TObject); procedure ToolButton5Click(Sender: TObject); // procedure Tv2FocusedRecordChanged(Sender: TcxCustomGridTableView; APrevFocusedRecord, AFocusedRecord: TcxCustomGridRecord; ANewItemRecordFocusingChanged: Boolean); procedure ToolButton6Click(Sender: TObject); procedure cxGridDBColumn3PropertiesEditValueChanged(Sender: TObject); procedure TV1FocusedRecordChanged(Sender: TcxCustomGridTableView; APrevFocusedRecord, AFocusedRecord: TcxCustomGridRecord; ANewItemRecordFocusingChanged: Boolean); procedure ToolButton7Click(Sender: TObject); procedure ToolButton10Click(Sender: TObject); procedure ToolButton11Click(Sender: TObject); procedure ToolButton8Click(Sender: TObject); procedure ToolButton12Click(Sender: TObject); procedure ToolButton9Click(Sender: TObject); procedure ToolButton13Click(Sender: TObject); procedure ToolButton14Click(Sender: TObject); procedure Tv2Column5PropertiesEditValueChanged(Sender: TObject); procedure Tv2Column8PropertiesEditValueChanged(Sender: TObject); private { Private declarations } procedure InitGridHZ(); procedure InitGrid(); procedure SetStatus(); function SaveData(): Boolean; public fFlag: integer; canshu1: string; { Public declarations } RKFlag, FCYID, fmanage: string; end; //var //frmOtherFeeSave: TfrmOtherFeeSave; implementation uses U_DataLink, U_Fun, U_ZDYHelp, U_ZdyAttachGYS, U_RTFun, U_ZdyAttachment, U_ProductOrderListSel, U_FYInput, U_FjList10, U_QTFYInput; {$R *.dfm} procedure TfrmOtherFeelist.SetStatus(); var i: integer; begin ToolButton3.Visible := false; ToolButton4.Visible := false; ToolButton10.Visible := false; ToolButton11.Visible := false; ToolButton8.Visible := false; ToolButton9.Visible := false; ToolButton12.Visible := false; ToolButton13.Visible := false; ToolButton6.Visible := false; TBDel.Visible := false; Tv2Column5.Options.Editing := False; Tv2Column8.Options.Editing := False; case cxTabControl1.TabIndex of 0: begin TBDel.Visible := True; ToolButton6.Visible := true; end; 1: begin end; end; if canshu1 = '管理' then begin case cxTabControl1.TabIndex of 0: begin ToolButton3.Visible := true; end; 1: begin ToolButton4.Visible := TRUE; end; end; end; if canshu1 = '行政' then begin case cxTabControl1.TabIndex of 0: begin ToolButton3.Visible := true; end; 1: begin ToolButton4.Visible := TRUE; ToolButton10.Visible := TRUE; end; 2: begin ToolButton11.Visible := TRUE; end; end; end; if canshu1 = '总经理' then begin case cxTabControl1.TabIndex of 0: begin ToolButton3.Visible := true; end; 1: begin ToolButton4.Visible := TRUE; ToolButton10.Visible := TRUE; end; 2: begin ToolButton11.Visible := TRUE; ToolButton8.Visible := true; end; 3: begin ToolButton9.Visible := True; end; end; end; if canshu1 = '财务' then begin Tv2Column5.Options.Editing := true; Tv2Column8.Options.Editing := true; case cxTabControl1.TabIndex of 0: begin ToolButton3.Visible := true; end; 1: begin ToolButton4.Visible := TRUE; ToolButton10.Visible := TRUE; end; 2: begin ToolButton11.Visible := TRUE; ToolButton8.Visible := true; end; 3: begin ToolButton12.Visible := True; ToolButton9.Visible := True; end; 4: begin ToolButton13.Visible := True; end; end; end; end; procedure TfrmOtherFeelist.InitGrid(); begin ToolBar1.SetFocus; try ADOQueryMain.DisableControls; with ADOQueryMain do begin Close; SQL.Clear; Filtered := False; sql.Add(' select A.FYDATE,CCREN,SY,zbid,xmname,BEGDATE,ywzb,filler,FKFS '); sql.Add(',ISSC=cast((case when isnull((select count(WBID) from TP_File X where X.WBID=A.ZBID and X.TFType=''其他费用''),0)>0 then 1 else 0 end) as bit)'); SQL.ADD(',ZMONEY=ISNULL((SELECT SUM(MONEY)FROM CW_QTFEE B WHERE B.ZBID=A.ZBID),0)'); SQL.ADD(',ZJTF=ISNULL((SELECT SUM(MONEY)FROM CW_QTFEE B WHERE B.ZBID=A.ZBID AND B.KXTYPE=''交通费''),0)'); SQL.ADD(',ZSHF=ISNULL((SELECT SUM(MONEY)FROM CW_QTFEE B WHERE B.ZBID=A.ZBID AND B.KXTYPE=''生活费''),0)'); SQL.ADD(',ZZSF=ISNULL((SELECT SUM(MONEY)FROM CW_QTFEE B WHERE B.ZBID=A.ZBID AND B.KXTYPE=''住宿费''),0)'); SQL.ADD(',ZYWF=ISNULL((SELECT SUM(MONEY)FROM CW_QTFEE B WHERE B.ZBID=A.ZBID AND B.KXTYPE=''业务费''),0)'); SQL.ADD(',ZZF=ISNULL((SELECT SUM(MONEY)FROM CW_QTFEE B WHERE B.ZBID=A.ZBID AND LTRIM(RTRIM(B.KXTYPE))=''杂费''),0)'); SQL.ADD(',KDF=ISNULL((SELECT SUM(MONEY)FROM CW_QTFEE B WHERE B.ZBID=A.ZBID AND LTRIM(RTRIM(B.KXTYPE))=''快递费''),0)'); SQL.ADD(',YOUF=ISNULL((SELECT SUM(MONEY)FROM CW_QTFEE B WHERE B.ZBID=A.ZBID AND LTRIM(RTRIM(B.KXTYPE))=''油费''),0)'); SQL.ADD(',ZSBMONEY=ISNULL((SELECT SUM(SBMONEY)FROM CW_QTFEE B WHERE B.ZBID=A.ZBID ),0)'); sql.Add(' from CW_QTFEE A WHERE 1=1'); if CheckBox1.Checked then begin sql.Add('AND A.FYDATE>=''' + FormatDateTime('yyyy-MM-dd', begdate.DateTime) + ''' '); sql.Add(' and A.FYDATE<''' + FormatDateTime('yyyy-MM-dd', Enddate.DateTime + 1) + ''' '); end else begin end; if canshu1 = '登记' then begin sql.Add('AND FILLER=' + QuotedStr(Trim(DName))); end; if cxTabControl1.TabIndex < 5 then sql.Add(' and A.status=''' + inttostr(cxTabControl1.TabIndex) + ''' '); sql.add('group by FYDATE,CCREN,SY,zbid,xmname,BEGDATE,ywzb,filler,FKFS'); // ShowMessage(sql.Text); // sql.Add(' and A.CRType=''费用登记'' '); Open; end; SCreateCDS20(ADOQueryMain, CDS_HZ); SInitCDSData20(ADOQueryMain, CDS_HZ); finally ADOQueryMain.EnableControls; ToolButton2.Click; end; end; procedure TfrmOtherFeelist.InitGridHZ(); begin end; procedure TfrmOtherFeelist.FormDestroy(Sender: TObject); begin // frmYFCR:=nil; // frmOtherFeeSave:=nil; end; procedure TfrmOtherFeelist.FormClose(Sender: TObject; var Action: TCloseAction); begin Action := caFree; end; procedure TfrmOtherFeelist.TBCloseClick(Sender: TObject); begin WriteCxGrid(self.Caption, Tv2, '财务管理'); Close; end; procedure TfrmOtherFeelist.TBDelClick(Sender: TObject); begin if CDS_HZ.IsEmpty then Exit; if Application.MessageBox('确定要删除数据吗?', '提示', 32 + 4) <> IDYES then Exit; try ADOQueryCmd.Connection.BeginTrans; with ADOQueryCmd do begin close; sql.Clear; sql.Add(' delete CW_QTFEE where zbID=''' + Trim(CDS_HZ.fieldbyname('zbID').AsString) + ''''); execsql; end; ADOQueryCmd.Connection.CommitTrans; CDS_HZ.Delete; except ADOQueryCmd.Connection.RollbackTrans; Application.MessageBox('删除失败!', '提示', 0); end; end; procedure TfrmOtherFeelist.FormShow(Sender: TObject); begin ReadCxGrid(self.Caption, Tv2, '财务管理'); Enddate.DateTime := SGetServerDate(ADOQueryTemp); begdate.DateTime := SGetServerDateMBeg(ADOQueryTemp); // InitYFName(); SetStatus(); InitGrid(); // if Self.Caption = '费用查询' then // begin // TBSave.Visible := False; // TBAdd.Visible := False; // TBDel.Visible := False; // Tv2.OptionsData.Editing := False; // end; end; procedure TfrmOtherFeelist.TBRafreshClick(Sender: TObject); begin begdate.SetFocus; InitGrid(); end; procedure TfrmOtherFeelist.ToolButton2Click(Sender: TObject); begin if ADOQueryMain.Active = False then Exit; SDofilter(ADOQueryMain, SGetFilters(Panel1, 1, 2)); SCreateCDS20(ADOQueryMain, CDS_HZ); SInitCDSData20(ADOQueryMain, CDS_HZ); end; procedure TfrmOtherFeelist.CCRENChange(Sender: TObject); begin ToolButton2.Click; end; function TfrmOtherFeelist.SaveData(): Boolean; var maxId, CRID: string; begin try ADOQueryCmd.Connection.BeginTrans; if GetLSNo(ADOQueryCmd, maxId, 'FY', 'CW_qtfee', 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_qtfee where 1<>1'); Open; end; with ADOQueryCmd do begin Append; FieldByName('FYID').Value := Trim(maxId); //FieldByName('CRID').Value:=StrToInt(CRID); SSetSaveDataCDSNew(ADOQueryCmd, Tv2, CDS_HZ, 'CW_QTFEE', 7); FieldByName('Filler').Value := Trim(DName); // FieldByName('ZDYNameTj').Value := Trim(CDS_HZ.fieldbyname('ZDYNameTj').AsString); // FieldByName('FYDATE').Value := formatdateTIme('yyyy-MM-dd', CDS_HZ.fieldbyname('FYDATE').AsDateTime); Post; end; with CDS_HZ do begin Edit; FieldByName('FYId').Value := Trim(maxId); //FieldByName('CRID').Value:=StrToInt(CRID); end; ADOQueryCmd.Connection.CommitTrans; Result := True; except Result := True; ADOQueryCmd.Connection.RollbackTrans; Application.MessageBox('增行失败!', '提示', 0); end; end; procedure TfrmOtherFeelist.cxGridDBColumn5PropertiesEditValueChanged(Sender: TObject); var mvalue, FQty, FPrice, FMoney, FFieldName: string; begin mvalue := TcxTextEdit(Sender).EditingText; if Trim(mvalue) = '' then begin mvalue := '0'; end; FFieldName := Trim(Tv2.Controller.FocusedColumn.DataBinding.FilterFieldName); with CDS_HZ do begin Edit; FieldByName(FFieldName).Value := Trim(mvalue); Post; end; FQty := Trim(CDS_HZ.fieldbyname('Qty').AsString); if Trim(FQty) = '' then FQty := '0'; FPrice := Trim(CDS_HZ.fieldbyname('Price').AsString); if Trim(FPrice) = '' then FPrice := '0'; FQty := Trim(CDS_HZ.fieldbyname('Qty').AsString); if Trim(FQty) = '' then FQty := '0'; FMoney := Trim(CDS_HZ.fieldbyname('Money').AsString); if Trim(FMoney) = '' then FMoney := '0'; if Trim(FFieldName) <> 'Money' then begin FMoney := FloatToStr(StrToFloat(FQty) * StrToFloat(FPrice)); end; with CDS_HZ do begin Edit; FieldByName('Money').Value := StrToFloat(FMoney); Post; end; tv2.Controller.EditingController.ShowEdit(); end; procedure TfrmOtherFeelist.cxGridDBColumn1PropertiesEditValueChanged(Sender: TObject); var mvalue, FFieldName: string; begin mvalue := TcxTextEdit(Sender).EditingText; FFieldName := Trim(Tv2.Controller.FocusedColumn.DataBinding.FilterFieldName); with CDS_HZ do begin Edit; FieldByName(FFieldName).Value := Trim(mvalue); Post; end; tv2.Controller.EditingController.ShowEdit(); end; procedure TfrmOtherFeelist.TBAddClick(Sender: TObject); begin // try // frmProductOrderListSel := TfrmProductOrderListSel.Create(Application); // with frmProductOrderListSel do // begin // if ShowModal = 1 then // begin // with Self.CDS_HZ do // begin // Append; // FieldByName('SFDW').Value := Trim(Order_Main.fieldbyname('CustomerNoName').AsString); // FieldByName('FROMMAINID').Value := Trim(Order_Main.fieldbyname('MAINID').AsString); // FieldByName('FROMSUBID').Value := Trim(Order_Main.fieldbyname('SUBID').AsString); // FieldByName('YYDD').Value := Trim(Order_Main.fieldbyname('ORDERNO').AsString); // FieldByName('FYDATE').Value := SGetServerDate(ADOQueryTemp); // // Post; // end; // Self.SaveData(); // end; // end; // finally // frmProductOrderListSel.Free; // end; // tv2.Controller.EditingController.ShowEdit(); with Self.CDS_HZ do begin Append; FieldByName('FYDATE').Value := SGetServerDate(ADOQueryTemp); FieldByName('FILLER').Value := Trim(DName); Post; end; Self.SaveData(); end; procedure TfrmOtherFeelist.cxGridDBColumn3PropertiesButtonClick(Sender: TObject; AButtonIndex: Integer); begin // if Trim(CDS_HZ.FieldByName('YFType').AsString) = '自动生成' then // begin // Application.MessageBox('自动生成的数据不能修改!', '提示', 0); // Exit; // end; try frmZDYHelp := TfrmZDYHelp.Create(Application); with frmZDYHelp do begin flag := 'YFName'; flagname := '费用名称'; // MainType := '费用'; if ShowModal = 1 then begin with Self.CDS_HZ do begin Edit; // FieldByName('YFCode').Value := Trim(ClientDataSet1.fieldbyname('ZdyNo').AsString); FieldByName('FYName').Value := Trim(ClientDataSet1.fieldbyname('ZdyName').AsString); end; end; end; finally frmZDYHelp.Free; end; end; procedure TfrmOtherFeelist.cxGridDBColumn6PropertiesButtonClick(Sender: TObject; AButtonIndex: Integer); begin try frmZDYHelp := TfrmZDYHelp.Create(Application); with frmZDYHelp do begin flag := 'OrderUnit'; flagname := '数量单位'; if ShowModal = 1 then begin Self.CDS_HZ.Edit; Self.CDS_HZ.FieldByName('QtyUnit').Value := Trim(ClientDataSet1.fieldbyname('ZDYName').AsString); end; end; finally frmZDYHelp.Free; end; end; procedure TfrmOtherFeelist.TBExportClick(Sender: TObject); begin if ADOQueryMain.IsEmpty then Exit; SelExportData(Tv1, ADOQueryMain, '其他费用列表'); end; procedure TfrmOtherFeelist.v2Column2PropertiesEditValueChanged(Sender: TObject); var mvalue, FBBMoney, FKCBB, FFieldName: string; begin mvalue := TcxTextEdit(Sender).EditingText; if Trim(mvalue) = '' then begin mvalue := '0'; end; FFieldName := Trim(Tv2.Controller.FocusedColumn.DataBinding.FilterFieldName); with CDS_HZ do begin Edit; FieldByName(FFieldName).Value := Trim(mvalue); Post; end; end; procedure TfrmOtherFeelist.v2BatchNoPropertiesEditValueChanged(Sender: TObject); var mvalue, FFieldName: string; begin mvalue := TcxTextEdit(Sender).EditingText; FFieldName := Trim(Tv2.Controller.FocusedColumn.DataBinding.FilterFieldName); with CDS_HZ do begin Edit; FieldByName(FFieldName).Value := Trim(mvalue); Post; end; end; procedure TfrmOtherFeelist.Button1Click(Sender: TObject); begin if CDS_HZ.IsEmpty then exit; if CDS_HZ.Locate('ssel', true, []) = false then begin Application.MessageBox('没有选择数据!', '提示', 0); Exit; end; ADOQueryCmd.Connection.BeginTrans; try with CDS_HZ do begin DisableControls; First; while not eof do begin if fieldbyname('ssel').AsBoolean then begin with ADOQueryCmd do begin close; sql.Clear; sql.Add('select * from YF_Money_CR '); sql.Add('where YFID=' + quotedstr(trim(CDS_HZ.fieldbyname('YFID').AsString))); open; edit; Fieldbyname('Price').Value := strtofloatdef(edit1.Text, 0); Fieldbyname('Money').Value := format('%.2f', [Fieldbyname('Qty').AsFloat * strtofloatdef(edit1.Text, 0)]); Fieldbyname('BBMoney').Value := format('%.2f', [Fieldbyname('Qty').AsFloat * strtofloatdef(edit1.Text, 0)]); post; end; end; next; end; First; EnableControls; end; ADOQueryCmd.Connection.CommitTrans; InitGrid(); except ADOQueryCmd.Connection.RollbackTrans; application.MessageBox('数据保存失败!', '提示信息', 0); end; end; procedure TfrmOtherFeelist.cxTabControl1Change(Sender: TObject); begin SetStatus(); InitGrid(); end; procedure TfrmOtherFeelist.v2Column7PropertiesEditValueChanged(Sender: TObject); var mvalue: Boolean; begin mvalue := TcxCheckBox(Sender).EditingValue; with CDS_HZ do begin Edit; FieldByName('KPFlag').Value := mvalue; Post; end; with ADOQueryCmd do begin Close; SQL.Clear; sql.Add('update YF_Money_CR Set '); if mvalue = true then begin sql.Add(' KPFlag=1 '); end else begin sql.Add(' KPFlag=0 '); end; sql.Add(' where YFID=''' + Trim(CDS_HZ.fieldbyname('YFID').AsString) + ''''); ExecSQL; end; end; procedure TfrmOtherFeelist.v2Column8PropertiesButtonClick(Sender: TObject; AButtonIndex: Integer); begin if Trim(CDS_HZ.FieldByName('YFType').AsString) = '自动生成' then begin Application.MessageBox('自动生成的数据不能修改!', '提示', 0); Exit; end; try frmZDYHelp := TfrmZDYHelp.Create(Application); with frmZDYHelp do begin flag := 'GSTT'; flagname := '公司抬头'; V1Name.Caption := '中文名称'; if ShowModal = 1 then begin with Self.CDS_HZ do begin Edit; FieldByName('ComTaiTou').Value := Trim(ClientDataSet1.fieldbyname('ZdyName').AsString); end; with ADOQueryCmd do begin Close; sql.Clear; sql.Add('UPdate YF_Money_CR '); sql.Add(' Set ComTaiTou=''' + Trim(ClientDataSet1.fieldbyname('ZdyName').AsString) + ''''); SQL.Add(',Editer=''' + Trim(DName) + ''''); SQL.Add(',Edittime=getdate() '); SQL.Add(' where YFId=''' + Trim(CDS_HZ.fieldbyname('YFId').AsString) + ''''); ExecSQL; end; end; end; finally frmZDYHelp.Free; end; end; procedure TfrmOtherFeelist.CCRENKeyPress(Sender: TObject; var Key: Char); begin if Key = #13 then begin ToolBar1.SetFocus; try ADOQueryMain.DisableControls; with ADOQueryMain do begin Close; SQL.Clear; Filtered := False; sql.Add(' select A.* '); sql.Add('from CW_FY A WHERE 1=1'); if CheckBox1.Checked then begin sql.Add(' and A.CRTime>=''' + FormatDateTime('yyyy-MM-dd', begdate.DateTime) + ''' '); sql.Add(' and A.CRTime<''' + FormatDateTime('yyyy-MM-dd', Enddate.DateTime + 1) + ''' '); end; Open; end; SCreateCDS20(ADOQueryMain, CDS_HZ); SInitCDSData20(ADOQueryMain, CDS_HZ); finally ADOQueryMain.EnableControls; ToolButton2.Click; end; end; end; procedure TfrmOtherFeelist.v2Column4PropertiesButtonClick(Sender: TObject; AButtonIndex: Integer); begin try frmZDYHelp := TfrmZDYHelp.Create(Application); with frmZDYHelp do begin flag := 'FYYT'; flagname := '费用用途'; // MainType := '费用'; if ShowModal = 1 then begin with Self.CDS_HZ do begin Edit; // FieldByName('YFCode').Value := Trim(ClientDataSet1.fieldbyname('ZdyNo').AsString); FieldByName('fyyt').Value := Trim(ClientDataSet1.fieldbyname('ZdyName').AsString); end; end; end; finally frmZDYHelp.Free; end; end; procedure TfrmOtherFeelist.v2Column2PropertiesButtonClick(Sender: TObject; AButtonIndex: Integer); begin try frmProductOrderListSel := TfrmProductOrderListSel.Create(Application); with frmProductOrderListSel do begin if ShowModal = 1 then begin with Self.CDS_HZ do begin EDIT; // FieldByName('SFDW').Value := Trim(Order_Main.fieldbyname('CustomerNoName').AsString); FieldByName('FROMMAINID').Value := Trim(Order_Main.fieldbyname('MAINID').AsString); FieldByName('FROMSUBID').Value := Trim(Order_Main.fieldbyname('SUBID').AsString); FieldByName('YYDD').Value := Trim(Order_Main.fieldbyname('ORDERNO').AsString); // FieldByName('FYDATE').Value := SGetServerDate(ADOQueryTemp); Post; end; // Self.SaveData(); end; end; finally frmProductOrderListSel.Free; end; tv2.Controller.EditingController.ShowEdit(); end; procedure TfrmOtherFeelist.v2Column6PropertiesButtonClick(Sender: TObject; AButtonIndex: Integer); begin try frmZdyAttachGYS := TfrmZdyAttachGYS.Create(Application); with frmZdyAttachGYS do begin if ShowModal = 1 then begin with Self.CDS_HZ do begin Append; FieldByName('FactoryNo').Value := Trim(CDS_HZ.fieldbyname('ZdyCode').AsString); FieldByName('FactoryName').Value := Trim(CDS_HZ.fieldbyname('ZdyName').AsString); FieldByName('CRTime').Value := SGetServerDate(ADOQueryTemp); Post; end; with ADOQueryCmd do begin Close; sql.Clear; sql.Add('UPdate YF_Money_CR '); sql.Add(' Set FactoryNo=''' + Trim(frmZdyAttachment.CDS_HZ.fieldbyname('ZdyCode').AsString) + ''''); sql.Add(' ,FactoryName=''' + Trim(frmZdyAttachment.CDS_HZ.fieldbyname('ZdyName').AsString) + ''''); SQL.Add(',Editer=''' + Trim(DName) + ''''); SQL.Add(',Edittime=getdate() '); SQL.Add(' where YFId=''' + Trim(self.CDS_HZ.fieldbyname('YFId').AsString) + ''''); ExecSQL; end; end; end; finally frmZdyAttachGYS.Free; end; end; procedure TfrmOtherFeelist.ToolButton1Click(Sender: TObject); begin if CDS_HZ.IsEmpty then Exit; try frmFjList10 := TfrmFjList10.Create(Application); with frmFjList10 do begin fkeyno := Trim(Self.CDS_HZ.fieldbyname('ZBID').AsString); fType := '其他费用'; if ShowModal = 1 then begin end; InitGrid(); end; finally frmFjList10.Free; end; end; procedure TfrmOtherFeelist.v2Column1PropertiesButtonClick(Sender: TObject; AButtonIndex: Integer); begin try frmZDYHelp := TfrmZDYHelp.Create(Application); with frmZDYHelp do begin flag := 'ZHName'; flagname := '账户名称'; // MainType := '费用'; if ShowModal = 1 then begin with Self.CDS_HZ do begin Edit; // FieldByName('YFCode').Value := Trim(ClientDataSet1.fieldbyname('ZdyNo').AsString); FieldByName('ZHMC').Value := Trim(ClientDataSet1.fieldbyname('ZdyName').AsString); end; end; end; finally frmZDYHelp.Free; end; end; procedure TfrmOtherFeelist.v2Column5PropertiesButtonClick(Sender: TObject; AButtonIndex: Integer); begin try frmZDYHelp := TfrmZDYHelp.Create(Application); with frmZDYHelp do begin flag := 'JSR'; flagname := '经手人'; // MainType := '费用'; if ShowModal = 1 then begin with Self.CDS_HZ do begin Edit; // FieldByName('YFCode').Value := Trim(ClientDataSet1.fieldbyname('ZdyNo').AsString); FieldByName('JSR').Value := Trim(ClientDataSet1.fieldbyname('ZdyName').AsString); end; end; end; finally frmZDYHelp.Free; end; end; procedure TfrmOtherFeelist.v2Column11PropertiesButtonClick(Sender: TObject; AButtonIndex: Integer); begin try frmZDYHelp := TfrmZDYHelp.Create(Application); with frmZDYHelp do begin flag := 'SFDW'; flagname := '收费单位/人'; // MainType := '费用'; if ShowModal = 1 then begin with Self.CDS_HZ do begin Edit; // FieldByName('YFCode').Value := Trim(ClientDataSet1.fieldbyname('ZdyNo').AsString); FieldByName('SFDW').Value := Trim(ClientDataSet1.fieldbyname('ZdyName').AsString); end; end; end; finally frmZDYHelp.Free; end; end; procedure TfrmOtherFeelist.ToolButton3Click(Sender: TObject); begin if CDS_HZ.IsEmpty then exit; if CDS_HZ.Locate('ssel', true, []) = false then begin Application.MessageBox('没有选择数据!', '提示', 0); Exit; end; try ADOQueryCmd.Connection.BeginTrans; with CDS_HZ do begin DisableControls; First; while not eof do begin if Fieldbyname('ssel').AsBoolean then begin with ADOQueryCmd do begin close; sql.Clear; sql.Add('update CW_QTFEE SET status=''1'',Chker= ' + quotedstr(Trim(DName))); sql.Add(',Chktime=getdate()'); sql.Add('where ZBID =' + quotedstr(trim(CDS_HZ.fieldbyname('ZBID').AsString))); execsql; end; end; next; end; First; EnableControls; end; ADOQueryCmd.Connection.CommitTrans; InitGrid(); except ADOQueryCmd.Connection.RollbackTrans; application.MessageBox('操作失败!', '提示信息', 0); end; end; procedure TfrmOtherFeelist.ToolButton4Click(Sender: TObject); begin if CDS_HZ.IsEmpty then exit; if CDS_HZ.Locate('ssel', true, []) = false then begin Application.MessageBox('没有选择数据!', '提示', 0); Exit; end; try ADOQueryCmd.Connection.BeginTrans; with CDS_HZ do begin DisableControls; First; while not eof do begin if Fieldbyname('ssel').AsBoolean then begin with ADOQueryCmd do begin close; sql.Clear; sql.Add('update CW_QTFEE SET status=''0'',Chker=NULL,Chktime=NULL '); SQL.Add(',Chker2=NULL,Chktime2=NULL,Chker3=NULL,Chktime3=NULL,Chker4=NULL,Chktime4=NULL'); sql.Add('where ZBID =' + quotedstr(trim(CDS_HZ.fieldbyname('ZBID').AsString))); execsql; end; end; next; end; First; EnableControls; end; ADOQueryCmd.Connection.CommitTrans; InitGrid(); except ADOQueryCmd.Connection.RollbackTrans; application.MessageBox('操作失败!', '提示信息', 0); end; end; procedure TfrmOtherFeelist.ToolButton5Click(Sender: TObject); begin // with Self.CDS_HZ do // begin // Append; // // FieldByName('filltime').Value := SGetServerDate(ADOQueryTemp); // FieldByName('FILLER').Value := Trim(DName); // // Post; // end; // Self.SaveData(); try frmQTFYInput := tfrmQTFYInput.Create(self); with frmQTFYInput do begin FYFID := ''; canshu1 := Self.canshu1; if showmodal = 1 then begin initGrid(); end; end; finally frmQTFYInput.free; end; end; procedure TfrmOtherFeelist.ToolButton6Click(Sender: TObject); begin try frmQTFYInput := tfrmQTFYInput.Create(self); with frmQTFYInput do begin FYFID := CDS_HZ.FieldByName('ZBID').AsString; canshu1 := Self.canshu1; if showmodal = 1 then begin initGrid(); end; end; finally frmQTFYInput.free; end; end; procedure TfrmOtherFeelist.cxGridDBColumn3PropertiesEditValueChanged(Sender: TObject); var mvalue, FFieldName: string; begin if cxTabControl1.TabIndex <> 0 then Exit; mvalue := TcxTextEdit(Sender).EditingText; FFieldName := Trim(Tv2.Controller.FocusedColumn.DataBinding.FilterFieldName); try ADOQueryCmd.Connection.BeginTrans; with CDS_HZ do begin Edit; FieldByName(FFieldName).Value := Trim(mvalue); Post; end; with ADOQueryCmd do begin Close; sql.Clear; sql.Add('UPdate CW_QTFEE '); sql.Add(' Set ' + FFieldName + '=''' + Trim(mvalue) + ''''); sql.Add(' where fyid=' + QuotedStr(CDS_HZ.fieldbyname('fyid').AsString)); // ShowMessage(sql.Text); ExecSQL; end; ADOQueryCmd.Connection.CommitTrans; tv2.Controller.EditingController.ShowEdit(); except tv2.Controller.EditingController.ShowEdit(); ADOQueryCmd.Connection.RollbackTrans; Application.MessageBox('保存失败!', '提示', 0); end end; procedure TfrmOtherFeelist.TV1FocusedRecordChanged(Sender: TcxCustomGridTableView; APrevFocusedRecord, AFocusedRecord: TcxCustomGridRecord; ANewItemRecordFocusingChanged: Boolean); begin with ADOQueryTemp do begin Close; SQL.Clear; sql.Add(' select * from CW_QTFEE A'); sql.Add('where zbid=' + Quotedstr(Trim(CDS_HZ.fieldbyname('zbid').AsString))); SQL.Add('ORDER BY FYID '); Open; end; SCreateCDS20(ADOQueryTemp, CDS_SUB); SInitCDSData20(ADOQueryTemp, CDS_SUB); end; procedure TfrmOtherFeelist.ToolButton7Click(Sender: TObject); begin try frmQTFYInput := tfrmQTFYInput.Create(self); with frmQTFYInput do begin FYFID := CDS_HZ.FieldByName('ZBID').AsString; // ToolBar1.Enabled := False; TSave.Visible := False; ToolBar2.Enabled := False; canshu1 := Self.canshu1; if showmodal = 1 then begin initGrid(); end; end; finally frmQTFYInput.free; end; end; procedure TfrmOtherFeelist.ToolButton10Click(Sender: TObject); begin if CDS_HZ.IsEmpty then exit; if CDS_HZ.Locate('ssel', true, []) = false then begin Application.MessageBox('没有选择数据!', '提示', 0); Exit; end; try ADOQueryCmd.Connection.BeginTrans; with CDS_HZ do begin DisableControls; First; while not eof do begin if Fieldbyname('ssel').AsBoolean then begin with ADOQueryCmd do begin close; sql.Clear; sql.Add('update CW_QTFEE SET status=''2'',Chker2= ' + quotedstr(Trim(DName))); sql.Add(',Chktime2=getdate()'); sql.Add('where ZBID =' + quotedstr(trim(CDS_HZ.fieldbyname('ZBID').AsString))); execsql; end; end; next; end; First; EnableControls; end; ADOQueryCmd.Connection.CommitTrans; InitGrid(); except ADOQueryCmd.Connection.RollbackTrans; application.MessageBox('操作失败!', '提示信息', 0); end; end; procedure TfrmOtherFeelist.ToolButton11Click(Sender: TObject); begin if CDS_HZ.IsEmpty then exit; if CDS_HZ.Locate('ssel', true, []) = false then begin Application.MessageBox('没有选择数据!', '提示', 0); Exit; end; try ADOQueryCmd.Connection.BeginTrans; with CDS_HZ do begin DisableControls; First; while not eof do begin if Fieldbyname('ssel').AsBoolean then begin with ADOQueryCmd do begin close; sql.Clear; sql.Add('update CW_QTFEE SET status=''0'',Chker=NULL,Chktime=NULL '); SQL.Add(',Chker2=NULL,Chktime2=NULL,Chker3=NULL,Chktime3=NULL,Chker4=NULL,Chktime4=NULL'); sql.Add('where ZBID =' + quotedstr(trim(CDS_HZ.fieldbyname('ZBID').AsString))); execsql; end; end; next; end; First; EnableControls; end; ADOQueryCmd.Connection.CommitTrans; InitGrid(); except ADOQueryCmd.Connection.RollbackTrans; application.MessageBox('操作失败!', '提示信息', 0); end; end; procedure TfrmOtherFeelist.ToolButton8Click(Sender: TObject); begin if CDS_HZ.IsEmpty then exit; if CDS_HZ.Locate('ssel', true, []) = false then begin Application.MessageBox('没有选择数据!', '提示', 0); Exit; end; try ADOQueryCmd.Connection.BeginTrans; with CDS_HZ do begin DisableControls; First; while not eof do begin if Fieldbyname('ssel').AsBoolean then begin with ADOQueryCmd do begin close; sql.Clear; sql.Add('update CW_QTFEE SET status=''3'',Chker3= ' + quotedstr(Trim(DName))); sql.Add(',Chktime3=getdate()'); sql.Add('where ZBID =' + quotedstr(trim(CDS_HZ.fieldbyname('ZBID').AsString))); execsql; end; end; next; end; First; EnableControls; end; ADOQueryCmd.Connection.CommitTrans; InitGrid(); except ADOQueryCmd.Connection.RollbackTrans; application.MessageBox('操作失败!', '提示信息', 0); end; end; procedure TfrmOtherFeelist.ToolButton12Click(Sender: TObject); begin if CDS_HZ.IsEmpty then exit; if CDS_HZ.Locate('ssel', true, []) = false then begin Application.MessageBox('没有选择数据!', '提示', 0); Exit; end; try ADOQueryCmd.Connection.BeginTrans; with CDS_HZ do begin DisableControls; First; while not eof do begin if Fieldbyname('ssel').AsBoolean then begin with ADOQueryCmd do begin close; sql.Clear; sql.Add('update CW_QTFEE SET status=''4'',Chker4= ' + quotedstr(Trim(DName))); sql.Add(',Chktime4=getdate()'); sql.Add('where ZBID =' + quotedstr(trim(CDS_HZ.fieldbyname('ZBID').AsString))); execsql; end; end; next; end; First; EnableControls; end; ADOQueryCmd.Connection.CommitTrans; InitGrid(); except ADOQueryCmd.Connection.RollbackTrans; application.MessageBox('操作失败!', '提示信息', 0); end; end; procedure TfrmOtherFeelist.ToolButton9Click(Sender: TObject); begin if CDS_HZ.IsEmpty then exit; if CDS_HZ.Locate('ssel', true, []) = false then begin Application.MessageBox('没有选择数据!', '提示', 0); Exit; end; try ADOQueryCmd.Connection.BeginTrans; with CDS_HZ do begin DisableControls; First; while not eof do begin if Fieldbyname('ssel').AsBoolean then begin with ADOQueryCmd do begin close; sql.Clear; sql.Add('update CW_QTFEE SET status=''0'',Chker=NULL,Chktime=NULL '); SQL.Add(',Chker2=NULL,Chktime2=NULL,Chker3=NULL,Chktime3=NULL,Chker4=NULL,Chktime4=NULL'); sql.Add('where ZBID =' + quotedstr(trim(CDS_HZ.fieldbyname('ZBID').AsString))); execsql; end; end; next; end; First; EnableControls; end; ADOQueryCmd.Connection.CommitTrans; InitGrid(); except ADOQueryCmd.Connection.RollbackTrans; application.MessageBox('操作失败!', '提示信息', 0); end; end; procedure TfrmOtherFeelist.ToolButton13Click(Sender: TObject); begin if CDS_HZ.IsEmpty then exit; if CDS_HZ.Locate('ssel', true, []) = false then begin Application.MessageBox('没有选择数据!', '提示', 0); Exit; end; try ADOQueryCmd.Connection.BeginTrans; with CDS_HZ do begin DisableControls; First; while not eof do begin if Fieldbyname('ssel').AsBoolean then begin with ADOQueryCmd do begin close; sql.Clear; sql.Add('update CW_QTFEE SET status=''0'',Chker=NULL,Chktime=NULL '); SQL.Add(',Chker2=NULL,Chktime2=NULL,Chker3=NULL,Chktime3=NULL,Chker4=NULL,Chktime4=NULL'); sql.Add('where ZBID =' + quotedstr(trim(CDS_HZ.fieldbyname('ZBID').AsString))); execsql; end; end; next; end; First; EnableControls; end; ADOQueryCmd.Connection.CommitTrans; InitGrid(); except ADOQueryCmd.Connection.RollbackTrans; application.MessageBox('操作失败!', '提示信息', 0); end; end; procedure TfrmOtherFeelist.ToolButton14Click(Sender: TObject); var fPrintFile: string; EngMoney: string; Porderno, LBName, SYRName: string; i, j: Integer; OrderKg: Double; FDate: string; Txt, fImagePath: string; Moudle: THandle; Makebar: TMakebar; Mixtext: TMixtext; begin if CDS_HZ.IsEmpty then Exit; ExportFtErpFile('报销单.rmf', ADOQueryTemp); fPrintFile := ExtractFilePath(Application.ExeName) + 'Report\报销单.rmf'; with ADOPrint do begin Close; sql.Clear; SQL.Add('SELECT * FROM CW_QTFEE WHERE ZBID=' + QUOTEDSTR(Trim(CDS_HZ.FieldByName('ZBID').AsString))); Open; end; if FileExists(fPrintFile) then begin RM1.LoadFromFile(fPrintFile); RM1.ShowReport; end else begin Application.MessageBox(PChar('没有找' + fPrintFile), '提示', 0); end; end; procedure TfrmOtherFeelist.Tv2Column5PropertiesEditValueChanged(Sender: TObject); var mvalue, FFieldName: string; begin mvalue := TcxTextEdit(Sender).EditingText; FFieldName := Trim(Tv2.Controller.FocusedColumn.DataBinding.FilterFieldName); // if (cxTabControl1.TabIndex <> 0) or (FFieldName <> 'LYREN') or (FFieldName <> 'CFPLACE') or (FFieldName <> 'Note') then // Exit; try ADOQueryCmd.Connection.BeginTrans; if Trim(mvalue) = '' then begin mvalue := '0'; end; with CDS_SUB do begin Edit; FieldByName(FFieldName).Value := Trim(mvalue); Post; end; with ADOQueryCmd do begin Close; sql.Clear; sql.Add('UPdate CW_QTFEE '); sql.Add(' Set ' + FFieldName + '=''' + Trim(mvalue) + ''''); sql.Add(' where fyid=' + QuotedStr(CDS_SUB.fieldbyname('fyid').AsString)); // ShowMessage(sql.Text); ExecSQL; end; with ADOQueryCmd do begin Close; sql.Clear; sql.Add('UPdate CW_QTFEE '); sql.Add(' Set KCMONEY=MONEY-SBMONEY'); sql.Add(' where fyid=' + QuotedStr(CDS_SUB.fieldbyname('fyid').AsString)); // ShowMessage(sql.Text); ExecSQL; end; ADOQueryCmd.Connection.CommitTrans; tv2.Controller.EditingController.ShowEdit(); except tv2.Controller.EditingController.ShowEdit(); ADOQueryCmd.Connection.RollbackTrans; Application.MessageBox('保存失败!', '提示', 0); end; with ADOQueryTemp do begin Close; SQL.Clear; sql.Add(' select * from CW_QTFEE A'); sql.Add('where zbid=' + Quotedstr(Trim(CDS_HZ.fieldbyname('zbid').AsString))); SQL.Add('ORDER BY FYID '); Open; end; SCreateCDS20(ADOQueryTemp, CDS_SUB); SInitCDSData20(ADOQueryTemp, CDS_SUB); end; procedure TfrmOtherFeelist.Tv2Column8PropertiesEditValueChanged(Sender: TObject); var mvalue, FFieldName: string; begin mvalue := TcxTextEdit(Sender).EditingText; FFieldName := Trim(Tv2.Controller.FocusedColumn.DataBinding.FilterFieldName); // if (cxTabControl1.TabIndex <> 0) or (FFieldName <> 'LYREN') or (FFieldName <> 'CFPLACE') or (FFieldName <> 'Note') then // Exit; try ADOQueryCmd.Connection.BeginTrans; if Trim(mvalue) = '' then begin mvalue := '0'; end; with CDS_SUB do begin Edit; FieldByName(FFieldName).Value := Trim(mvalue); Post; end; with ADOQueryCmd do begin Close; sql.Clear; sql.Add('UPdate CW_QTFEE '); sql.Add(' Set ' + FFieldName + '=''' + Trim(mvalue) + ''''); sql.Add(' where fyid=' + QuotedStr(CDS_SUB.fieldbyname('fyid').AsString)); // ShowMessage(sql.Text); ExecSQL; end; with ADOQueryCmd do begin Close; sql.Clear; sql.Add('UPdate CW_QTFEE '); sql.Add(' Set SBMONEY=MONEY-KCMONEY'); sql.Add(' where fyid=' + QuotedStr(CDS_SUB.fieldbyname('fyid').AsString)); // ShowMessage(sql.Text); ExecSQL; end; ADOQueryCmd.Connection.CommitTrans; tv2.Controller.EditingController.ShowEdit(); except tv2.Controller.EditingController.ShowEdit(); ADOQueryCmd.Connection.RollbackTrans; Application.MessageBox('保存失败!', '提示', 0); end; with ADOQueryTemp do begin Close; SQL.Clear; sql.Add(' select * from CW_QTFEE A'); sql.Add('where zbid=' + Quotedstr(Trim(CDS_HZ.fieldbyname('zbid').AsString))); SQL.Add('ORDER BY FYID '); Open; end; SCreateCDS20(ADOQueryTemp, CDS_SUB); SInitCDSData20(ADOQueryTemp, CDS_SUB); end; end.