unit U_CbJdLr; 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, cxCheckComboBox, cxDropDownEdit, Menus, RM_e_Xls; type TfrmCbJdLr = class(TForm) ToolBar1: TToolBar; TBRafresh: TToolButton; TBDel: TToolButton; TBClose: TToolButton; ADOQueryTemp: TADOQuery; ADOQueryCmd: TADOQuery; ToolButton2: TToolButton; ADOQueryMain: TADOQuery; ToolButton1: TToolButton; RM1: TRMGridReport; RMDB_Main: TRMDBDataSet; cxGrid2: TcxGrid; Tv2: TcxGridDBTableView; cxGridDBColumn1: TcxGridDBColumn; cxGridLevel1: TcxGridLevel; cxGridPopupMenu2: TcxGridPopupMenu; DS_HZ: TDataSource; CDS_HZ: TClientDataSet; TBADD: TToolButton; v2Note: TcxGridDBColumn; v2C_CodeName: TcxGridDBColumn; v2Column4: TcxGridDBColumn; v2ssel: TcxGridDBColumn; cxTabControl1: TcxTabControl; Tchk: TToolButton; Tnochk: TToolButton; v2Column11: TcxGridDBColumn; v2Column12: TcxGridDBColumn; v2Column13: TcxGridDBColumn; PopupMenu1: TPopupMenu; N1: TMenuItem; N2: TMenuItem; Panel1: TPanel; Label3: TLabel; Label2: TLabel; Label6: TLabel; Label5: TLabel; CustomerName: TEdit; begdate: TDateTimePicker; Enddate: TDateTimePicker; FactoryName: TEdit; CDS_PRT: TClientDataSet; RMXLSExport2: TRMXLSExport; RMDBMain: TRMDBDataSet; v2Column1: TcxGridDBColumn; v2Column2: TcxGridDBColumn; v2Column3: TcxGridDBColumn; v2Column5: TcxGridDBColumn; v2Column6: TcxGridDBColumn; v2Column7: TcxGridDBColumn; v2Column8: TcxGridDBColumn; v2Column10: TcxGridDBColumn; v2Column15: TcxGridDBColumn; v2Column14: TcxGridDBColumn; ToolButton3: TToolButton; v2Column21: TcxGridDBColumn; v2Column22: TcxGridDBColumn; v2Column23: TcxGridDBColumn; v2Column20: TcxGridDBColumn; ToolButton4: TToolButton; cxStyleRepository1: TcxStyleRepository; cxStyle1: TcxStyle; cxStyleRepository2: TcxStyleRepository; cxStyle2: TcxStyle; v2Column16: TcxGridDBColumn; v2Column17: TcxGridDBColumn; v2Column18: TcxGridDBColumn; v2Column19: TcxGridDBColumn; v2Column24: TcxGridDBColumn; cxStyleRepository3: TcxStyleRepository; cxStyle3: TcxStyle; Label1: TLabel; BpPs: TEdit; Label7: TLabel; CpName: TEdit; Label8: TLabel; CpColor: TEdit; Label9: TLabel; CpKz: TEdit; Label4: TLabel; RanChang: TEdit; v2Column9: TcxGridDBColumn; v2Column25: TcxGridDBColumn; v2Column26: TcxGridDBColumn; v2Column27: TcxGridDBColumn; Label10: TLabel; GangHao: TEdit; v2Column28: TcxGridDBColumn; Label11: TLabel; Edit1: TEdit; 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 cxGridDBColumn1PropertiesEditValueChanged(Sender: TObject); procedure TBADDClick(Sender: TObject); procedure ToolButton1Click(Sender: TObject); procedure cxTabControl1Change(Sender: TObject); procedure TchkClick(Sender: TObject); procedure TnochkClick(Sender: TObject); procedure N1Click(Sender: TObject); procedure N2Click(Sender: TObject); procedure Tv2MouseDown(Sender: TObject; Button: TMouseButton; Shift: TShiftState; X, Y: Integer); procedure v2Column3PropertiesButtonClick(Sender: TObject; AButtonIndex: Integer); procedure ToolButton3Click(Sender: TObject); procedure FormCreate(Sender: TObject); procedure v2Column5PropertiesEditValueChanged(Sender: TObject); procedure ToolButton4Click(Sender: TObject); procedure v2Column2PropertiesEditValueChanged(Sender: TObject); procedure v2NotePropertiesButtonClick(Sender: TObject; AButtonIndex: Integer); procedure v2Column9PropertiesButtonClick(Sender: TObject; AButtonIndex: Integer); private { Private declarations } procedure InitGrid(); function SaveData():Boolean; procedure SetStatus(); procedure setGrid(); public fFlag:integer; { Public declarations } RKFlag,FCYID,fmanage:String; canshu1:string; end; var frmCbJdLr: TfrmCbJdLr; implementation uses U_DataLink,U_Fun,U_ZDYHelp, U_ZdyAttachGYS, U_ProductOrderListSel, U_ProductOrderNewList, U_ZdyAttachment,U_DJBRKListSel; {$R *.dfm} procedure TfrmCbJdLr.setGrid(); var i:Integer; begin try case cxTabControl1.TabIndex of 0:begin for i:=0 to tv2.ColumnCount-1 do begin tv2.Columns[i].Options.Editing:=true; // if uppercase(tv2.Columns[i].DataBinding.FieldName)<>'SSEL' then // begin // if Trim(canshu1)='高权限' then // begin // tv2.Columns[i].Options.Editing:=true; // end // else // begin // if tv2.Columns[i].Tag=1 then tv2.Columns[i].Options.Editing:=true; // if tv2.Columns[i].Tag=2 then tv2.Columns[i].Options.Editing:=false; // end; // end; end; end; 1: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; 2: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; except end end; procedure TfrmCbJdLr.SetStatus(); var i:integer; begin Tchk.Visible:=false; TNochk.Visible:=false; TBDel.Visible:=false; IF canshu1='高权限' then begin case cxTabControl1.TabIndex of 0:begin Tchk.Visible:=true; TBDel.Visible:=true; end; 1:begin TNochk.Visible:=true; end; end; end else begin case cxTabControl1.TabIndex of 0:begin TBDel.Visible:=true; end; 1:begin end; end; end; end; procedure TfrmCbJdLr.InitGrid(); begin try ADOQueryMain.DisableControls; with ADOQueryMain do begin Close; SQL.Clear; Filtered:=False; sql.Add(' select * from CbJdLr A '); sql.Add('where A.Filltime>='''+FormatDateTime('yyyy-MM-dd',begdate.DateTime)+''' '); sql.Add(' and A.Filltime<'''+FormatDateTime('yyyy-MM-dd',Enddate.DateTime+1)+''' '); IF cxTabControl1.TabIndex<2 then sql.Add(' and ISNULL(A.status,0)='''+inttostr(cxTabControl1.TabIndex)+''' '); if Trim(canshu1)<>'高权限' then begin sql.Add('and A.Filler='''+Trim(DName)+''''); end; //ShowMessage(SQL.Text); Open; end; SCreateCDS20(ADOQueryMain,CDS_HZ); SInitCDSData20(ADOQueryMain,CDS_HZ); finally ADOQueryMain.EnableControls; ToolButton2.Click; end; end; procedure TfrmCbJdLr.FormDestroy(Sender: TObject); begin frmCbJdLr:=nil; end; procedure TfrmCbJdLr.FormClose(Sender: TObject; var Action: TCloseAction); begin Action:=caFree; end; procedure TfrmCbJdLr.TBCloseClick(Sender: TObject); begin WriteCxGrid(Trim(Self.Caption),Tv2,'临时工作管理'); Close; end; procedure TfrmCbJdLr.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('Filler').AsString<>Trim(DName) then begin EnableControls; ADOQueryCmd.Connection.RollbackTrans; Application.MessageBox('别人的数据不能删除!','提示',0); exit; end; with ADOQueryCmd do begin close; sql.Clear; sql.Add('delete CbJdLr where CBID='''+Trim(CDS_HZ.fieldbyname('CBID').AsString)+''''); execsql; end; end; next; end; First; EnableControls; end; InitGrid(); ADOQueryCmd.Connection.CommitTrans; except ADOQueryCmd.Connection.RollbackTrans; application.MessageBox('操作失败!','提示信息',0); end; end; procedure TfrmCbJdLr.FormShow(Sender: TObject); begin ReadCxGrid(Trim(Self.Caption),Tv2,'临时工作管理'); Enddate.DateTime:=SGetServerDate(ADOQueryTemp); begdate.DateTime:=Enddate.DateTime-30; SetStatus(); InitGrid(); end; procedure TfrmCbJdLr.TBRafreshClick(Sender: TObject); begin InitGrid(); end; procedure TfrmCbJdLr.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; function TfrmCbJdLr.SaveData():Boolean; var maxId,CRID:String; begin try ADOQueryCmd.Connection.BeginTrans; if GetLSNo(ADOQueryCmd,maxId,'CB','CbJdLr',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 CbJdLr where 1<>1'); Open; end; with ADOQueryCmd do begin Append; FieldByName('CBID').Value:=Trim(maxId); FieldByName('Filler').Value:=Trim(DName); FieldByName('Filltime').Value:=formatdateTIme('yyyy-MM-dd',SGetServerDate(ADOQueryTemp)); FieldByName('crtime').Value:=formatdateTIme('yyyy-MM-dd',SGetServerDate(ADOQueryTemp)); FieldByName('status').Value:='0'; Post; end; with Self.CDS_HZ do begin Append; FieldByName('CBID').Value:=Trim(maxId); FieldByName('Filler').Value:=Trim(DName); FieldByName('Filltime').Value:=formatdateTIme('yyyy-MM-dd',SGetServerDate(ADOQueryTemp)); FieldByName('crtime').Value:=SGetServerDate(ADOQueryTemp); Post; end; ADOQueryCmd.Connection.CommitTrans; Result:=True; except Result:=True; ADOQueryCmd.Connection.RollbackTrans; Application.MessageBox('增行失败!','提示',0); end; end; procedure TfrmCbJdLr.cxGridDBColumn1PropertiesEditValueChanged( Sender: TObject); var mvalue,FFieldName:String; begin // mvalue:=TcxTextEdit(Sender).EditingText; mvalue:=Trim(FormatDateTime('yyyy-MM-dd',TcxDateEdit(Sender).Date)); 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 CbJdLr '); sql.Add(' Set '+FFieldName+'='''+Trim(mvalue)+''''); SQL.Add(',Editer='''+Trim(DName)+''''); SQL.Add(',Edittime=getdate() '); SQL.Add(' where CBID='''+Trim(CDS_HZ.fieldbyname('CBID').AsString)+''''); ExecSQL; end; tv2.Controller.EditingController.ShowEdit(); end; procedure TfrmCbJdLr.TBADDClick(Sender: TObject); begin Self.SaveData(); tv2.Controller.EditingController.ShowEdit(); end; procedure TfrmCbJdLr.ToolButton1Click(Sender: TObject); begin if ADOQueryMain.IsEmpty then Exit; SelExportData(Tv2,ADOQueryMain,'检验仓库考核'); end; procedure TfrmCbJdLr.cxTabControl1Change(Sender: TObject); begin SetStatus(); InitGrid; end; procedure TfrmCbJdLr.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 CbJdLr SET status=''1'' '); sql.Add(' ,Chker='''+Trim(DName)+''''); sql.Add(' ,Chktime='''+formatdateTIme('yyyy-MM-dd',SGetServerDate(ADOQueryTemp))+''''); sql.Add(' where CBID ='+quotedstr(trim(CDS_HZ.fieldbyname('CBID').AsString))); execsql; end; end; next; end; First; EnableControls; end; InitGrid(); ADOQueryCmd.Connection.CommitTrans; except CDS_HZ.EnableControls; ADOQueryCmd.Connection.RollbackTrans; application.MessageBox('操作失败!','提示信息',0); end; end; procedure TfrmCbJdLr.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 CbJdLr SET status=''0'' ,Chker=null,Chktime=null'); sql.Add('where CBID ='+quotedstr(trim(CDS_HZ.fieldbyname('CBID').AsString))); execsql; end; end; next; end; First; EnableControls; end; InitGrid(); ADOQueryCmd.Connection.CommitTrans; except ADOQueryCmd.Connection.RollbackTrans; application.MessageBox('操作失败!','提示信息',0); end; end; procedure TfrmCbJdLr.N1Click(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:=true; post; next; end; First; EnableControls; end; end; procedure TfrmCbJdLr.N2Click(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:=false; post; next; end; First; EnableControls; end; end; procedure TfrmCbJdLr.Tv2MouseDown(Sender: TObject; Button: TMouseButton; Shift: TShiftState; X, Y: Integer); begin setGrid(); end; procedure TfrmCbJdLr.v2Column3PropertiesButtonClick(Sender: TObject; AButtonIndex: Integer); var mvalue,FFieldName,FCaption:string; FWZ:Integer; begin FFieldName:=Trim(Tv2.Controller.FocusedColumn.DataBinding.FilterFieldName); FCaption:=Trim( Tv2.Controller.FocusedColumn.Caption); try frmZDYHelp:=TfrmZDYHelp.Create(Application); with frmZDYHelp do begin flag:=FFieldName+'1'; flagname:=FCaption; if ShowModal=1 then begin mvalue:=Trim(ClientDataSet1.fieldbyname('ZdyName').AsString); with CDS_HZ do begin Edit; FieldByName(FFieldName).Value:=Trim(mvalue); Post; end; with ADOQueryCmd do begin Close; sql.Clear; sql.Add('UPdate CbJdLr '); 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 CBID='''+Trim(CDS_HZ.fieldbyname('CBID').AsString)+''''); ExecSQL; end; end; end; finally tv2.Controller.EditingController.ShowEdit(); frmZDYHelp.Free; end; end; procedure TfrmCbJdLr.ToolButton3Click(Sender: TObject); var fPrintFile,FConNoM:string; begin if CDS_HZ.IsEmpty then Exit; fPrintFile:= ExtractFilePath(Application.ExeName) + 'Report\成品进度利润.rmf' ; with ADOQueryTemp do begin Close; sql.Clear; sql.Add(' select * from CbJdLr A '); sql.Add('where A.CBID='''+Trim(CDS_HZ.fieldbyname('CBID').AsString)+''''); Open; end; SCreateCDS20(ADOQueryTemp,CDS_PRT); SInitCDSData20(ADOQueryTemp,CDS_PRT); if FileExists(fPrintFile) then begin RM1.LoadFromFile(fPrintFile); RM1.ShowReport; end else begin Application.MessageBox(PChar('没有找'+trim(fPrintFile)),'提示',0); end; end; procedure TfrmCbJdLr.FormCreate(Sender: TObject); begin canshu1:=trim(DParameters1); end; procedure TfrmCbJdLr.v2Column5PropertiesEditValueChanged(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 CbJdLr '); 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 CBID='''+Trim(CDS_HZ.fieldbyname('CBID').AsString)+''''); ExecSQL; end; tv2.Controller.EditingController.ShowEdit(); end; procedure TfrmCbJdLr.ToolButton4Click(Sender: TObject); var maxId:string; begin try frmDJBRKListSel:=TfrmDJBRKListSel.Create(Application); with frmDJBRKListSel do begin if ShowModal=1 then begin try self.ADOQueryCmd.Connection.BeginTrans; with frmDJBRKListSel.CDS_Main do begin while CDS_Main.Locate('SSel',true,[]) do begin if GetLSNo(self.ADOQueryCmd,maxId,'Cb','CbJdLr',4,1)=False then begin self.ADOQueryCmd.Connection.RollbackTrans; Application.MessageBox('取最大号失败!','提示',0); Exit; end; with self.ADOQueryCmd do begin Close; SQL.Clear; sql.Add('select * from CbJdLr where 1<>1'); Open; end; with self.ADOQueryCmd do begin Append; FieldByName('CbID').Value:=Trim(maxId); FieldByName('Filler').Value:=Trim(DName); FieldByName('Filltime').Value:=formatdateTIme('yyyy-MM-dd',SGetServerDate(ADOQueryTemp)); FieldByName('CRTime').Value:=formatdateTIme('yyyy-MM-dd',SGetServerDate(ADOQueryTemp)); FieldByName('status').Value:='0'; FieldByName('SPID').Value:=frmDJBRKListSel.CDS_Main.FieldByName('SPID').AsString; FieldByName('RanChang').Value:=frmDJBRKListSel.CDS_Main.FieldByName('FactoryName').AsString; FieldByName('GangHao').Value:=frmDJBRKListSel.CDS_Main.FieldByName('RCGangNo').AsString; FieldByName('CpName').Value:=frmDJBRKListSel.CDS_Main.FieldByName('SPName').AsString; FieldByName('CpRkPs').Value:=frmDJBRKListSel.CDS_Main.FieldByName('PiQty').asinteger; FieldByName('CpRkQty').Value:=frmDJBRKListSel.CDS_Main.FieldByName('Qty').asfloat; FieldByName('CpRkUnit').Value:=frmDJBRKListSel.CDS_Main.FieldByName('QtyUnit').AsString; FieldByName('CpColor').Value:=frmDJBRKListSel.CDS_Main.FieldByName('SPColor').AsString; FieldByName('CpKz').Value:=frmDJBRKListSel.CDS_Main.FieldByName('SPKZ').AsString; FieldByName('BPPS').Value:=frmDJBRKListSel.CDS_Main.FieldByName('TPPS').AsString; FieldByName('BPQty').Value:=frmDJBRKListSel.CDS_Main.FieldByName('TPQty').AsString; FieldByName('BPUnit').Value:=frmDJBRKListSel.CDS_Main.FieldByName('TPUnit').AsString; Post; end; with Self.CDS_HZ do begin Append; FieldByName('CbID').Value:=Trim(maxId); FieldByName('Filler').Value:=Trim(DName); FieldByName('SPID').Value:=frmDJBRKListSel.CDS_Main.FieldByName('SPID').AsString; FieldByName('RanChang').Value:=frmDJBRKListSel.CDS_Main.FieldByName('FactoryName').AsString; FieldByName('GangHao').Value:=frmDJBRKListSel.CDS_Main.FieldByName('RCGangNo').AsString; FieldByName('Filltime').Value:=formatdateTIme('yyyy-MM-dd',SGetServerDate(ADOQueryTemp)); FieldByName('CRtime').Value:=SGetServerDate(ADOQueryTemp); FieldByName('CpName').Value:=frmDJBRKListSel.CDS_Main.FieldByName('SPName').AsString; FieldByName('CpRkPs').Value:=frmDJBRKListSel.CDS_Main.FieldByName('PiQty').asinteger; FieldByName('CpRkQty').Value:=frmDJBRKListSel.CDS_Main.FieldByName('Qty').asfloat; FieldByName('CpRkUnit').Value:=frmDJBRKListSel.CDS_Main.FieldByName('QtyUnit').AsString; FieldByName('CpColor').Value:=frmDJBRKListSel.CDS_Main.FieldByName('SPColor').AsString; FieldByName('CpKz').Value:=frmDJBRKListSel.CDS_Main.FieldByName('SPKZ').AsString; FieldByName('BPPS').Value:=frmDJBRKListSel.CDS_Main.FieldByName('TPPS').AsString; FieldByName('BPQty').Value:=frmDJBRKListSel.CDS_Main.FieldByName('TPQty').AsString; FieldByName('BPUnit').Value:=frmDJBRKListSel.CDS_Main.FieldByName('TPUnit').AsString; Post; end; delete; end; end; self.ADOQueryCmd.Connection.CommitTrans; except self.ADOQueryCmd.Connection.RollbackTrans; Application.MessageBox('增行失败!','提示',0); end; end; end; finally frmDJBRKListSel.Free; end; end; procedure TfrmCbJdLr.v2Column2PropertiesEditValueChanged(Sender: TObject); var mvalue,FFieldName:String; FBpQty,FCpCkPs:integer; FBpPrice,FBpMoney,FCpYrPrice,FCpRkQty,FCpYrMoney,FCbHjCost,FCpCkQty,FCpCkPrice,FCpCkMoney,FLr,FMpLr:double; 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 CDS_HZ do begin FBpQty:=FieldByName('BpQty').AsInteger; FBpPrice:=FieldByName('BpPrice').AsFloat; FCpRkQty:=FieldByName('CpRkQty').AsFloat; FCpYrPrice:=FieldByName('CpYrPrice').AsFloat; FCpCkQty:=FieldByName('CpCkQty').AsFloat; FCpCkPrice:=FieldByName('CpCkPrice').AsFloat; FCpCkPs:=FieldByName('CpCkPs').AsInteger; end; FBpMoney:=FBpQty*FBpPrice; FCpYrMoney:=FCpRkQty*FCpYrPrice; FCbHjCost:=FBpMoney+FCpYrMoney; FCpCkMoney:=FCpCkQty*FCpCkPrice; FLr:=FCpCkMoney-FCbHjCost; if FCpCkPs<>0 then FMpLr:=FLr/FCpCkPs; with ADOQueryCmd do begin Close; sql.Clear; sql.Add('UPdate CbJdLr '); if Trim(mvalue)<>'' then begin sql.Add(' Set '+FFieldName+'='''+Trim(mvalue)+''''); end else begin sql.Add(' Set '+FFieldName+'=NULL'); end; sql.Add(' , BpMoney='+quotedstr(floattostr(FBpMoney))); sql.Add(' , CpYrMoney='+quotedstr(floattostr(FCpYrMoney))); sql.Add(' , CbHjCost='+quotedstr(floattostr(FCbHjCost))); sql.Add(' , Lr='+quotedstr(floattostr(FLr))); sql.Add(' , MpLr='+quotedstr(floattostr(FMpLr))); SQL.Add(',Editer='''+Trim(DName)+''''); SQL.Add(',Edittime=getdate() '); SQL.Add(' where cbID='''+Trim(CDS_HZ.fieldbyname('cbID').AsString)+''''); ExecSQL; end; with CDS_HZ do begin Edit; FieldByName('BpMoney').Value:=FBpMoney; FieldByName('CpYrMoney').Value:=FCpYrMoney; FieldByName('CbHjCost').Value:=FCbHjCost; FieldByName('Lr').Value:=FLr; FieldByName('MpLr').Value:=FMpLr; Post; end; tv2.Controller.EditingController.ShowEdit(); end; procedure TfrmCbJdLr.v2NotePropertiesButtonClick(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(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 TfrmCbJdLr.v2Column9PropertiesButtonClick(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(frmZdyAttachGYS.CDS_HZ.fieldbyname('ZdyCode').AsString) ; FieldByName('RanChang').Value:=Trim(frmZdyAttachGYS.CDS_HZ.fieldbyname('ZdyName').AsString); //Post; end; end; end; finally frmZdyAttachGYS.Free; end; end; end.