unit U_BpRklist; interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, ComCtrls, ToolWin, StdCtrls, ExtCtrls, cxStyles, cxCustomData, cxGraphics, cxFilter, cxData, cxDataStorage, cxEdit, DB, cxDBData, cxButtonEdit, cxDropDownEdit, cxGridLevel, cxGridCustomTableView, cxGridTableView, cxGridDBTableView, cxClasses, cxControls, cxGridCustomView, cxGrid, DBClient, ADODB, cxGridCustomPopupMenu, cxGridPopupMenu, cxPC, cxLookAndFeels, cxLookAndFeelPainters, cxNavigator, dxBarBuiltInMenu, cxCalendar, cxCheckBox, BtnEdit; type TfrmBpRklist = class(TForm) ToolBar1: TToolBar; TBRafresh: TToolButton; TBFind: TToolButton; TBAdd: TToolButton; TBEdit: TToolButton; TBDel: TToolButton; TBExport: TToolButton; TBPrint: TToolButton; TBClose: TToolButton; Panel1: TPanel; BegDate: TDateTimePicker; EndDate: TDateTimePicker; cxGrid1: TcxGrid; Tv1: TcxGridDBTableView; v1P_CodeName: TcxGridDBColumn; v1P_SPEC: TcxGridDBColumn; v1P_MF: TcxGridDBColumn; v1P_KZ: TcxGridDBColumn; v1RollNum: TcxGridDBColumn; v1Qty: TcxGridDBColumn; v1QtyUnit: TcxGridDBColumn; v1Note: TcxGridDBColumn; cxGrid1Level1: TcxGridLevel; v1CRType: TcxGridDBColumn; v1CRTime: TcxGridDBColumn; v1Filler: TcxGridDBColumn; v1FillTime: TcxGridDBColumn; Label2: TLabel; Label3: TLabel; Label4: TLabel; YWZB: TEdit; P_Code: TEdit; CRType: TComboBox; Label5: TLabel; ADOQueryCmd: TADOQuery; ADOQueryTmp: TADOQuery; DataSource1: TDataSource; CDS_Main: TClientDataSet; cxGridPopupMenu1: TcxGridPopupMenu; v1CPType: TcxGridDBColumn; ckName: TComboBox; Label6: TLabel; v1P_Color: TcxGridDBColumn; v1P_Code: TcxGridDBColumn; v1INoutNo: TcxGridDBColumn; Label7: TLabel; ywy: TEdit; v1ywy: TcxGridDBColumn; v1Column1: TcxGridDBColumn; kuwei: TEdit; Label8: TLabel; v1Column3: TcxGridDBColumn; v1Column4: TcxGridDBColumn; v1Column2: TcxGridDBColumn; v1Column5: TcxGridDBColumn; cxTabControl1: TcxTabControl; v1editer: TcxGridDBColumn; v1editTime: TcxGridDBColumn; v1DefStr6: TcxGridDBColumn; Label9: TLabel; factoryName: TEdit; v1Column8: TcxGridDBColumn; Tchk: TToolButton; Tnochk: TToolButton; v1Column9: TcxGridDBColumn; Tv1Column1: TcxGridDBColumn; Tv1Column2: TcxGridDBColumn; ToolButton1: TToolButton; Panel5: TPanel; Label28: TLabel; Button5: TButton; Button6: TButton; edtKuWei: TEdit; Tv1Column3: TcxGridDBColumn; Tv1Column4: TcxGridDBColumn; Tv1Column5: TcxGridDBColumn; ComboBox1: TComboBox; ToolButton2: TToolButton; Panel2: TPanel; Label1: TLabel; Button1: TButton; Button2: TButton; Edit1: TEdit; Tv1Column6: TcxGridDBColumn; ToolButton3: TToolButton; Panel3: TPanel; Label10: TLabel; Button3: TButton; Button4: TButton; Edit2: TEdit; Label11: TLabel; Note: TEdit; JSFS: TComboBox; Label12: TLabel; Tv1Column7: TcxGridDBColumn; Label13: TLabel; CGPERSON: TEdit; Panel4: TPanel; Label14: TLabel; Button7: TButton; Button8: TButton; ToolButton4: TToolButton; EDIT3: TBtnEditA; procedure FormClose(Sender: TObject; var Action: TCloseAction); procedure FormDestroy(Sender: TObject); procedure TBAddClick(Sender: TObject); procedure YWZBChange(Sender: TObject); procedure FormShow(Sender: TObject); procedure FormCreate(Sender: TObject); procedure TBCloseClick(Sender: TObject); procedure TBEditClick(Sender: TObject); procedure TBDelClick(Sender: TObject); procedure TBRafreshClick(Sender: TObject); procedure TBPrintClick(Sender: TObject); procedure TBExportClick(Sender: TObject); procedure cxTabControl1Change(Sender: TObject); procedure TchkClick(Sender: TObject); procedure TnochkClick(Sender: TObject); procedure ToolButton1Click(Sender: TObject); procedure Button5Click(Sender: TObject); procedure Button6Click(Sender: TObject); procedure ComboBox1Change(Sender: TObject); procedure ToolButton2Click(Sender: TObject); procedure Button2Click(Sender: TObject); procedure Button1Click(Sender: TObject); procedure Button4Click(Sender: TObject); procedure ToolButton3Click(Sender: TObject); procedure Button3Click(Sender: TObject); procedure Button7Click(Sender: TObject); procedure ToolButton4Click(Sender: TObject); procedure Button8Click(Sender: TObject); procedure EDIT3BtnClick(Sender: TObject); private procedure InitGrid(); procedure SetComboBox(); procedure Setstatus(); { Private declarations } public fCKName: string; canshu1: string; { Public declarations } end; var frmBpRklist: TfrmBpRklist; implementation uses U_DataLink, U_Fun10, U_ZDYHelp, U_BpRk, U_BpSmRk; {$R *.dfm} procedure TfrmBpRklist.SetStatus(); begin TBedit.Visible := false; Tbdel.Visible := false; Tchk.Visible := false; Tnochk.Visible := false; case cxTabControl1.TabIndex of 0: begin TBedit.Visible := true; Tbdel.Visible := true; if canshu1 = '管理' then begin Tchk.Visible := true; end; end; 1: begin if canshu1 = '管理' then begin Tnochk.Visible := true; end; end; end; end; procedure TfrmBpRklist.SetComboBox(); begin ckName.Items.Clear; with adoQueryTmp do begin close; sql.Clear; sql.Add('select * from KH_ZDY where Type=''YPCK'' '); if trim(fCKName) <> '' then sql.Add('and zdyName=' + quotedstr(trim(fCKName))); open; while not eof do begin ckName.Items.Add(trim(fieldbyname('zdyName').AsString)); next; end; end; if ckName.Items.Count > 0 then ckName.ItemIndex := 0; CRType.Items.Clear; CRType.Items.Add(''); with adoQueryTmp do begin close; sql.Clear; sql.Add('select distinct CRtype from YP_InOut where CRFLAG=''入库'''); open; while not eof do begin CRType.Items.Add(trim(fieldbyname('CRtype').AsString)); next; end; end; if CRType.Items.Count > 0 then CRType.ItemIndex := 0; end; procedure TfrmBpRklist.InitGrid(); begin try with adoqueryTmp do begin close; sql.Clear; sql.Add('select A.* '); sql.Add(',CWYRZ=cast((case when isnull((select count(YFPZNO) from YF_Money_CR_Sub X where X.YFPZNO=A.CRID ),0)>0 then 1 else 0 end) as bit)'); sql.Add('from YP_InOut A where 1=1 '); if ComboBox1.Text = '入库时间' then begin sql.Add(' and CRTime>=''' + formatdateTime('yyyy-MM-dd', begdate.Date) + ''' '); sql.Add('and CRTime<''' + formatdateTime('yyyy-MM-dd', enddate.Date + 1) + ''' '); end else begin sql.Add(' and ChkTime>=''' + formatdateTime('yyyy-MM-dd', begdate.Date) + ''' '); sql.Add('and ChkTime<''' + formatdateTime('yyyy-MM-dd', enddate.Date + 1) + ''' '); end; sql.Add('and CRFlag=''入库'' '); sql.Add('and valid=''Y'' '); if cxTabControl1.TabIndex < 2 then sql.Add('and A.status=''' + inttostr(cxTabControl1.TabIndex) + ''' '); open; end; SCreateCDS20(adoqueryTmp, CDS_Main); SInitCDSData20(adoqueryTmp, CDS_Main); finally end; end; procedure TfrmBpRklist.FormClose(Sender: TObject; var Action: TCloseAction); begin writeCxGrid(self.Caption, Tv1, '成品仓库'); Action := cafree; end; procedure TfrmBpRklist.FormDestroy(Sender: TObject); begin frmBpRklist := nil; end; procedure TfrmBpRklist.TBAddClick(Sender: TObject); begin frmbpRk := TfrmbpRk.create(self); with frmbpRk do begin fkeyNo := ''; fType := 0; fckName := self.fckName; if showmodal = 1 then begin TBRafresh.Click; self.CDS_Main.Locate('crNo', trim(fkeyNo), []); end; free; end; end; procedure TfrmBpRklist.YWZBChange(Sender: TObject); begin if ADOQueryTmp.Active = False then Exit; SDofilter(ADOQueryTmp, SGetFilters(Panel1, 1, 2)); SCreateCDS20(ADOQueryTmp, CDS_Main); SInitCDSData20(ADOQueryTmp, CDS_Main); end; procedure TfrmBpRklist.FormShow(Sender: TObject); begin readCxGrid(self.Caption, Tv1, '成品仓库'); SetComboBox(); SetStatus(); InitGrid(); end; procedure TfrmBpRklist.FormCreate(Sender: TObject); begin BegDate.Date := DServerDate - 7; EndDate.Date := DServerDate; cxGrid1.Align := alclient; end; procedure TfrmBpRklist.TBCloseClick(Sender: TObject); begin close; end; procedure TfrmBpRklist.TBEditClick(Sender: TObject); var rkNum, ckNum: double; begin if CDS_Main.IsEmpty then Exit; { if Trim(CDS_Main.fieldbyname('Filler').AsString)<>Trim(DName) then begin Application.MessageBox('不能操作他人的数据!','提示',0); Exit; end; } with ADOQueryCmd do begin Close; sql.Clear; sql.Add('select * from YF_Money_CR_Sub A'); SQL.Add('where A.YFPZNO=''' + Trim(CDS_Main.fieldbyname('CRID').AsString) + ''' '); Open; end; if not ADOQueryCmd.IsEmpty then begin Application.MessageBox('已产生财务数据,不能修改!', '提示', 0); exit; end; rkNum := 0.0; ckNum := 0.0; with ADOQueryCmd do begin Close; sql.Clear; sql.Add('select sum(Qty)as Qty from YP_InOut A'); SQL.Add('where A.P_Code=''' + Trim(CDS_Main.fieldbyname('P_Code').AsString) + ''' '); SQL.Add('AND A.P_Color=''' + Trim(CDS_Main.fieldbyname('P_Color').AsString) + ''' '); SQL.Add('and A.CRNO<''' + Trim(CDS_Main.fieldbyname('CRNO').AsString) + ''' '); sQL.Add('and A.CRFlag=''入库'''); sQL.Add('and A.valid=''Y'''); Open; end; if not ADOQueryCmd.IsEmpty then begin rkNum := ADOQueryCmd.fieldbyname('Qty').AsFloat; end; with ADOQueryCmd do begin Close; sql.Clear; sql.Add('select sum(Qty)as Qty from YP_InOut A'); SQL.Add('where A.P_Code=''' + Trim(CDS_Main.fieldbyname('P_Code').AsString) + ''' '); SQL.Add('AND A.P_Color=''' + Trim(CDS_Main.fieldbyname('P_Color').AsString) + ''' '); sQL.Add('and A.CRFlag=''出库'''); sQL.Add('and A.valid=''Y'''); Open; end; if not ADOQueryCmd.IsEmpty then begin ckNum := ADOQueryCmd.fieldbyname('Qty').AsFloat; end; if rkNum < ckNum then begin Application.MessageBox('已产生出库数据,不能修改!', '提示', 0); exit; end; frmbpRk := TfrmbpRk.create(self); with frmbpRk do begin fkeyNo := self.cds_main.fieldbyname('CRNO').AsString; fType := 1; fckName := self.fckName; if showmodal = 1 then begin TBRafresh.Click; self.CDS_Main.Locate('crNo', trim(fkeyNo), []); end; free; end; end; procedure TfrmBpRklist.TBDelClick(Sender: TObject); begin if CDS_Main.IsEmpty then Exit; with ADOQueryCmd do begin Close; sql.Clear; sql.Add('select * from YF_Money_CR_Sub A'); SQL.Add('where A.YFPZNO=''' + Trim(CDS_Main.fieldbyname('CRID').AsString) + ''' '); Open; end; if not ADOQueryCmd.IsEmpty then begin Application.MessageBox('已产生财务数据,不能删除!', '提示', 0); exit; end; // with ADOQueryTmp do // begin // Close; // sql.Clear; // sql.Add('select * from YP_InOut A'); // SQL.Add('where A.P_Code=''' + Trim(CDS_Main.fieldbyname('P_Code').AsString) + ''' '); // SQL.Add('AND A.P_CoLOR=''' + Trim(CDS_Main.fieldbyname('P_CoLOR').AsString) + ''' '); // SQL.Add('AND CRFLAG=''出库'''); // sQL.Add('and A.valid=''Y'''); // Open; // end; // // if ADOQueryTmp.FieldByName('Qty').AsInteger > 0 then // begin // Application.MessageBox('已产生出库数据,不能删除!', '提示', 0); // exit; // end; if Application.MessageBox('确定要删除数据吗?', '提示', 32 + 4) <> IDYES then Exit; try ADOQueryCmd.Connection.BeginTrans; with ADOQueryCmd do begin Close; sql.Clear; sql.Add('update YP_InOut SET valid=''N'' '); sql.Add(',editer=' + quotedstr(trim(DName))); sql.Add(',edittime=getdate()'); SQL.Add('where CRID=''' + Trim(CDS_Main.fieldbyname('CRID').AsString) + ''' '); execsql; end; with ADOQueryCmd do begin Close; sql.Clear; sql.Add('SELECT SUM(ISNULL(Qty,0)*ISNULL(crqtyflag,0))QTY FROM YP_InOut a '); SQL.Add('where A.P_Code=''' + Trim(CDS_Main.fieldbyname('P_Code').AsString) + ''' '); SQL.Add('AND A.P_CoLOR=''' + Trim(CDS_Main.fieldbyname('P_CoLOR').AsString) + ''' '); sQL.Add('and A.valid=''Y'''); open; end; if ADOQueryCmd.fieldbyname('QTY').AsFloat < 0 then begin ADOQueryCmd.Connection.RollbackTrans; Application.MessageBox('库存数量小于0 禁止删除!', '提示', 0); Exit; end; ADOQueryCmd.Connection.CommitTrans; InitGrid(); except ADOQueryCmd.Connection.RollbackTrans; Application.MessageBox('删除异常!', '提示', 0); end; // try // // with ADOQueryCmd do // begin // Close; // sql.Clear; // sql.Add('update YP_InOut SET valid=''N'' '); // sql.Add(',editer=' + quotedstr(trim(DName))); // sql.Add(',edittime=getdate()'); // SQL.Add('where CRID=''' + Trim(CDS_Main.fieldbyname('CRID').AsString) + ''' '); // execsql; // end; // TBRafresh.Click; // except // Application.MessageBox('数据删除失败!', '提示信息', 0); // end; end; procedure TfrmBpRklist.TBRafreshClick(Sender: TObject); begin initGrid(); end; procedure TfrmBpRklist.TBPrintClick(Sender: TObject); begin if CDS_Main.IsEmpty then Exit; TcxGridToExcel(self.Caption, cxgrid1); end; procedure TfrmBpRklist.TBExportClick(Sender: TObject); begin if CDS_Main.IsEmpty then Exit; TcxGridToExcel(self.Caption, cxgrid1); end; procedure TfrmBpRklist.cxTabControl1Change(Sender: TObject); begin SetStatus(); initGrid(); end; procedure TfrmBpRklist.TchkClick(Sender: TObject); begin if CDS_Main.IsEmpty then exit; try with ADOQueryCmd do begin close; sql.Clear; sql.Add('update YP_InOut SET status=''1'',ChkTime=getdate(),chker= ' + QuotedStr(Trim(DName))); sql.Add('where CRNO=' + quotedstr(trim(CDS_Main.fieldbyname('CRNO').AsString))); execsql; end; application.MessageBox('审核成功!', '提示信息'); TBRafresh.Click; except application.MessageBox('审核失败!', '提示信息', 0); end; end; procedure TfrmBpRklist.TnochkClick(Sender: TObject); begin if CDS_Main.IsEmpty then exit; try with ADOQueryCmd do begin close; sql.Clear; sql.Add('update YP_InOut SET status=''0'',ChkTime=NULL,chker=NULL '); sql.Add('where CRNO=' + quotedstr(trim(CDS_Main.fieldbyname('CRNO').AsString))); execsql; end; application.MessageBox('撤销审核成功!', '提示信息'); TBRafresh.Click; except application.MessageBox('撤销审核失败!', '提示信息', 0); end; end; procedure TfrmBpRklist.ToolButton1Click(Sender: TObject); begin Panel5.Visible := true; end; procedure TfrmBpRklist.Button5Click(Sender: TObject); begin if CDS_Main.IsEmpty then Exit; if CDS_Main.Locate('SSel', True, []) = False then begin Application.MessageBox('没有选择数据!', '提示', 0); Exit; end; if trim(edtKuWei.Text) = '' then begin Application.MessageBox('单价不能为空!', '提示', 0); Exit; end; try CDS_Main.DisableControls; ADOQueryCmd.Connection.BeginTrans; with CDS_Main do begin First; while not Eof do begin if CDS_Main.FieldByName('SSel').AsBoolean = True then begin with ADOQueryCmd do begin Close; sql.Clear; sql.Add('Update YP_InOut Set PRICE=' + trim(edtKuWei.Text)); SQL.Add(',MONEY=ISNULL(QTY,0)*' + trim(edtKuWei.Text)); sql.Add('where CRID=''' + Trim(CDS_Main.fieldbyname('CRID').AsString) + ''''); sql.Add('insert into SY_SysLog(operor,opertime,Model,acction,opevent,result) values( '); sql.Add(' ' + quotedstr(trim(DName))); sql.Add(',getdate() '); sql.Add(',' + quotedstr(trim(self.Caption))); sql.Add(',' + quotedstr(trim('修改单价'))); sql.Add(',' + quotedstr(trim(CDS_Main.fieldbyname('CRID').AsString) + ';' + '原金额:' + trim(CDS_Main.fieldbyname('price').AsString) + ';现金额:' + trim(edtKuWei.Text))); sql.Add(',' + quotedstr(trim('成功'))); sql.Add(')'); ExecSQL; end; end; Next; end; end; ADOQueryCmd.Connection.CommitTrans; CDS_Main.EnableControls; application.MessageBox('数据保存成功!', '提示信息'); Panel5.Visible := false; TBRafresh.Click; exit; except ADOQueryCmd.Connection.RollbackTrans; CDS_Main.EnableControls; application.MessageBox('数据保存失败!', '提示信息', 0); end; end; procedure TfrmBpRklist.Button6Click(Sender: TObject); begin Panel5.Visible := False; end; procedure TfrmBpRklist.ComboBox1Change(Sender: TObject); begin InitGrid(); end; procedure TfrmBpRklist.ToolButton2Click(Sender: TObject); begin Panel2.Visible := true; end; procedure TfrmBpRklist.Button2Click(Sender: TObject); begin Panel2.Visible := False; end; procedure TfrmBpRklist.Button1Click(Sender: TObject); begin if CDS_Main.IsEmpty then Exit; if CDS_Main.Locate('SSel', True, []) = False then begin Application.MessageBox('没有选择数据!', '提示', 0); Exit; end; if trim(Edit1.Text) = '' then begin Application.MessageBox('金额不能为空!', '提示', 0); Exit; end; try CDS_Main.DisableControls; ADOQueryCmd.Connection.BeginTrans; with CDS_Main do begin First; while not Eof do begin if CDS_Main.FieldByName('SSel').AsBoolean = True then begin with ADOQueryCmd do begin Close; sql.Clear; sql.Add('Update YP_InOut SET'); SQL.Add('MONEY=' + trim(EDIT1.Text)); sql.Add('where CRID=''' + Trim(CDS_Main.fieldbyname('CRID').AsString) + ''''); sql.Add('insert into SY_SysLog(operor,opertime,Model,acction,opevent,result) values( '); sql.Add(' ' + quotedstr(trim(DName))); sql.Add(',getdate() '); sql.Add(',' + quotedstr(trim(self.Caption))); sql.Add(',' + quotedstr(trim('修改金额'))); sql.Add(',' + quotedstr(trim(CDS_Main.fieldbyname('CRID').AsString) + ';' + '原金额:' + trim(CDS_Main.fieldbyname('money').AsString) + ';现金额:' + trim(edit1.Text))); sql.Add(',' + quotedstr(trim('成功'))); sql.Add(')'); ExecSQL; end; end; Next; end; end; ADOQueryCmd.Connection.CommitTrans; CDS_Main.EnableControls; application.MessageBox('数据保存成功!', '提示信息'); Panel2.Visible := false; TBRafresh.Click; exit; except ADOQueryCmd.Connection.RollbackTrans; CDS_Main.EnableControls; application.MessageBox('数据保存失败!', '提示信息', 0); end; end; procedure TfrmBpRklist.Button4Click(Sender: TObject); begin Panel3.Visible := False; end; procedure TfrmBpRklist.ToolButton3Click(Sender: TObject); begin Panel3.Visible := true; end; procedure TfrmBpRklist.Button3Click(Sender: TObject); begin if CDS_Main.IsEmpty then Exit; if CDS_Main.Locate('SSel', True, []) = False then begin Application.MessageBox('没有选择数据!', '提示', 0); Exit; end; if trim(Edit2.Text) = '' then begin Application.MessageBox('备注不能为空!', '提示', 0); Exit; end; try CDS_Main.DisableControls; ADOQueryCmd.Connection.BeginTrans; with CDS_Main do begin First; while not Eof do begin if CDS_Main.FieldByName('SSel').AsBoolean = True then begin with ADOQueryCmd do begin Close; sql.Clear; sql.Add('Update YP_InOut Set Note=' + QuotedStr(trim(Edit2.Text))); sql.Add('where CRID=''' + Trim(CDS_Main.fieldbyname('CRID').AsString) + ''''); sql.Add('insert into SY_SysLog(operor,opertime,Model,acction,opevent,result) values( '); sql.Add(' ' + quotedstr(trim(DName))); sql.Add(',getdate() '); sql.Add(',' + quotedstr(trim(self.Caption))); sql.Add(',' + quotedstr(trim('修改备注'))); sql.Add(',' + quotedstr(trim(CDS_Main.fieldbyname('CRID').AsString) + ';' + '原备注:' + trim(CDS_Main.fieldbyname('Note').AsString) + ';现备注:' + trim(edit2.Text))); sql.Add(',' + quotedstr(trim('成功'))); sql.Add(')'); ExecSQL; end; end; Next; end; end; ADOQueryCmd.Connection.CommitTrans; CDS_Main.EnableControls; application.MessageBox('数据保存成功!', '提示信息'); Panel5.Visible := false; TBRafresh.Click; exit; except ADOQueryCmd.Connection.RollbackTrans; CDS_Main.EnableControls; application.MessageBox('数据保存失败!', '提示信息', 0); end; end; procedure TfrmBpRklist.Button7Click(Sender: TObject); begin if CDS_Main.IsEmpty then Exit; if CDS_Main.Locate('SSel', True, []) = False then begin Application.MessageBox('没有选择数据!', '提示', 0); Exit; end; if trim(Edit3.Text) = '' then begin Application.MessageBox('采购人不能为空!', '提示', 0); Exit; end; try CDS_Main.DisableControls; ADOQueryCmd.Connection.BeginTrans; with CDS_Main do begin First; while not Eof do begin if CDS_Main.FieldByName('SSel').AsBoolean = True then begin with ADOQueryCmd do begin Close; sql.Clear; sql.Add('Update YP_InOut SET'); SQL.Add('CGPERSON=' + QuotedStr((EDIT3.Text))); sql.Add('where CRID=''' + Trim(CDS_Main.fieldbyname('CRID').AsString) + ''''); sql.Add('insert into SY_SysLog(operor,opertime,Model,acction,opevent,result) values( '); sql.Add(' ' + quotedstr(trim(DName))); sql.Add(',getdate() '); sql.Add(',' + quotedstr(trim(self.Caption))); sql.Add(',' + quotedstr(trim('修改采购人'))); sql.Add(',' + quotedstr(trim(CDS_Main.fieldbyname('CRID').AsString) + ';' + '原采购人:' + trim(CDS_Main.fieldbyname('CGPERSON').AsString) + ';现采购人:' + trim(edit3.Text))); sql.Add(',' + quotedstr(trim('成功'))); sql.Add(')'); ExecSQL; end; end; Next; end; end; ADOQueryCmd.Connection.CommitTrans; CDS_Main.EnableControls; application.MessageBox('数据保存成功!', '提示信息'); Panel4.Visible := false; TBRafresh.Click; exit; except ADOQueryCmd.Connection.RollbackTrans; CDS_Main.EnableControls; application.MessageBox('数据保存失败!', '提示信息', 0); end; end; procedure TfrmBpRklist.ToolButton4Click(Sender: TObject); begin Panel4.Visible := true; end; procedure TfrmBpRklist.Button8Click(Sender: TObject); begin Panel4.Visible := false; end; procedure TfrmBpRklist.EDIT3BtnClick(Sender: TObject); begin try frmZDYHelp := TfrmZDYHelp.Create(Application); with frmZDYHelp do begin flag := 'CGPERSON'; flagname := '采购人'; if ShowModal = 1 then begin EDIT3.Text := Trim(frmZDYHelp.ClientDataSet1.fieldbyname('ZdyName').AsString); end; end; finally frmZDYHelp.Free; end; end; end.