unit U_ZdyAttachmentBJ_Edit; interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, ExtCtrls, cxPC, cxControls, ComCtrls, ToolWin, StdCtrls, Menus, cxTextEdit, cxCurrencyEdit, BtnEdit, cxContainer, cxEdit, cxImage, DB, ADODB, cxDBEdit, cxLookAndFeelPainters, cxButtons, IdBaseComponent, IdComponent, IdTCPConnection, IdTCPClient, IdFTP, ShellAPI, cxStyles, cxCustomData, cxGraphics, cxFilter, cxData, cxDataStorage, cxDBData, cxGridLevel, cxClasses, cxGridCustomView, cxGridCustomTableView, cxGridTableView, cxGridDBTableView, cxGrid, DBClient, cxButtonEdit, cxGridCustomPopupMenu, cxGridPopupMenu, cxDropDownEdit, cxMaskEdit; type TfrmZdyAttachmentBJ_Edit = class(TForm) ToolBar1: TToolBar; Tsave: TToolButton; TBClose: TToolButton; Panel1: TPanel; GroupBox1: TGroupBox; Label1: TLabel; Label6: TLabel; custName: TEdit; Label17: TLabel; PopupMenu1: TPopupMenu; N1: TMenuItem; N2: TMenuItem; N3: TMenuItem; ADOQueryCmd: TADOQuery; ADOQueryTmp: TADOQuery; ADOQuerymain: TADOQuery; Label4: TLabel; Label7: TLabel; Panel2: TPanel; Panel3: TPanel; CDS1: TClientDataSet; Label9: TLabel; DS1: TDataSource; CRTime: TDateTimePicker; cxGridPopupMenu1: TcxGridPopupMenu; note: TMemo; cxGrid1: TcxGrid; TV1: TcxGridDBTableView; V1Column1: TcxGridDBColumn; V1Column3: TcxGridDBColumn; cxGrid1Level1: TcxGridLevel; Panel4: TPanel; Panel5: TPanel; ToolBar2: TToolBar; ToolButton1: TToolButton; ToolButton2: TToolButton; CYNO: TEdit; Label15: TLabel; cxGrid2: TcxGrid; TV2: TcxGridDBTableView; cxGridLevel1: TcxGridLevel; V2Column1: TcxGridDBColumn; V2Column2: TcxGridDBColumn; V2Column3: TcxGridDBColumn; V2Column4: TcxGridDBColumn; V2Column5: TcxGridDBColumn; CDS_HP: TClientDataSet; DS_HP: TDataSource; V2Column6: TcxGridDBColumn; cxGridPopupMenu2: TcxGridPopupMenu; cV1Column5: TcxGridDBColumn; cV1Column6: TcxGridDBColumn; cV1Column7: TcxGridDBColumn; cV1Column8: TcxGridDBColumn; lbl1: TLabel; yxdate: TDateTimePicker; lbl3: TLabel; lbl4: TLabel; lbl5: TLabel; lbl6: TLabel; lbl7: TLabel; khxz: TEdit; lbl8: TLabel; lbl9: TLabel; lianxiren: TEdit; lbl10: TLabel; lbl11: TLabel; cypp: TEdit; lbl12: TLabel; lbl13: TLabel; yjsl: TEdit; lbl14: TLabel; lbl15: TLabel; swfp: TEdit; lbl16: TLabel; lbl17: TLabel; xddate: TDateTimePicker; lbl18: TLabel; lbl19: TLabel; glsj: TEdit; lbl20: TLabel; toplace: TEdit; lbl21: TLabel; custNo: TBtnEditA; cV1Column2: TcxGridDBColumn; cV1Column4: TcxGridDBColumn; cV1Column9: TcxGridDBColumn; cV1Column10: TcxGridDBColumn; cV1Column11: TcxGridDBColumn; ywy: TEdit; V1Column2: TcxGridDBColumn; V1Column4: TcxGridDBColumn; bjtype: TBtnEditA; Priceunit: TBtnEditA; bjjttype: TBtnEditA; jyxz: TBtnEditA; zlbz: TBtnEditA; ysfs: TBtnEditA; payment: TBtnEditA; ToolButton3: TToolButton; cxGrid4: TcxGrid; TV4: TcxGridDBTableView; V4Column3: TcxGridDBColumn; V4Column2: TcxGridDBColumn; V4Column4: TcxGridDBColumn; cxGrid4Level1: TcxGridLevel; DS_YPXZ: TDataSource; CDS_YPXZ: TClientDataSet; V4Column1: TcxGridDBColumn; V4Column5: TcxGridDBColumn; procedure FormDestroy(Sender: TObject); procedure TBCloseClick(Sender: TObject); procedure FormCreate(Sender: TObject); procedure TsaveClick(Sender: TObject); procedure FormShow(Sender: TObject); procedure MTypeBtnDnClick(Sender: TObject); procedure ToolButton2Click(Sender: TObject); procedure ToolButton1Click(Sender: TObject); procedure custNoBtnClick(Sender: TObject); procedure PriceunitChange(Sender: TObject); procedure V1Column8PropertiesEditValueChanged(Sender: TObject); procedure huilvPropertiesEditValueChanged(Sender: TObject); procedure custCountryBtnClick(Sender: TObject); procedure CYNOKeyPress(Sender: TObject; var Key: Char); procedure TV1MouseDown(Sender: TObject; Button: TMouseButton; Shift: TShiftState; X, Y: Integer); procedure bjtypeBtnClick(Sender: TObject); procedure PriceunitBtnClick(Sender: TObject); procedure bjjttypeBtnClick(Sender: TObject); procedure jyxzBtnClick(Sender: TObject); procedure zlbzBtnClick(Sender: TObject); procedure ysfsBtnClick(Sender: TObject); procedure paymentBtnClick(Sender: TObject); procedure ToolButton3Click(Sender: TObject); procedure custNameKeyPress(Sender: TObject; var Key: Char); procedure TV4KeyPress(Sender: TObject; var Key: Char); procedure TV4DblClick(Sender: TObject); private function savedata(): Boolean; procedure GetYP(); procedure InitGrid(); procedure InitImage(); procedure InitHistoryPrice(FCode: string); { Private declarations } public fkeyNo: string; FType: integer; canshu1: string; { Public declarations } end; var frmZdyAttachmentBJ_Edit: TfrmZdyAttachmentBJ_Edit; implementation uses U_DataLink, U_Fun10, U_ZDYHelp, U_CPManageFMSel, U_ZdyAttachment, U_CPManage; {$R *.dfm} procedure TfrmZdyAttachmentBJ_Edit.GetYP(); begin if cds1.Locate('P_Code;P_COLOR', VarArrayOf([trim(CDS_YPXZ.fieldbyname('CYNo').AsString), trim(CDS_YPXZ.fieldbyname('CYColor').AsString)]), []) then begin if Application.MessageBox('已存在该样品,是否继续添加?', '提示', 32 + 4) <> IDYES then Exit; end; cds1.append; cds1.FieldByName('P_Code').Value := trim(CDS_YPXZ.fieldbyname('CYNo').AsString); cds1.FieldByName('P_CodeName').Value := trim(CDS_YPXZ.fieldbyname('CYName').AsString); cds1.FieldByName('P_CodeNameE').Value := trim(CDS_YPXZ.fieldbyname('CYEName').AsString); cds1.FieldByName('P_spec').Value := trim(CDS_YPXZ.fieldbyname('CYSpec').AsString); cds1.FieldByName('P_cf').Value := trim(CDS_YPXZ.fieldbyname('CYCF').AsString); cds1.FieldByName('P_MF').Value := trim(CDS_YPXZ.fieldbyname('CYMF').AsString); cds1.FieldByName('P_KZ').Value := trim(CDS_YPXZ.fieldbyname('CYKZ').AsString); cds1.FieldByName('MiDu').Value := trim(CDS_YPXZ.fieldbyname('MiDu').AsString); cds1.FieldByName('P_color').Value := trim(CDS_YPXZ.fieldbyname('CYColor').AsString); cds1.FieldByName('DLYDATE').Value := now; cds1.Post; cxGrid4.Visible := False; InitHistoryPrice(trim(CDS_YPXZ.fieldbyname('CYNo').AsString)); end; procedure TfrmZdyAttachmentBJ_Edit.InitHistoryPrice(FCode: string); begin with ADOQueryTmp do begin close; sql.Clear; sql.Add('select top 5 A.* from KH_CP_BJ A'); sql.Add('where P_Code=' + quotedstr(trim(FCode))); if canshu1 <> '管理' then begin sql.Add(' and custName in (select Y.CoName from TbForBatch X inner join Company Y on X.Value1=Y.Dept'); sql.Add('where X.MainType=''部门查询'' and X.DName=' + quotedstr(trim(DName)) + ') '); end; sql.Add('order by CRTime desc '); open; end; SCreateCDS20(ADOQueryTmp, CDS_HP); SInitCDSData20(ADOQueryTmp, CDS_HP); end; function TfrmZdyAttachmentBJ_Edit.savedata(): Boolean; var Filler: string; FillTime: TdateTime; begin result := false; ADOQueryCmd.Connection.BeginTrans; try if FType = 0 then begin if GetLSNo(ADOQueryTmp, fkeyNo, '', 'KH_CP_BJ', 4, 1) = False then begin ADOQueryCmd.Connection.RollbackTrans; Application.MessageBox('取最大号失败!', '提示', 0); Exit; end; Filler := DName; FillTime := SGetServerDateTime(adoqueryTmp); end else begin with ADOQueryTmp do begin Close; SQL.Clear; sql.Add('select * from KH_CP_BJ where BJNO=''' + Trim(fkeyNo) + ''''); Open; end; Filler := adoqueryTmp.fieldbyname('Filler').AsString; FillTime := adoqueryTmp.fieldbyname('FillTime').AsDateTime; end; with ADOQueryCmd do begin Close; SQL.Clear; sql.Add('delete from KH_CP_BJ where BJNO=''' + Trim(fkeyNo) + ''''); execsql; end; with ADOQueryCmd do begin Close; SQL.Clear; sql.Add('select * from KH_CP_BJ where BJNO=''' + Trim(fkeyNo) + ''''); Open; end; with cds1 do begin DisableControls; First; while not eof do begin ADOQueryCmd.Append; SSetsaveSqlNew(ADOQueryCmd, 'KH_CP_BJ', GroupBox1, 2); RTSetSaveDataCDS(ADOQueryCmd, Tv1, cds1, 'KH_CP_BJ', 0); ADOQueryCmd.FieldByName('BJNO').Value := trim(fkeyNO); ADOQueryCmd.FieldByName('BJID').Value := recNo; ADOQueryCmd.FieldByName('Filler').Value := Trim(Filler); ADOQueryCmd.FieldByName('FillTime').Value := FillTime; ADOQueryCmd.FieldByName('CRTime').Value := formatdateTime('yyyy-MM-dd', CRTime.DateTime); // ADOQueryCmd.FieldByName('DlyDate').Value := formatdateTime('yyyy-MM-dd', DlyDate.DateTime); ADOQueryCmd.FieldByName('FillTime').Value := FillTime; ADOQueryCmd.FieldByName('FillTime').Value := FillTime; ADOQueryCmd.FieldByName('price').Value := cds1.fieldbyname('price').AsFloat; ADOQueryCmd.FieldByName('price1').Value := cds1.fieldbyname('price1').AsFloat; ADOQueryCmd.FieldByName('BJQty1').Value := cds1.fieldbyname('BJQty1').AsFloat; if FType = 1 then begin ADOQueryCmd.FieldByName('editer').Value := trim(dName); ADOQueryCmd.FieldByName('editTime').Value := SGetServerDateTime(adoqueryTmp); end; ADOQueryCmd.Post; next; end; EnableControls; end; result := true; ADOQueryCmd.Connection.CommitTrans; except result := False; ADOQueryCmd.Connection.RollbackTrans; end; end; procedure TfrmZdyAttachmentBJ_Edit.InitGrid(); begin with ADOQueryMain do begin close; sql.Clear; sql.Add('select A.* from KH_CP_BJ A'); sql.Add('where BJNO=' + quotedstr(trim(fkeyNo))); open; end; if not ADOQueryMain.IsEmpty then begin SCSHDataNew(ADOQueryMain, GroupBox1, 2); end; SCreateCDS20(ADOQueryMain, CDS1); SInitCDSData20(ADOQueryMain, CDS1); end; procedure TfrmZdyAttachmentBJ_Edit.InitImage(); begin { with ADOQueryImage do begin close; sql.Clear; sql.Add('select * from TP_File A'); sql.Add('where TFid='+quotedstr(trim(zdyCode.Text))); open; end; } end; procedure TfrmZdyAttachmentBJ_Edit.FormDestroy(Sender: TObject); begin frmZdyAttachmentBJ_Edit := nil; end; procedure TfrmZdyAttachmentBJ_Edit.TBCloseClick(Sender: TObject); begin WriteCxGrid(self.Caption + '1', Tv1); WriteCxGrid(self.Caption + '2', Tv2); close; end; procedure TfrmZdyAttachmentBJ_Edit.FormCreate(Sender: TObject); begin Panel1.Align := alclient; clearControl(GroupBox1, 2); // huilv.Text := '1'; end; procedure TfrmZdyAttachmentBJ_Edit.TsaveClick(Sender: TObject); begin // zdyName.SetFocus; cxgrid1.SetFocus; if cds1.IsEmpty then exit; if trim(custNo.Text) = '' then begin application.MessageBox('客户编号不能为空!', '提示信息', MB_ICONERROR); exit; end; if trim(custNo.Text) = '' then begin application.MessageBox('客户编号不能为空!', '提示信息', MB_ICONERROR); exit; end; try if not savedata() then begin application.MessageBox('数据保存失败!', '提示信息', MB_ICONERROR); end else begin application.MessageBox('数据保存成功!', '提示信息'); self.ModalResult := 1; end; except end; end; procedure TfrmZdyAttachmentBJ_Edit.FormShow(Sender: TObject); begin readCxGrid(self.Caption + '1', Tv1); readCxGrid(self.Caption + '2', Tv2); InitGrid(); end; procedure TfrmZdyAttachmentBJ_Edit.MTypeBtnDnClick(Sender: TObject); begin TBtnEditC(Sender).Text := ''; TBtnEditC(Sender).TxtCode := ''; end; procedure TfrmZdyAttachmentBJ_Edit.ToolButton2Click(Sender: TObject); begin if CDS1.IsEmpty then exit; CDS1.Delete; end; procedure TfrmZdyAttachmentBJ_Edit.ToolButton1Click(Sender: TObject); begin frmCPManage := TfrmCPManage.create(self); with frmCPManage do begin if showmodal = 1 then begin cds_main.DisableControls; cds_main.first; while not cds_main.Eof do begin if cds_main.FieldByName('ssel').AsBoolean then begin cds1.append; cds1.FieldByName('P_Code').Value := trim(cds_main.fieldbyname('CYNo').AsString); cds1.FieldByName('P_CodeName').Value := trim(cds_main.fieldbyname('CYName').AsString); cds1.FieldByName('P_CodeNameE').Value := trim(cds_main.fieldbyname('CYEName').AsString); cds1.FieldByName('P_spec').Value := trim(cds_main.fieldbyname('CYSpec').AsString); cds1.FieldByName('P_cf').Value := trim(cds_main.fieldbyname('CYCF').AsString); cds1.FieldByName('P_MF').Value := trim(cds_main.fieldbyname('CYMF').AsString); cds1.FieldByName('P_KZ').Value := trim(cds_main.fieldbyname('CYKZ').AsString); cds1.FieldByName('P_color').Value := trim(cds_main.fieldbyname('CYColor').AsString); cds1.FieldByName('MiDu').Value := trim(cds_main.fieldbyname('MiDu').AsString); cds1.FieldByName('Price').Value := 0; cds1.FieldByName('DLYDATE').Value := now; cds1.Post; end; cds_main.next; end; cds_main.EnableControls; end; free; end; tv1.Controller.EditingController.ShowEdit(); end; procedure TfrmZdyAttachmentBJ_Edit.custNoBtnClick(Sender: TObject); begin frmZdyAttachment := TfrmZdyAttachment.create(self); with frmZdyAttachment do begin if Self.canshu1 = '录入' then canshu1 := '业务员'; if showmodal = 1 then begin custNo.Text := trim(cds_hz.fieldbyname('COCode').AsString); custName.Text := trim(cds_hz.fieldbyname('COName').AsString); lianxiren.Text := trim(cds_hz.fieldbyname('Contacts').AsString); ywy.Text := trim(cds_hz.fieldbyname('Salesman').AsString); end; free; end; end; procedure TfrmZdyAttachmentBJ_Edit.PriceunitChange(Sender: TObject); begin // if trim(huilv.Text) = '' then // begin // huilv.Text := '1'; // end; end; procedure TfrmZdyAttachmentBJ_Edit.V1Column8PropertiesEditValueChanged(Sender: TObject); var mvalue, FFieldName: string; begin { mvalue:=TcxTextEdit(Sender).EditingText; if Trim(mvalue)='' then begin mvalue:='0'; end; FFieldName:=Trim(Tv1.Controller.FocusedColumn.DataBinding.FilterFieldName); with CDS1 do begin Edit; FieldByName(FFieldName).Value:=Trim(mvalue); FieldByName('Price').Value:=format('%.2f',[fieldbyname('Price1').AsFloat * strtofloatdef(trim(huilv.Text),1)]); Post; end; tv1.Controller.EditingController.ShowEdit();} end; procedure TfrmZdyAttachmentBJ_Edit.huilvPropertiesEditValueChanged(Sender: TObject); var mvalue, FFieldName: string; begin mvalue := TcxCurrencyEdit(Sender).EditingText; if Trim(mvalue) = '' then begin mvalue := '1'; end; // huilv.Text := mvalue; if not cds1.Active then exit; if cds1.IsEmpty then exit; with cds1 do begin DisableControls; first; while not eof do begin Edit; // FieldByName('Price').Value := format('%.2f', [fieldbyname('Price1').AsFloat * strtofloatdef(trim(huilv.Text), 1)]); Post; next; end; EnableControls; end; tv1.Controller.EditingController.ShowEdit(); end; procedure TfrmZdyAttachmentBJ_Edit.custCountryBtnClick(Sender: TObject); begin try frmZDYHelp := TfrmZDYHelp.Create(Application); with frmZDYHelp do begin flag := 'custCountry'; flagname := '国家名称'; if ShowModal = 1 then begin // custCountry.Text := Trim(ClientDataSet1.fieldbyname('zdyName').AsString); end; end; finally frmZDYHelp.Free; end; end; procedure TfrmZdyAttachmentBJ_Edit.CYNOKeyPress(Sender: TObject; var Key: Char); begin if Key = #13 then begin if Length(Trim(CYNO.Text)) < 4 then Exit; with ADOQueryTmp do begin close; sql.Clear; sql.Add('select * from CP_YDang where CYID=' + quotedstr(trim(CYNO.Text))); sql.Add('or CYNO like' + quotedstr('%' + trim(CYNO.Text) + '%')); open; end; if ADOQueryTmp.IsEmpty then begin application.MessageBox('此编号错误!', '提示信息', MB_ICONERROR); CYNO.Text := ''; end else begin if ADOQueryTmp.RecordCount = 1 then begin if cds1.Locate('P_Code;P_COLOR', VarArrayOf([trim(ADOQueryTmp.fieldbyname('CYNo').AsString), trim(ADOQueryTmp.fieldbyname('CYColor').AsString)]), []) then begin if Application.MessageBox('已存在该样品,是否继续添加?', '提示', 32 + 4) <> IDYES then Exit; end; cds1.append; cds1.FieldByName('P_Code').Value := trim(ADOQueryTmp.fieldbyname('CYNo').AsString); cds1.FieldByName('P_CodeName').Value := trim(ADOQueryTmp.fieldbyname('CYName').AsString); cds1.FieldByName('P_CodeNameE').Value := trim(ADOQueryTmp.fieldbyname('CYEName').AsString); cds1.FieldByName('P_spec').Value := trim(ADOQueryTmp.fieldbyname('CYSpec').AsString); cds1.FieldByName('P_cf').Value := trim(ADOQueryTmp.fieldbyname('CYCF').AsString); cds1.FieldByName('P_MF').Value := trim(ADOQueryTmp.fieldbyname('CYMF').AsString); cds1.FieldByName('P_KZ').Value := trim(ADOQueryTmp.fieldbyname('CYKZ').AsString); cds1.FieldByName('MiDu').Value := trim(ADOQueryTmp.fieldbyname('MiDu').AsString); cds1.FieldByName('P_color').Value := trim(ADOQueryTmp.fieldbyname('CYColor').AsString); cds1.FieldByName('DLYDATE').Value := now; cds1.Post; InitHistoryPrice(trim(ADOQueryTmp.fieldbyname('CYNo').AsString)); CYNO.Text := ''; end; if ADOQueryTmp.RecordCount > 1 then begin SCreateCDS20(ADOQueryTmp, CDS_YPXZ); SInitCDSData20(ADOQueryTmp, CDS_YPXZ); cxGrid4.Visible := True; cxGrid4.SetFocus; CYNO.Text := ''; end; end; end; end; procedure TfrmZdyAttachmentBJ_Edit.TV1MouseDown(Sender: TObject; Button: TMouseButton; Shift: TShiftState; X, Y: Integer); begin InitHistoryPrice(trim(cds1.fieldbyname('P_Code').AsString)); end; procedure TfrmZdyAttachmentBJ_Edit.bjtypeBtnClick(Sender: TObject); begin try frmZDYHelp := TfrmZDYHelp.Create(Application); with frmZDYHelp do begin flag := 'bjtype'; flagname := '报价类型'; if ShowModal = 1 then begin bjtype.Text := Trim(ClientDataSet1.fieldbyname('ZDYName').AsString); end; end; finally frmZDYHelp.Free; end; end; procedure TfrmZdyAttachmentBJ_Edit.PriceunitBtnClick(Sender: TObject); begin try frmZDYHelp := TfrmZDYHelp.Create(Application); with frmZDYHelp do begin flag := 'Priceunit'; flagname := '币种'; if ShowModal = 1 then begin Priceunit.Text := Trim(ClientDataSet1.fieldbyname('ZDYName').AsString); end; end; finally frmZDYHelp.Free; end; end; procedure TfrmZdyAttachmentBJ_Edit.bjjttypeBtnClick(Sender: TObject); begin try frmZDYHelp := TfrmZDYHelp.Create(Application); with frmZDYHelp do begin flag := 'bjjttype'; flagname := '具体类型'; if ShowModal = 1 then begin bjjttype.Text := Trim(ClientDataSet1.fieldbyname('ZDYName').AsString); end; end; finally frmZDYHelp.Free; end; end; procedure TfrmZdyAttachmentBJ_Edit.jyxzBtnClick(Sender: TObject); begin try frmZDYHelp := TfrmZDYHelp.Create(Application); with frmZDYHelp do begin flag := 'jyxz'; flagname := '交易性质'; if ShowModal = 1 then begin jyxz.Text := Trim(ClientDataSet1.fieldbyname('ZDYName').AsString); end; end; finally frmZDYHelp.Free; end; end; procedure TfrmZdyAttachmentBJ_Edit.zlbzBtnClick(Sender: TObject); begin try frmZDYHelp := TfrmZDYHelp.Create(Application); with frmZDYHelp do begin flag := 'zlbz'; flagname := '质量标准'; if ShowModal = 1 then begin zlbz.Text := Trim(ClientDataSet1.fieldbyname('ZDYName').AsString); end; end; finally frmZDYHelp.Free; end; end; procedure TfrmZdyAttachmentBJ_Edit.ysfsBtnClick(Sender: TObject); begin try frmZDYHelp := TfrmZDYHelp.Create(Application); with frmZDYHelp do begin flag := 'ysfs'; flagname := '运送方式'; if ShowModal = 1 then begin ysfs.Text := Trim(ClientDataSet1.fieldbyname('ZDYName').AsString); end; end; finally frmZDYHelp.Free; end; end; procedure TfrmZdyAttachmentBJ_Edit.paymentBtnClick(Sender: TObject); begin try frmZDYHelp := TfrmZDYHelp.Create(Application); with frmZDYHelp do begin flag := 'payment'; flagname := '付款方式'; if ShowModal = 1 then begin payment.Text := Trim(ClientDataSet1.fieldbyname('ZDYName').AsString); end; end; finally frmZDYHelp.Free; end; end; procedure TfrmZdyAttachmentBJ_Edit.ToolButton3Click(Sender: TObject); var FValue, FFValue, FColumn, FFColumn: string; begin ToolBar1.SetFocus; if CDS1.IsEmpty then Exit; if Application.MessageBox('确定要一键替换吗', '提示', 1) = 2 then exit; FColumn := Tv1.Controller.FocusedColumn.DataBinding.FilterFieldName; FFColumn := Tv1.Controller.FocusedColumn.Summary.GroupFormat; FValue := Trim(CDS1.fieldbyname(FColumn).AsString); if Trim(FFColumn) <> '' then begin FFValue := Trim(CDS1.fieldbyname(FFColumn).AsString); end; with CDS1 do begin DisableControls; First; while not Eof do begin Edit; if FValue = '' then begin CDS1.FieldByName(FColumn).Value := null; end else begin CDS1.FieldByName(FColumn).Value := FValue; end; if Trim(FFColumn) <> '' then begin if FFValue = '' then begin CDS1.FieldByName(FFColumn).Value := null; end else begin CDS1.FieldByName(FFColumn).Value := FFValue; end; end; Post; Next; end; EnableControls; end; end; procedure TfrmZdyAttachmentBJ_Edit.custNameKeyPress(Sender: TObject; var Key: Char); begin if Key = #13 then begin with ADOQueryTmp do begin Close; SQL.Clear; sql.Add(' exec P_Select_Dept ' + quotedstr(trim(DName))); ExecSQL; end; with ADOQueryTmp do begin Close; SQL.Clear; sql.Add(' select * from Company A left join Company_contact B '); sql.Add(' on A.CoID=B.CoID and B.IsDefault=1 where A.CoType=''客户'' and A.Valid=''Y'' '); if trim(canshu1) = '录入' then sql.Add(' and isnull(Dept,''龙孚'') in (select X.Value1 from TbForBatch X where X.MainType=''部门查询'' and X.DName=' + quotedstr(trim(DName)) + ') '); sql.Add(' and A.COName like' + quotedstr('%' + Trim(custName.Text) + '%')); // ShowMessage(SQL.Text); Open; end; if not ADOQueryTmp.IsEmpty then begin custNo.Text := trim(ADOQueryTmp.fieldbyname('COCode').AsString); custName.Text := trim(ADOQueryTmp.fieldbyname('COName').AsString); lianxiren.Text := trim(ADOQueryTmp.fieldbyname('Contacts').AsString); ywy.Text := trim(ADOQueryTmp.fieldbyname('Salesman').AsString); end else begin application.MessageBox('客户不存在!', '提示信息', MB_ICONERROR); custName.Text := ''; end; end; end; procedure TfrmZdyAttachmentBJ_Edit.TV4KeyPress(Sender: TObject; var Key: Char); begin if Key = #13 then begin GetYP(); end; end; procedure TfrmZdyAttachmentBJ_Edit.TV4DblClick(Sender: TObject); begin GetYP(); end; end.