unit U_YFCR; 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, RM_e_Xls, cxLookAndFeels, cxLookAndFeelPainters, cxNavigator, dxBarBuiltInMenu, cxCurrencyEdit; type TfrmYFCR = class(TForm) ToolBar1: TToolBar; TBRafresh: TToolButton; TBDel: TToolButton; TBClose: TToolButton; ADOQueryTemp: TADOQuery; ADOQueryCmd: TADOQuery; Panel1: TPanel; ToolButton2: TToolButton; Label1: TLabel; ADOQueryMain: TADOQuery; ToolButton1: TToolButton; RM1: TRMGridReport; RMDB_Main: TRMDBDataSet; Label3: TLabel; FactoryName: TEdit; cxGrid2: TcxGrid; Tv2: TcxGridDBTableView; cxGridDBColumn1: TcxGridDBColumn; cxGridDBColumn3: TcxGridDBColumn; cxGridDBColumn5: TcxGridDBColumn; cxGridDBColumn6: TcxGridDBColumn; cxGridLevel1: TcxGridLevel; Label2: TLabel; Label6: TLabel; begdate: TDateTimePicker; Enddate: TDateTimePicker; cxGridPopupMenu2: TcxGridPopupMenu; DS_HZ: TDataSource; CDS_HZ: TClientDataSet; TBADD: TToolButton; v2Column1: TcxGridDBColumn; VYB: TcxGridDBColumn; VBB: TcxGridDBColumn; v2Column6: TcxGridDBColumn; v2Note: TcxGridDBColumn; v2C_CodeName: TcxGridDBColumn; v2Column2: TcxGridDBColumn; v2ssel: TcxGridDBColumn; P_CodeName: TEdit; Label4: TLabel; Edit1: TEdit; Label7: TLabel; Button1: TButton; CheckBox1: TCheckBox; YFName: TComboBox; cxTabControl1: TcxTabControl; Tchk: TToolButton; Tnochk: TToolButton; TBZJ: TToolButton; v2Column5: TcxGridDBColumn; Label9: TLabel; Edit2: TEdit; Button2: TButton; v2Column8: TcxGridDBColumn; OrderNO: TEdit; Label10: TLabel; ToolButton3: TToolButton; RMXLSExport1: TRMXLSExport; ADOQueryPrint: TADOQuery; TBCF: TToolButton; Label12: TLabel; Label13: TLabel; Button5: TButton; ComboBox1: TComboBox; Edit4: TEdit; Button6: TButton; Label11: TLabel; Edit3: TEdit; Button3: TButton; Tv2Column1: TcxGridDBColumn; Label5: TLabel; guino: TEdit; Tv2Column2: TcxGridDBColumn; Label8: TLabel; P_Color: TEdit; Tv2Column3: 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 FactoryNameChange(Sender: TObject); procedure Button2Click(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 v2Column3PropertiesButtonClick(Sender: TObject; AButtonIndex: Integer); procedure ToolButton1Click(Sender: TObject); procedure v2Column2PropertiesEditValueChanged(Sender: TObject); procedure v2PSPropertiesEditValueChanged(Sender: TObject); procedure v2BatchNoPropertiesEditValueChanged(Sender: TObject); procedure v2PayMentPropertiesButtonClick(Sender: TObject; AButtonIndex: Integer); procedure Button1Click(Sender: TObject); procedure CheckBox1Click(Sender: TObject); procedure cxTabControl1Change(Sender: TObject); procedure TchkClick(Sender: TObject); procedure TnochkClick(Sender: TObject); procedure TBZJClick(Sender: TObject); procedure v2OrderNOPropertiesButtonClick(Sender: TObject; AButtonIndex: Integer); procedure Tv2FocusedRecordChanged(Sender: TcxCustomGridTableView; APrevFocusedRecord, AFocusedRecord: TcxCustomGridRecord; ANewItemRecordFocusingChanged: Boolean); procedure Edit1KeyPress(Sender: TObject; var Key: Char); procedure Edit2KeyPress(Sender: TObject; var Key: Char); procedure ToolButton3Click(Sender: TObject); procedure TBCFClick(Sender: TObject); procedure v2Column6PropertiesButtonClick(Sender: TObject; AButtonIndex: Integer); procedure Button5Click(Sender: TObject); procedure Button6Click(Sender: TObject); procedure Button3Click(Sender: TObject); procedure Tv2Column1PropertiesButtonClick(Sender: TObject; AButtonIndex: Integer); procedure Tv2Column4PropertiesEditValueChanged(Sender: TObject); procedure Tv2Column6PropertiesButtonClick(Sender: TObject; AButtonIndex: Integer); private { Private declarations } procedure InitGrid(); function SaveData(): Boolean; procedure SetStatus(); public fFlag: integer; { Public declarations } RKFlag, FCYID, fmanage: string; end; var frmYFCR: TfrmYFCR; implementation uses U_DataLink, U_Fun, U_ZDYHelp, U_ProductOrderList, U_ProductOrderNewList, U_PbProductList, U_ZdyAttachGYS, U_SXCKNewList, U_ProductOrderListSel, U_ClothContractListHZSel; {$R *.dfm} procedure TfrmYFCR.SetStatus(); var i: integer; begin Tchk.Enabled := false; TNochk.Enabled := false; TBDel.Enabled := false; TBCF.Visible := 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; TBCF.Visible := True; // for i:=0 to tv2.ColumnCount-1 do // begin // 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; // for i:=0 to tv2.ColumnCount-1 do // begin // tv2.Columns[i].Options.Editing:=true; // end; end; end; if fmanage = '跟单员查询' then begin TBZJ.Visible := false; TBADd.Visible := false; tbdel.Visible := false; tchk.Visible := false; Tnochk.Visible := false; Label7.Visible := false; Edit1.Visible := false; Button1.Visible := false; tv2.OptionsData.Editing := false; end; InitGrid(); end; procedure TfrmYFCR.InitGrid(); begin try ADOQueryMain.DisableControls; with ADOQueryMain do begin Close; SQL.Clear; Filtered := False; sql.Add(' select A.* '); sql.Add(',KHCode=(select top 1 zdycode from KH_Zdy_Attachment X where X.zdyname=A.FactoryName and Type=''KHName'' and Valid=''Y'')'); // sql.Add(' ,gdy=(select top 1 OrdPerson1 from JYOrder_Main X where X.OrderNO=A.OrderNO) '); sql.Add(',guino=(select top 1 guino from wfb_mjjy X where mjid in(select top 1 MJID from ck_bancp_cr XX where XX.RKOrdID=A.YFTypeID))'); sql.Add(' from YF_Money_CR A'); sql.Add('where A.CRTime>=''' + FormatDateTime('yyyy-MM-dd', begdate.DateTime) + ''' '); sql.Add(' and A.CRTime<''' + FormatDateTime('yyyy-MM-dd', Enddate.DateTime + 1) + ''' '); sql.Add(' and A.CRType=''应付款登记'' '); if cxTabControl1.TabIndex < 2 then sql.Add(' and A.status=''' + inttostr(cxTabControl1.TabIndex) + ''' '); Open; end; SCreateCDS20(ADOQueryMain, CDS_HZ); SInitCDSData20(ADOQueryMain, CDS_HZ); finally ADOQueryMain.EnableControls; ToolButton2.Click; end; end; procedure TfrmYFCR.FormDestroy(Sender: TObject); begin frmYFCR := nil; end; procedure TfrmYFCR.FormClose(Sender: TObject; var Action: TCloseAction); begin Action := caFree; end; procedure TfrmYFCR.TBCloseClick(Sender: TObject); begin WriteCxGrid('应付款登记', Tv2, '财务管理100'); Close; end; procedure TfrmYFCR.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 // IF fieldbyname('YFType').AsString='自动生成' then // begin // EnableControls; // ADOQueryCmd.Connection.RollbackTrans; // Application.MessageBox('自动生成的数据不能删除!','提示',0); // exit; // end; with ADOQueryCmd do begin close; sql.Clear; sql.Add('delete YF_Money_CR where YFID=''' + Trim(CDS_HZ.fieldbyname('YFID').AsString) + ''''); sql.Add('Update YF_Money_KC Set KCMoney=(select isnull(Sum(Money*QtyFlag),0) from YF_Money_CR A where A.CRID=YF_Money_KC.CRID)'); sql.Add(',KCBBMoney=(select isnull(Sum(BBMoney*QtyFlag),0) from YF_Money_CR A where A.CRID=YF_Money_KC.CRID)'); sql.Add(' where FactoryName=''' + Trim(CDS_HZ.fieldbyname('FactoryName').AsString) + ''''); sql.Add(' and ZDYStr1=''应付付'' '); execsql; end; end; next; end; First; EnableControls; end; InitGrid(); ADOQueryCmd.Connection.CommitTrans; except ADOQueryCmd.Connection.RollbackTrans; application.MessageBox('操作失败!', '提示信息', 0); end; end; procedure TfrmYFCR.FormShow(Sender: TObject); begin ReadCxGrid('应付款登记', Tv2, '财务管理100'); Enddate.DateTime := SGetServerDate(ADOQueryTemp); begdate.DateTime := Enddate.DateTime; SetStatus(); InitGrid(); end; procedure TfrmYFCR.TBRafreshClick(Sender: TObject); begin InitGrid(); end; procedure TfrmYFCR.ToolButton2Click(Sender: TObject); var sql: string; begin if ADOQueryMain.Active then begin sql := SGetFilters(Panel1, 1, 2); SDofilter(ADOQueryMain, sql); SCreateCDS20(ADOQueryMain, CDS_HZ); SInitCDSData20(ADOQueryMain, CDS_HZ); end; end; procedure TfrmYFCR.FactoryNameChange(Sender: TObject); begin ToolButton2.Click; end; procedure TfrmYFCR.Button2Click(Sender: TObject); begin if CDS_HZ.IsEmpty then exit; if cxTabControl1.TabIndex > 0 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('Money').Value := RoundFloat(strtofloatdef(Edit2.Text, 0), 2); Fieldbyname('BBMoney').Value := RoundFloat(strtofloatdef(Edit2.Text, 0), 2); if Fieldbyname('Qty').AsFloat <> 0 then Fieldbyname('Price').Value := format('%.2f', [strtofloatdef(Edit2.Text, 0) / Fieldbyname('Qty').AsFloat]); post; end; end; next; end; First; EnableControls; end; ADOQueryCmd.Connection.CommitTrans; InitGrid(); except ADOQueryCmd.Connection.RollbackTrans; application.MessageBox('数据保存失败!', '提示信息', 0); end; end; function TfrmYFCR.SaveData(): Boolean; var maxId, CRID: string; begin try ADOQueryCmd.Connection.BeginTrans; if GetLSNo(ADOQueryCmd, maxId, 'YF', '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('FactoryNo').Value := Trim(CDS_HZ.fieldbyname('FactoryNo').AsString); // FieldByName('FactoryName').Value := Trim(CDS_HZ.fieldbyname('FactoryName').AsString); 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('machi').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('status').Value := '0'; FieldByName('BZType').Value := 'RMB'; FieldByName('HuiLv').Value := 1; 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 TfrmYFCR.cxGridDBColumn5PropertiesEditValueChanged(Sender: TObject); var mvalue, FQty, FPrice, FMoney, FHuiLv, FBBMoney, FKCBB, FFieldName: string; begin { if Trim(CDS_HZ.FieldByName('YFType').AsString)='自动生成' then begin Application.MessageBox('自动生成的数据不能修改!','提示',0); Exit; end;} 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); if Trim(DParameters2) = '人民币' then begin FieldByName('HuiLv').Value := 1; end; 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 := '1'; {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(RoundFloat(StrToFloat(FQty) * StrToFloat(FPrice) * StrToFloat(FHuiLv), 2)); FMoney := FloatToStr(RoundFloat(StrToFloat(FQty) * StrToFloat(FPrice), 2)); end else begin FBBMoney := FloatToStr(RoundFloat(StrToFloat(FMoney) * StrToFloat(FHuiLv), 2)); end; end else begin FBBMoney := FloatToStr(RoundFloat(StrToFloat(FMoney) * StrToFloat(FHuiLv), 2)); 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; tv2.Controller.EditingController.ShowEdit(); end; procedure TfrmYFCR.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; tv2.Controller.EditingController.ShowEdit(); end; procedure TfrmYFCR.TBADDClick(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 := Trim(CDS_HZ.fieldbyname('ZdyCode').AsString); // FieldByName('FactoryName').Value := Trim(CDS_HZ.fieldbyname('ZdyName').AsString); FieldByName('FactoryNo').Value := ''; FieldByName('FactoryName').Value := '天霸'; FieldByName('CRTime').Value := SGetServerDate(ADOQueryTemp); FieldByName('BZType').Value := 'RMB'; FieldByName('HuiLv').Value := 1; // FieldByName('machi').Value := 1; Post; end; Self.SaveData(); // end; // end; finally frmZdyAttachGYS.Free; end; tv2.Controller.EditingController.ShowEdit(); { 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); Post; end; Self.SaveData(); end; end; finally frmZDYHelp.Free; end; } end; procedure TfrmYFCR.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 := '项目及摘要'; 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; end; end; finally frmZDYHelp.Free; end; end; procedure TfrmYFCR.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 TfrmYFCR.v2Column3PropertiesButtonClick(Sender: TObject; AButtonIndex: Integer); begin try frmZDYHelp := TfrmZDYHelp.Create(Application); with frmZDYHelp do begin flag := 'BZType'; flagname := '币种'; if ShowModal = 1 then begin Self.CDS_HZ.Edit; Self.CDS_HZ.FieldByName('BZType').Value := Trim(ClientDataSet1.fieldbyname('ZDYName').AsString); with ADOQueryCmd do begin Close; sql.Clear; sql.Add('UPdate YF_Money_CR '); sql.Add(' Set BZType=''' + 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 TfrmYFCR.ToolButton1Click(Sender: TObject); begin if ADOQueryMain.IsEmpty then Exit; SelExportData(Tv2, ADOQueryMain, '应付款列表'); end; procedure TfrmYFCR.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; 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 TfrmYFCR.v2PSPropertiesEditValueChanged(Sender: TObject); var mvalue, 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 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 TfrmYFCR.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; 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 TfrmYFCR.v2PayMentPropertiesButtonClick(Sender: TObject; AButtonIndex: Integer); begin try frmZDYHelp := TfrmZDYHelp.Create(Application); with frmZDYHelp do begin flag := 'FKTYPE'; flagname := '付款方式'; 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(',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 TfrmYFCR.Button1Click(Sender: TObject); begin if CDS_HZ.IsEmpty then exit; if cxTabControl1.TabIndex > 0 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 TfrmYFCR.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; procedure TfrmYFCR.cxTabControl1Change(Sender: TObject); begin SetStatus(); end; procedure TfrmYFCR.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 TfrmYFCR.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 TfrmYFCR.TBZJClick(Sender: TObject); begin frmSXCKNewList := TfrmSXCKNewList.create(self); with frmSXCKNewList do begin show; end; end; procedure TfrmYFCR.v2OrderNOPropertiesButtonClick(Sender: TObject; AButtonIndex: Integer); begin try frmProductOrderListSel := TfrmProductOrderListSel.Create(Application); with frmProductOrderListSel do begin FFInt := 1; //frmProductOrderList.v1Column4.Visible:=True; if ShowModal = 1 then begin with Self.CDS_HZ do begin Edit; FieldByName('OrderNo').Value := Trim(frmProductOrderListSel.Order_Main.fieldbyname('OrderNo').AsString); FieldByName('P_CodeName').Value := Trim(frmProductOrderListSel.Order_Main.fieldbyname('MPrtCodeName').AsString); FieldByName('P_Spec').Value := Trim(frmProductOrderListSel.Order_Main.fieldbyname('Mprtspec').AsString); FieldByName('P_MF').Value := Trim(frmProductOrderListSel.Order_Main.fieldbyname('MPRTMF').AsString); FieldByName('P_KZ').Value := Trim(frmProductOrderListSel.Order_Main.fieldbyname('MPRTKZ').AsString); with ADOQueryCmd do begin Close; sql.Clear; sql.Add('UPdate YF_Money_CR '); sql.Add(' Set OrderNO=''' + Trim(frmProductOrderListSel.Order_Main.fieldbyname('OrderNO').AsString) + ''''); sql.Add(' ,P_CodeName=''' + Trim(frmProductOrderListSel.Order_Main.fieldbyname('MPrtCodeName').AsString) + ''''); sql.Add(' ,P_Spec=''' + Trim(frmProductOrderListSel.Order_Main.fieldbyname('Mprtspec').AsString) + ''''); sql.Add(' ,P_MF=''' + Trim(frmProductOrderListSel.Order_Main.fieldbyname('MPRTMF').AsString) + ''''); sql.Add(' ,P_KZ=''' + Trim(frmProductOrderListSel.Order_Main.fieldbyname('MPRTKZ').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 frmProductOrderListSel.Free; end; end; procedure TfrmYFCR.Tv2FocusedRecordChanged(Sender: TcxCustomGridTableView; APrevFocusedRecord, AFocusedRecord: TcxCustomGridRecord; ANewItemRecordFocusingChanged: Boolean); var i: integer; begin if CDS_HZ.fieldbyname('YFType').AsString = '自动生成' then begin // if cxTabControl1.TabIndex = 0 then // begin // for i := 0 to tv2.ColumnCount - 1 do // begin // if ((uppercase(tv2.Columns[i].DataBinding.FieldName) <> 'SSEL') and (uppercase(tv2.Columns[i].DataBinding.FieldName) <> 'NOTE') and (uppercase(tv2.Columns[i].DataBinding.FieldName) <> 'CGConNo')) then // tv2.Columns[i].Options.Editing := false; // end; // end // else // begin 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; // end; end else begin for i := 0 to tv2.ColumnCount - 1 do begin if uppercase(tv2.Columns[i].DataBinding.FieldName) <> 'SSEL' then tv2.Columns[i].Options.Editing := true; end; end; end; procedure TfrmYFCR.Edit1KeyPress(Sender: TObject; var Key: Char); begin if not (Key in [#8, #127, '.', '0'..'9']) then Key := #0; end; procedure TfrmYFCR.Edit2KeyPress(Sender: TObject; var Key: Char); begin if not (Key in [#8, #127, '.', '0'..'9']) then Key := #0; end; procedure TfrmYFCR.ToolButton3Click(Sender: TObject); var fPrintFile, fPrintFile10, FMainID: string; begin if CDS_HZ.IsEmpty then Exit; if CDS_HZ.Locate('SSel', True, []) = False then begin Application.MessageBox('没有选择数据', '提示', 0); Exit; end; with ADOQueryCmd do begin Close; sql.Clear; sql.Add('delete TBSubID where DName=''' + Trim(DCode) + ''''); ExecSQL; end; with ADOQueryCmd do begin Close; sql.Clear; sql.Add('SELECT * FROM TBSubID where 1=2 '); open; end; CDS_HZ.DisableControls; try ADOQueryCmd.Connection.BeginTrans; with CDS_HZ do begin First; while not Eof do begin if Fieldbyname('Ssel').AsBoolean then begin ADOQueryCmd.append; ADOQueryCmd.fieldbyname('SubId').Value := Trim(CDS_HZ.fieldbyname('yfid').AsString); ADOQueryCmd.fieldbyname('Dname').Value := Trim(DCode); ADOQueryCmd.post; end; Next; end; end; ADOQueryCmd.Connection.CommitTrans; except ADOQueryCmd.Connection.RollbackTrans; end; CDS_HZ.EnableControls; with ADOQueryPrint do begin Close; sql.Clear; sql.Add(' select A.*, '); sql.Add(' gdy=(select top 1 OrdPerson1 from JYOrder_Main X where X.OrderNO=A.OrderNO) '); sql.Add(' from YF_Money_CR A'); sql.Add(' where A.CRType=''应付款登记'' '); sql.Add(' and exists (select SubId from TBSubID X where X.Dname=''' + trim(DCode) + ''' and X.subid=A.yfid)'); Open; end; fPrintFile := ExtractFilePath(Application.ExeName) + 'Report\应付入库单.rmf'; if FileExists(fPrintFile) then begin RM1.LoadFromFile(fPrintFile); RM1.ShowReport; end else begin Application.MessageBox(PChar('没有找' + fPrintFile), '提示', 0); end; end; procedure TfrmYFCR.TBCFClick(Sender: TObject); var maxid: string; begin if CDS_HZ.IsEmpty then Exit; if Application.MessageBox('确定要拆分数据吗?', '提示', 32 + 4) <> IDYES then Exit; try ADOQueryCmd.Connection.BeginTrans; if GetLSNo(ADOQueryCmd, maxid, 'YF', 'YF_Money_CR', 4, 1) = False then begin ADOQueryCmd.Connection.RollbackTrans; Application.MessageBox('取最大号失败!', '提示', 0); Exit; end; with ADOQueryCmd do begin Close; sql.Clear; sql.Add('delete YF_Money_CR_temp '); execsql; end; with ADOQueryCmd do begin Close; sql.Clear; sql.Add('insert into YF_Money_CR_temp'); sql.Add('select * from YF_Money_CR where yfid=''' + CDS_HZ.fieldbyname('YFID').AsString + ''' '); sql.Add('update YF_Money_CR_temp set yfid=''' + trim(maxid) + ''' , YFType=''拆分生成'' ,filltime=getdate(),filler=''' + trim(DName) + ''' '); sql.Add('insert into YF_Money_CR'); sql.Add('select * from YF_Money_CR_temp '); sql.Add('delete YF_Money_CR_temp '); ExecSQL; end; ADOQueryCmd.Connection.CommitTrans; application.MessageBox('操作成功!', '提示信息', 0); except ADOQueryCmd.Connection.RollbackTrans; application.MessageBox('操作失败!', '提示信息', 0); exit; end; CopyAddRow(Tv2, CDS_HZ); with CDS_HZ do begin Edit; FieldByName('yfid').Value := Trim(maxid); FieldByName('YFType').Value := '拆分生成'; Post; // TV1.Controller.EditingController.Edit.PostEditValue; end; // InitGrid(); end; procedure TfrmYFCR.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 Edit; FieldByName('FactoryNo').Value := Trim(CDS_HZ.fieldbyname('ZdyCode').AsString); FieldByName('FactoryName').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 FactoryNo=''' + Trim(CDS_HZ.fieldbyname('ZdyCode').AsString) + ''''); sql.Add(' ,FactoryName=''' + Trim(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) + ''''); // ShowMessage(sql.Text); ExecSQL; end; end; end; finally frmZdyAttachGYS.Free; end; self.tv2.Controller.EditingController.ShowEdit(); // InitGrid(); end; procedure TfrmYFCR.Button5Click(Sender: TObject); begin if CDS_HZ.IsEmpty then exit; if cxTabControl1.TabIndex > 0 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('QtyUnit').Value := ComboBox1.Text; Fieldbyname('Editer').Value := Trim(DName); Fieldbyname('Edittime').Value := SGetServerDate(ADOQuerytemp); post; end; end; next; end; First; EnableControls; end; ADOQueryCmd.Connection.CommitTrans; InitGrid(); except ADOQueryCmd.Connection.RollbackTrans; application.MessageBox('数据保存失败!', '提示信息', 0); end; end; procedure TfrmYFCR.Button6Click(Sender: TObject); begin if CDS_HZ.IsEmpty then exit; if cxTabControl1.TabIndex > 0 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('QTY').Value := strtofloatdef(edit4.Text, 0); Fieldbyname('Money').Value := format('%.2f', [Fieldbyname('Price').AsFloat * strtofloatdef(edit4.Text, 0)]); Fieldbyname('BBMoney').Value := format('%.2f', [Fieldbyname('Price').AsFloat * strtofloatdef(edit4.Text, 0)]); Fieldbyname('Editer').Value := Trim(DName); Fieldbyname('Edittime').Value := SGetServerDate(ADOQuerytemp); post; end; end; next; end; First; EnableControls; end; ADOQueryCmd.Connection.CommitTrans; InitGrid(); except ADOQueryCmd.Connection.RollbackTrans; application.MessageBox('数据保存失败!', '提示信息', 0); end; end; procedure TfrmYFCR.Button3Click(Sender: TObject); begin if CDS_HZ.IsEmpty then exit; if cxTabControl1.TabIndex > 0 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('ps').Value := strtofloatdef(edit3.Text, 0); Fieldbyname('Editer').Value := Trim(DName); Fieldbyname('Edittime').Value := SGetServerDate(ADOQuerytemp); post; end; end; next; end; First; EnableControls; end; ADOQueryCmd.Connection.CommitTrans; InitGrid(); except ADOQueryCmd.Connection.RollbackTrans; application.MessageBox('数据保存失败!', '提示信息', 0); end; end; procedure TfrmYFCR.Tv2Column1PropertiesButtonClick(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('ToFactoryName').Value := Trim(CDS_HZ.fieldbyname('ZdyName').AsString); FieldByName('ToFactoryNo').Value := Trim(CDS_HZ.fieldbyname('ZdyCode').AsString); Post; end; with ADOQueryCmd do begin Close; sql.Clear; sql.Add('UPdate YF_Money_CR '); sql.Add(' Set ToFactoryNo=''' + Trim(CDS_HZ.fieldbyname('ZdyCode').AsString) + ''''); sql.Add(' ,ToFactoryName=''' + Trim(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; tv2.Controller.EditingController.ShowEdit(); end; procedure TfrmYFCR.Tv2Column4PropertiesEditValueChanged(Sender: TObject); var mvalue, FQty, FPrice, FMoney, FHuiLv, FBBMoney, FKCBB, FFieldName, FMDQty, FMachi: string; begin { if Trim(CDS_HZ.FieldByName('YFType').AsString)='自动生成' then begin Application.MessageBox('自动生成的数据不能修改!','提示',0); Exit; end;} 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); if Trim(DParameters2) = '人民币' then begin FieldByName('HuiLv').Value := 1; end; Post; end; FMDQty := Trim(CDS_HZ.fieldbyname('MDQty').AsString); if Trim(FQty) = '' then FQty := '0'; FPrice := Trim(CDS_HZ.fieldbyname('Price').AsString); if Trim(FPrice) = '' then FPrice := '0'; FMachi := Trim(CDS_HZ.fieldbyname('machi').AsString); if Trim(FQty) = '' then FQty := '1'; FHuiLv := Trim(CDS_HZ.fieldbyname('HuiLv').AsString); if Trim(FHuiLv) = '' then FHuiLv := '1'; {FBBMoney:=Trim(CDS_HZ.fieldbyname('BBMoney').AsString); if Trim(FBBMoney)='' then FBBMoney:='0'; } FQty := FloatToStr(RoundFloat(StrToFloat(FMDQty) * StrToFloat(FMachi), 2)); FBBMoney := FloatToStr(RoundFloat(StrToFloat(FQty) * StrToFloat(FPrice) * StrToFloat(FHuiLv), 2)); FMoney := FloatToStr(RoundFloat(StrToFloat(FQty) * StrToFloat(FPrice), 2)); with CDS_HZ do begin Edit; FieldByName('Qty').Value := StrToFloat(FQty); 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(',Money=' + FMoney); sql.Add(',BBMoney=' + FBBMoney); sql.Add(',Qty=' + FQty); 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; tv2.Controller.EditingController.ShowEdit(); end; procedure TfrmYFCR.Tv2Column6PropertiesButtonClick(Sender: TObject; AButtonIndex: Integer); var FPrice, FMoney: Double; begin try frmClothContractListHZSel := TfrmClothContractListHZSel.Create(Application); with frmClothContractListHZSel do begin FFactoryName := Self.CDS_HZ.fieldbyname('FactoryName').asstring; if ShowModal = 1 then begin with Self.CDS_HZ do begin edit; FieldByName('CGConNo').Value := Trim(Order_Main.fieldbyname('ConNo').AsString); FieldByName('CGSubid').Value := Trim(Order_Main.fieldbyname('Subid').AsString); FieldByName('P_CodeName').Value := Trim(Order_Main.fieldbyname('C_CodeName').AsString); FieldByName('P_MF').Value := Trim(Order_Main.fieldbyname('YXMF').AsString); FieldByName('P_KZ').Value := Trim(Order_Main.fieldbyname('KZ').AsString); // FieldByName('OrderNo').Value := Trim(Order_Main.fieldbyname('JYOrderNo').AsString); // if StrToFloatDef(Order_Main.fieldbyname('jysubid').AsString, 0) <> 0 then // begin FPrice := Order_Main.fieldbyname('Price').asfloat; FMoney := StrToFloatDef(CDS_HZ.fieldbyname('Qty').asstring, 0) * Order_Main.fieldbyname('Price').AsFloat; FieldByName('Price').Value := FPrice; FieldByName('Money').Value := FMoney; // end; Post; end; with ADOQueryCmd do begin Close; sql.Clear; sql.Add('UPdate YF_Money_CR '); sql.Add(' Set CGConNo=''' + Trim(Order_Main.fieldbyname('ConNo').AsString) + ''''); sql.Add(' ,CGSubid=''' + Trim(Order_Main.fieldbyname('Subid').AsString) + ''''); sql.Add(' ,P_CodeName=''' + Trim(Order_Main.fieldbyname('C_CodeName').AsString) + ''''); sql.Add(' ,P_MF=''' + Trim(Order_Main.fieldbyname('YXMF').AsString) + ''''); sql.Add(' ,P_KZ=''' + Trim(Order_Main.fieldbyname('KZ').AsString) + ''''); sql.Add(' ,OrderNo=''' + Trim(Order_Main.fieldbyname('JYOrderNo').AsString) + ''''); // if strtofloatdef(Order_Main.fieldbyname('Subid').AsString, 0) <> 0 then // begin sql.Add(' ,Price=''' + FloatToStr(FPrice) + ''''); sql.Add(' ,Money=''' + FloatToStr(FMoney) + ''''); // end; 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 frmClothContractListHZSel.Free; end; tv2.Controller.EditingController.ShowEdit(); end; end.