unit U_ConInPut; interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, cxStyles, cxCustomData, cxGraphics, cxFilter, cxData, cxDataStorage, cxEdit, DB, cxDBData, cxGridLevel, cxGridCustomTableView, cxGridTableView, cxGridDBTableView, cxClasses, cxControls, cxGridCustomView, cxGrid, cxMemo, cxRichEdit, ComCtrls, cxContainer, cxTextEdit, cxMaskEdit, cxButtonEdit, StdCtrls, ToolWin, DBClient, ADODB, ExtCtrls, BtnEdit, cxCalendar,StrUtils, cxDropDownEdit, cxCurrencyEdit; type TfrmConInPut = class(TForm) ToolBar1: TToolBar; TBSave: TToolButton; TBClose: TToolButton; ScrollBox1: TScrollBox; Label3: TLabel; OrdDate: TDateTimePicker; Label4: TLabel; DlyDate: TDateTimePicker; Label7: TLabel; ToolBar2: TToolBar; ToolButton1: TToolButton; ToolButton2: TToolButton; cxGrid1: TcxGrid; Tv1: TcxGridDBTableView; cxGrid1Level1: TcxGridLevel; v1PRTColor: TcxGridDBColumn; v1PRTPrice: TcxGridDBColumn; ADOTemp: TADOQuery; ADOCmd: TADOQuery; DataSource1: TDataSource; Order_Sub: TClientDataSet; ADOQuery1: TADOQuery; v1PRTOrderQty: TcxGridDBColumn; Label9: TLabel; ConPerson1: TEdit; Label10: TLabel; ConNo: TEdit; Label11: TLabel; Label14: TLabel; Label20: TLabel; FromPlace: TBtnEditC; CustomerNoName: TBtnEditC; v1XHNo: TcxGridDBColumn; SYRName: TBtnEditC; v1OrderUnit: TcxGridDBColumn; v1PriceUnit: TcxGridDBColumn; Label5: TLabel; PriceNote: TBtnEditC; Label6: TLabel; QtyNote: TBtnEditC; Label15: TLabel; Payment: TBtnEditC; Label1: TLabel; ToPlace: TBtnEditC; Label17: TLabel; Label18: TLabel; BankNo: TBtnEditC; SYRAddress: TEdit; Label19: TLabel; BankName: TEdit; Label21: TLabel; BankAddress: TEdit; ToolButton3: TToolButton; v1Column1: TcxGridDBColumn; v1Column3: TcxGridDBColumn; Label8: TLabel; TelNo: TEdit; Label23: TLabel; FaxNo: TEdit; DlyNote: TBtnEditC; CDS_Type: TClientDataSet; Label28: TLabel; BankSelfFastNo: TEdit; Label29: TLabel; KHConNo: TEdit; v1Column5: TcxGridDBColumn; v1Column6: TcxGridDBColumn; v1Column7: TcxGridDBColumn; v1Column8: TcxGridDBColumn; ConPerson2: TBtnEditC; Label2: TLabel; conDefstr1: TEdit; Label12: TLabel; conDefstr2: TEdit; Label13: TLabel; Label31: TLabel; conDefstr3: TEdit; Label33: TLabel; conDefstr5: TEdit; EmailNo: TEdit; Label38: TLabel; CustomerNo: TEdit; Label40: TLabel; Label32: TLabel; FKPerson: TBtnEditC; Label35: TLabel; ConType: TBtnEditC; Label16: TLabel; ShippMent: TBtnEditC; v1Column2: TcxGridDBColumn; v1Column4: TcxGridDBColumn; v1Column9: TcxGridDBColumn; v1Column10: TcxGridDBColumn; v1Column11: TcxGridDBColumn; v1Column12: TcxGridDBColumn; Label34: TLabel; HuoDai: TBtnEditC; cxGrid2: TcxGrid; Tv2: TcxGridDBTableView; cxGridDBColumn1: TcxGridDBColumn; cxGridDBColumn18: TcxGridDBColumn; cxGridLevel1: TcxGridLevel; Button1: TButton; Button2: TButton; Order_Note: TClientDataSet; DataSource2: TDataSource; Label22: TLabel; KeFu: TEdit; v1Column13: TcxGridDBColumn; v1Column14: TcxGridDBColumn; v1Column15: TcxGridDBColumn; Label24: TLabel; Label25: TLabel; CPCFBi: TcxCurrencyEdit; v1HBType: TcxGridDBColumn; Label26: TLabel; KHAdd: TEdit; v1PrtMiaoShu: TcxGridDBColumn; v1LF: TcxGridDBColumn; Label27: TLabel; Label30: TLabel; ZZBank: TEdit; ZZBankCode: TEdit; procedure TBCloseClick(Sender: TObject); procedure FormShow(Sender: TObject); procedure TBSaveClick(Sender: TObject); procedure v1PRTColorPropertiesButtonClick(Sender: TObject; AButtonIndex: Integer); procedure ToolButton1Click(Sender: TObject); procedure ToolButton2Click(Sender: TObject); procedure CustomerNoNameBtnUpClick(Sender: TObject); procedure CustomerNoNameBtnDnClick(Sender: TObject); procedure v1Column1PropertiesButtonClick(Sender: TObject; AButtonIndex: Integer); procedure v1OrderUnitPropertiesButtonClick(Sender: TObject; AButtonIndex: Integer); procedure v1PriceUnitPropertiesButtonClick(Sender: TObject; AButtonIndex: Integer); procedure SYRNameBtnUpClick(Sender: TObject); procedure ToolButton3Click(Sender: TObject); procedure CPCFNoDblClick(Sender: TObject); procedure CPRanHouGYBtnDnClick(Sender: TObject); procedure v1PRTOrderQtyPropertiesEditValueChanged(Sender: TObject); procedure v1OrderUnitPropertiesEditValueChanged(Sender: TObject); procedure v1PRTPricePropertiesEditValueChanged(Sender: TObject); procedure v1Column5PropertiesButtonClick(Sender: TObject; AButtonIndex: Integer); procedure v1Column7PropertiesButtonClick(Sender: TObject; AButtonIndex: Integer); procedure v1Column8PropertiesButtonClick(Sender: TObject; AButtonIndex: Integer); procedure FormCreate(Sender: TObject); procedure Button1Click(Sender: TObject); procedure Button2Click(Sender: TObject); procedure v1Column13PropertiesButtonClick(Sender: TObject; AButtonIndex: Integer); procedure v1HBTypePropertiesButtonClick(Sender: TObject; AButtonIndex: Integer); private fusername:string; procedure InitData(); procedure ZDYHelp(FButn:TcxButtonEdit;LType:string); function SaveData():Boolean; function SaveDataSubOne():Boolean; function SaveDataMain():Boolean; function SaveDataSubMore():Boolean; { Private declarations } public PState,CopyInt:Integer; FMainId,FFMainId:String; FXS:Integer; procedure GetKgQty(); procedure GetKgPrice(); { Public declarations } end; var frmConInPut: TfrmConInPut; newh:hwnd; implementation uses U_DataLink,U_ZDYHelp,U_Fun,U_ZDYHelpSel, U_ZdyAttachment,U_CPManageFMSel; {$R *.dfm} procedure TfrmConInPut.TBCloseClick(Sender: TObject); begin Close; WriteCxGrid('外销合同录入1',Tv1,'生产指示单管理'); end; procedure TfrmConInPut.InitData(); begin with ADOQuery1 do begin Close; sql.Clear; sql.Add('select * from KH_Zdy where Type=''MPRTNameType'' '); Open; end; SCreateCDS20(ADOQuery1,CDS_Type); SInitCDSData20(ADOQuery1,CDS_Type); with ADOQuery1 do begin Close; SQL.Clear; sql.Add(' select * from JYOrderCon_Sub '); if PState=1 then begin sql.Add('where MainId='''+Trim(FMainId)+''''); end; if PState=0 then begin sql.Add(' where 1<>1'); end; Open; end; SCreateCDS20(ADOQuery1,Order_Sub); SInitCDSData20(ADOQuery1,Order_Sub); with ADOQuery1 do begin Close; SQL.Clear; sql.Add(' select * from JYOrderCon_Main_Note '); if PState=1 then begin sql.Add('where MainId='''+Trim(FMainId)+''''); end; if PState=0 then begin sql.Add(' where 1<>1'); end; Open; end; SCreateCDS20(ADOQuery1,Order_Note); SInitCDSData20(ADOQuery1,Order_Note); with ADOQuery1 do begin Close; sql.Clear; sql.Add('select * from JYOrderCon_Main where MainId='''+Trim(FMainId)+''''); Open; end; SCSHDataNew(ADOQuery1,ScrollBox1,2); SYRName.TxtCode:=Trim(ADOQuery1.fieldbyname('ConDefStr2').AsString); if PState=0 then begin OrdDate.DateTime:=SGetServerDateTime(ADOTemp); DlyDate.DateTime:=SGetServerDateTime(ADOTemp); //ConPerson1.Text:=Trim(DName); end else begin end; if CopyInt=99 then begin PState:=0; FMainId:=''; //ConPerson1.Text:=Trim(DName); with Order_Sub do begin First; while not Eof do begin Edit; FieldByName('MainId').Value:=''; FieldByName('SubId').Value:=''; Post; Next; end; end; with Order_Note do begin First; while not Eof do begin Edit; FieldByName('MainId').Value:=''; FieldByName('MNId').Value:=''; Post; Next; end; end; end; if PState=0 then begin with ADOTemp do begin Close; sql.Clear; sql.Add('select TOp 1* from JYOrderCon_Main where Filler='''+Trim(DName)+''''); sql.Add(' and isnull(KeFu,'''')<>'''' '); sql.Add(' order by FillTime desc '); Open; end; if ADOTemp.IsEmpty=False then begin ConPerson1.Text:=Trim(ADOTemp.fieldbyname('ConPerson1').AsString); end else begin end; end; end; procedure TfrmConInPut.ZDYHelp(FButn:TcxButtonEdit;LType:string); var FType,ZDYName,FText:String; begin end; procedure TfrmConInPut.FormShow(Sender: TObject); begin fuserName:=DCode; readCxGrid('外销合同录入1',Tv1,'生产指示单管理'); InitData(); end; function TfrmConInPut.SaveData():Boolean; var maxno,maxmnno:String; fconNO,fmxType:string; begin try ADOCmd.Connection.BeginTrans; ///保存主表 if Trim(FMainId)='' then begin if GetLSNo(ADOCmd,maxno,'JW','JYOrderCon_Main',3,1)=False then begin ADOCmd.Connection.RollbackTrans; Application.MessageBox('取最大号失败!','提示',0); Exit; end; end else begin maxno:=Trim(FMainId); end; with ADOCmd do begin Close; sql.Clear; SQL.Add('select * from JYOrderCon_Main where MainId='''+Trim(FMainId)+''''); Open; end; with ADOCmd do begin if Trim(FMainId)='' then begin Append; end else begin Edit; end; FieldByName('MainId').Value:=Trim(maxno); SSetsaveSqlNew(ADOCmd,'JYOrderCon_Main',ScrollBox1,2); if trim(CPCFBi.Text)='' then fieldbyname('CPCFBi').Value:=0; if Trim(FMainId)='' then begin FieldByName('Filler').Value:=Trim(DName); FieldByName('FillerCode').Value:=Trim(DCOde); end else begin FieldByName('Editer').Value:=Trim(DName); FieldByName('EditTime').Value:=SGetServerDateTime(ADOTemp); end; FieldByName('MPRTType').Value:='外销'; Post; end; with ADOCmd do begin Close; sql.Clear; sql.Add('select * from JYOrderCon_Main where ConNo='''+Trim(ConNo.Text)+''''); Open; end; if ADOCmd.RecordCount>1 then begin ADOCmd.Connection.RollbackTrans; Application.MessageBox('合同号重复!','提示',0); Exit; end; with ADOCmd do begin Close; sql.Clear; sql.Add('UPdate JYOrderCon_Main Set Filler='''+Trim(DName)+''''); sql.Add(' where MainId='''+Trim(FMainId)+''''); ExecSQL; end; FMainId:=Trim(maxno); ///保存备注表 with Order_Note do begin First; while not Eof do begin if Trim(Order_Note.fieldbyname('MNId').AsString)='' then begin if GetLSNo(ADOCmd,maxmnno,'MN','JYOrderCon_Main_Note',4,1)=False then begin ADOCmd.Connection.RollbackTrans; Application.MessageBox('取备注流水号失败!','提示',0); Exit; end; end else begin maxmnno:=Trim(Order_Note.fieldbyname('MNId').AsString); end; with ADOCmd do begin Close; SQL.Clear; sql.Add('select * from JYOrderCon_Main_Note where MainId='''+Trim(FMainId)+''''); sql.Add(' and MNId='''+Trim(maxmnno)+''''); Open; end; with ADOCmd do begin if Trim(Order_Note.fieldbyname('MNId').AsString)='' then Append else Edit; FieldByName('MainId').Value:=Trim(FMainId); FieldByName('MNId').Value:=Trim(maxmnno); FieldByName('MNType').Value:='外销'; RTSetSaveDataCDS(ADOCmd,Tv2,Order_Note,'JYOrderCon_Main_Note',0); Post; end; Order_Note.Edit; Order_Note.FieldByName('MNId').Value:=Trim(maxmnno); Next; end; end; ///保存备注表 ///保存子表 with Order_Sub do begin First; while not Eof do begin if Trim(Order_Sub.fieldbyname('SubId').AsString)='' then begin if GetLSNo(ADOCmd,maxno,'JB','JYOrderCon_Sub',4,1)=False then begin ADOCmd.Connection.RollbackTrans; Application.MessageBox('取子流水号失败!','提示',0); Exit; end; end else begin maxno:=Trim(Order_Sub.fieldbyname('SubId').AsString); end; with ADOCmd do begin Close; SQL.Clear; sql.Add('select * from JYOrderCon_Sub where MainId='''+Trim(FMainId)+''''); sql.Add(' and SubId='''+Trim(maxno)+''''); Open; end; with ADOCmd do begin if Trim(Order_Sub.fieldbyname('SubId').AsString)='' then Append else Edit; FieldByName('MainId').Value:=Trim(FMainId); FieldByName('SubId').Value:=Trim(maxno); RTSetSaveDataCDS(ADOCmd,Tv1,Order_Sub,'JYOrderCon_Sub',0); if Trim(fieldbyname('PRTOrderQty').AsString)='' then begin fieldbyname('PRTOrderQty').Value:=0 end; if Trim(fieldbyname('PRTPrice').AsString)='' then begin fieldbyname('PRTPrice').Value:=0 end; Post; end; Order_Sub.Edit; Order_Sub.FieldByName('SubId').Value:=Trim(maxno); with ADOCmd do begin Close; sql.Clear; SQL.Add('Update JYOrderCon_Sub Set ConMXMoney=Cast(PRTPrice*PRTOrderQty as decimal(18,2))+isnull(ZhenZhiSJFee,0)'); sql.Add('+isnull(YinHuaSJFee,0)+isnull(BaoGangFee,0)+isnull(ZhiWangZhiBanFee,0)*isnull(TaoQty,0)'); sql.Add(' where SubId='''+Trim(maxno)+''''); ExecSQL; end; //Order_Sub.Post; Next; end; end; with ADOCmd do begin Close; sql.Clear; sql.Add('Update JYOrderCon_Main Set ConMoney=(select Sum(ConMXMoney) from JYOrderCon_Sub A where A.MainId=JYOrderCon_Main.MainId)'); sql.Add(' where MainId='''+Trim(FMainId)+''''); ExecSQL; end; ADOCmd.Connection.CommitTrans; Result:=True; except Result:=False; ADOCmd.Connection.RollbackTrans; Application.MessageBox('保存失败!','提示',0); end; end; function TfrmConInPut.SaveDataMain():Boolean; var maxno:String; begin try ADOCmd.Connection.BeginTrans; ///保存主表 with ADOCmd do begin Close; sql.Clear; SQL.Add('select * from JYOrder_Main where MainId='''+Trim(FMainId)+''''); Open; end; with ADOCmd do begin if Trim(FMainId)='' then begin Append; maxno:=Trim(FFMainId); end else begin maxno:=Trim(FMainId); Edit; end; FieldByName('MainId').Value:=Trim(maxno); SSetsaveSqlNew(ADOCmd,'JYOrder_Main',ScrollBox1,2); if PState=1 then begin FieldByName('OrdUpDate').Value:=SGetServerDateTime(ADOTemp); end; if Trim(FMainId)='' then begin FieldByName('Filler').Value:=Trim(DName); end else begin FieldByName('Editer').Value:=Trim(DName); FieldByName('EditTime').Value:=SGetServerDateTime(ADOTemp); end; Post; end; FMainId:=Trim(maxno); ADOCmd.Connection.CommitTrans; Result:=True; except Result:=False; ADOCmd.Connection.RollbackTrans; Application.MessageBox('保存失败!','提示',0); end; end; function TfrmConInPut.SaveDataSubOne():Boolean; var maxno:String; begin try ADOCmd.Connection.BeginTrans; ///保存子表 with Order_Sub do begin //First; //while not Eof do begin if Trim(Order_Sub.fieldbyname('SubId').AsString)='' then begin if GetLSNo(ADOTemp,maxno,'JS','JYOrder_Sub',4,1)=False then begin ADOCmd.Connection.RollbackTrans; Application.MessageBox('取子流水号失败!','提示',0); Exit; end; end else begin maxno:=Trim(Order_Sub.fieldbyname('SubId').AsString); end; with ADOCmd do begin Close; SQL.Clear; sql.Add('select * from JYOrder_Sub where MainId='''+Trim(FMainId)+''''); sql.Add(' and SubId='''+Trim(maxno)+''''); Open; end; with ADOCmd do begin if Trim(Order_Sub.fieldbyname('SubId').AsString)='' then Append else Edit; FieldByName('MainId').Value:=Trim(FMainId); FieldByName('SubId').Value:=Trim(maxno); RTSetSaveDataCDS(ADOCmd,Tv1,Order_Sub,'JYOrder_Sub',0); Post; end; Order_Sub.Edit; Order_Sub.FieldByName('SubId').Value:=Trim(maxno); //Order_Sub.Post; //Next; end; end; ADOCmd.Connection.CommitTrans; Result:=True; except Result:=False; ADOCmd.Connection.RollbackTrans; Application.MessageBox('操作异常!','提示',0); end; end; function TfrmConInPut.SaveDataSubMore():Boolean; var maxno:String; begin try ADOCmd.Connection.BeginTrans; ///保存子表 with Order_Sub do begin First; while not Eof do begin if Trim(Order_Sub.fieldbyname('SubId').AsString)='' then begin if GetLSNo(ADOTemp,maxno,'JS','JYOrder_Sub',4,1)=False then begin ADOCmd.Connection.RollbackTrans; Application.MessageBox('取子流水号失败!','提示',0); Exit; end; end else begin maxno:=Trim(Order_Sub.fieldbyname('SubId').AsString); end; with ADOCmd do begin Close; SQL.Clear; sql.Add('select * from JYOrder_Sub where MainId='''+Trim(FMainId)+''''); sql.Add(' and SubId='''+Trim(maxno)+''''); Open; end; with ADOCmd do begin if Trim(Order_Sub.fieldbyname('SubId').AsString)='' then Append else Edit; FieldByName('MainId').Value:=Trim(FMainId); FieldByName('SubId').Value:=Trim(maxno); RTSetSaveDataCDS(ADOCmd,Tv1,Order_Sub,'JYOrder_Sub',0); Post; end; Order_Sub.Edit; Order_Sub.FieldByName('SubId').Value:=Trim(maxno); //Order_Sub.Post; Next; end; end; ADOCmd.Connection.CommitTrans; Result:=True; except Result:=False; ADOCmd.Connection.RollbackTrans; Application.MessageBox('操作异常!','提示',0); end; end; procedure TfrmConInPut.TBSaveClick(Sender: TObject); begin OrdDate.SetFocus; if Trim(ConNo.Text)='' then begin Application.MessageBox('合同号不能为空!','提示',0); Exit; end; if Trim(CustomerNoName.Text)='' then begin Application.MessageBox('客户简称不能为空!','提示',0); Exit; end; if Trim(ConPerson1.Text)='' then begin Application.MessageBox('业务员不能为空!','提示',0); Exit; end; if DlyDate.Checked=False then begin Application.MessageBox('交货日期不能为空!','提示',0); Exit; end; if Trim(ConType.Text)='' then begin Application.MessageBox('合同类型不能为空!','提示',0); Exit; end; if Trim(Payment.Text)='' then begin Application.MessageBox('付款方式不能为空!','提示',0); Exit; end; if Trim(PriceNote.Text)='' then begin Application.MessageBox('价格术语不能为空!','提示',0); Exit; end; if Trim(DlyNote.Text)='' then begin Application.MessageBox('交期说明不能为空!','提示',0); Exit; end; if Trim(QtyNote.Text)='' then begin Application.MessageBox('溢短装不能为空!','提示',0); Exit; end; if Trim(SYRName.Text)='' then begin Application.MessageBox('公司抬头不能为空!','提示',0); Exit; end; if Trim(BankNo.Text)='' then begin Application.MessageBox('银行账号不能为空!','提示',0); Exit; end; if Order_Sub.Locate('PrtCodeName',null,[])=True then begin Application.MessageBox('英文品名不能为空!','提示',0); Exit; end; {if Order_Sub.Locate('PrtCode',null,[])=True then begin Application.MessageBox('产品编号不能为空!','提示',0); Exit; end; if Order_Sub.Locate('PrtCode','',[])=True then begin Application.MessageBox('产品编号不能为空!','提示',0); Exit; end;} if Order_Sub.Locate('PRTspec',null,[])=True then begin Application.MessageBox('规格成份不能为空!','提示',0); Exit; end; {if Order_Sub.Locate('SOrdDefStr4',null,[])=True then begin Application.MessageBox('颜色英文不能为空!','提示',0); Exit; end;} if Order_Sub.Locate('PRTMF',null,[])=True then begin Application.MessageBox('门幅不能为空!','提示',0); Exit; end; if Order_Sub.Locate('PRTKZ',null,[])=True then begin Application.MessageBox('克重不能为空!','提示',0); Exit; end; if Order_Sub.Locate('PRTOrderQty',null,[])=True then begin Application.MessageBox('数量不能为空!','提示',0); Exit; end; if Order_Sub.Locate('OrderUnit',null,[])=True then begin Application.MessageBox('数量单位不能为空!','提示',0); Exit; end; if Order_Sub.Locate('PRTPrice',null,[])=True then begin Application.MessageBox('单价不能为空!','提示',0); Exit; end; if Order_Sub.Locate('PriceUnit',null,[])=True then begin Application.MessageBox('币种不能为空!','提示',0); Exit; end; if SaveData() then begin Application.MessageBox('保存成功!','提示',0); end; end; procedure TfrmConInPut.v1PRTColorPropertiesButtonClick(Sender: TObject; AButtonIndex: Integer); begin try frmZDYHelp:=TfrmZDYHelp.Create(Application); with frmZDYHelp do begin flag:='OrdColor'; flagname:='颜色'; V1Name.Caption:='中文名称'; V1Note.Caption:='英文名称'; fnote:=True; MainType:=Trim(DName); if ShowModal=1 then begin Self.Order_Sub.Edit; Self.Order_Sub.FieldByName('PRTColor').Value:=Trim(ClientDataSet1.fieldbyname('ZdyName').AsString); Self.Order_Sub.FieldByName('SOrdDefStr4').Value:=Trim(ClientDataSet1.fieldbyname('Note').AsString); end; end; finally frmZDYHelp.Free; end; end; procedure TfrmConInPut.ToolButton1Click(Sender: TObject); var i:Integer; begin if Trim(ConNo.Text)='' then begin Application.MessageBox('合同号不能为空!','提示',0); Exit; end; i:=Order_Sub.RecordCount; i:=i+1; CopyAddRow(Tv1,Order_Sub); with Order_Sub do begin Edit; FieldByName('XHNO').Value:=IntToStr(i); FieldByName('PRTColor').Value:=''; FieldByName('PRTOrderQty').Value:=null; // FieldByName('PRTPrice').Value:=null; FieldByName('SOrddefstr4').Value:=null; //FieldByName('SOrddefstr2').Value:=null; Post; end; end; procedure TfrmConInPut.ToolButton2Click(Sender: TObject); begin if Order_Sub.IsEmpty then Exit; if Trim(Order_Sub.fieldbyname('SubId').AsString)<>'' then begin if Application.MessageBox('确定要删除数据吗?','提示',32+4)<>IDYES then Exit; with ADOCmd do begin Close; sql.Clear; sql.Add('delete JYOrderCon_Sub where SubId='''+Trim(Order_Sub.fieldbyname('SubId').AsString)+''''); ExecSQL; end; end; Order_Sub.Delete; { if Order_Sub.IsEmpty then begin with ADOCmd do begin Close; sql.Clear; sql.Add('delete JYOrder_Main where MainId='''+Trim(FMainId)+''''); ExecSQL; end; end; } end; procedure TfrmConInPut.CustomerNoNameBtnUpClick(Sender: TObject); var FAddress:string; begin try frmZdyAttachment:=TfrmZdyAttachment.Create(Application); with frmZdyAttachment do begin fkhType:=''; if ShowModal=1 then begin CustomerNoName.Text:=Trim(CDS_HZ.fieldbyname('ZDYName').AsString); CustomerNoName.TxtCode:=Trim(CDS_HZ.fieldbyname('ZDYCode').AsString); CustomerNo.Text:=Trim(CDS_HZ.fieldbyname('ZDYCode').AsString); ConPerson2.Text:=Trim(CDS_HZ.fieldbyname('ZDYName').AsString); ConPerson1.Text:=Trim(CDS_HZ.fieldbyname('DEFstr5').AsString); FAddress:=Trim(CDS_HZ.fieldbyname('DEFNote2').AsString); KeFu.Text:=Trim(CDS_HZ.fieldbyname('SNo').AsString); end; end; with ADOTemp do begin Close; sql.Clear; sql.Add('select Top 1 * from JYOrderCon_Main where CustomerNoName='''+Trim(CustomerNoName.Text)+''''); sql.Add(' order by FillTime desc '); Open; end; if Trim(ADOTemp.fieldbyname('conDefstr2').AsString)<>'' then begin conDefstr2.Text:=Trim(ADOTemp.fieldbyname('conDefstr2').AsString); conDefstr3.Text:=Trim(ADOTemp.fieldbyname('conDefstr3').AsString); end else begin conDefstr2.Text:=Trim(FAddress); end; finally frmZdyAttachment.Free; end; end; procedure TfrmConInPut.CustomerNoNameBtnDnClick(Sender: TObject); begin TBtnEditC(Sender).Text:=''; TBtnEditC(Sender).TxtCode:=''; end; procedure TfrmConInPut.v1Column1PropertiesButtonClick(Sender: TObject; AButtonIndex: Integer); type TMyFunc = function(App:Tapplication; FormH:hwnd; FormID:integer; Language: integer; WinStyle:integer; GCode: Pchar; GName: Pchar; DataBase:Pchar;Title:PChar; Parameters1:PChar;Parameters2:PChar;Parameters3:PChar;Parameters4:PChar; Parameters5:PChar;Parameters6:PChar;Parameters7:PChar;Parameters8:PChar; Parameters9:PChar;Parameters10:PChar;DataBaseStr:PChar):hwnd;stdcall; var Tf: TMyFunc; Tp: TFarProc; Th:Thandle; LabInt,labname:String; begin //if PPInt=2 then Exit; Ddatabase:=StringOfChar(' ', 32); Th := LoadLibrary('LabelSet.dll'); if Th > 0 then begin try Tp := GetProcAddress(Th, 'GetDllForm'); if Tp <> nil then begin Tf := TMyFunc(Tp); newh:=Tf(Application,0,2,0,0, PChar(DCode), PChar(DName), PChar(Ddatabase), PChar('标签模版设置'), PChar(''), PChar(''), '','','','','','','','',PChar(DConString) ); if Trim(PChar(Ddatabase))<>'' then begin Ddatabase:=Trim(PChar(Ddatabase)); LabInt:=Trim( LeftBStr(Ddatabase,Pos('|',Ddatabase)-1) ) ; labname:=Trim(RightBStr(Ddatabase,Length(Ddatabase)-Pos('|',Ddatabase) ) ); with Order_Sub do begin Edit; FieldByName('SLbName').Value:=labname; FieldByName('SLbInt').Value:=LabInt; end; end; end else begin ShowMessage('打印执行错误'); end; finally // FreeLibrary(); end; end else begin ShowMessage('找不到'+Trim('LabelSet.dll')); end; end; procedure TfrmConInPut.v1OrderUnitPropertiesButtonClick(Sender: TObject; AButtonIndex: Integer); var mvalue,FMF,FKZ,FXS,FOrdUnit:string; FReal:Double; begin try frmZDYHelp:=TfrmZDYHelp.Create(Application); with frmZDYHelp do begin flag:='OrderUnit'; flagname:='数量单位'; if ShowModal=1 then begin Self.Order_Sub.Edit; Self.Order_Sub.FieldByName('OrderUnit').Value:=Trim(ClientDataSet1.fieldbyname('ZDYName').AsString); //FOrdUnit:=Trim(ClientDataSet1.fieldbyname('ZDYName').AsString); end; end; finally frmZDYHelp.Free; end; GetKgQty(); GetKgPrice(); { if Trim(FOrdUnit)<>'M' then begin if Trim(FOrdUnit)<>'Y' then begin if Trim(FOrdUnit)='Kg' then begin Order_Sub.Edit; Order_Sub.FieldByName('KgQty').Value:=Order_Sub.FieldByName('PRTOrderQty').Value; end else begin Order_Sub.Edit; Order_Sub.FieldByName('KgQty').Value:=null; end; Exit; end; end; if Trim(MPRTMF.Text)='' then begin Application.MessageBox('门幅不能为空!','提示',0); Exit; end; if Trim(MPRTKZ.Text)='' then begin Application.MessageBox('克重不能为空!','提示',0); Exit; end; FMF:=Copy(Trim(MPRTMF.Text),Pos('/',Trim(MPRTMF.Text))+1,2); if TryStrToFloat(FMF,FReal)=False then begin Application.MessageBox('门幅录入错误!','提示',0); Exit; end; FKZ:=Copy(Trim(MPRTKZ.Text),1,Pos('g',Trim(MPRTKZ.Text))-1); if TryStrToFloat(FKZ,FReal)=False then begin Application.MessageBox('克重录入错误!','提示',0); Exit; end; if Trim(FOrdUnit)='M' then begin FXS:='1'; end else begin FXS:='0.9144'; end; with Order_Sub do begin Edit; FieldByName('KgQty').Value:=Order_Sub.fieldbyname('PRTOrderQty').Value *strtofloat(FXS)*strtofloat(FMF)*2.54/100*strtofloat(FKZ)/1000; //Post; end; } end; procedure TfrmConInPut.GetKgQty(); var mvalue,FMF,FKZ,FXS,FOrdUnit,FOrdQty:string; FReal:Double; begin { FOrdUnit:=Trim(Order_Sub.fieldbyname('OrderUnit').AsString); if Trim(FOrdUnit)<>'M' then begin if Trim(FOrdUnit)<>'Y' then begin if Trim(FOrdUnit)='Kg' then begin Order_Sub.Edit; Order_Sub.FieldByName('KgQty').Value:=Order_Sub.FieldByName('PRTOrderQty').Value; end else begin Order_Sub.Edit; Order_Sub.FieldByName('KgQty').Value:=null; end; Exit; end; end; if Pos('-',Trim(MPRTKZ.Text))>0 then begin if Pos('g',Trim(MPRTKZ.Text))>0 then FKZ:=Copy(Trim(MPRTKZ.Text),Pos('-',Trim(MPRTKZ.Text))+1,Pos('g',Trim(MPRTKZ.Text))-Pos('-',Trim(MPRTKZ.Text))-1); if Pos('G',Trim(MPRTKZ.Text))>0 then FKZ:=Copy(Trim(MPRTKZ.Text),Pos('-',Trim(MPRTKZ.Text))+1,Pos('G',Trim(MPRTKZ.Text))-Pos('-',Trim(MPRTKZ.Text))-1); end else begin if Pos('g',Trim(MPRTKZ.Text))>0 then FKZ:=Copy(Trim(MPRTKZ.Text),1,Pos('g',Trim(MPRTKZ.Text))-1); if Pos('G',Trim(MPRTKZ.Text))>0 then FKZ:=Copy(Trim(MPRTKZ.Text),1,Pos('G',Trim(MPRTKZ.Text))-1); end; if TryStrToFloat(FKZ,FReal)=False then begin Application.MessageBox('克重录入错误!','提示',0); Exit; end; if Trim(FOrdUnit)='M' then begin FXS:='1'; end else begin FXS:='0.9144'; end; FOrdQty:=Order_Sub.fieldbyname('PRTOrderQty').AsString; if Trim(FOrdQty)='' then FOrdQty:='0'; with Order_Sub do begin Edit; FieldByName('KgQty').Value:=strtofloat(FOrdQty) *strtofloat(FXS)*strtofloat(FMF)*2.54/100*strtofloat(FKZ)/1000; //Post; end; } end; procedure TfrmConInPut.GetKgPrice(); var mvalue,FMF,FKZ,FXS,FOrdUnit,FOrdPrice:string; FReal:Double; begin { FOrdUnit:=Trim(Order_Sub.fieldbyname('OrderUnit').AsString); if Trim(FOrdUnit)<>'M' then begin if Trim(FOrdUnit)<>'Y' then begin if Trim(FOrdUnit)='Kg' then begin Order_Sub.Edit; Order_Sub.FieldByName('KgPrice').Value:=Order_Sub.FieldByName('PRTPrice').Value; end else begin Order_Sub.Edit; Order_Sub.FieldByName('KgPrice').Value:=null; end; Exit; end; end; if Trim(MPRTMF.Text)='' then begin Application.MessageBox('门幅不能为空!','提示',0); Exit; end; if Trim(MPRTKZ.Text)='' then begin Application.MessageBox('克重不能为空!','提示',0); Exit; end; //FMF:=Copy(Trim(MPRTMF.Text),Pos('/',Trim(MPRTMF.Text))+1,2); if Pos('/',Trim(MPRTMF.Text))>0 then begin FMF:=Copy(Trim(MPRTMF.Text),Pos('/',Trim(MPRTMF.Text))+1,2); end else FMF:=Copy(Trim(MPRTMF.Text),1,2); if TryStrToFloat(FMF,FReal)=False then begin Application.MessageBox('门幅录入错误!','提示',0); Exit; end; {FKZ:=Copy(Trim(MPRTKZ.Text),1,Pos('g',Trim(MPRTKZ.Text))-1); if TryStrToFloat(FKZ,FReal)=False then begin FKZ:=Copy(Trim(MPRTKZ.Text),1,Pos('G',Trim(MPRTKZ.Text))-1); if TryStrToFloat(FKZ,FReal)=False then begin Application.MessageBox('克重录入错误!','提示',0); Exit; end; end; if Pos('-',Trim(MPRTKZ.Text))>0 then begin if Pos('g',Trim(MPRTKZ.Text))>0 then FKZ:=Copy(Trim(MPRTKZ.Text),Pos('-',Trim(MPRTKZ.Text))+1,Pos('g',Trim(MPRTKZ.Text))-Pos('-',Trim(MPRTKZ.Text))-1); if Pos('G',Trim(MPRTKZ.Text))>0 then FKZ:=Copy(Trim(MPRTKZ.Text),Pos('-',Trim(MPRTKZ.Text))+1,Pos('G',Trim(MPRTKZ.Text))-Pos('-',Trim(MPRTKZ.Text))-1); end else begin if Pos('g',Trim(MPRTKZ.Text))>0 then FKZ:=Copy(Trim(MPRTKZ.Text),1,Pos('g',Trim(MPRTKZ.Text))-1); if Pos('G',Trim(MPRTKZ.Text))>0 then FKZ:=Copy(Trim(MPRTKZ.Text),1,Pos('G',Trim(MPRTKZ.Text))-1); end; if TryStrToFloat(FKZ,FReal)=False then begin Application.MessageBox('克重录入错误!','提示',0); Exit; end; if Trim(FOrdUnit)='M' then begin FXS:='1'; end else begin FXS:='0.9144'; end; FOrdPrice:=Order_Sub.fieldbyname('PRTPrice').AsString; if Trim(FOrdPrice)='' then FOrdPrice:='0'; with Order_Sub do begin Edit; FieldByName('KgPrice').Value:=1.00/(strtofloat(FXS)*strtofloat(FMF)*2.54/100*strtofloat(FKZ)/1000)*strtofloat(FOrdPrice); //Post; end; } end; procedure TfrmConInPut.v1PriceUnitPropertiesButtonClick(Sender: TObject; AButtonIndex: Integer); begin try frmZDYHelp:=TfrmZDYHelp.Create(Application); with frmZDYHelp do begin flag:='PriceUnit'; flagname:='价格单位'; if Trim(DParameters1)<>'高权限' then begin TBAdd.Visible:=False; TBEdit.Visible:=False; TBDel.Visible:=False; end; if ShowModal=1 then begin Self.Order_Sub.Edit; Self.Order_Sub.FieldByName('PriceUnit').Value:=Trim(ClientDataSet1.fieldbyname('ZDYName').AsString); end; end; finally frmZDYHelp.Free; end; end; procedure TfrmConInPut.SYRNameBtnUpClick(Sender: TObject); var fsj:string; FWZ:Integer; begin fsj:=Trim(TEdit(Sender).Hint); FWZ:=Pos('/',fsj); try frmZDYHelp:=TfrmZDYHelp.Create(Application); with frmZDYHelp do begin flag:=Copy(fsj,1,FWZ-1); flagname:=Copy(fsj,FWZ+1,Length(fsj)-fwz); if Trim(flag)='SYRName' then begin flag:='OrdDefStr2'; V1Name.Caption:='中文名称'; V1Note.Caption:='英文名称'; fnote:=True; if Trim(DParameters1)<>'高权限' then begin ViewFlag:=True; end; end; if Trim(flag)='BankNo' then begin fnote:=True; end; if Trim(flag)='ConType' then begin if Trim(DParameters1)<>'高权限' then begin ViewFlag:=True; end; end; {if Trim(flag)='Payment' then begin if Trim(DParameters1)<>'高权限' then begin ViewFlag:=True; end; end; } if Trim(flag)='PriceNote' then begin if Trim(DParameters1)<>'高权限' then begin ViewFlag:=True; end; end; if Trim(flag)='ShippMent' then begin if Trim(DParameters1)<>'高权限' then begin ViewFlag:=True; end; end; if Trim(flag)='ConPerson2' then begin if Trim(DParameters1)<>'高权限' then begin MainType:=Trim(DCode); end; end; if Trim(flag)='FKPerson' then begin if Trim(DParameters1)<>'高权限' then begin MainType:=Trim(DCode); end; end; if ShowModal=1 then begin if Trim(flag)='ConPerson2' then begin with ADOTemp do begin Close; sql.Clear; sql.Add('select Top 1* from JYOrderCon_Main where ConPerson2='''+Trim(ClientDataSet1.fieldbyname('ZDYName').AsString)+''''); sql.Add(' and MPRTTYpe=''外销'' '); sql.Add(' order by FillTime desc'); Open; Self.conDefstr2.Text:=Trim(ADOTemp.fieldbyname('conDefstr2').AsString); Self.conDefstr3.Text:=Trim(ADOTemp.fieldbyname('conDefstr3').AsString); end; end; if Trim(flag)<>'OrdDefStr2' then begin TEdit(Sender).Text:=Trim(ClientDataSet1.fieldbyname('ZDYName').AsString); if Trim(flag)='BankNo' then begin with ADOTemp do begin Close; sql.Clear; sql.Add('select Top 1* from JYOrderCon_Main where BankNo='''+Trim(ClientDataSet1.fieldbyname('ZDYName').AsString)+''''); sql.Add(' and MPRTTYpe=''外销'' '); sql.Add(' order by FillTime desc'); Open; Self.BankName.Text:=Trim(ADOTemp.fieldbyname('BankName').AsString); Self.BankAddress.Text:=Trim(ADOTemp.fieldbyname('BankAddress').AsString); Self.BankSelfFastNo.Text:=Trim(ADOTemp.fieldbyname('BankSelfFastNo').AsString); end; end; end else begin TEdit(Sender).Text:=Trim(ClientDataSet1.fieldbyname('Note').AsString); SYRName.TxtCode:=Trim(ClientDataSet1.fieldbyname('ZdyName').AsString); with ADOTemp do begin Close; sql.Clear; sql.Add('select Top 1* from JYOrderCon_Main where SYRName='''+Trim(ClientDataSet1.fieldbyname('Note').AsString)+''''); sql.Add(' and MPRTTYpe=''外销'' '); sql.Add(' and isnull(SYRAddress,'''')<>'''' '); sql.Add(' order by FillTime desc'); Open; Self.SYRAddress.Text:=Trim(ADOTemp.fieldbyname('SYRAddress').AsString); Self.TelNo.Text:=Trim(ADOTemp.fieldbyname('TelNo').AsString); Self.FaxNo.Text:=Trim(ADOTemp.fieldbyname('FaxNo').AsString); Self.EmailNo.Text:=Trim(ADOTemp.fieldbyname('EmailNo').AsString); end; end; end; end; finally frmZDYHelp.Free; end; end; procedure TfrmConInPut.ToolButton3Click(Sender: TObject); begin if Order_Sub.IsEmpty then Exit; OneKeyPost(Tv1,Order_Sub); end; procedure TfrmConInPut.CPCFNoDblClick(Sender: TObject); begin try frmZDYHelp:=TfrmZDYHelp.Create(Application); with frmZDYHelp do begin flag:='MPRTNameEngType'; flagname:='产品类别定义'; V1HelpType.Visible:=True; V1HelpType.Caption:='缩写名'; fnote:=True; V1Name.Caption:='英文'; V1Note.Caption:='备注'; if ShowModal=1 then begin with ADOQuery1 do begin Close; sql.Clear; sql.Add('select * from KH_Zdy where Type=''MPRTNameType'' '); Open; end; SCreateCDS20(ADOQuery1,CDS_Type); SInitCDSData20(ADOQuery1,CDS_Type); end; end; finally frmZDYHelp.Free; end; end; procedure TfrmConInPut.CPRanHouGYBtnDnClick(Sender: TObject); begin TBtnEditC(Sender).Text:=''; TBtnEditC(Sender).TxtCode:=''; end; procedure TfrmConInPut.v1PRTOrderQtyPropertiesEditValueChanged( Sender: TObject); var mvalue,FMF,FKZ,FXS:string; FReal:Double; begin {if Trim(Order_Sub.FieldByName('OrderUnit').AsString)<>'M' then begin if Trim(Order_Sub.FieldByName('OrderUnit').AsString)<>'Y' then Exit; end; if Trim(MPRTMF.Text)='' then begin Application.MessageBox('门幅不能为空!','提示',0); Exit; end; if Trim(MPRTKZ.Text)='' then begin Application.MessageBox('克重不能为空!','提示',0); Exit; end; FMF:=Copy(Trim(MPRTMF.Text),Pos('/',Trim(MPRTMF.Text))+1,2); if TryStrToFloat(FMF,FReal)=False then begin Application.MessageBox('门幅录入错误!','提示',0); Exit; end; FKZ:=Copy(Trim(MPRTKZ.Text),1,Pos('g',Trim(MPRTKZ.Text))-1); if TryStrToFloat(FKZ,FReal)=False then begin Application.MessageBox('克重录入错误!','提示',0); Exit; end; if Trim(Order_Sub.FieldByName('OrderUnit').AsString)='M' then begin FXS:='1'; end else begin FXS:='0.9144'; end; } mvalue:=TcxTextEdit(Sender).EditingText; if Trim(mvalue)='' then begin mvalue:='0'; end; with Order_Sub do begin Edit; FieldByName('PRTOrderQty').Value:=mvalue; Post; end; {with Order_Sub do begin Edit; FieldByName('KgQty').Value:=Order_Sub.fieldbyname('PRTOrderQty').Value *strtofloat(FXS)*strtofloat(FMF)*2.54/100*strtofloat(FKZ)/1000; Post; end; } GetKgQty(); end; procedure TfrmConInPut.v1OrderUnitPropertiesEditValueChanged( Sender: TObject); var mvalue:string; begin mvalue:=TcxButtonEdit(Sender).EditingText; with Order_Sub do begin Edit; FieldByName('OrderUnit').Value:=mvalue; Post; end; GetKgQty(); GetKgPrice(); end; procedure TfrmConInPut.v1PRTPricePropertiesEditValueChanged( Sender: TObject); var mvalue:string; begin mvalue:=TcxTextEdit(Sender).EditingText; if Trim(mvalue)='' then begin mvalue:='0'; end; with Order_Sub do begin Edit; FieldByName('PRTPrice').Value:=mvalue; Post; end; GetKgPrice(); with ADOCmd do begin close; sql.clear; sql.Add('select * from YF_Money_CR where YFTypeId='''+trim(Order_Sub.fieldbyname('Subid').AsString)+''''); open; end; if ADOCmd.IsEmpty=False then begin with ADOTemp do begin close; sql.Clear; sql.Add('update YF_Money_CR set Price='''+trim(mvalue)+''' '); sql.add('where YFTypeId='''+trim(Order_Sub.fieldbyname('Subid').AsString)+''''); execsql; end; end; end; procedure TfrmConInPut.v1Column5PropertiesButtonClick(Sender: TObject; AButtonIndex: Integer); begin try frmZDYHelp:=TfrmZDYHelp.Create(Application); with frmZDYHelp do begin flag:='MPRTCodeName'; flagname:='产品名称'; if ShowModal=1 then begin Order_Sub.Edit; Order_Sub.fieldbyname('PRTCodeName').Value:=Trim(ClientDataSet1.fieldbyname('ZDYName').AsString); //Order_Sub.fieldbyname('PRTCode').Value:=Trim(ClientDataSet1.fieldbyname('ZDYNo').AsString); Order_Sub.Post; end; end; finally frmZDYHelp.Free; end; tv1.Controller.EditingController.ShowEdit(); end; procedure TfrmConInPut.v1Column7PropertiesButtonClick(Sender: TObject; AButtonIndex: Integer); begin try frmZDYHelp:=TfrmZDYHelp.Create(Application); with frmZDYHelp do begin flag:='MPRTMF'; flagname:='门幅信息'; if ShowModal=1 then begin Order_Sub.Edit; Order_Sub.fieldbyname('PRTMF').Value:=Trim(ClientDataSet1.fieldbyname('ZDYName').AsString); // Order_Sub.fieldbyname('PRTCode').Value:=Trim(ClientDataSet1.fieldbyname('ZDYNo').AsString); Order_Sub.Post; end; end; finally frmZDYHelp.Free; end; tv1.Controller.EditingController.ShowEdit(); end; procedure TfrmConInPut.v1Column8PropertiesButtonClick(Sender: TObject; AButtonIndex: Integer); begin try frmZDYHelp:=TfrmZDYHelp.Create(Application); with frmZDYHelp do begin flag:='MPRTKZ'; flagname:='克重信息'; if ShowModal=1 then begin Order_Sub.Edit; Order_Sub.fieldbyname('PRTKZ').Value:=Trim(ClientDataSet1.fieldbyname('ZDYName').AsString); Order_Sub.Post; end; end; finally frmZDYHelp.Free; end; tv1.Controller.EditingController.ShowEdit(); end; procedure TfrmConInPut.FormCreate(Sender: TObject); begin cxgrid1.Align:=alclient; end; procedure TfrmConInPut.Button1Click(Sender: TObject); var i:Integer; begin i:=Order_Note.RecordCount; i:=i+1; with Order_Note do begin Append; FieldByName('XHNO').Value:=IntToStr(i); Post; end; end; procedure TfrmConInPut.Button2Click(Sender: TObject); begin if Order_Note.IsEmpty then Exit; if Trim(Order_Note.fieldbyname('MNId').AsString)<>'' then begin if Application.MessageBox('确定要删除数据吗?','提示',32+4)<>IDYES then Exit; with ADOCmd do begin Close; sql.Clear; sql.Add('delete JYOrderCon_Main_Note where MNId='''+Trim(Order_Note.fieldbyname('MNId').AsString)+''''); ExecSQL; end; end; Order_Note.Delete; end; procedure TfrmConInPut.v1Column13PropertiesButtonClick(Sender: TObject; AButtonIndex: Integer); begin try frmCPManageFMSel:=TfrmCPManageFMSel.Create(Application); with frmCPManageFMSel do begin if ShowModal=1 then begin with Self.Order_Sub do begin Edit; FieldByName('PrtCode').Value:=frmCPManageFMSel.CDS_Main.fieldbyname('CYNo').Value; FieldByName('PrtCodeName').Value:=frmCPManageFMSel.CDS_Main.fieldbyname('CYEName').Value; FieldByName('PRTspec').Value:=frmCPManageFMSel.CDS_Main.fieldbyname('CYECF').Value; FieldByName('PRTMF').Value:=frmCPManageFMSel.CDS_Main.fieldbyname('CYMF').Value; FieldByName('PRTKZ').Value:=frmCPManageFMSel.CDS_Main.fieldbyname('CYKZ').Value; end; end; end; finally frmCPManageFMSel.Free; end; end; procedure TfrmConInPut.v1HBTypePropertiesButtonClick(Sender: TObject; AButtonIndex: Integer); begin try frmZDYHelp:=TfrmZDYHelp.Create(Application); with frmZDYHelp do begin flag:='HBType'; flagname:='货币类型'; if ShowModal=1 then begin Order_Sub.Edit; Order_Sub.fieldbyname('HBType').Value:=Trim(ClientDataSet1.fieldbyname('ZDYName').AsString); Order_Sub.Post; end; end; finally frmZDYHelp.Free; end; tv1.Controller.EditingController.ShowEdit(); end; end.