unit U_BpRk; interface uses Windows, Messages, SysUtils,StrUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, cxStyles, cxCustomData, cxGraphics, cxFilter, cxData, cxDataStorage, cxEdit, DB, cxDBData, cxGridCustomTableView, cxGridTableView, cxGridDBTableView, cxGridLevel, cxClasses, cxControls, cxGridCustomView, cxGrid, StdCtrls, ComCtrls, ExtCtrls, ToolWin, cxButtonEdit, cxDropDownEdit, DBClient, ADODB, cxGridCustomPopupMenu, cxGridPopupMenu,cxTextEdit, BtnEdit; type TfrmbpRk = class(TForm) ToolBar1: TToolBar; TBSave: TToolButton; TBClose: TToolButton; Panel1: TPanel; Label1: TLabel; CRTime: TDateTimePicker; Label2: TLabel; CRType: TComboBox; cxGrid1: TcxGrid; Tv1: TcxGridDBTableView; v1P_CodeName: TcxGridDBColumn; v1PRTSpec: TcxGridDBColumn; v1P_MF: TcxGridDBColumn; v1P_KZ: TcxGridDBColumn; v1RollNum: TcxGridDBColumn; v1Qty: TcxGridDBColumn; v1QtyUnit: TcxGridDBColumn; v1Note: TcxGridDBColumn; cxGrid1Level1: TcxGridLevel; ADOQueryCmd: TADOQuery; ADOQueryTmp: TADOQuery; DataSource1: TDataSource; CDS_Main: TClientDataSet; ToolBar2: TToolBar; ToolButton1: TToolButton; ToolButton2: TToolButton; cxGridPopupMenu1: TcxGridPopupMenu; Label3: TLabel; ckName: TComboBox; v1P_Color: TcxGridDBColumn; v1P_Code: TcxGridDBColumn; InoutNo: TEdit; Label8: TLabel; v1Column1: TcxGridDBColumn; v1Column2: TcxGridDBColumn; Label4: TLabel; ywy: TBtnEditA; v1Column3: TcxGridDBColumn; ToolButton3: TToolButton; v1Column4: TcxGridDBColumn; v1Column5: TcxGridDBColumn; v1Column6: TcxGridDBColumn; factoryName: TBtnEditA; Label9: TLabel; procedure FormDestroy(Sender: TObject); procedure FormCreate(Sender: TObject); procedure FormClose(Sender: TObject; var Action: TCloseAction); procedure FormShow(Sender: TObject); procedure TBSaveClick(Sender: TObject); procedure v1P_CodeNamePropertiesButtonClick(Sender: TObject; AButtonIndex: Integer); procedure ToolButton1Click(Sender: TObject); procedure ToolButton2Click(Sender: TObject); procedure TBCloseClick(Sender: TObject); procedure v1P_ColorPropertiesButtonClick(Sender: TObject; AButtonIndex: Integer); procedure v1P_CodePropertiesButtonClick(Sender: TObject; AButtonIndex: Integer); procedure ywyBtnClick(Sender: TObject); procedure v1QtyPropertiesEditValueChanged(Sender: TObject); procedure ToolButton3Click(Sender: TObject); procedure factoryNameBtnClick(Sender: TObject); private procedure InitGrid(); function savedate():Boolean; procedure SetComboBox(); function YFData(fYFName:string):Boolean; { Private declarations } public fkeyNO:string; FType:integer; fCKName:string; { Public declarations } end; var frmbpRk: TfrmbpRk; implementation uses U_DataLink,U_Fun10,U_ZDYHelp, U_BpJylist, U_CPManageSel, U_ZdyAttachGYS; {$R *.dfm} function TfrmbpRk.YFData(fYFName:string):Boolean; var CRID,YFID,Price,PriceUnit,OrderUnit,FComTaiTou,cust:String; begin Result:=False; with ADOQueryTmp do begin Close; SQL.Clear; sql.Add('select * from YF_Money_KC where FactoryName='''+Trim(factoryName.Text)+''' '); Open; end; if not ADOQueryTmp.IsEmpty then begin CRID:=ADOQueryTmp.fieldbyname('CRID').AsString; end else begin with ADOQueryCmd do begin Close; sql.Clear; sql.Add('Update YF_Money_CRID set CRID=CRID+1'); sql.Add('select * from YF_Money_CRID '); Open; end; CRID:=ADOQueryCmd.fieldbyname('CRID').AsString; with ADOQueryCmd do begin Close; SQL.Clear; sql.Add('select * from YF_Money_KC where 1<>1'); Open; end; with ADOQueryCmd do begin Append; FieldByName('CRID').Value:=StrToInt(CRID); FieldByName('FactoryName').Value:=Trim(factoryName.Text); FieldByName('ZdyStr1').Value:='应收收'; Post; end; end; with ADOQueryTmp do begin Close; sql.Clear; sql.Add('select * from YF_Money_CR '); sql.Add(' where MainID='''+Trim(CDS_Main.fieldbyname('CRNO').AsString)+''''); sql.Add(' and subID='''+Trim(CDS_Main.fieldbyname('CRID').AsString)+''''); sql.Add(' and YFName='''+trim(fYFName)+''' '); Open; end; if ADOQueryTmp.IsEmpty then begin if GetLSNo(ADOQueryCmd,YFID,'YF','YF_Money_CR',3,1)=False then begin Application.MessageBox('取应付最大号失败!','提示',0); Exit; end; with ADOQueryCmd do begin Close; sql.Clear; sql.Add('select * from YF_Money_CR where 1<>1'); Open; end; with ADOQueryCmd do begin Append; FieldByName('YFID').Value:=Trim(YFID); FieldByName('YFTypeId').Value:=Trim(CDS_Main.fieldbyname('CRNO').AsString); FieldByName('CRID').Value:=StrToInt(CRID); FieldByName('Filler').Value:=Trim(DName); FieldByName('CRType').Value:='应付款登记'; FieldByName('CRFlag').Value:='应付付'; FieldByName('QtyFlag').Value:=1; FieldByName('FactoryName').Value:=Trim(factoryName.Text); FieldByName('CRTime').Value:=Trim(FormatDateTime('yyyy-MM-dd',CRTime.DateTime)); FieldByName('YFType').Value:='自动生成'; FieldByName('ps').Value:=CDS_Main.fieldbyname('RollNum').AsFloat; FieldByName('Qty').Value:=CDS_Main.fieldbyname('Qty').AsFloat; FieldByName('Price').Value:=CDS_Main.fieldbyname('Price').AsFloat; FieldByName('Money').Value:=CDS_Main.fieldbyname('Money').AsFloat; FieldByName('BBMoney').Value:=CDS_Main.fieldbyname('Money').AsFloat; FieldByName('HuiLv').Value:=1; FieldByName('BZType').Value:='RMB'; FieldByName('QtyUnit').Value:=Trim(CDS_Main.fieldbyname('QtyUnit').AsString); FieldByName('ComTaiTou').Value:=Trim(factoryName.Text); FieldByName('ywy').Value:=Trim(ywy.Text); FieldByName('YFName').Value:=fYFName; FieldByName('MainId').Value:=Trim(CDS_Main.fieldbyname('CRNO').AsString); FieldByName('subID').Value:=Trim(CDS_Main.fieldbyname('CRID').AsString); FieldByName('orderNo').Value:=Trim(CDS_Main.fieldbyname('P_Code').AsString); FieldByName('P_CodeName').Value:=Trim(CDS_Main.fieldbyname('P_CodeName').AsString); FieldByName('P_Spec').Value:=Trim(CDS_Main.fieldbyname('P_Spec').AsString); FieldByName('P_Color').Value:=Trim(CDS_Main.fieldbyname('P_Color').AsString); FieldByName('status').Value:='0'; Post; end; end else begin YFID:=Trim(ADOQueryTmp.fieldbyname('YFID').AsString); end; Result:=True; end; procedure TfrmbpRk.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; with adoQueryTmp do begin close; sql.Clear; sql.Add('select * from KH_ZDY where Type=''YPRKTYPE'''); if trim(fCKName)<>'' then sql.Add('and note='+quotedstr(trim(fCKName))); open; while not eof do begin CRType.Items.Add(trim(fieldbyname('zdyName').AsString)); next; end; end; if CRType.Items.Count>0 then CRType.ItemIndex:=0; end; function TfrmbpRk.savedate():Boolean; var fkcID:integer; Filler:string; FillTime:TdateTime; begin result:=false; try ADOQueryCmd.Connection.BeginTrans; if FType=0 then begin Filler:=DName; FillTime:=SGetServerDateTime(adoqueryTmp); end else begin with adoqueryTmp do begin close; sql.Clear; sql.Add('select * from YP_InOut'); sql.Add('where CRNO='+quotedstr(trim(fkeyNO))); open; Filler:=adoqueryTmp.fieldbyname('Filler').AsString; FillTime:=adoqueryTmp.fieldbyname('FillTime').AsDateTime; end; end; with ADOQueryCmd do begin Close; sql.Clear; sql.Add('delete from YF_Money_CR '); sql.Add(' where MainID='''+Trim(fkeyNO)+''''); // sql.Add(' and YFName=''样品生产'' '); execsql; end; with ADOQueryCmd do begin close; sql.Clear; sql.Add('delete from YP_InOut'); sql.Add('where CRNO='+quotedstr(trim(fkeyNO))); execsql; end; with ADOQueryCmd do begin close; sql.Clear; sql.Add('delete from YP_kc'); sql.Add('where CRNO='+quotedstr(trim(fkeyNO))); execsql; end; CDS_Main.DisableControls; CDS_Main.First; with CDS_Main do begin while not eof do begin with ADOQueryCmd do begin Close; sql.Clear; SQL.add('Update YP_Kcid Set kcid=kcid+1'); sql.Add('select kcid from YP_Kcid'); Open; end; fkcID:=ADOQueryCmd.fieldbyname('kcid').AsInteger; with ADOQueryCmd do begin close; sql.Clear; sql.Add('select * from YP_InOut'); sql.Add('where 1=2 '); open; end; ADOQueryCmd.Append; ADOQueryCmd.FieldByName('CRNO').Value:=trim(fkeyNO); ADOQueryCmd.FieldByName('CRID').Value:=recNo; ADOQueryCmd.FieldByName('CRTime').Value:=formatdateTime('yyyy-MM-dd',CRTIme.Date); ADOQueryCmd.FieldByName('CKName').Value:=trim(CKName.Text); ADOQueryCmd.FieldByName('CRType').Value:=trim(CRType.Text); ADOQueryCmd.FieldByName('CRFlag').Value:='入库'; ADOQueryCmd.FieldByName('InOutNo').Value:=trim(InOutNo.Text); ADOQueryCmd.FieldByName('ywy').Value:=trim(ywy.Text); ADOQueryCmd.FieldByName('mainID').Value:=trim(fieldbyname('mainID').AsString); ADOQueryCmd.FieldByName('factoryName').Value:=trim(factoryName.Text); ADOQueryCmd.FieldByName('subID').Value:=trim(fieldbyname('subID').AsString); ADOQueryCmd.FieldByName('MJID').Value:=trim(fieldbyname('MJID').AsString); ADOQueryCmd.FieldByName('MJXH').Value:=trim(fieldbyname('MJXH').AsString); ADOQueryCmd.FieldByName('CPTYPE').Value:=trim(fieldbyname('CPTYPE').AsString); ADOQueryCmd.FieldByName('P_Code').Value:=trim(fieldbyname('P_Code').AsString); ADOQueryCmd.FieldByName('P_CodeName').Value:=trim(fieldbyname('P_CodeName').AsString); ADOQueryCmd.FieldByName('P_spec').Value:=trim(fieldbyname('P_spec').AsString); ADOQueryCmd.FieldByName('P_CF').Value:=trim(fieldbyname('P_CF').AsString); ADOQueryCmd.FieldByName('P_Color').Value:=trim(fieldbyname('P_Color').AsString); ADOQueryCmd.FieldByName('P_MF').Value:=fieldbyname('P_MF').AsFloat; ADOQueryCmd.FieldByName('P_KZ').Value:=fieldbyname('P_KZ').AsFloat; ADOQueryCmd.FieldByName('RollNum').Value:=fieldbyname('RollNum').AsFloat; ADOQueryCmd.FieldByName('Qty').Value:=fieldbyname('Qty').AsFloat; ADOQueryCmd.FieldByName('QtyUnit').Value:=trim(fieldbyname('QtyUnit').AsString); ADOQueryCmd.FieldByName('Price').Value:=fieldbyname('Price').AsFloat; ADOQueryCmd.FieldByName('money').Value:=fieldbyname('money').AsFloat; ADOQueryCmd.FieldByName('note').Value:=trim(fieldbyname('note').AsString); ADOQueryCmd.FieldByName('kuwei').Value:=trim(fieldbyname('kuwei').AsString); ADOQueryCmd.FieldByName('defstr1').Value:=trim(fieldbyname('defstr1').AsString); ADOQueryCmd.FieldByName('defstr2').Value:=trim(fieldbyname('defstr2').AsString); ADOQueryCmd.FieldByName('defstr3').Value:=trim(fieldbyname('defstr3').AsString); ADOQueryCmd.FieldByName('Filler').Value:=trim(Filler); ADOQueryCmd.FieldByName('FillTime').Value:=dateTimetostr(FillTime); if FType=1 then begin ADOQueryCmd.FieldByName('editer').Value:=trim(dName); ADOQueryCmd.FieldByName('editTime').Value:=SGetServerDateTime(adoqueryTmp); end; ADOQueryCmd.FieldByName('kcID').Value:=fkcID; ADOQueryCmd.Post; with ADOQueryCmd do begin close; sql.Clear; sql.Add('select * from YP_KC'); sql.Add('where 1=2 '); open; end; ADOQueryCmd.Append; ADOQueryCmd.FieldByName('kcID').Value:=fkcID; ADOQueryCmd.FieldByName('CKName').Value:=trim(CKName.Text); ADOQueryCmd.FieldByName('CRNO').Value:=trim(fkeyNO); ADOQueryCmd.FieldByName('CRID').Value:=recNo; ADOQueryCmd.FieldByName('CRTime').Value:=formatdateTime('yyyy-MM-dd',CRTIme.Date); ADOQueryCmd.FieldByName('CRType').Value:=trim(CRType.Text); ADOQueryCmd.FieldByName('CRFlag').Value:='入库'; ADOQueryCmd.FieldByName('ywy').Value:=trim(ywy.Text); ADOQueryCmd.FieldByName('mainID').Value:=trim(fieldbyname('mainID').AsString); ADOQueryCmd.FieldByName('subID').Value:=trim(fieldbyname('subID').AsString); ADOQueryCmd.FieldByName('MJXH').Value:=trim(fieldbyname('MJXH').AsString); ADOQueryCmd.FieldByName('MJID').Value:=trim(fieldbyname('MJID').AsString); ADOQueryCmd.FieldByName('CPType').Value:=trim(fieldbyname('CPType').AsString); ADOQueryCmd.FieldByName('P_Code').Value:=trim(fieldbyname('P_Code').AsString); ADOQueryCmd.FieldByName('P_CodeName').Value:=trim(fieldbyname('P_CodeName').AsString); ADOQueryCmd.FieldByName('P_spec').Value:=trim(fieldbyname('P_spec').AsString); ADOQueryCmd.FieldByName('P_Color').Value:=trim(fieldbyname('P_Color').AsString); ADOQueryCmd.FieldByName('P_MF').Value:=fieldbyname('P_MF').AsFloat; ADOQueryCmd.FieldByName('P_KZ').Value:=fieldbyname('P_KZ').AsFloat; ADOQueryCmd.FieldByName('RollNum').Value:=fieldbyname('RollNum').AsFloat; ADOQueryCmd.FieldByName('Qty').Value:=fieldbyname('Qty').AsFloat; ADOQueryCmd.FieldByName('QtyUnit').Value:=trim(fieldbyname('QtyUnit').AsString); ADOQueryCmd.FieldByName('kuwei').Value:=trim(fieldbyname('kuwei').AsString); ADOQueryCmd.FieldByName('defstr1').Value:=trim(fieldbyname('defstr1').AsString); ADOQueryCmd.FieldByName('defstr2').Value:=trim(fieldbyname('defstr2').AsString); ADOQueryCmd.FieldByName('defstr3').Value:=trim(fieldbyname('defstr3').AsString); ADOQueryCmd.FieldByName('kcID').Value:=fkcID; ADOQueryCmd.Post; CDS_Main.edit; CDS_Main.FieldByName('CRNO').Value:=trim(fkeyNO); CDS_Main.FieldByName('CRID').Value:=recNo; if trim(CRType.Text)='采购入库' then begin if not YFData('样品采购') then begin ADOQueryCmd.Connection.RollbackTrans; exit; end; end; if trim(CRType.Text)='加工入库' then begin if not YFData('样品加工费') then begin ADOQueryCmd.Connection.RollbackTrans; exit; end; end; next; end; end; CDS_Main.EnableControls; ADOQueryCmd.Connection.CommitTrans; result:=true; except CDS_Main.EnableControls; ADOQueryCmd.Connection.RollbackTrans; end; end; procedure TfrmbpRk.InitGrid(); begin try with adoqueryTmp do begin close; sql.Clear; sql.Add('select A.*,B.CYMF,B.CYKZ,B.defNote5 from YP_InOut A'); sql.Add('left join CP_YDang B on B.CYNO=A.P_Code'); sql.Add('where CRNO='+quotedstr(trim(fkeyNO))); open; end; SCreateCDS20(adoqueryTmp,CDS_Main); SInitCDSData20(adoqueryTmp,CDS_Main); if not CDS_Main.IsEmpty then begin CRTime.Date:= CDS_Main.fieldbyname('CRTime').AsDateTime; CKName.ItemIndex:=CKName.Items.IndexOf(trim(CDS_Main.fieldbyname('CKName').AsString)); CRType.ItemIndex:=CRType.Items.IndexOf(trim(CDS_Main.fieldbyname('CRType').AsString)); inoutNo.Text:=CDS_Main.fieldbyname('inoutNo').asstring; ywy.Text:=CDS_Main.fieldbyname('ywy').asstring; factoryName.Text:=CDS_Main.fieldbyname('factoryName').asstring; // FirstName.TxtCode:=trim(CDS_Main.fieldbyname('FirstNo').AsString); // FirstName.Text:=trim(CDS_Main.fieldbyname('FirstName').AsString); end; finally end; end; procedure TfrmbpRk.FormDestroy(Sender: TObject); begin frmbpRk:=nil; end; procedure TfrmbpRk.FormCreate(Sender: TObject); begin CRTime.Date:=DServerDate; cxGrid1.Align:=alclient; end; procedure TfrmbpRk.FormClose(Sender: TObject; var Action: TCloseAction); begin writeCxGrid(self.Caption,Tv1,'成品仓库'); Action:=cahide; end; procedure TfrmbpRk.FormShow(Sender: TObject); begin readCxGrid(self.Caption,Tv1,'成品仓库'); SetComboBox(); InitGrid(); if fType=0 then begin if GetLSNo(ADOQueryCmd,fkeyNo,'RK','CP_InOut',3,1)=False then begin Application.MessageBox('取最大号失败!','提示',0); Exit; end; inoutNo.Text:='R'+Trim(RightBStr(fkeyNo,Length(fkeyNo)-2)); end; end; procedure TfrmbpRk.TBSaveClick(Sender: TObject); begin if cds_main.IsEmpty then exit; CRTime.SetFocus; if trim(CRType.Text)='' then begin application.MessageBox('入库类型不能为空!','提示信息',0); exit; end; if (trim(CRType.Text)='样品生产') and (trim(factoryName.Text)='') then begin application.MessageBox('供应商信息不能为空!','提示信息',0); exit; end; if cds_main.Locate('QtyUnit','',[]) then begin application.MessageBox('数量单位不能为空!','提示信息',0); exit; end; if cds_main.Locate('QtyUnit',NULL,[]) then begin application.MessageBox('数量单位不能为空!','提示信息',0); exit; end; if savedate() then begin application.MessageBox('数据保存成功!','提示信息'); ModalResult:=1; end else begin application.MessageBox('数据保存失败!','提示信息',MB_ICONERROR); end; end; procedure TfrmbpRk.v1P_CodeNamePropertiesButtonClick(Sender: TObject; AButtonIndex: Integer); begin try frmZDYHelp:=TfrmZDYHelp.Create(Application); with frmZDYHelp do begin flag:='MPRTCodeName'; flagname:='产品名称'; if ShowModal=1 then begin Self.CDS_Main.Edit; Self.CDS_Main.FieldByName('P_CodeName').Value:=Trim(ClientDataSet1.fieldbyname('ZDYName').AsString); // Self.CDS_Main.FieldByName('P_Code').Value:=Trim(ClientDataSet1.fieldbyname('ZDYNo').AsString); end; end; finally frmZDYHelp.Free; end; self.tv1.Controller.EditingController.ShowEdit(); end; procedure TfrmbpRk.ToolButton1Click(Sender: TObject); begin frmCPManageSel:=TfrmCPManageSel.create(self); with frmCPManageSel do begin if showmodal=1 then begin self.cds_main.DisableControls; CDS_Main.DisableControls; CDS_Main.First; while not CDS_Main.Eof do begin if (cds_main.fieldbyname('ssel').AsBoolean) and (not self.cds_main.Locate('P_Code',trim(cds_main.fieldbyname('CYNo').AsString),[])) then begin self.cds_main.Append; // self.cds_main.FieldByName('kcid').Value:=trim(cds_main.fieldbyname('kcid').AsString); // self.cds_main.FieldByName('mainID').Value:=trim(cds_main.fieldbyname('mainID').AsString); // self.cds_main.FieldByName('subID').Value:=trim(cds_main.fieldbyname('subID').AsString); // self.cds_main.FieldByName('MJID').Value:=trim(cds_main.fieldbyname('MJID').AsString); // self.cds_main.FieldByName('MJXH').Value:=trim(cds_main.fieldbyname('MJXH').AsString); // self.cds_main.FieldByName('CPTYPE').Value:=trim(cds_main.fieldbyname('MJType').AsString); self.cds_main.FieldByName('P_Code').Value:=trim(cds_main.fieldbyname('CYNo').AsString); self.cds_main.FieldByName('P_CodeName').Value:=trim(cds_main.fieldbyname('CYName').AsString); self.cds_main.FieldByName('defnote5').Value:=trim(cds_main.fieldbyname('defnote5').AsString); self.cds_main.FieldByName('P_spec').Value:=trim(cds_main.fieldbyname('CYSpec').AsString); self.cds_main.FieldByName('P_cf').Value:=trim(cds_main.fieldbyname('CYECF').AsString); self.cds_main.FieldByName('CYMF').Value:=trim(cds_main.fieldbyname('CYMF').AsString); self.cds_main.FieldByName('CYKZ').Value:=trim(cds_main.fieldbyname('CYKZ').AsString); self.cds_main.FieldByName('factoryName').Value:=trim(cds_main.fieldbyname('DefStr7').AsString); self.cds_main.FieldByName('Kuwei').Value:=trim(cds_main.fieldbyname('DefStr2').AsString); // self.cds_main.FieldByName('P_Color').Value:=trim(cds_main.fieldbyname('P_Color').AsString); // self.cds_main.FieldByName('P_MF').Value:=cds_main.fieldbyname('P_MF').AsFloat; // self.cds_main.FieldByName('P_KZ').Value:=cds_main.fieldbyname('P_KZ').AsFloat; // self.cds_main.FieldByName('RollNum').Value:=; // self.cds_main.FieldByName('Qty').Value:=cds_main.fieldbyname('MJLen').AsFloat; // self.cds_main.FieldByName('QtyUnit').Value:=trim(cds_main.fieldbyname('MJTypeother').AsString); self.cds_main.Post; end; cds_main.Next; end; cds_main.EnableControls; self.cds_main.EnableControls; end; free; end; // cds_main.Append; // cds_Main.fieldbyname('qtyUnit').Value:='M'; // cds_main.post; end; procedure TfrmbpRk.ToolButton2Click(Sender: TObject); begin if CDS_Main.IsEmpty then exit; CDS_Main.Delete; end; procedure TfrmbpRk.TBCloseClick(Sender: TObject); begin close; end; procedure TfrmbpRk.v1P_ColorPropertiesButtonClick(Sender: TObject; AButtonIndex: Integer); begin try frmZDYHelp:=TfrmZDYHelp.Create(Application); with frmZDYHelp do begin flag:='OrdColor'; flagname:='颜色'; V1Name.Caption:='中文名称'; V1Note.Caption:='英文名称'; MainType:=Trim(DName); fnote:=True; if ShowModal=1 then begin Self.CDS_Main.Edit; Self.CDS_Main.FieldByName('P_Color').Value:=Trim(ClientDataSet1.fieldbyname('ZDYName').AsString); Self.CDS_Main.Post; end; end; finally frmZDYHelp.Free; end; self.tv1.Controller.EditingController.ShowEdit(); end; procedure TfrmbpRk.v1P_CodePropertiesButtonClick(Sender: TObject; AButtonIndex: Integer); begin try frmZDYHelp:=TfrmZDYHelp.Create(Application); with frmZDYHelp do begin flag:='YPCode'; flagname:='样品编号'; if ShowModal=1 then begin Self.CDS_Main.Edit; Self.CDS_Main.FieldByName('P_Code').Value:=Trim(ClientDataSet1.fieldbyname('ZDYName').AsString); end; end; finally frmZDYHelp.Free; end; self.tv1.Controller.EditingController.ShowEdit(); end; procedure TfrmbpRk.ywyBtnClick(Sender: TObject); begin try frmZDYHelp:=TfrmZDYHelp.Create(Application); with frmZDYHelp do begin flag:='ywy'; flagname:='业务员名称'; if ShowModal=1 then begin ywy.Text:=Trim(frmZDYHelp.ClientDataSet1.fieldbyname('ZDYName').AsString); end; end; finally frmZDYHelp.Free; end; end; procedure TfrmbpRk.v1QtyPropertiesEditValueChanged(Sender: TObject); var fieldname:string; begin fieldname:=Tv1.Controller.FocusedColumn.DataBinding.FilterFieldName; with CDS_Main do begin Edit; FieldByName(Trim(fieldname)).Value:=TcxTextEdit(Sender).EditingText; FieldByName('Money').Value:=strtofloat(format('%0.2f',[FieldByName('Qty').AsFloat * FieldByName('Price').AsFloat])); Post; end; Tv1.Controller.EditingController.ShowEdit(); end; procedure TfrmbpRk.ToolButton3Click(Sender: TObject); begin IF CDS_Main.IsEmpty then exit; CopyAddRowCDS(CDS_Main); tv1.Controller.EditingController.ShowEdit(); end; procedure TfrmbpRk.factoryNameBtnClick(Sender: TObject); begin frmZdyAttachGYS:=TfrmZdyAttachGYS.create(self); with frmZdyAttachGYS do begin // DEFstr5.ItemIndex:=DEFstr5.Items.IndexOf('加工厂'); // DEFstr5.Enabled:=false; if showmodal=1 then begin factoryName.Text:=CDS_Hz.fieldbyname('zdyName').asstring; end; free; end; end; end.