unit U_CLKH_CZBCFSub; interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, cxStyles, cxCustomData, cxGraphics, cxFilter, cxData, cxDataStorage, cxEdit, DB, cxDBData, cxCalendar, cxDropDownEdit, ComCtrls, ToolWin, cxGridLevel, cxGridCustomTableView, cxGridTableView, cxGridDBTableView, cxClasses, cxControls, cxGridCustomView, cxGrid, cxGridCustomPopupMenu, cxGridPopupMenu, ADODB, DBClient, cxButtonEdit, cxTextEdit, ExtCtrls, StdCtrls, BtnEdit, cxCurrencyEdit, cxLookAndFeels, cxLookAndFeelPainters, cxNavigator; type TfrmCLKH_CZLCFSub = class(TForm) ToolBar1: TToolBar; TBSave: TToolButton; TBClose: TToolButton; DataSource3: TDataSource; CDS_Sub: TClientDataSet; ADOQueryCmd: TADOQuery; ADOQueryMain: TADOQuery; ADOQueryTemp: TADOQuery; cxGridPopupMenu2: TcxGridPopupMenu; ToolButton1: TToolButton; ToolButton2: TToolButton; ADOQuery1: TADOQuery; ADOQuery2: TADOQuery; cxGrid2: TcxGrid; Tv1: TcxGridDBTableView; v1SJName: TcxGridDBColumn; v1CheHao: TcxGridDBColumn; v1CCQty: TcxGridDBColumn; v1MGLQty: TcxGridDBColumn; v1JYQty: TcxGridDBColumn; v1KHYHQty: TcxGridDBColumn; v1JFMoney: TcxGridDBColumn; v1BTMoney: TcxGridDBColumn; v1SFMoney: TcxGridDBColumn; cxGrid2Level1: TcxGridLevel; Panel1: TPanel; Label1: TLabel; Month: TDateTimePicker; v1XXPrice: TcxGridDBColumn; v1YHMonth: TcxGridDBColumn; v1KHXS: TcxGridDBColumn; v1ZFLQty: TcxGridDBColumn; procedure FormClose(Sender: TObject; var Action: TCloseAction); procedure TBCloseClick(Sender: TObject); procedure FormShow(Sender: TObject); procedure TBSaveClick(Sender: TObject); procedure v1Column3PropertiesButtonClick(Sender: TObject; AButtonIndex: Integer); procedure v1Column14PropertiesButtonClick(Sender: TObject; AButtonIndex: Integer); procedure v2Column1PropertiesButtonClick(Sender: TObject; AButtonIndex: Integer); procedure v1Column5PropertiesButtonClick(Sender: TObject; AButtonIndex: Integer); procedure v1Column16PropertiesButtonClick(Sender: TObject; AButtonIndex: Integer); procedure v1Column13PropertiesButtonClick(Sender: TObject; AButtonIndex: Integer); procedure v2Column6PropertiesEditValueChanged(Sender: TObject); procedure v1PricePropertiesEditValueChanged(Sender: TObject); procedure QtyChange(Sender: TObject); procedure ToolButton1Click(Sender: TObject); procedure ToolButton2Click(Sender: TObject); procedure v2CPFLQtyPropertiesEditValueChanged(Sender: TObject); procedure v1CLSpecPropertiesButtonClick(Sender: TObject; AButtonIndex: Integer); procedure v1SJNamePropertiesButtonClick(Sender: TObject; AButtonIndex: Integer); procedure v1CPNoPropertiesButtonClick(Sender: TObject; AButtonIndex: Integer); procedure v1CheHaoPropertiesButtonClick(Sender: TObject; AButtonIndex: Integer); procedure v1YPricePropertiesEditValueChanged(Sender: TObject); procedure v1XXPricePropertiesEditValueChanged(Sender: TObject); private { Private declarations } function SaveCKData():Boolean; public { Public declarations } FBCId,canshu3:String; end; var frmCLKH_CZLCFSub: TfrmCLKH_CZLCFSub; implementation uses U_DataLink,U_RTFun,U_ClothContractListHZCX,U_ZDYHelp, U_ZdyAttachGYS,U_ProductOrderListSel, U_ZdyAttachCP,U_CLManage; {$R *.dfm} procedure TfrmCLKH_CZLCFSub.FormClose(Sender: TObject; var Action: TCloseAction); begin Action:=caFree; end; function TfrmCLKH_CZLCFSub.SaveCKData():Boolean; var FCRID,Maxno,FFSPID:string; begin try ADOQueryCmd.Connection.BeginTrans; with CDS_Sub do begin first; while not eof do begin if Trim(fieldbyname('YHID').AsString)='' then begin if GetLSNo(ADOQueryCmd,Maxno,'YH','CL_YHKH_CF',3,1)=False then begin Result:=False; ADOQueryCmd.Connection.RollbackTrans; Application.MessageBox('取原料入库编号失败!','提示',0); Exit; end; end else begin Maxno:=Trim(fieldbyname('YHID').AsString); end; with ADOQueryCmd do begin close; sql.Clear; sql.Add('select * from CL_YHKH_CF '); sql.Add('where YHID='''+trim(MaxNo)+''''); open; end; with ADOQueryCmd do begin if IsEmpty then begin Append; end else begin Edit; end; FieldByName('YHID').Value:=Trim(MaxNo); RTSetSaveDataCDS(ADOQueryCmd,Tv1,CDS_Sub,'CL_YHKH_CF',2); FieldByName('CLName').Value:=Trim(CDS_Sub.fieldbyname('CLName').AsString); FieldByName('CLSpec').Value:=Trim(CDS_Sub.fieldbyname('CLSpec').AsString); FieldByName('MGLQty').Value:=CDS_Sub.fieldbyname('MGLQty').AsFloat; FieldByName('SJYHQty').Value:=CDS_Sub.fieldbyname('SJYHQty').AsFloat; FieldByName('JYQty').Value:=CDS_Sub.fieldbyname('JYQty').AsFloat; FieldByName('KHYHQty').Value:=CDS_Sub.fieldbyname('KHYHQty').AsFloat; FieldByName('XXPrice').Value:=CDS_Sub.fieldbyname('XXPrice').AsFloat; FieldByName('JFMoney').Value:=CDS_Sub.fieldbyname('JFMoney').AsFloat; FieldByName('BTMoney').Value:=CDS_Sub.fieldbyname('BTMoney').AsFloat; FieldByName('SFMoney').Value:=CDS_Sub.fieldbyname('SFMoney').AsFloat; FieldByName('KHXS').Value:=CDS_Sub.fieldbyname('KHXS').AsFloat; Post; end; Next; end; end; ADOQueryCmd.Connection.CommitTrans; Result:=True; except; Result:=False; ADOQueryCmd.Connection.RollbackTrans; Application.MessageBox('保存异常!','提示',0); end; end; procedure TfrmCLKH_CZLCFSub.TBCloseClick(Sender: TObject); begin WriteCxGrid('车载泵超方',Tv1,'成品仓库'); Close; end; procedure TfrmCLKH_CZLCFSub.FormShow(Sender: TObject); var fsj:String; begin ReadCxGrid('车载泵超方',Tv1,'成品仓库'); with ADOQueryTemp do begin Close; sql.Clear; sql.Add(' select A.* '); sql.Add(' from CL_YHKH_CF A'); sql.Add(' where YHID='''+Trim(FBCId)+''''); Open; end; SCreateCDS20(ADOQueryTemp,CDS_Sub); SInitCDSData20(ADOQueryTemp,CDS_Sub); Month.Date:=SGetServerDate(ADOQuery1); end; procedure TfrmCLKH_CZLCFSub.TBSaveClick(Sender: TObject); begin if CDS_Sub.IsEmpty then Exit; ToolBar1.SetFocus; if CDS_Sub.Locate('SJName','',[])=true then begin application.MessageBox('司机不能为空','提示'); exit; end; {if CDS_Sub.Locate('KHXS','',[])=true then begin application.MessageBox('系数不能为空','提示'); exit; end; } if CDS_Sub.Locate('KHXS',0,[])=true then begin application.MessageBox('系数不能为零','提示'); exit; end; if CDS_Sub.Locate('KHXS',Null,[])=true then begin application.MessageBox('系数不能为空','提示'); exit; end; if SaveCKData() then begin Application.MessageBox('保存成功!','提示',0); ModalResult:=1; end; end; procedure TfrmCLKH_CZLCFSub.v1Column3PropertiesButtonClick(Sender: TObject; AButtonIndex: Integer); begin try frmZDYHelp:=TfrmZDYHelp.Create(Application); with frmZDYHelp do begin flag:='QtyUnit'; flagname:='数量单位'; if ShowModal=1 then begin with Self.CDS_Sub do begin Edit; FieldByName('QtyUnit').Value:=Trim(frmZDYHelp.ClientDataSet1.fieldbyname('ZdyName').AsString); end; end; end; finally frmZDYHelp.Free; end; end; procedure TfrmCLKH_CZLCFSub.v1Column14PropertiesButtonClick(Sender: TObject; AButtonIndex: Integer); begin try frmZdyAttachGYS:=TfrmZdyAttachGYS.Create(Application); with frmZdyAttachGYS do begin if ShowModal=1 then begin with Self.CDS_Sub do begin edit; FieldByName('FactoryNo').Value:=Trim(frmZdyAttachGYS.CDS_HZ.fieldbyname('ZdyCode').AsString) ; FieldByName('FactoryName').Value:=Trim(frmZdyAttachGYS.CDS_HZ.fieldbyname('ZdyName').AsString); //Post; end; end; end; finally frmZdyAttachGYS.Free; end; end; procedure TfrmCLKH_CZLCFSub.v2Column1PropertiesButtonClick(Sender: TObject; AButtonIndex: Integer); begin if Trim(canshu3)='' then begin try frmZDYHelp:=TfrmZDYHelp.Create(Application); with frmZDYHelp do begin flag:='PBName'; flagname:='坯布名称'; if ShowModal=1 then begin with Self.CDS_Sub do begin Edit; FieldByName('SPName').Value:=Trim(frmZDYHelp.ClientDataSet1.fieldbyname('ZdyName').AsString); end; end; end; finally frmZDYHelp.Free; end; end else begin try frmZdyAttachCP:=TfrmZdyAttachCP.Create(Application); with frmZdyAttachCP do begin if ShowModal=1 then begin with Self.CDS_Sub do begin Edit; FieldByName('SPName').Value:=Trim(frmZdyAttachCP.CDS_HZ.fieldbyname('ZdyName').AsString); FieldByName('SPSpec').Value:=Trim(frmZdyAttachCP.CDS_HZ.fieldbyname('DEFstr1').AsString); FieldByName('SPCF').Value:=Trim(frmZdyAttachCP.CDS_HZ.fieldbyname('DEFstr2').AsString); FieldByName('SPMF').Value:=Trim(frmZdyAttachCP.CDS_HZ.fieldbyname('DEFstr7').AsString); FieldByName('SPKZ').Value:=Trim(frmZdyAttachCP.CDS_HZ.fieldbyname('DEFstr8').AsString); FieldByName('SPKZ').Value:=Trim(frmZdyAttachCP.CDS_HZ.fieldbyname('DEFstr8').AsString); FieldByName('SPCode').Value:=Trim(frmZdyAttachCP.CDS_HZ.fieldbyname('ZdyCode').AsString); FieldByName('CPID').Value:=Trim(frmZdyAttachCP.CDS_HZ.fieldbyname('ATID').AsString); end; end; end; finally frmZdyAttachCP.Free; end; end; end; procedure TfrmCLKH_CZLCFSub.v1Column5PropertiesButtonClick(Sender: TObject; AButtonIndex: Integer); begin try frmZDYHelp:=TfrmZDYHelp.Create(Application); with frmZDYHelp do begin flag:='PLName'; flagname:='原料名称'; if ShowModal=1 then begin with Self.CDS_Sub do begin Edit; FieldByName('YLName').Value:=Trim(frmZDYHelp.ClientDataSet1.fieldbyname('ZdyName').AsString); end; end; end; finally frmZDYHelp.Free; end; end; procedure TfrmCLKH_CZLCFSub.v1Column16PropertiesButtonClick(Sender: TObject; AButtonIndex: Integer); begin try frmZdyAttachGYS:=TfrmZdyAttachGYS.Create(Application); with frmZdyAttachGYS do begin if ShowModal=1 then begin with Self.CDS_Sub do begin edit; FieldByName('FromFactoryNo').Value:=Trim(frmZdyAttachGYS.CDS_HZ.fieldbyname('ZdyCode').AsString) ; FieldByName('FromFactoryName').Value:=Trim(frmZdyAttachGYS.CDS_HZ.fieldbyname('ZdyName').AsString); //Post; end; end; end; finally frmZdyAttachGYS.Free; end; end; procedure TfrmCLKH_CZLCFSub.v1Column13PropertiesButtonClick(Sender: TObject; AButtonIndex: Integer); begin try frmProductOrderListSel:=TfrmProductOrderListSel.Create(Application); with frmProductOrderListSel do begin if ShowModal=1 then begin with Self.CDS_Sub do begin Edit; FieldByName('ORDMainIdRK').Value:=Trim(frmProductOrderListSel.Order_Main.fieldbyname('MainId').AsString); FieldByName('ORDSubIdRK').Value:=Trim(frmProductOrderListSel.Order_Main.fieldbyname('SubId').AsString); FieldByName('OrderNo').Value:=Trim(frmProductOrderListSel.Order_Main.fieldbyname('OrderNo').AsString); end; end; end; finally frmProductOrderListSel.Free; end; end; procedure TfrmCLKH_CZLCFSub.v2Column6PropertiesEditValueChanged( Sender: TObject); var mavlue:string; begin mavlue:=TcxTextEdit(Sender).EditingText; if mavlue='' then begin mavlue:='0'; end; with CDS_Sub do begin edit; fieldbyname('Qty').Value:=trim(Mavlue); end; with CDS_Sub do begin edit; fieldbyname('Money').Value:=fieldbyname('Qty').AsFloat*fieldbyname('Price').AsFloat; end; end; procedure TfrmCLKH_CZLCFSub.v1PricePropertiesEditValueChanged( Sender: TObject); var mavlue:string; begin mavlue:=TcxTextEdit(Sender).EditingText; if mavlue='' then begin mavlue:='0'; end; with CDS_Sub do begin edit; fieldbyname('Price').Value:=trim(Mavlue); end; with CDS_Sub do begin edit; fieldbyname('CPMoney').Value:=fieldbyname('Qty').AsFloat*fieldbyname('Price').AsFloat; end; end; procedure TfrmCLKH_CZLCFSub.QtyChange(Sender: TObject); var i:double; begin end; procedure TfrmCLKH_CZLCFSub.ToolButton1Click(Sender: TObject); begin Month.Enabled:=false; with ADOQuery1 do begin close; sql.Clear; sql.Add('select AA.*,SJYHQty=(case when MGLQty<>0 then cast(JYQty/MGLQty as decimal(18,3)) end) '); sql.Add(' from (select convert(varchar(7),CRTime,120) YHMonth,A.CLName,SJName,CheHao,CLSpec '); sql.Add(',CCQty=(select Sum(B.CLQty) from CK_CP_CR B where B.CheHao=A.CheHao and B.CLSpec=A.CLSpec and B.SJName=A.SJName and convert(varchar(7),A.CRTime,120)=convert(varchar(7),B.CRTime,120))'); SQL.Add(',MGLQty=(select Sum(B.CPFLQty) from CK_CP_CR B where B.CheHao=A.CheHao '); sql.Add(' and B.CLSpec=A.CLSpec and B.SJName=A.SJName and convert(varchar(7),A.CRTime,120)=convert(varchar(7),B.CRTime,120))'); SQL.Add(',JYQty=(select Sum(CPFLQty) from (select (case when B.CPFLQty<50 then 50 else B.CPFLQty end) CPFLQty from CK_CP_CR B where B.CheHao=A.CheHao '); sql.Add(' and B.CLSpec=A.CLSpec and B.SJName=A.SJName and convert(varchar(7),A.CRTime,120)=convert(varchar(7),B.CRTime,120)) BB)'); sql.Add(' from CK_CP_CR A '); sql.Add('where convert(varchar(7),A.CRTime,120)='''+Trim(FormatDateTime('yyyy-MM',Month.Date))+''''); sql.Add(' and A.CLName=''泵车'''); sql.add(' group by convert(varchar(7),CRTime,120),A.CLName,SJName,CheHao,CLSpec) AA'); Open; end; with ADOQuery1 do begin First; while not eof do begin with CDS_Sub do begin append; FieldByName('YHMonth').Value:=Trim(ADOQuery1.fieldbyname('YHMonth').AsString); FieldByName('SJName').Value:=Trim(ADOQuery1.fieldbyname('SJName').AsString); FieldByName('CLName').Value:='泵车超方'; FieldByName('CLSpec').Value:=Trim(ADOQuery1.fieldbyname('CLSpec').AsString); FieldByName('CheHao').Value:=Trim(ADOQuery1.fieldbyname('CheHao').AsString); FieldByName('CCQty').Value:=ADOQuery1.fieldbyname('CCQty').AsFloat; FieldByName('MGLQty').Value:=ADOQuery1.fieldbyname('MGLQty').AsFloat; FieldByName('JYQty').Value:=ADOQuery1.fieldbyname('JYQty').AsFloat; FieldByName('ZFLQty').Value:=ADOQuery1.fieldbyname('JYQty').AsFloat; if FieldByName('CLSpec').AsString='车载泵' then begin FieldByName('KHXS').Value:=1500; FieldByName('KHYHQty').Value:=ADOQuery1.fieldbyname('JYQty').AsFloat-1500; FieldByName('XXPrice').Value:=1; FieldByName('JFMoney').Value:=ADOQuery1.fieldbyname('JYQty').AsFloat-1500; end; if FieldByName('CLSpec').AsString='38M泵' then begin FieldByName('KHXS').Value:=3500; FieldByName('KHYHQty').Value:=ADOQuery1.fieldbyname('JYQty').AsFloat-3500; FieldByName('XXPrice').Value:=1; FieldByName('JFMoney').Value:=ADOQuery1.fieldbyname('JYQty').AsFloat-3500; end; if FieldByName('CLSpec').Value='56M泵' then begin FieldByName('KHXS').Value:=5000; FieldByName('KHYHQty').Value:=ADOQuery1.fieldbyname('JYQty').AsFloat-5000; FieldByName('XXPrice').Value:=1.3; FieldByName('JFMoney').Value:=(ADOQuery1.fieldbyname('JYQty').AsFloat-5000)*1.3; end; if FieldByName('CLSpec').Value='1#56M泵' then begin FieldByName('KHXS').Value:=5000; FieldByName('KHYHQty').Value:=ADOQuery1.fieldbyname('JYQty').AsFloat-5000; FieldByName('XXPrice').Value:=1.3; FieldByName('JFMoney').Value:=(ADOQuery1.fieldbyname('JYQty').AsFloat-5000)*1.3; end; if FieldByName('CLSpec').Value='2#56M泵' then begin FieldByName('KHXS').Value:=5000; FieldByName('KHYHQty').Value:=ADOQuery1.fieldbyname('JYQty').AsFloat-5000; FieldByName('XXPrice').Value:=1.3; FieldByName('JFMoney').Value:=(ADOQuery1.fieldbyname('JYQty').AsFloat-5000)*1.3; end; if FieldByName('CLSpec').Value='62M泵' then begin FieldByName('KHXS').Value:=5000; FieldByName('KHYHQty').Value:=ADOQuery1.fieldbyname('JYQty').AsFloat-5000; FieldByName('XXPrice').Value:=1.3; FieldByName('JFMoney').Value:=(ADOQuery1.fieldbyname('JYQty').AsFloat-5000)*1.3; end; {if FieldByName('CLSpec').Value='拖泵' then begin FieldByName('KHXS').Value:=500; FieldByName('KHYHQty').Value:=ADOQuery1.fieldbyname('JYQty').AsFloat-500; FieldByName('XXPrice').Value:=1; FieldByName('JFMoney').Value:=ADOQuery1.fieldbyname('JYQty').AsFloat-500; end; if FieldByName('CLSpec').AsString='45M泵' then begin FieldByName('KHXS').Value:=0; FieldByName('KHYHQty').Value:=ADOQuery1.fieldbyname('JYQty').AsFloat; FieldByName('XXPrice').Value:=1; FieldByName('JFMoney').Value:=ADOQuery1.fieldbyname('JYQty').AsFloat; end; if FieldByName('CLSpec').AsString='46M泵' then begin FieldByName('KHXS').Value:=5000; FieldByName('KHYHQty').Value:=ADOQuery1.fieldbyname('JYQty').AsFloat-5000; FieldByName('XXPrice').Value:=1.3; FieldByName('JFMoney').Value:=(ADOQuery1.fieldbyname('JYQty').AsFloat-5000)*1.3; end; if FieldByName('CLSpec').Value='50M泵' then begin FieldByName('KHXS').Value:=5500; FieldByName('KHYHQty').Value:=ADOQuery1.fieldbyname('JYQty').AsFloat-5500; FieldByName('XXPrice').Value:=1.3; FieldByName('JFMoney').Value:=(ADOQuery1.fieldbyname('JYQty').AsFloat-5500)*1.3; end;} post; end; Next; end; end; end; procedure TfrmCLKH_CZLCFSub.ToolButton2Click(Sender: TObject); begin if CDS_Sub.IsEmpty then exit; CDS_Sub.Delete; end; procedure TfrmCLKH_CZLCFSub.v2CPFLQtyPropertiesEditValueChanged( Sender: TObject); var mvalue:string; begin mvalue:=Trim(TcxTextEdit(Sender).EditingText); if mvalue='' then mvalue:='0'; with CDS_Sub do begin Edit; FieldByName('CPFLQty').Value:=mvalue; FieldByName('CPMoney').Value:=fieldbyname('Price').AsFloat*strtofloat(mvalue); end; end; procedure TfrmCLKH_CZLCFSub.v1CLSpecPropertiesButtonClick( Sender: TObject; AButtonIndex: Integer); begin try frmCLManage:=TfrmCLManage.Create(Application); with frmCLManage do begin TSsel.Visible:=true; TBAdd.Visible:=false; TBEdit.Visible:=false; if ShowModal=1 then begin with Self.CDS_Sub do begin Edit; FieldByName('CLSpec').Value:=Trim(CDS_Main.fieldbyname('CLXNo').AsString); FieldByName('JPSpec').Value:=Trim(CDS_Main.fieldbyname('JPSpec').AsString); FieldByName('CPNo').Value:=Trim(CDS_Main.fieldbyname('CPNo').AsString); FieldByName('CheHao').Value:=Trim(CDS_Main.fieldbyname('CheHao').AsString); end; end; end; finally frmCLManage.Free; end; end; procedure TfrmCLKH_CZLCFSub.v1SJNamePropertiesButtonClick( Sender: TObject; AButtonIndex: Integer); begin try frmZDYHelp:=TfrmZDYHelp.Create(Application); with frmZDYHelp do begin flag:='SJName'; flagname:='司机'; if ShowModal=1 then begin with Self.CDS_Sub do begin Edit; FieldByName('SJName').Value:=Trim(frmZDYHelp.ClientDataSet1.fieldbyname('ZdyName').AsString); end; end; end; finally frmZDYHelp.Free; end; end; procedure TfrmCLKH_CZLCFSub.v1CPNoPropertiesButtonClick(Sender: TObject; AButtonIndex: Integer); begin try frmZDYHelp:=TfrmZDYHelp.Create(Application); with frmZDYHelp do begin flag:='CPNo'; flagname:='车牌号码'; if ShowModal=1 then begin with Self.CDS_Sub do begin Edit; FieldByName('CPNo').Value:=Trim(frmZDYHelp.ClientDataSet1.fieldbyname('ZdyName').AsString); end; end; end; finally frmZDYHelp.Free; end; end; procedure TfrmCLKH_CZLCFSub.v1CheHaoPropertiesButtonClick( Sender: TObject; AButtonIndex: Integer); begin try frmZDYHelp:=TfrmZDYHelp.Create(Application); with frmZDYHelp do begin flag:='CheHao'; flagname:='车号'; if ShowModal=1 then begin with Self.CDS_Sub do begin Edit; FieldByName('CheHao').Value:=Trim(frmZDYHelp.ClientDataSet1.fieldbyname('ZdyName').AsString); end; end; end; finally frmZDYHelp.Free; end; end; procedure TfrmCLKH_CZLCFSub.v1YPricePropertiesEditValueChanged( Sender: TObject); var mvalue:string; begin mvalue:=Trim(TcxTextEdit(Sender).EditingText); if mvalue='' then mvalue:='0'; with CDS_Sub do begin Edit; FieldByName('YPrice').Value:=mvalue; FieldByName('YMoney').Value:=fieldbyname('CZMoney').AsFloat*strtofloat(mvalue); end; end; procedure TfrmCLKH_CZLCFSub.v1XXPricePropertiesEditValueChanged( Sender: TObject); var mavlue,FFileName:string; begin mavlue:=TcxTextEdit(Sender).EditingText; if mavlue='' then mavlue:='0'; FFileName:=Tv1.Controller.FocusedColumn.DataBinding.FilterFieldName; with CDS_Sub do begin edit; FieldByName(FFileName).Value:=mavlue; end; with CDS_Sub do begin edit; FieldByName('KHYHQty').Value:=fieldbyname('ZFLQty').AsFloat-fieldbyname('KHXS').AsFloat; end; with CDS_Sub do begin edit; FieldByName('JFMoney').Value:=fieldbyname('KHYHQty').AsFloat*fieldbyname('XXPrice').AsFloat; end; with CDS_Sub do begin edit; FieldByName('SFMoney').Value:=FieldByName('JFMoney').AsFloat+fieldbyname('BTMoney').AsFloat; end; end; end.