unit U_TatDRList; interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls, ExtCtrls, ComCtrls, ToolWin, cxStyles, cxCustomData, cxGraphics, cxFilter, cxData, cxDataStorage, cxEdit, DB, cxDBData, ADODB, cxGridCustomPopupMenu, cxGridPopupMenu, cxGridLevel, cxClasses, cxControls, cxGridCustomView, cxGridCustomTableView, cxGridTableView, cxGridDBTableView, cxGrid, DBClient, cxCheckBox, cxCalendar, cxSplitter, RM_Dataset, RM_System, RM_Common, RM_Class, RM_GridReport, RM_e_Xls, Menus, cxPC, cxButtonEdit, cxDropDownEdit, cxTextEdit, cxLookAndFeels, cxLookAndFeelPainters, cxNavigator, dxBarBuiltInMenu, dxSkinsCore, dxSkinsDefaultPainters, U_BaseList, dxDateRanges, dxScrollbarAnnotations, IdBaseComponent, IdComponent, IdTCPConnection, IdTCPClient, IdHTTP; type TfrmTatDRList = class(TfrmBaseList) ToolBar1: TToolBar; TBRafresh: TToolButton; TBFind: TToolButton; TBAdd: TToolButton; TBEdit: TToolButton; TBDel: TToolButton; TBPrint: TToolButton; TBClose: TToolButton; Tv1: TcxGridDBTableView; cxGrid1Level1: TcxGridLevel; cxGrid1: TcxGrid; cxGridPopupMenu1: TcxGridPopupMenu; ADOQueryCmd: TADOQuery; ADOQueryMain: TADOQuery; ADOQueryTemp: TADOQuery; DataSource1: TDataSource; TBExport: TToolButton; v1OrdDate: TcxGridDBColumn; Order_Main: TClientDataSet; ToolButton1: TToolButton; v1Column4: TcxGridDBColumn; Panel1: TPanel; Label4: TLabel; Label8: TLabel; Label12: TLabel; Label13: TLabel; BegDate: TDateTimePicker; EndDate: TDateTimePicker; ToCoName: TEdit; MPRTCodeName: TEdit; MPRTKZ: TEdit; MPRTMF: TEdit; cxTabControl1: TcxTabControl; tchk: TToolButton; Tnochk: TToolButton; cxSplitter1: TcxSplitter; DS_2: TDataSource; v1Column8: TcxGridDBColumn; Label2: TLabel; ClientDataSet2: TClientDataSet; GPM_2: TcxGridPopupMenu; v1Column13: TcxGridDBColumn; v1Column17: TcxGridDBColumn; v1Column1: TcxGridDBColumn; v1Column7: TcxGridDBColumn; v1Column10: TcxGridDBColumn; v1Column27: TcxGridDBColumn; btnWC: TToolButton; btnWCCX: TToolButton; CheckBox1: TCheckBox; ToolButton6: TToolButton; Label1: TLabel; cxGrid2: TcxGrid; TV2: TcxGridDBTableView; cxGridDBColumn3: TcxGridDBColumn; v1Column6: TcxGridDBColumn; cxGridDBColumn4: TcxGridDBColumn; cxGridDBColumn7: TcxGridDBColumn; cv1Column3: TcxGridDBColumn; cxGridLevel1: TcxGridLevel; TV2Column1: TcxGridDBColumn; TV2Column2: TcxGridDBColumn; TV2Column3: TcxGridDBColumn; Label3: TLabel; shdanwei: TEdit; Tv1Column1: TcxGridDBColumn; ToolButton2: TToolButton; IdHTTP1: TIdHTTP; ToolButton3: TToolButton; Tv1Column2: TcxGridDBColumn; ToolButton4: TToolButton; Tv1Column3: TcxGridDBColumn; Tv1Column4: TcxGridDBColumn; Tv1Column5: TcxGridDBColumn; ToolButton5: TToolButton; ToolButton7: TToolButton; TV2Column4: TcxGridDBColumn; TV2Column5: TcxGridDBColumn; TV2Column6: TcxGridDBColumn; TV2Column7: TcxGridDBColumn; Tv1Column6: TcxGridDBColumn; //RMllPDFExport1: TRMllPDFExport; procedure FormDestroy(Sender: TObject); procedure FormClose(Sender: TObject; var Action: TCloseAction); procedure TBCloseClick(Sender: TObject); procedure TBFindClick(Sender: TObject); procedure TBEditClick(Sender: TObject); procedure TBDelClick(Sender: TObject); procedure TBExportClick(Sender: TObject); procedure TBPrintClick(Sender: TObject); procedure TBRafreshClick(Sender: TObject); procedure TBAddClick(Sender: TObject); procedure FormShow(Sender: TObject); procedure CheckBox1Click(Sender: TObject); procedure CheckBox2Click(Sender: TObject); procedure ToolButton1Click(Sender: TObject); procedure ToCoNameChange(Sender: TObject); procedure tchkClick(Sender: TObject); procedure TnochkClick(Sender: TObject); procedure cxTabControl1Change(Sender: TObject); procedure btnWCClick(Sender: TObject); procedure Tv1FocusedRecordChanged(Sender: TcxCustomGridTableView; APrevFocusedRecord, AFocusedRecord: TcxCustomGridRecord; ANewItemRecordFocusingChanged: Boolean); procedure btnWCCXClick(Sender: TObject); procedure v1Column7PropertiesEditValueChanged(Sender: TObject); procedure Tv1Column9PropertiesEditValueChanged(Sender: TObject); procedure ToolButton6Click(Sender: TObject); procedure ToolButton2Click(Sender: TObject); procedure ToolButton3Click(Sender: TObject); procedure ToolButton4Click(Sender: TObject); procedure ToolButton5Click(Sender: TObject); procedure ToolButton7Click(Sender: TObject); private procedure InitGrid(); procedure InitSubGrid(); procedure InitForm(); procedure SetStatus(); function DelData(): Boolean; { Private declarations } public FFInt: Integer; canshu1, canshu2: string; { Public declarations } end; //var //frmContractListNX: TfrmContractListNX; implementation uses U_DataLink, U_TatDRtInPut, U_RTFun, U_ZDYHelp, U_LabelPrint, U_AttachmentUpload; {$R *.dfm} procedure TfrmTatDRList.SetStatus(); begin tchk.Enabled := False; Tnochk.Enabled := False; btnWC.Enabled := False; btnWCCX.Enabled := False; ToolButton3.Enabled := False; ToolButton5.Enabled := False; if CANSHU1 = '查询' then begin ToolButton1.Enabled := True; TBPrint.Enabled := True; ToolButton2.Enabled := True; ToolButton4.Enabled := True; TBExport.Enabled := True; ToolButton7.Enabled := True; TBAdd.Enabled := True; TBEdit.Enabled := True; TBDel.Enabled := True; case cxTabControl1.TabIndex of 1: begin btnWC.Enabled := true; end; end; end; if canshu1 = '管理' then begin case cxTabControl1.TabIndex of 0: begin ToolButton3.Enabled := true; tchk.Enabled := true; end; 1: begin Tnochk.Enabled := true; btnWC.Enabled := true; end; 2: begin btnWCCX.Enabled := true; end; 3: begin ToolButton5.Enabled := true; end; end; end else if canshu1 = '录入' then begin case cxTabControl1.TabIndex of 1: begin btnWC.Enabled := true; end; end; end; end; procedure TfrmTatDRList.FormDestroy(Sender: TObject); begin inherited; //frmFHSQList:=nil; end; procedure TfrmTatDRList.FormClose(Sender: TObject; var Action: TCloseAction); begin inherited; Action := caFree; end; procedure TfrmTatDRList.TBCloseClick(Sender: TObject); begin Close; end; procedure TfrmTatDRList.InitGrid(); begin try ADOQueryMain.DisableControls; with ADOQueryMain do begin Filtered := False; Close; sql.Clear; Sql.Add(' select A.* '); sql.Add(' from Tat_Cloth_DR_Main A where 1=1'); if CheckBox1.Checked then begin sql.Add(' and Filltime>=''' + FormatDateTime('yyyy-MM-dd', begdate.DateTime) + ''' '); sql.Add(' and Filltime<''' + FormatDateTime('yyyy-MM-dd', Enddate.DateTime + 1) + ''' '); end; case cxTabControl1.TabIndex of 0: begin SQL.Add(' and isnull(A.status,''0'')=''0'' '); end; 1: begin SQL.Add(' and isnull(A.status,''0'')=''9'' '); end; 2: begin SQL.Add(' and isnull(A.status,''0'')=''10'' '); end; 3: begin SQL.Add(' and isnull(A.status,''0'')=''-2'' '); end; 4: begin SQL.Add(' and isnull(A.status,''0'')<>''-2'' '); end; end; if Trim(canshu1) = '录入' then begin sql.Add(' and isnull(A.Filler,'''')=''' + Trim(DName) + ''''); end; sql.Add(' order by Filltime desc '); // ShowMessage(sql.Text); Open; end; SDofilter(ADOQueryMain, SGetFilters(Panel1, 1, 2)); SCreateCDS(ADOQueryMain, Order_Main); SInitCDSData(ADOQueryMain, Order_Main); finally ADOQueryMain.EnableControls; TV1.DataController.Filter.Clear; TV2.DataController.Filter.Clear; end; end; procedure TfrmTatDRList.InitForm(); begin ReadCxGrid(trim(self.Caption) + 'Tv1', Tv1, '发货管理'); ReadCxGrid(trim(self.Caption) + 'Tv2', Tv2, '发货管理'); EndDate.DateTime := SGetServerDate(ADOQueryTemp); BegDate.DateTime := EndDate.DateTime - 60; InitGrid(); end; procedure TfrmTatDRList.TBFindClick(Sender: TObject); begin if ADOQueryMain.Active = False then Exit; SDofilter(ADOQueryMain, SGetFilters(Panel1, 1, 2)); SCreateCDS(ADOQueryMain, Order_Main); SInitCDSData(ADOQueryMain, Order_Main); end; procedure TfrmTatDRList.TBEditClick(Sender: TObject); begin if Order_Main.IsEmpty then Exit; // if cxTabControl1.TabIndex <> 0 then // Exit; // if Trim(canshu1) <> '管理' then // begin // with ADOQueryTemp do // begin // Close; // sql.Clear; // SQL.Add('select FILLER from Tat_Cloth_DR_Main A '); // SQL.Add('where DRMID=''' + Trim(Order_Main.fieldbyname('DRMID').AsString) + ''' '); // SQL.Add('and filler in ( select username from SY_User where UType=(select UType from SY_User where UserName=' + quotedstr(Trim(dname))); // SQL.Add('))'); // Open; // end; // // if ADOQueryTemp.ISEMPTY = True then // begin // Application.MessageBox('不能操作他人的数据!', '提示', 0); // Exit; // end; if Trim(Order_Main.fieldbyname('Filler').AsString) <> Trim(DName) then begin Application.MessageBox('不能操作他人的数据!', '提示', 0); Exit; end; // end; // with ADOQueryTemp do // begin // close; // sql.Clear; // sql.Add('select * from Tat_Cloth_DR_Main'); // sql.Add('where DRMID=' + quotedstr(trim(Order_Main.fieldbyname('DRMID').AsString))); // Open; // end; // if Trim(ADOQueryTemp.fieldbyname('YSID').AsString) <> '' then // begin // Application.MessageBox('已生成应收账款不能修改数据!', '提示', 0); // Exit; // end; try frmTatDRtInPut := TfrmTatDRtInPut.Create(Application); with frmTatDRtInPut do begin PState := 1; FDRMID := Trim(Self.Order_Main.fieldbyname('DRMID').AsString); if ShowModal = 1 then begin InitGrid(); end; end; finally frmTatDRtInPut.Free; end; end; procedure TfrmTatDRList.TBDelClick(Sender: TObject); begin if Order_Main.IsEmpty then Exit; if cxTabControl1.TabIndex <> 0 then Exit; // if canshu1 <> '管理' then // begin if Trim(Order_Main.fieldbyname('Filler').AsString) <> Trim(DName) then begin Application.MessageBox('不能操作他人的数据!', '提示', 0); Exit; end; // end; with ADOQueryTemp do begin Close; sql.Clear; sql.Add(' select * from Tat_Cloth_IO where ioflag=''出库'''); sql.add(' and IONo=''' + Trim(Order_Main.fieldbyname('DRMID').AsString) + ''''); Open; end; if ADOQueryTemp.IsEmpty = False then begin Application.MessageBox('已发货不能删除数据!', '提示', 0); exit; end; if Application.MessageBox('确定要删除数据吗?', '提示', 32 + 4) <> IDYES then Exit; if DelData() then begin Order_Main.Delete; InitSubGrid(); end; end; function TfrmTatDRList.DelData(): Boolean; begin try with Order_Main do begin DisableControls; First; while not eof do begin if fieldbyname('SSel').AsBoolean then begin Result := false; ADOQueryCmd.Connection.BeginTrans; with ADOQueryCmd do begin Close; sql.Clear; sql.Add('delete Tat_Cloth_DR_Sub where DRMID=''' + Trim(Order_Main.fieldbyname('DRMID').AsString) + ''''); ExecSQL; end; with ADOQueryCmd do begin Close; sql.Clear; sql.Add('delete Tat_Cloth_DR_Main where DRMID=''' + Trim(Order_Main.fieldbyname('DRMID').AsString) + ''''); ExecSQL; end; end; next; end; First; EnableControls; end; ADOQueryCmd.Connection.CommitTrans; Result := True; except ADOQueryCmd.Connection.RollbackTrans; Result := False; Application.MessageBox('数据删除异常!', '提示', 0); end; end; procedure TfrmTatDRList.TBExportClick(Sender: TObject); begin if ADOQueryMain.IsEmpty then Exit; // SelExportData(Tv1, ADOQueryMain, '发货申请列表'); end; procedure TfrmTatDRList.TBPrintClick(Sender: TObject); begin if Order_Main.IsEmpty then Exit; try frmLabelPrint := TfrmLabelPrint.Create(Application); with frmLabelPrint do begin FLMType := 'TradeClothDR1'; FFiltration1 := Trim(self.Order_Main.fieldbyname('DRMID').AsString); if ShowModal = 1 then begin end; end; finally frmLabelPrint.Free; end; end; procedure TfrmTatDRList.TBRafreshClick(Sender: TObject); begin InitGrid(); end; procedure TfrmTatDRList.TBAddClick(Sender: TObject); var maxno: string; begin try frmTatDRtInPut := TfrmTatDRtInPut.Create(Application); with frmTatDRtInPut do begin PState := 0; FDRMID := ''; canshu1 := self.canshu1; if ShowModal = 1 then begin InitGrid(); end; end; finally frmTatDRtInPut.Free; end; end; procedure TfrmTatDRList.FormShow(Sender: TObject); begin inherited; canshu1 := self.fParameters1; InitForm(); SetStatus(); end; procedure TfrmTatDRList.CheckBox1Click(Sender: TObject); begin InitGrid(); end; procedure TfrmTatDRList.CheckBox2Click(Sender: TObject); begin TBRafresh.Click; end; procedure TfrmTatDRList.ToolButton1Click(Sender: TObject); begin if Order_Main.IsEmpty then Exit; try frmTatDRtInPut := TfrmTatDRtInPut.Create(Application); with frmTatDRtInPut do begin PState := 1; FDRMID := Trim(Self.Order_Main.fieldbyname('DRMID').AsString); ToolBar2.Visible := False; TBSave.Visible := False; ScrollBox1.Enabled := False; Tv1.OptionsSelection.CellSelect := False; if ShowModal = 1 then begin end; end; finally frmTatDRtInPut.Free; end; end; procedure TfrmTatDRList.ToolButton2Click(Sender: TObject); begin inherited; if order_main.IsEmpty then Exit; try frmLabelPrint := TfrmLabelPrint.Create(Application); with frmLabelPrint do begin FLMType := 'TatClothOut1'; FFiltration1 := Trim(self.order_main.fieldbyname('DRMID').AsString); if ShowModal = 1 then begin end; end; finally frmLabelPrint.Free; end; end; procedure TfrmTatDRList.ToolButton3Click(Sender: TObject); begin if Order_Main.IsEmpty then exit; if cxTabControl1.TabIndex <> 0 then exit; try with Order_Main 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 Tat_Cloth_DR_Main SET Status=''-2'' '); sql.Add('where DRMID=' + quotedstr(trim(Order_Main.fieldbyname('DRMID').AsString))); execsql; end; end; next; end; First; EnableControls; end; Order_Main.Delete; InitSubGrid(); application.MessageBox('取消成功!', '提示信息'); except application.MessageBox('取消失败!', '提示信息', 0); end; end; procedure TfrmTatDRList.ToolButton4Click(Sender: TObject); begin if Order_Main.IsEmpty then Exit; try frmAttachmentUpload := TfrmAttachmentUpload.Create(Application); with frmAttachmentUpload do begin if Trim(canshu1) <> '查询' then FEditAuthority := True; fkeyNO := Trim(Self.Order_Main.fieldbyname('DRMID').AsString); fType := '发货申请'; if ShowModal = 1 then begin end; end; finally frmAttachmentUpload.Free; end; end; procedure TfrmTatDRList.ToolButton5Click(Sender: TObject); begin if Order_Main.IsEmpty then exit; if cxTabControl1.TabIndex <> 3 then exit; try with Order_Main 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 Tat_Cloth_DR_Main SET Status=''0'' '); sql.Add('where DRMID=' + quotedstr(trim(Order_Main.fieldbyname('DRMID').AsString))); execsql; end; end; next; end; First; EnableControls; end; Order_Main.Delete; InitSubGrid(); application.MessageBox('撤销取消成功!', '提示信息'); except application.MessageBox('撤销取消失败!', '提示信息', 0); end; end; procedure TfrmTatDRList.ToCoNameChange(Sender: TObject); begin if ADOQueryMain.Active = False then Exit; SDofilter(ADOQueryMain, SGetFilters(Panel1, 1, 2)); SCreateCDS(ADOQueryMain, Order_Main); SInitCDSData(ADOQueryMain, Order_Main); end; procedure TfrmTatDRList.tchkClick(Sender: TObject); begin if Order_Main.IsEmpty then exit; if cxTabControl1.TabIndex <> 0 then exit; try with Order_Main 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 Tat_Cloth_DR_Main SET Chker=''' + Trim(DName) + ''',ChkTime=getdate(),Status=''9'' '); sql.Add('where DRMID=' + quotedstr(trim(Order_Main.fieldbyname('DRMID').AsString))); execsql; end; end; next; end; First; EnableControls; end; Order_Main.Delete; InitSubGrid(); application.MessageBox('审核成功!', '提示信息'); except application.MessageBox('审核失败!', '提示信息', 0); end; end; procedure TfrmTatDRList.InitSubGrid(); begin with ADOQueryTemp do begin Close; sql.Clear; sql.Add('select A.* '); sql.Add('from Tat_Cloth_DR_Sub A where A.DRMID=''' + Trim(Order_Main.fieldbyname('DRMID').AsString) + ''''); Open; end; SCreateCDS(ADOQueryTemp, ClientDataSet2); SInitCDSData(ADOQueryTemp, ClientDataSet2); end; procedure TfrmTatDRList.TnochkClick(Sender: TObject); begin if Order_Main.IsEmpty then exit; if cxTabControl1.TabIndex <> 1 then exit; try with Order_Main 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 Tat_Cloth_DR_Main SET Chker=Null,ChkTime=Null,status=''0'' '); sql.Add('where DRMID=' + quotedstr(trim(Order_Main.fieldbyname('DRMID').AsString))); execsql; end; end; next; end; First; EnableControls; end; Order_Main.Delete; application.MessageBox('撤销成功!', '提示信息'); except application.MessageBox('撤销失败!', '提示信息', 0); end; end; procedure TfrmTatDRList.cxTabControl1Change(Sender: TObject); begin TBRafresh.Click; SetStatus(); end; procedure TfrmTatDRList.btnWCCXClick(Sender: TObject); begin if Order_Main.IsEmpty then exit; try with Order_Main do begin DisableControls; First; while not eof do begin if fieldbyname('SSel').AsBoolean then begin with ADOQueryTemp do begin Close; sql.Clear; sql.Add('exec P_Fin_Judge_All @DataID=' + quotedstr(trim(Order_Main.fieldbyname('DRMID').AsString))); Open; end; if ADOQueryTemp.FieldByName('intReturn').AsInteger = -1 then begin Application.MessageBox(PChar(ADOQueryTemp.fieldbyname('ShowMsg').AsString), '提示', 0); exit; end; with ADOQueryCmd do begin close; sql.Clear; sql.Add('update Tat_Cloth_DR_Main SET status=''9'' ,Comper=null,Comptime=null '); sql.Add('where DRMID=' + quotedstr(trim(Order_Main.fieldbyname('DRMID').AsString))); execsql; end; end; next; end; First; EnableControls; end; InitGrid(); InitSubGrid(); application.MessageBox('操作成功!', '提示信息'); except application.MessageBox('操作失败!', '提示信息', 0); end; end; procedure TfrmTatDRList.ToolButton6Click(Sender: TObject); begin WriteCxGrid(trim(self.Caption) + 'Tv1', Tv1, '发货管理'); WriteCxGrid(trim(self.Caption) + 'Tv2', Tv2, '发货管理'); end; procedure TfrmTatDRList.ToolButton7Click(Sender: TObject); begin try with Order_Main do begin with ADOQueryCmd do begin close; sql.Clear; sql.Add('update Tat_Cloth_Stock SET StkExists=0 '); // sql.Add('where iono=' + quotedstr(trim(Order_Main.fieldbyname('DRMID').AsString))); sql.add('where IsStocking=''1'''); sql.Add('and STKID IN (SELECT STKID FROM Tat_Cloth_IO F '); SQL.Add('where iono=' + quotedstr(trim(Order_Main.fieldbyname('DRMID').AsString))); sql.add('and ioflag=''待出库'')'); sql.Add('update Tat_Cloth_Inspect SET CIIOFlag=''已出库'' '); // sql.Add('where iono=' + quotedstr(trim(Order_Main.fieldbyname('DRMID').AsString))); sql.add('where '); sql.Add(' ciid IN (SELECT STKID FROM Tat_Cloth_IO F '); SQL.Add('where iono=' + quotedstr(trim(Order_Main.fieldbyname('DRMID').AsString))); sql.add('and ioflag=''待出库'')'); sql.Add('update Tat_Cloth_IO SET ioflag=''出库'',iotime=getdate() '); sql.Add('where iono=' + quotedstr(trim(Order_Main.fieldbyname('DRMID').AsString))); sql.add('and ioflag=''待出库'''); execsql; end; with ADOQueryCmd do begin Close; sql.Clear; sql.Add('exec P_Tat_Cloth_DR @OutNoS=' + Quotedstr(Trim(Order_Main.fieldbyname('DRMID').AsString))); Open; end; if ADOQueryCmd.FieldByName('intReturn').AsInteger = -1 then begin raise Exception.Create(pchar(trim(ADOQueryCmd.FieldByName('ShowMsg').AsString))); end; EnableControls; end; InitGrid(); InitSubGrid(); application.MessageBox('操作成功!', '提示信息'); except application.MessageBox('操作失败!', '提示信息', 0); end; end; procedure TfrmTatDRList.btnWCClick(Sender: TObject); var str: string; begin if Order_Main.IsEmpty then exit; try with Order_Main do begin DisableControls; First; while not eof do begin if fieldbyname('SSel').AsBoolean then begin with ADOQueryTemp do begin close; sql.Clear; SQL.Add('SELECT TT=ISNULL(SUM(DlyPiece),0),T1=ISNULL(SUM(PIECE),0) FROM Tat_Cloth_DR_SUB A WHERE A.DRMID=' + quotedstr(trim(Order_Main.fieldbyname('DRMID').AsString))); OPEN; end; if ADOQueryTemp.FieldByName('TT').AsInteger = 0 then begin application.MessageBox('发货数量为0,不能完成!', '提示信息'); EnableControls; exit; end; if ADOQueryTemp.FieldByName('TT').AsInteger < ADOQueryTemp.FieldByName('T1').AsInteger then begin if InputQuery('输入备注', '备注', str) then begin with ADOQueryCmd do begin Close; sql.Clear; sql.Add('update Tat_Cloth_DR_main '); sql.Add(' set wcnote=' + quotedstr(str)); sql.Add(' where drmid=' + quotedstr(trim(Order_Main.fieldbyname('DRMID').AsString))); ExecSQL; end; end else begin EnableControls; exit; end; end; with ADOQueryCmd do begin close; sql.Clear; sql.Add('update Tat_Cloth_DR_Main SET status=''10'' ,Comper=''' + Trim(DName) + ''',Comptime=getdate() '); sql.Add('where DRMID=' + quotedstr(trim(Order_Main.fieldbyname('DRMID').AsString))); // sql.Add('exec P_Do_WXInsert_MD '); // sql.Add('@CKORDNO=' + quotedstr(trim(Order_Main.fieldbyname('DRMID').AsString))); execsql; end; end; next; end; First; EnableControls; end; InitGrid(); InitSubGrid(); application.MessageBox('操作成功!', '提示信息'); except application.MessageBox('操作失败!', '提示信息', 0); end; end; procedure TfrmTatDRList.Tv1Column9PropertiesEditValueChanged(Sender: TObject); var mvalue, FFieldName: string; begin mvalue := TcxTextEdit(Sender).EditingText; FFieldName := Trim(Tv1.Controller.FocusedColumn.DataBinding.FilterFieldName); if mvalue = '' then begin with ADOQueryCmd do begin Close; SQL.Clear; sql.Add('update Tat_Cloth_DR_Main set ' + FFieldName + '=' + 'NULL'); sql.Add('where DRMID=' + quotedstr(Trim(Order_Main.fieldbyname('DRMID').AsString))); ExecSQL; end; end else begin with Order_Main do begin Edit; FieldByName(FFieldName).Value := mvalue; Post; end; with ADOQueryCmd do begin Close; SQL.Clear; sql.Add('update Tat_Cloth_DR_Main set ' + FFieldName + '=' + quotedstr(Trim(mvalue))); sql.Add('where DRMID=' + quotedstr(Trim(Order_Main.fieldbyname('DRMID').AsString))); ExecSQL; end; end; tv1.Controller.EditingController.ShowEdit(); end; procedure TfrmTatDRList.Tv1FocusedRecordChanged(Sender: TcxCustomGridTableView; APrevFocusedRecord, AFocusedRecord: TcxCustomGridRecord; ANewItemRecordFocusingChanged: Boolean); begin InitSubGrid(); end; procedure TfrmTatDRList.v1Column7PropertiesEditValueChanged(Sender: TObject); var mvalue, FFieldName: string; begin mvalue := TcxTextEdit(Sender).EditingText; FFieldName := Trim(Tv1.Controller.FocusedColumn.DataBinding.FilterFieldName); with Order_Main do begin Edit; FieldByName(FFieldName).Value := mvalue; Post; end; with ADOQueryCmd do begin Close; SQL.Clear; sql.Add('update Tat_Cloth_DR_Main set ' + FFieldName + '=' + quotedstr(Trim(mvalue))); sql.Add('where DRMID=' + quotedstr(Trim(Order_Main.fieldbyname('DRMID').AsString))); ExecSQL; end; tv1.Controller.EditingController.ShowEdit(); end; end.