unit U_FKCR; 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, cxLookAndFeels, cxLookAndFeelPainters, cxNavigator, dxBarBuiltInMenu; type TfrmFKCR = class(TForm) ToolBar1: TToolBar; TBRafresh: TToolButton; TBDel: TToolButton; TBClose: TToolButton; ADOQueryTemp: TADOQuery; ADOQueryCmd: TADOQuery; Panel1: TPanel; ToolButton2: TToolButton; Label1: TLabel; YFName: TEdit; ADOQueryMain: TADOQuery; ToolButton1: TToolButton; RM1: TRMGridReport; RMDB_Main: TRMDBDataSet; Label3: TLabel; FactoryName: TEdit; cxGrid2: TcxGrid; Tv2: TcxGridDBTableView; cxGridDBColumn1: TcxGridDBColumn; cxGridDBColumn3: TcxGridDBColumn; cxGridLevel1: TcxGridLevel; Label2: TLabel; Label6: TLabel; begdate: TDateTimePicker; Enddate: TDateTimePicker; cxGridPopupMenu2: TcxGridPopupMenu; DS_HZ: TDataSource; CDS_HZ: TClientDataSet; ToolButton3: TToolButton; VHL: TcxGridDBColumn; VBZ: TcxGridDBColumn; VYB: TcxGridDBColumn; VBB: TcxGridDBColumn; v2Column6: TcxGridDBColumn; Label4: TLabel; orderNo: TEdit; v2Column1: TcxGridDBColumn; v2Ssel: TcxGridDBColumn; cxTabControl1: TcxTabControl; Tchk: TToolButton; TNochk: TToolButton; TBFileUp: TToolButton; CheckBox1: TCheckBox; 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 FactoryNameChange(Sender: TObject); procedure Button2Click(Sender: TObject); procedure cxGridDBColumn8PropertiesEditValueChanged(Sender: TObject); procedure cxGridDBColumn5PropertiesEditValueChanged(Sender: TObject); procedure cxGridDBColumn1PropertiesEditValueChanged(Sender: TObject); procedure ToolButton3Click(Sender: TObject); procedure cxGridDBColumn3PropertiesButtonClick(Sender: TObject; AButtonIndex: Integer); procedure cxGridDBColumn6PropertiesButtonClick(Sender: TObject; AButtonIndex: Integer); procedure v2Column3PropertiesButtonClick(Sender: TObject; AButtonIndex: Integer); procedure ToolButton1Click(Sender: TObject); procedure v2Column4PropertiesEditValueChanged(Sender: TObject); procedure v2Column1PropertiesButtonClick(Sender: TObject; AButtonIndex: Integer); procedure VBBPropertiesEditValueChanged(Sender: TObject); procedure orderNoChange(Sender: TObject); procedure v2Column1PropertiesEditValueChanged(Sender: TObject); procedure v2DerateMoneyPropertiesEditValueChanged(Sender: TObject); procedure v2fstr1PropertiesEditValueChanged(Sender: TObject); procedure TchkClick(Sender: TObject); procedure TNochkClick(Sender: TObject); procedure cxTabControl1Change(Sender: TObject); procedure v2Column2PropertiesButtonClick(Sender: TObject; AButtonIndex: Integer); procedure TBFileUpClick(Sender: TObject); procedure v2DFBankNoPropertiesEditValueChanged(Sender: TObject); procedure v2DFTaiTouPropertiesButtonClick(Sender: TObject; AButtonIndex: Integer); procedure v2Column5PropertiesEditValueChanged(Sender: TObject); procedure v2Column7PropertiesButtonClick(Sender: TObject; AButtonIndex: Integer); procedure Tv2Column1PropertiesButtonClick(Sender: TObject; AButtonIndex: Integer); procedure fkfactoryNameChange(Sender: TObject); procedure CheckBox1Click(Sender: TObject); private { Private declarations } procedure InitGridHZ(); procedure InitGrid(); function SaveData(): Boolean; procedure SetStatus(); function SaveZL(): Boolean; public fflag: integer; { Public declarations } RKFlag, FCYID, fmanage: string; end; var frmFKCR: TfrmFKCR; implementation uses U_DataLink, U_Fun, U_ZDYHelp, U_ProductOrderList, U_ProductOrderNewList, U_PbProductList, U_ZdyAttachGYS, U_ZdyAttachment, U_FjList10; {$R *.dfm} function TfrmFKCR.SaveZL(): Boolean; var LLNO: string; begin if GetLSNo(ADOQueryCMD, LLNO, 'YL', 'YF_Money_LL', 3, 1) = False then begin ADOQueryCMD.Connection.RollbackTrans; Application.MessageBox('取流水号失败!', '提示'); Exit; end; result := false; try with ADOqueryCmd do begin Close; sql.Clear; SQL.Add('delete from YF_Money_LL where fromMainID=''' + Trim(CDS_HZ.fieldbyname('YFID').AsString) + ''' '); execsql; end; with ADOQueryCmd do begin Close; sql.Clear; SQL.Add('select * from YF_Money_LL where fromMainID=''' + Trim(CDS_HZ.fieldbyname('YFID').AsString) + ''' '); Open; append; fieldbyname('filler').Value := trim(Dname); FieldByName('LLNO').Value := Trim(LLNO); fieldbyname('CRTime').Value := formatdateTime('yyyy-MM-dd', CDS_HZ.fieldbyname('CRTime').AsDateTime); fieldbyname('CRType').Value := Trim(CDS_HZ.fieldbyname('YFName').AsString); fieldbyname('factoryName').Value := Trim(CDS_HZ.fieldbyname('bankNo').AsString); fieldbyname('TOfactoryName').Value := Trim(CDS_HZ.fieldbyname('factoryName').AsString); fieldbyname('NOTE').Value := Trim(CDS_HZ.fieldbyname('note').AsString); fieldbyname('inMoney').Value := 0; fieldbyname('OutMoney').Value := CDS_HZ.fieldbyname('Money').AsFloat; FieldByName('SerCharge').Value := CDS_HZ.fieldbyname('SerCharge').AsFloat; fieldbyname('status').Value := '0'; FieldByName('fromMainID').Value := Trim(CDS_HZ.fieldbyname('YFID').AsString); Post; end; result := true; except end; end; procedure TfrmFKCR.SetStatus(); var i: integer; begin Tchk.Enabled := false; TNochk.Enabled := false; TBDel.Enabled := false; TBFileUp.Enabled := False; for i := 0 to tv2.ColumnCount - 1 do begin if uppercase(tv2.Columns[i].DataBinding.FieldName) <> 'SSEL' then tv2.Columns[i].Options.Editing := false; end; if fmanage = '高权限' then begin if cxTabControl1.TabIndex = 0 then begin Tchk.Enabled := true; TBDel.Enabled := true; TBFileUp.Enabled := True; for i := 0 to tv2.ColumnCount - 1 do begin if uppercase(tv2.Columns[i].DataBinding.FieldName) <> 'FJ' then tv2.Columns[i].Options.Editing := true; end; end; if cxTabControl1.TabIndex = 1 then begin TNochk.Enabled := true; end; end else begin if cxTabControl1.TabIndex = 0 then begin // Tchk.Enabled:=true; TBDel.Enabled := true; Tchk.Visible := False; TNochk.Visible := False; for i := 1 to tv2.ColumnCount - 1 do begin if uppercase(tv2.Columns[i].DataBinding.FieldName) <> 'FJ' then tv2.Columns[i].Options.Editing := true; end; end; if cxTabControl1.TabIndex = 1 then begin end; end; end; procedure TfrmFKCR.InitGrid(); begin try ADOQueryMain.DisableControls; with ADOQueryMain do begin Filtered := False; Close; SQL.Clear; sql.Add(' select A.*,C.conNo '); sql.Add(',KHZJM=dbo.getPinYin(A.FactoryName)'); sql.Add(',Fj=(case when ISNULL((select COUNT(X.TFID) from TP_File X where X.WBID=A.YFID),0)>0 then ''True'' else ''False'' end)'); sql.Add(' from YF_Money_CR A'); sql.Add(' inner join YF_Money_KC B on A.CRID=B.CRID'); SQL.Add(' left join conTract_main C on A.MainId=C.MainId'); sql.Add('where A.CRTime>=''' + FormatDateTime('yyyy-MM-dd', begdate.DateTime) + ''' '); sql.Add(' and CRTime<''' + FormatDateTime('yyyy-MM-dd', Enddate.DateTime + 1) + ''' '); sql.Add(' and A.CRType=''付款登记'' and A.YFDefFlag1=''' + inttostr(fflag) + ''' '); if cxTabControl1.TabIndex < 2 then sql.Add(' and A.status=''' + inttostr(cxTabControl1.TabIndex) + ''' '); // showmessage(sql.Text); Open; end; SCreateCDS20(ADOQueryMain, CDS_HZ); SInitCDSData20(ADOQueryMain, CDS_HZ); finally ADOQueryMain.EnableControls; ToolButton2.Click; end; end; procedure TfrmFKCR.InitGridHZ(); begin end; procedure TfrmFKCR.FormDestroy(Sender: TObject); begin frmFKCR := nil; end; procedure TfrmFKCR.FormClose(Sender: TObject; var Action: TCloseAction); begin Action := caFree; end; procedure TfrmFKCR.TBCloseClick(Sender: TObject); begin WriteCxGrid('付款登记2', Tv2, '财务管理1'); {with ADOQueryCmd do begin Close; SQL.Clear; sql.Add('delete CK_YP_CR where isnull(CRTime,'''')='''' and CYID='''+Trim(FCYID)+''' and CRType='''+Trim(RKFlag)+''''); ExecSQL; end;} Close; end; procedure TfrmFKCR.TBDelClick(Sender: TObject); var FBBMoney, CRID: string; begin if CDS_HZ.IsEmpty then Exit; if CDS_HZ.Locate('ssel', true, []) = false then begin Application.MessageBox('没有选择数据!', '提示', 0); Exit; end; if Application.MessageBox('确定要删除数据吗?', '提示', 32 + 4) <> IDYES then Exit; 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('delete YF_Money_CR where YFID=''' + Trim(CDS_HZ.fieldbyname('YFID').AsString) + ''''); sql.Add('delete YF_Money_LL where fromMainID=''' + Trim(CDS_HZ.fieldbyname('YFID').AsString) + ''''); execsql; end; end; next; end; First; EnableControls; end; InitGrid(); ADOQueryCmd.Connection.CommitTrans; except ADOQueryCmd.Connection.RollbackTrans; application.MessageBox('操作失败!', '提示信息', 0); end; end; procedure TfrmFKCR.FormShow(Sender: TObject); begin fflag := 0; ReadCxGrid('付款登记2', Tv2, '财务管理1'); Enddate.DateTime := SGetServerDate(ADOQueryTemp); begdate.DateTime := Enddate.DateTime; if Trim(DParameters1) = '无订单号' then begin // VOrderNo.Hidden := True; // VOrderNo.Visible := False; label4.Visible := False; orderno.Visible := False; end; if Trim(DParameters2) = '人民币' then begin VHL.Hidden := True; VHL.Visible := False; VBZ.Hidden := True; VBZ.Visible := False; VYB.Hidden := True; VYB.Visible := False; VBB.Caption := '实付金额'; end; SetStatus(); InitGrid(); end; procedure TfrmFKCR.TBRafreshClick(Sender: TObject); begin FactoryName.SetFocus; InitGrid(); end; procedure TfrmFKCR.ToolButton2Click(Sender: TObject); var fsj: string; begin // if ADOQueryMain.Active = False then // Exit; // if Trim(SGetFilters(Panel1, 1, 2)) = '' then // begin // if Trim(FactoryName.Text) <> '' then // begin // fsj := ' FactoryName like ''' + '%' + Trim(FactoryName.Text) + '%' + '''' + ' or KHZJM like ''' + '%' + Trim(FactoryName.Text) + '%' + ''''; // end; // // end // else // begin // if Trim(FactoryName.Text) <> '' then // begin // fsj := SGetFilters(Panel1, 1, 2) + ' and (FactoryName like ''' + '%' + Trim(FactoryName.Text) + '%' + '''' + ' or KHZJM like ''' + '%' + Trim(FactoryName.Text) + '%' + ''')'; // end; // end; // SDofilter(ADOQueryMain, fsj); // SGetFilters(Panel1, 1, 2); if ADOQueryMain.Active then begin SDofilter(ADOQueryMain, SGetFilters(Panel1, 1, 2)); SCreateCDS20(ADOQueryMain, CDS_HZ); SInitCDSData20(ADOQueryMain, CDS_HZ); end; end; procedure TfrmFKCR.FactoryNameChange(Sender: TObject); begin ToolButton2.Click; end; procedure TfrmFKCR.Button2Click(Sender: TObject); begin if CDS_HZ.IsEmpty then Exit; if Application.MessageBox('确定要删除数据吗?', '提示', 32 + 4) <> IDYES then Exit; if Trim(CDS_HZ.fieldbyname('SubID').AsString) <> '' then begin with ADOQueryCmd do begin Close; SQL.Clear; sql.Add('delete YCL_SG_HZ where SubID=''' + Trim(CDS_HZ.fieldbyname('SubID').AsString) + ''''); ExecSQL; end; end; CDS_HZ.Delete; end; function TfrmFKCR.SaveData(): Boolean; var maxId, CRID: string; begin try ADOQueryCmd.Connection.BeginTrans; if GetLSNo(ADOQueryCmd, maxId, 'FK', 'YF_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 YF_Money_KC where FactoryName=''天霸'' '); // '' + Trim(CDS_HZ.fieldbyname('FactoryName').AsString) + '' Open; end; if ADOQueryCmd.IsEmpty = False then begin CRID := ADOQueryCmd.fieldbyname('CRID').AsString; end else begin with ADOQueryCmd do begin Close; sql.Clear; sql.Add('Update YF_Money_CRID set CRID=CRID+1'); sql.Add('select * from YF_Money_CRID '); Open; end; CRID := ADOQueryCmd.fieldbyname('CRID').AsString; with ADOQueryCmd do begin Close; SQL.Clear; sql.Add('select * from YF_Money_KC where 1<>1'); Open; end; with ADOQueryCmd do begin Append; FieldByName('CRID').Value := StrToInt(CRID); FieldByName('FactoryNo').Value := ''; FieldByName('FactoryName').Value := '天霸'; FieldByName('ZdyStr1').Value := '应付付'; Post; end; end; with ADOQueryCmd do begin Close; SQL.Clear; sql.Add('select * from YF_Money_CR where 1<>1'); Open; end; with ADOQueryCmd do begin Append; FieldByName('YFID').Value := Trim(maxId); FieldByName('CRID').Value := StrToInt(CRID); //SSetSaveDataCDSNew(ADOQueryCmd,Tv2,CDS_HZ,'YF_Money_CR',3); FieldByName('Filler').Value := Trim(DName); FieldByName('CRType').Value := '付款登记'; FieldByName('CRFlag').Value := '应付付'; FieldByName('QtyFlag').Value := -1; FieldByName('FactoryNo').Value := ''; FieldByName('FactoryName').Value := '天霸'; // FieldByName('FactoryNo').Value := Trim(CDS_HZ.fieldbyname('FactoryNo').AsString); // FieldByName('FactoryName').Value := Trim(CDS_HZ.fieldbyname('FactoryName').AsString); FieldByName('CRTime').Value := formatdateTIme('yyyy-MM-dd', CDS_HZ.fieldbyname('CRTime').AsDateTime); FieldByName('YFDefFlag1').Value := fFlag; FieldByName('status').Value := '0'; Post; end; with CDS_HZ do begin Edit; FieldByName('YFId').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 TfrmFKCR.cxGridDBColumn8PropertiesEditValueChanged(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; with ADOQueryCmd do begin Close; sql.Clear; sql.Add('UPdate YCL_SG_HZ '); if Trim(mvalue) <> '' then begin sql.Add(' Set ' + FFieldName + '=''' + Trim(mvalue) + ''''); end else begin sql.Add(' Set ' + FFieldName + '=NULL'); end; SQL.Add(',Editer=''' + Trim(DName) + ''''); SQL.Add(',Edittime=getdate() '); SQL.Add(' where SubId=''' + Trim(CDS_HZ.fieldbyname('SubId').AsString) + ''''); ExecSQL; end; end; procedure TfrmFKCR.cxGridDBColumn5PropertiesEditValueChanged(Sender: TObject); var mvalue, FQty, FPrice, FMoney, FHuiLv, 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; with ADOQueryTemp do begin Close; sql.Clear; sql.Add('select isnull(BBMoney,0) BBMoney from YF_Money_CR where YFID=''' + cds_hz.fieldbyname('YFID').AsString + ''''); Open; end; FKCBB := ADOQueryTemp.fieldbyname('BBMoney').AsString; 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'; FHuiLv := Trim(CDS_HZ.fieldbyname('HuiLv').AsString); if Trim(FHuiLv) = '' then FHuiLv := '0'; {FBBMoney:=Trim(CDS_HZ.fieldbyname('BBMoney').AsString); if Trim(FBBMoney)='' then FBBMoney:='0'; } if Trim(FFieldName) <> 'Money' then begin if Trim(FFieldName) <> 'HuiLv' then begin FBBMoney := FloatToStr(StrToFloat(FQty) * StrToFloat(FPrice) * StrToFloat(FHuiLv)); FMoney := FloatToStr(StrToFloat(FQty) * StrToFloat(FPrice)); end else begin FBBMoney := FloatToStr(StrToFloat(FMoney) * StrToFloat(FHuiLv)); end; end else begin FBBMoney := FloatToStr(StrToFloat(FMoney) * StrToFloat(FHuiLv)); end; with CDS_HZ do begin Edit; FieldByName('Money').Value := StrToFloat(FMoney); FieldByName('BBMoney').Value := StrToFloat(FBBMoney); Post; end; with ADOQueryCmd do begin Close; sql.Clear; sql.Add('UPdate YF_Money_CR '); sql.Add(' Set ' + FFieldName + '=' + Trim(mvalue)); if Trim(FFieldName) <> 'Money' then begin sql.Add(',Money=' + FMoney); end; sql.Add(',BBMoney=' + FBBMoney); SQL.Add(',Editer=''' + Trim(DName) + ''''); SQL.Add(',Edittime=getdate() '); SQL.Add(' where YFId=''' + Trim(CDS_HZ.fieldbyname('YFId').AsString) + ''''); SQL.Add('Update YF_Money_KC Set KCBBMoney=KCBBMoney-' + FKCBB + '+' + FBBMoney); sql.Add(' where CRID=''' + Trim(CDS_HZ.fieldbyname('CRID').AsString) + ''''); ExecSQL; end; end; procedure TfrmFKCR.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; with ADOQueryCmd do begin Close; sql.Clear; sql.Add('UPdate YF_Money_CR '); if Trim(mvalue) <> '' then begin sql.Add(' Set ' + FFieldName + '=''' + Trim(mvalue) + ''''); end else begin sql.Add(' Set ' + FFieldName + '=NULL'); end; SQL.Add(',Editer=''' + Trim(DName) + ''''); SQL.Add(',Edittime=getdate() '); SQL.Add(' where YFId=''' + Trim(CDS_HZ.fieldbyname('YFId').AsString) + ''''); ExecSQL; end; with ADOQueryTemp do begin Close; SQL.Clear; SQL.Add('select * from YF_Money_LL where fromMainID=''' + Trim(CDS_HZ.fieldbyname('YFID').AsString) + ''' '); Open; end; if not ADOQueryTemp.IsEmpty then begin with ADOQueryCmd do begin Close; SQL.Clear; SQL.Add('Update YF_Money_LL '); SQL.Add('set ' + FFieldName + '=''' + Trim(mvalue) + ''' '); SQL.Add('where fromMainID=''' + Trim(CDS_HZ.fieldbyname('YFID').AsString) + ''' '); ExecSQL; end; end; end; procedure TfrmFKCR.ToolButton3Click(Sender: TObject); 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 := ''; FieldByName('FactoryName').Value := '天霸'; // FieldByName('FactoryName').Value := Trim(CDS_HZ.fieldbyname('ZdyName').AsString); FieldByName('CRTime').Value := SGetServerDate(ADOQueryTemp); FieldByName('HuiLv').Value := 1; FieldByName('SerCharge').Value := 0; FieldByName('BZType').Value := 'RMB'; Post; end; Self.SaveData(); // end; // end; finally frmZdyAttachGYS.Free; end; { try frmZDYHelp:=TfrmZDYHelp.Create(Application); with frmZDYHelp do begin flag:='FactoryNo1Name'; flagname:='供方'; MainType:='坯布厂'; if ShowModal=1 then begin with Self.CDS_HZ do begin Append; FieldByName('FactoryNo').Value:=Trim(ClientDataSet1.fieldbyname('ZdyNo').AsString); FieldByName('FactoryName').Value:=Trim(ClientDataSet1.fieldbyname('ZdyName').AsString); FieldByName('CRTime').Value:=SGetServerDate(ADOQueryTemp); if Trim(DParameters2)='人民币' then begin FieldByName('HuiLv').Value:=1; end; Post; end; Self.SaveData(); end; end; finally frmZDYHelp.Free; end; } end; procedure TfrmFKCR.cxGridDBColumn3PropertiesButtonClick(Sender: TObject; AButtonIndex: Integer); begin try frmZDYHelp := TfrmZDYHelp.Create(Application); with frmZDYHelp do begin flag := 'YFName'; flagname := '项目及摘要'; if Trim(DParameters3) = '项目分开' then MainType := '付款'; if ShowModal = 1 then begin with Self.CDS_HZ do begin Edit; FieldByName('YFCode').Value := Trim(ClientDataSet1.fieldbyname('ZdyNo').AsString); FieldByName('YFName').Value := Trim(ClientDataSet1.fieldbyname('ZdyName').AsString); end; with ADOQueryCmd do begin Close; sql.Clear; sql.Add('UPdate YF_Money_CR '); sql.Add(' Set YFCode=''' + Trim(ClientDataSet1.fieldbyname('ZdyNo').AsString) + ''''); sql.Add(' ,YFName=''' + 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; try with ADOqueryCmd do begin Close; sql.Clear; SQL.Add('select * from YF_Money_LL where fromMainID=''' + Trim(CDS_HZ.fieldbyname('YFID').AsString) + ''' '); Open; if ADOQueryCmd.IsEmpty = False then begin Edit; FieldByName('CRType').Value := Trim(ClientDataSet1.fieldbyname('ZdyName').AsString); Post; end; end; except Application.MessageBox('更新流水信息失败!', '提示', 0); end; end; end; finally frmZDYHelp.Free; end; end; procedure TfrmFKCR.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); with ADOQueryCmd do begin Close; sql.Clear; sql.Add('UPdate YF_Money_CR '); sql.Add(' Set QtyUnit=''' + 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 TfrmFKCR.v2Column3PropertiesButtonClick(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 // edit; // // FieldByName('FactoryNo').Value:=Trim(CDS_HZ.fieldbyname('ZdyCode').AsString); // FieldByName('fkFactoryName').Value:=Trim(CDS_HZ.fieldbyname('ZdyName').AsString); // Post; // end; // with ADOQueryCmd do // begin // Close; // sql.Clear; // sql.Add('UPdate YF_Money_CR '); // sql.Add(' Set fkFactoryName='''+Trim(CDS_HZ.fieldbyname('ZdyName').AsString)+''''); // SQL.Add(' where YFId='''+Trim(self.CDS_HZ.fieldbyname('YFId').AsString)+''''); // ExecSQL; // end; // end; // end; // finally // frmZdyAttachGYS.Free; // end; // tv2.Controller.EditingController.ShowEdit(); try frmZDYHelp := TfrmZDYHelp.Create(Application); with frmZDYHelp do begin flag := 'DFTaiTou'; flagname := '开票单位'; if ShowModal = 1 then begin with Self.CDS_HZ do begin Edit; FieldByName('fkfactoryName').Value := Trim(ClientDataSet1.fieldbyname('ZdyName').AsString); end; with ADOQueryCmd do begin Close; sql.Clear; sql.Add('UPdate YF_Money_CR '); sql.Add(' Set fkFactoryName=''' + Trim(ClientDataSet1.fieldbyname('ZdyName').AsString) + ''''); SQL.Add(' where YFId=''' + Trim(self.CDS_HZ.fieldbyname('YFId').AsString) + ''''); ExecSQL; end; end; end; finally frmZDYHelp.Free; end; tv2.Controller.EditingController.ShowEdit(); end; procedure TfrmFKCR.ToolButton1Click(Sender: TObject); begin if ADOQueryMain.IsEmpty then Exit; SelExportData(Tv2, ADOQueryMain, '付款列表'); end; procedure TfrmFKCR.v2Column4PropertiesEditValueChanged(Sender: TObject); var mvalue: string; begin mvalue := TcxTextEdit(Sender).EditingText; if Trim(mvalue) = '' then mvalue := '0'; with CDS_HZ do begin Edit; FieldByName('Money').Value := StrToFloatdef(mvalue, 0); Post; end; with ADOQueryCmd do begin Close; sql.Clear; sql.Add('UPdate YF_Money_CR '); sql.Add(' set Money=' + mvalue); SQL.Add(' where YFId=''' + Trim(CDS_HZ.fieldbyname('YFId').AsString) + ''''); ExecSQL; end; try with ADOqueryCmd do begin Close; sql.Clear; SQL.Add('delete from YF_Money_LL where fromMainID=''' + Trim(CDS_HZ.fieldbyname('YFID').AsString) + ''' '); execsql; end; if (CDS_HZ.FieldByName('money').AsFloat <> 0) and (trim(CDS_HZ.fieldbyname('bankNo').AsString) <> '') then begin if not saveZL() then begin application.MessageBox('生成账户流水信息失败', '提示信息', 0); end; end; except end; end; //var // mvalue,FMoney,FHuiLv,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; // with ADOQueryTemp do // begin // Close; // sql.Clear; // sql.Add('select isnull(BBMoney,0) BBMoney from YF_Money_CR where YFID='''+cds_hz.fieldbyname('YFID').AsString+''''); // Open; // end; // FKCBB:=ADOQueryTemp.fieldbyname('BBMoney').AsString; // // FMoney:=Trim(CDS_HZ.fieldbyname('Money').AsString); // if Trim(FMoney)='' then FMoney:='0'; // // FHuiLv:=Trim(CDS_HZ.fieldbyname('HuiLv').AsString); // if Trim(FHuiLv)='' then FHuiLv:='0'; // // {FBBMoney:=Trim(CDS_HZ.fieldbyname('BBMoney').AsString); // if Trim(FBBMoney)='' then FBBMoney:='0'; } // // FBBMoney:=FloatToStr(StrToFloat(FMoney)*StrToFloat(FHuiLv)); // with CDS_HZ do // begin // Edit; // FieldByName('Money').Value:=StrToFloat(FMoney); // FieldByName('BBMoney').Value:=StrToFloat(FBBMoney); // Post; // end; // with ADOQueryCmd do // begin // Close; // sql.Clear; // sql.Add('UPdate YF_Money_CR '); // sql.Add(' Set '+FFieldName+'='+Trim(mvalue)); // sql.Add(',BBMoney='+FBBMoney); // SQL.Add(',Editer='''+Trim(DName)+''''); // SQL.Add(',Edittime=getdate() '); // SQL.Add(' where YFId='''+Trim(CDS_HZ.fieldbyname('YFId').AsString)+''''); // // SQL.Add('Update YF_Money_KC Set KCBBMoney=KCBBMoney+'+FKCBB+'-'+FBBMoney); // sql.Add(' where CRID='''+Trim(CDS_HZ.fieldbyname('CRID').AsString)+''''); // ExecSQL; // end; // try // with ADOqueryCmd do // begin // Close; // sql.Clear; // SQL.Add('delete from YF_Money_LL where fromMainID='''+Trim(CDS_HZ.fieldbyname('YFID').AsString)+''' '); // execsql; // end; // IF (CDS_HZ.FieldByName('money').AsFloat<>0) and // (trim(CDS_HZ.fieldbyname('bankNo').AsString)<>'') then // begin // IF not saveZL() then // begin // application.MessageBox('生成账户流水信息失败','提示信息',0); // end; // end; // except // end; // //end; procedure TfrmFKCR.v2Column1PropertiesButtonClick(Sender: TObject; AButtonIndex: Integer); begin try frmProductOrderNewList := TfrmProductOrderNewList.Create(Application); with frmProductOrderNewList do begin // DParameters1:='高权限'; //frmProductOrderList.v1Column4.Visible:=True; if ShowModal = 1 then begin with Self.CDS_HZ do begin Edit; FieldByName('MainId').Value := Trim(frmProductOrderNewList.Order_Main.fieldbyname('MainId').AsString); // FieldByName('subID').Value:=Trim(frmProductOrderNewList.Order_Main.fieldbyname('subID').AsString); FieldByName('orderNo').Value := Trim(frmProductOrderNewList.Order_Main.fieldbyname('orderNo').AsString); post; with ADOQueryCmd do begin Close; sql.Clear; sql.Add('UPdate YF_Money_CR '); sql.Add(' Set MainId=''' + Trim(frmProductOrderNewList.Order_Main.fieldbyname('MainId').AsString) + ''''); // sql.Add(' ,SubId='''+Trim(frmPbProductList.Order_Main.fieldbyname('SubId').AsString)+''''); sql.Add(' ,orderNo=''' + Trim(frmProductOrderNewList.Order_Main.fieldbyname('orderNo').AsString) + ''''); SQL.Add(',Editer=''' + Trim(DName) + ''''); SQL.Add(',Edittime=getdate() '); SQL.Add(' where YFId=''' + Trim(CDS_HZ.fieldbyname('YFId').AsString) + ''''); ExecSQL; end; end; end; end; finally frmProductOrderNewList.Free; self.Tv2.Controller.EditingController.ShowEdit(); end; end; procedure TfrmFKCR.VBBPropertiesEditValueChanged(Sender: TObject); var mvalue, FKCBB: string; begin mvalue := TcxTextEdit(Sender).EditingText; with ADOQueryTemp do begin Close; sql.Clear; sql.Add('select isnull(BBMoney,0) BBMoney from YF_Money_CR where YFID=''' + cds_hz.fieldbyname('YFID').AsString + ''''); Open; end; FKCBB := ADOQueryTemp.fieldbyname('BBMoney').AsString; if Trim(mvalue) = '' then mvalue := '0'; with CDS_HZ do begin Edit; FieldByName('BBMoney').Value := StrToFloat(mvalue); FieldByName('Money').Value := StrToFloat(mvalue); Post; end; with ADOQueryCmd do begin Close; sql.Clear; sql.Add('UPdate YF_Money_CR '); sql.Add(' set BBMoney=' + mvalue); sql.Add(' ,Money=' + mvalue); SQL.Add(',Editer=''' + Trim(DName) + ''''); SQL.Add(',Edittime=getdate() '); SQL.Add(' where YFId=''' + Trim(CDS_HZ.fieldbyname('YFId').AsString) + ''''); SQL.Add('Update YF_Money_KC Set KCBBMoney=KCBBMoney+' + FKCBB + '-' + mvalue); sql.Add(' where CRID=''' + Trim(CDS_HZ.fieldbyname('CRID').AsString) + ''''); ExecSQL; end; try with ADOqueryCmd do begin Close; sql.Clear; SQL.Add('delete from YF_Money_LL where fromMainID=''' + Trim(CDS_HZ.fieldbyname('YFID').AsString) + ''' '); execsql; end; if (CDS_HZ.FieldByName('money').AsFloat <> 0) and (trim(CDS_HZ.fieldbyname('bankNo').AsString) <> '') then begin if not saveZL() then begin application.MessageBox('生成账户流水信息失败', '提示信息', 0); end; end; except end; end; procedure TfrmFKCR.orderNoChange(Sender: TObject); begin if Length(Trim(orderNo.Text)) < 3 then Exit; ToolButton2.Click; end; procedure TfrmFKCR.v2Column1PropertiesEditValueChanged(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; with ADOQueryCmd do begin Close; sql.Clear; sql.Add('UPdate YF_Money_CR '); sql.Add(' Set ' + FFieldName + '=''' + Trim(mvalue) + ''''); SQL.Add(',Editer=''' + Trim(DName) + ''''); SQL.Add(',Edittime=getdate() '); SQL.Add(' where YFId=''' + Trim(CDS_HZ.fieldbyname('YFId').AsString) + ''''); ExecSQL; end; with ADOQueryTemp do begin Close; SQL.Clear; SQL.Add('select * from YF_Money_LL where fromMainID=''' + Trim(CDS_HZ.fieldbyname('YFID').AsString) + ''' '); Open; end; if not ADOQueryTemp.IsEmpty then begin with ADOQueryCmd do begin Close; SQL.Clear; SQL.Add('Update YF_Money_LL '); SQL.Add('set ' + FFieldName + '=''' + Trim(mvalue) + ''' '); SQL.Add('where fromMainID=''' + Trim(CDS_HZ.fieldbyname('YFID').AsString) + ''' '); ExecSQL; end; end; end; procedure TfrmFKCR.v2DerateMoneyPropertiesEditValueChanged(Sender: TObject); var mvalue: string; begin mvalue := TcxTextEdit(Sender).EditingText; if Trim(mvalue) = '' then mvalue := '0'; with CDS_HZ do begin Edit; FieldByName('DerateMoney').Value := StrToFloatdef(mvalue, 0); Post; end; with ADOQueryCmd do begin Close; sql.Clear; sql.Add('UPdate YF_Money_CR '); sql.Add(' set DerateMoney=' + mvalue); SQL.Add(' where YFId=''' + Trim(CDS_HZ.fieldbyname('YFId').AsString) + ''''); ExecSQL; end; end; procedure TfrmFKCR.v2fstr1PropertiesEditValueChanged(Sender: TObject); var mvalue: string; begin mvalue := TcxTextEdit(Sender).EditingText; with ADOQueryCmd do begin Close; sql.Clear; sql.Add('UPdate YF_Money_CR '); sql.Add(' set fstr1=' + quotedstr(trim(mvalue))); SQL.Add(' where YFId=''' + Trim(CDS_HZ.fieldbyname('YFId').AsString) + ''''); ExecSQL; end; end; procedure TfrmFKCR.TchkClick(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 YF_Money_CR SET status=''1'' '); sql.Add('where YFID =' + quotedstr(trim(CDS_HZ.fieldbyname('YFID').AsString))); execsql; end; end; next; end; First; EnableControls; end; InitGrid(); ADOQueryCmd.Connection.CommitTrans; except ADOQueryCmd.Connection.RollbackTrans; application.MessageBox('操作失败!', '提示信息', 0); end; end; procedure TfrmFKCR.TNochkClick(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 YF_Money_CR SET status=''0'' '); sql.Add('where YFID =' + quotedstr(trim(CDS_HZ.fieldbyname('YFID').AsString))); execsql; end; end; next; end; First; EnableControls; end; InitGrid(); ADOQueryCmd.Connection.CommitTrans; except ADOQueryCmd.Connection.RollbackTrans; application.MessageBox('操作失败!', '提示信息', 0); end; end; procedure TfrmFKCR.cxTabControl1Change(Sender: TObject); begin SetStatus(); InitGrid(); end; procedure TfrmFKCR.v2Column2PropertiesButtonClick(Sender: TObject; AButtonIndex: Integer); begin try frmZDYHelp := TfrmZDYHelp.Create(Application); with frmZDYHelp do begin flag := 'XJLLFLAG'; flagname := '账户类型定义'; if ShowModal = 1 then begin with Self.CDS_HZ do begin Edit; FieldByName('bankNo').Value := Trim(ClientDataSet1.fieldbyname('ZdyName').AsString); end; with ADOQueryCmd do begin Close; sql.Clear; sql.Add('UPdate YF_Money_CR '); sql.Add(' Set bankNo=''' + Trim(ClientDataSet1.fieldbyname('ZdyName').AsString) + ''''); SQL.Add(' where YFId=''' + Trim(CDS_HZ.fieldbyname('YFId').AsString) + ''''); ExecSQL; end; end; end; finally frmZDYHelp.Free; end; try with ADOqueryCmd do begin Close; sql.Clear; SQL.Add('delete from YF_Money_LL where fromMainID=''' + Trim(CDS_HZ.fieldbyname('YFID').AsString) + ''' '); execsql; end; if (CDS_HZ.FieldByName('money').AsFloat <> 0) and (trim(CDS_HZ.fieldbyname('bankNo').AsString) <> '') then begin if not saveZL() then begin application.MessageBox('生成账户流水信息失败', '提示信息', 0); end; end; except end; end; procedure TfrmFKCR.TBFileUpClick(Sender: TObject); begin if CDS_HZ.IsEmpty then Exit; try frmFjList10 := TfrmFjList10.Create(Application); with frmFjList10 do begin if Trim(DParameters1) <> '高权限' then cxButton1.Visible := false; fkeyNO := Trim(Self.CDS_HZ.fieldbyname('YFID').AsString); fType := '付款'; if ShowModal = 1 then begin end; end; finally frmFjList10.Free; end; InitGrid(); end; procedure TfrmFKCR.v2DFBankNoPropertiesEditValueChanged(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; with ADOQueryCmd do begin Close; sql.Clear; sql.Add('UPdate YF_Money_CR '); sql.Add(' Set ' + FFieldName + '=''' + Trim(mvalue) + ''''); SQL.Add(',Editer=''' + Trim(DName) + ''''); SQL.Add(',Edittime=getdate() '); SQL.Add(' where YFId=''' + Trim(CDS_HZ.fieldbyname('YFId').AsString) + ''''); ExecSQL; end; end; procedure TfrmFKCR.v2DFTaiTouPropertiesButtonClick(Sender: TObject; AButtonIndex: Integer); begin try frmZDYHelp := TfrmZDYHelp.Create(Application); with frmZDYHelp do begin flag := 'DFTaiTou'; flagname := '收款抬头'; if ShowModal = 1 then begin with Self.CDS_HZ do begin Edit; FieldByName('DFTaiTou').Value := Trim(ClientDataSet1.fieldbyname('ZdyName').AsString); end; with ADOQueryCmd do begin Close; sql.Clear; sql.Add('UPdate YF_Money_CR '); sql.Add(' Set DFTaiTou=''' + 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 TfrmFKCR.v2Column5PropertiesEditValueChanged(Sender: TObject); var mvalue: string; begin mvalue := TcxTextEdit(Sender).EditingText; if Trim(mvalue) = '' then mvalue := '0'; with CDS_HZ do begin Edit; FieldByName('Price').Value := StrToFloatdef(mvalue, 0); Post; end; with ADOQueryCmd do begin Close; sql.Clear; sql.Add('UPdate YF_Money_CR '); sql.Add(' set Price=' + mvalue); SQL.Add(' where YFId=''' + Trim(CDS_HZ.fieldbyname('YFId').AsString) + ''''); ExecSQL; end; try with ADOqueryCmd do begin Close; sql.Clear; SQL.Add('delete from YF_Money_LL where fromMainID=''' + Trim(CDS_HZ.fieldbyname('YFID').AsString) + ''' '); execsql; end; if (CDS_HZ.FieldByName('money').AsFloat <> 0) and (trim(CDS_HZ.fieldbyname('bankNo').AsString) <> '') then begin if not saveZL() then begin application.MessageBox('生成账户流水信息失败', '提示信息', 0); end; end; except end; end; procedure TfrmFKCR.v2Column7PropertiesButtonClick(Sender: TObject; AButtonIndex: Integer); begin try frmZDYHelp := TfrmZDYHelp.Create(Application); with frmZDYHelp do begin flag := 'FKTYPE'; flagname := '付款方式'; if Trim(DParameters3) = '项目分开' then MainType := '付款'; if ShowModal = 1 then begin with Self.CDS_HZ do begin Edit; FieldByName('payment').Value := Trim(ClientDataSet1.fieldbyname('zdyname').AsString); end; with ADOQueryCmd do begin Close; sql.Clear; sql.Add('UPdate YF_Money_CR '); sql.Add(' Set payment=''' + Trim(ClientDataSet1.fieldbyname('zdyname').AsString) + ''''); SQL.Add(' where YFId=''' + Trim(CDS_HZ.fieldbyname('YFId').AsString) + ''''); ExecSQL; end; end; end; finally frmZDYHelp.Free; end; end; procedure TfrmFKCR.Tv2Column1PropertiesButtonClick(Sender: TObject; AButtonIndex: Integer); begin try frmZDYHelp := TfrmZDYHelp.Create(Application); with frmZDYHelp do begin flag := 'SYRName'; flagname := '公司抬头'; if Trim(flag) = 'SYRName' then begin flag := 'OrdDefStr2'; V1Name.Caption := '中文名称'; V1Note.Caption := '英文名称'; fnote := True; end; if ShowModal = 1 then begin with Self.CDS_HZ do begin Edit; FieldByName('SYRName').Value := Trim(ClientDataSet1.fieldbyname('zdyname').AsString); end; with ADOQueryCmd do begin Close; sql.Clear; sql.Add('UPdate YF_Money_CR '); sql.Add(' Set SYRName=''' + Trim(ClientDataSet1.fieldbyname('zdyname').AsString) + ''''); SQL.Add(' where YFId=''' + Trim(CDS_HZ.fieldbyname('YFId').AsString) + ''''); ExecSQL; end; end; end; finally frmZDYHelp.Free; end; end; procedure TfrmFKCR.fkfactoryNameChange(Sender: TObject); begin ToolButton2.Click; end; procedure TfrmFKCR.CheckBox1Click(Sender: TObject); begin if CDS_HZ.IsEmpty then exit; with CDS_HZ do begin DisableControls; first; while not eof do begin edit; fieldbyname('ssel').Value := checkbox1.Checked; post; next; end; First; EnableControls; end; end; end.