unit U_FHSQInPutXH; 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, cxGridCustomPopupMenu, cxGridPopupMenu, cxLookAndFeels, cxLookAndFeelPainters, cxNavigator; type TfrmFHSQInPutXH = class(TForm) ToolBar1: TToolBar; TBSave: TToolButton; TBClose: TToolButton; ScrollBox1: TScrollBox; ToolBar2: TToolBar; ToolButton1: TToolButton; ToolButton2: TToolButton; cxGrid1: TcxGrid; Tv1: TcxGridDBTableView; cxGrid1Level1: TcxGridLevel; ADOTemp: TADOQuery; ADOCmd: TADOQuery; DataSource1: TDataSource; Order_Sub: TClientDataSet; ADOQuery1: TADOQuery; Label14: TLabel; cxGridPopupMenu2: TcxGridPopupMenu; Label1: TLabel; CRType: TComboBox; Label2: TLabel; Note: TEdit; Label12: TLabel; Label11: TLabel; SHDanWei: TBtnEditC; PrtCode: TBtnEditA; CustomerNoName: TBtnEditA; Label15: TLabel; CarType: TEdit; Label24: TLabel; gongyi: TEdit; Label4: TLabel; BatchNo: TComboBox; v1Column1: TcxGridDBColumn; cv1Column2: TcxGridDBColumn; cv1Column3: TcxGridDBColumn; cxStyleRepository1: TcxStyleRepository; dazi1: TcxStyle; cv1Column6: TcxGridDBColumn; lbl2: TLabel; DLYDATE: TDateTimePicker; Tv1Column1: TcxGridDBColumn; Label3: TLabel; XHOrderno: TEdit; Label5: TLabel; FHDZ: TBtnEditC; Label6: TLabel; ShouHuoer: TEdit; Label7: TLabel; KHDH: TEdit; Label10: TLabel; GSTT: TBtnEditC; Tv1Column2: TcxGridDBColumn; Tv1Column3: TcxGridDBColumn; Tv1Column4: TcxGridDBColumn; Tv1Column5: TcxGridDBColumn; Label9: TLabel; Label8: TLabel; Salesman: TBtnEditC; Tv1Column6: TcxGridDBColumn; Tv1Column7: TcxGridDBColumn; lbl1: TLabel; lbl3: TLabel; FhType: TComboBox; lbl4: TLabel; ISHS: TComboBox; ISHY: TComboBox; Label13: TLabel; SFSMF: TComboBox; Tv1Column8: TcxGridDBColumn; Tv1Column9: TcxGridDBColumn; Tv1Column10: TcxGridDBColumn; Label16: TLabel; NNOTE: TEdit; Label17: TLabel; HZUnit: TBtnEditC; Tv1Column11: TcxGridDBColumn; ADOQuery2: TADOQuery; Tv1Column12: TcxGridDBColumn; Tv1Column13: TcxGridDBColumn; SALESCLASS: TComboBox; Tv1Column14: TcxGridDBColumn; procedure TBCloseClick(Sender: TObject); procedure FormShow(Sender: TObject); procedure TBSaveClick(Sender: TObject); procedure ToolButton2Click(Sender: TObject); procedure SHDanWeiBtnUpClick(Sender: TObject); procedure SHDanWeiBtnDnClick(Sender: TObject); procedure ShouKuanKeyPress(Sender: TObject; var Key: Char); procedure CustomerNoNameBtnClick(Sender: TObject); procedure ToolButton1Click(Sender: TObject); procedure cv1Column3PropertiesEditValueChanged(Sender: TObject); procedure FHDZBtnUpClick(Sender: TObject); procedure SalesmanBtnUpClick(Sender: TObject); procedure SalesmanBtnDnClick(Sender: TObject); procedure GSTTBtnUpClick(Sender: TObject); procedure HZUnitBtnDnClick(Sender: TObject); procedure HZUnitBtnUpClick(Sender: TObject); procedure NoteKeyPress(Sender: TObject; var Key: Char); private fuserName: string; procedure InitData(); function SaveData(): Boolean; { Private declarations } public PState, CopyInt: Integer; FMainId, FFMainId, ChkStr, ConPriceStr: string; FXS: Integer; { Public declarations } end; var frmFHSQInPutXH: TfrmFHSQInPutXH; newh: hwnd; implementation uses U_DataLink, U_ZDYHelp, U_RTFun, U_SQKCHZSelList, U_ContractListNXSel, U_CPManageFMSel, U_ZdyAttachment, U_ClothSCYWYListSel, U_ProductOrderListSel, U_CKProductBCPKCListSel, U_ZdyAttachGYS; {$R *.dfm} procedure TfrmFHSQInPutXH.TBCloseClick(Sender: TObject); begin Close; WriteCxGrid('现货发货申请录入', Tv1, '发货管理9'); end; procedure TfrmFHSQInPutXH.InitData(); var fsj: string; begin if PState = 0 then begin DLYDATE.datetime := strtodatetime(Trim(FormatDateTime('yyyy-MM-dd', Now))); end; with ADOQuery1 do begin Close; SQL.Clear; sql.Add(' select A.* '); //sql.Add(',GCCode=(select GCCode from Cloth_Main CM where CM.MainId=A.Mainid)'); //sql.Add(',BatchNoHZ=(select BatchNoHZ from Cloth_Sub CS where CS.MainId=A.Mainid)'); sql.Add(' from FHSQ_Sub A'); if PState = 1 then begin sql.Add('where FSId=''' + 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 A.* '); sql.Add(' from FHSQ_Main A'); sql.Add(' where FSId=''' + Trim(FMainId) + ''' '); Open; end; // fsj := ' select DISTINCT A.APBatchNo Name from JYCon_Sub_AnPai A inner join Cloth_Main B on A.MainId=B.MainId where isnull(A.APBatchNo,'''')<>'''' and B.Valid=''Y'' and B.ConNo=' + quotedstr(Trim(ADOQuery1.FieldByName('Conno').AsString)); // SInitComBoxBySql(ADOTemp, BatchNo, False, fsj); SCSHDataNew(ADOQuery1, ScrollBox1, 1); BatchNo.Clear; BatchNo.Items.Add(Trim(ADOQuery1.fieldbyname('BatchNo').AsString)); BatchNo.ItemIndex := BatchNo.Items.IndexOf(Trim(ADOQuery1.fieldbyname('BatchNo').AsString)); // ConNo.TxtCode := ; end; procedure TfrmFHSQInPutXH.FormShow(Sender: TObject); var fsj: string; begin readCxGrid('现货发货申请录入', Tv1, '发货管理9'); InitData(); end; function TfrmFHSQInPutXH.SaveData(): Boolean; var maxno, maxmnno, FSSId, MAXDZID: string; fconNO, fmxType: string; begin try ADOCmd.Connection.BeginTrans; ///保存主表 if Trim(FMainId) = '' then begin if GetLSNo(ADOCmd, maxno, 'SM', 'FHSQ_Main', 4, 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 FHSQ_Main where FSID=''' + Trim(FMainId) + ''''); Open; end; with ADOCmd do begin if Trim(FMainId) = '' then begin Append; end else begin Edit; end; FieldByName('SQType').Value := '现货'; FieldByName('FSID').Value := Trim(maxno); RTSetsavedata(ADOCmd, 'FHSQ_Main', ScrollBox1, 1); FieldByName('Chker').Value := Trim(DName); FieldByName('ChkTime').Value := SGetServerDate(ADOTemp); FieldByName('ChkStatus').Value := '审核通过'; FieldByName('SQDate').Value := SGetServerDate(ADOTemp); if Trim(FMainId) = '' then begin FieldByName('Filler').Value := Trim(DName); FieldByName('SQDate').Value := SGetServerDate(ADOTemp); end else begin FieldByName('Editer').Value := Trim(DName); FieldByName('EditTime').Value := SGetServerDateTime(ADOTemp); end; Post; end; FMainId := Trim(maxno); ///保存子表 Order_Sub.DisableControls; with Order_Sub do begin First; while not Eof do begin with ADOTemp do begin Close; SQL.Clear; sql.Add('select * from wfb_mjjy '); sql.Add(' where mjid=''' + Trim(Order_Sub.fieldbyname('MJID').AsString) + ''''); Open; end; if ADOTemp.IsEmpty = True then begin Order_Sub.EnableControls; Application.MessageBox(PChar(trim(Order_Sub.fieldbyName('mjid').AsString) + ' 该条码不存在!'), '提示', 0); ADOCmd.Connection.RollbackTrans; Exit; end; if Trim(Order_Sub.fieldbyname('SSId').AsString) = '' then begin if GetLSNo(ADOCmd, maxno, 'SS', 'FHSQ_Sub', 4, 1) = False then begin Order_Sub.EnableControls; ADOCmd.Connection.RollbackTrans; Application.MessageBox('取子流水号失败!', '提示', 0); Exit; end; end else begin maxno := Trim(Order_Sub.fieldbyname('SSId').AsString); end; with ADOCmd do begin Close; SQL.Clear; sql.Add('select * from FHSQ_Sub '); sql.Add(' where SSId=''' + Trim(maxno) + ''''); Open; end; if ADOCmd.IsEmpty then begin FSSId := ''; end else begin FSSId := Trim(maxno); end; with ADOCmd do begin if Trim(FSSId) = '' then begin Append; FieldByName('Filler').Value := Trim(DName); end else begin Edit; FieldByName('Editer').Value := Trim(DName); FieldByName('EditTime').Value := SGetServerDateTime(ADOTemp); end; FieldByName('FSID').Value := Trim(FMainId); FieldByName('SSID').Value := Trim(maxno); RTSetSaveDataCDS(ADOCmd, Tv1, Order_Sub, 'FHSQ_Sub', 0); FieldByName('MainId').Value := Order_Sub.fieldbyname('MainId').Value; FieldByName('SubId').Value := Order_Sub.fieldbyname('SubId').Value; FieldByName('mjid').Value := Order_Sub.fieldbyname('mjid').Value; FieldByName('SSConMainId').Value := Order_Sub.fieldbyname('SSConMainId').Value; FieldByName('SSConSubId').Value := Order_Sub.fieldbyname('SSConSubId').Value; Post; end; Order_Sub.Edit; Order_Sub.FieldByName('SSID').Value := Trim(maxno); Next; end; with ADOCmd do begin Close; sql.Clear; SQL.Add('update FHSQ_Main set DBConNo= '); SQL.Add('cast((select '' ''+ SSConNo from FHSQ_Sub X where X.FSId=FHSQ_Main.FSId and X.SSConNo<>FHSQ_Main.ConNo for xml Path('''')) as varchar(100)) '); SQL.Add('where FSID=''' + Trim(FMainId) + ''''); ExecSQL; end; if (CRType.Text = '回修出库') or (CRType.Text = '改色出库') or (CRType.Text = '供应商退货') or (CRType.Text = '加工出库') then begin with ADOTemp do begin Close; sql.Clear; SQL.Add('SELECT * FROM Company_contact WHERE mxADDRESS=' + QuotedStr(Trim(FHDZ.Text))); sql.Add('and telephone=' + quotedStr(Trim(KHDH.Text))); sql.Add('and Contacts=' + quotedStr(Trim(ShouHuoer.Text))); SQL.Add('AND COID=(SELECT COID FROM COMPANY WHERE CONAME=' + QuotedStr(Trim(CustomerNoName.Text))); SQL.Add('AND CoType=''供应商'' and Valid=''Y'' )'); OPEN; end; if ADOTemp.IsEmpty = true then begin if GetLSNo(ADOCmd, MAXDZID, 'CCS', 'Company_contact', 4, 1) = False then begin ADOCmd.Connection.RollbackTrans; Application.MessageBox('取地址最大ID失败!', '提示', 0); Exit; end; with ADOQuery2 do begin Close; sql.Clear; SQL.Add('SELECT COID FROM COMPANY WHERE CONAME=' + QuotedStr(Trim(CustomerNoName.Text))); sql.Add('AND CoType=''供应商'' and Valid=''Y'''); OPEN; end; with ADOTemp do begin Close; sql.Clear; SQL.Add('INSERT INTO Company_contact(ccid,coid,telephone,Contacts,mxaddress)'); SQL.Add('values (' + QuotedStr(MAXDZID)); SQL.Add(',' + QuotedStr(ADOQuery2.fieldbyname('coid').AsString)); SQL.Add(',' + QuotedStr(Trim(KHDH.Text))); SQL.Add(',' + QuotedStr(Trim(ShouHuoer.Text))); SQL.Add(',' + QuotedStr(Trim(FHDZ.Text))); sql.Add(')'); ExecSQL; end; end; end else begin with ADOTemp do begin Close; sql.Clear; SQL.Add('SELECT * FROM Company_contact WHERE mxADDRESS=' + QuotedStr(Trim(FHDZ.Text))); sql.Add('and telephone=' + quotedStr(Trim(KHDH.Text))); sql.Add('and Contacts=' + quotedStr(Trim(ShouHuoer.Text))); SQL.Add('AND COID=(SELECT COID FROM COMPANY WHERE CONAME=' + QuotedStr(Trim(CustomerNoName.Text))); SQL.Add('AND CoType=''客户'' and Valid=''Y'' )'); OPEN; end; if ADOTemp.IsEmpty = true then begin if GetLSNo(ADOCmd, MAXDZID, 'CCS', 'Company_contact', 4, 1) = False then begin ADOCmd.Connection.RollbackTrans; Application.MessageBox('取地址最大ID失败!', '提示', 0); Exit; end; with ADOQuery2 do begin Close; sql.Clear; SQL.Add('SELECT COID FROM COMPANY WHERE CONAME=' + QuotedStr(Trim(CustomerNoName.Text))); sql.Add('AND CoType=''客户'' and Valid=''Y'''); OPEN; end; with ADOTemp do begin Close; sql.Clear; SQL.Add('INSERT INTO Company_contact(ccid,coid,telephone,Contacts,mxaddress)'); SQL.Add('values (' + QuotedStr(MAXDZID)); SQL.Add(',' + QuotedStr(ADOQuery2.fieldbyname('coid').AsString)); SQL.Add(',' + QuotedStr(Trim(KHDH.Text))); SQL.Add(',' + QuotedStr(Trim(ShouHuoer.Text))); SQL.Add(',' + QuotedStr(Trim(FHDZ.Text))); sql.Add(')'); ExecSQL; end; end; end; end; Order_Sub.EnableControls; ADOCmd.Connection.CommitTrans; Result := True; except ADOCmd.Connection.RollbackTrans; Application.MessageBox('保存失败!', '提示', 0); Result := False; end; end; procedure TfrmFHSQInPutXH.TBSaveClick(Sender: TObject); var Freal: Double; begin ToolBar1.SetFocus; if Trim(CRType.Text) = '' then begin Application.MessageBox('出库类型不能为空!', '提示', 0); Exit; end; if Trim(Salesman.Text) = '' then begin Application.MessageBox('业务员不能为空!', '提示', 0); Exit; end; if Trim(SalesClass.Text) = '' then begin Application.MessageBox('业务组别不能为空!', '提示', 0); Exit; end; if Order_Sub.IsEmpty then begin Application.MessageBox('明细不能为空!', '提示', 0); Exit; end; // if Order_Sub.Locate('SCConNo', null, []) = True then // begin // Application.MessageBox('白坯单号不能为空!', '提示', 0); // Exit; // end; if (Order_Sub.Locate('SQPS', null, [])) and (Order_Sub.Locate('SQqty', null, [])) = True then begin Application.MessageBox('细码申请匹数和数量不能全为空!', '提示', 0); Exit; end; // if Order_Sub.Locate('SQPS', 0, []) = True then // begin // Application.MessageBox('申请匹数不能为0!', '提示', 0); // Exit; // end; // if Order_Sub.Locate('SQQty', null, []) = True then // begin // Application.MessageBox('申请数量不能为空!', '提示', 0); // Exit; // end; Note.Text := StringReplace(Trim(Note.Text), chr(9), '', [rfReplaceAll]); //删除Tab Note.Text := StringReplace(Trim(Note.Text), chr(13) + chr(10), '', [rfReplaceAll]); //删除回车 Note.Text := StringReplace(Trim(Note.Text), #$D#$A, '', [rfReplaceAll, rfignorecase]); Note.Text := StringReplace(Trim(Note.Text), '#$D', ' ', [rfReplaceAll, rfIgnoreCase]); Note.Text := StringReplace(Trim(Note.Text), #$A, ' ', [rfReplaceAll, rfIgnoreCase]); if SaveData() then begin Application.MessageBox('保存成功!', '提示', 0); ModalResult := 1; end; end; procedure TfrmFHSQInPutXH.ToolButton2Click(Sender: TObject); begin if Order_Sub.IsEmpty then Exit; if Trim(Order_Sub.fieldbyname('SSId').AsString) <> '' then begin with ADOTemp do begin Close; sql.Clear; sql.Add('select * from FHSQ_Sub where SSId=''' + Trim(Order_Sub.fieldbyname('SSId').AsString) + ''''); sql.add(' and isnull(FHPS,0)>0'); Open; end; if ADOTemp.IsEmpty = False then begin Application.MessageBox('已发货不能删除数据!', '提示', 0); exit; end; if Application.MessageBox('确定要删除数据吗?', '提示', 32 + 4) <> IDYES then Exit; with ADOCmd do begin Close; sql.Clear; sql.Add('delete FHSQ_Sub where SSId=''' + Trim(Order_Sub.fieldbyname('SSId').AsString) + ''''); ExecSQL; end; with ADOCmd do begin Close; sql.Clear; sql.Add('Update FHSQ_Main Set '); sql.Add('SQPSHZ=(select Sum(SQPS) from FHSQ_Sub A where A.FSID=FHSQ_Main.FSID)'); sql.Add('where FSID=''' + Trim(FMainId) + ''''); ExecSQL; end; end; Order_Sub.Delete; end; procedure TfrmFHSQInPutXH.SHDanWeiBtnUpClick(Sender: TObject); begin try frmZDYHelp := TfrmZDYHelp.Create(Application); with frmZDYHelp do begin flag := 'SHDanWei'; flagname := '收货单位'; if ShowModal = 1 then begin Self.GSTT.Text := Trim(frmZDYHelp.ClientDataSet1.fieldbyname('ZdyName').AsString); end; end; finally frmZDYHelp.Free; end; end; procedure TfrmFHSQInPutXH.SHDanWeiBtnDnClick(Sender: TObject); begin SHDanWei.Text := ''; end; procedure TfrmFHSQInPutXH.ShouKuanKeyPress(Sender: TObject; var Key: Char); begin if not (((Key >= '0') and (Key <= '9')) or (Key = '.') or (Key = #8)) then begin Key := #0; end else if (pos('.', TEdit(Sender).text) <> 0) then begin if Key = '.' then begin Key := #0; end; end; end; procedure TfrmFHSQInPutXH.CustomerNoNameBtnClick(Sender: TObject); begin if (CRType.Text = '回修出库') or (CRType.Text = '改色出库') or (CRType.Text = '供应商退货') or (CRType.Text = '加工出库') then begin try frmZdyAttachGYS := TfrmZdyAttachGYS.Create(Application); with frmZdyAttachGYS do begin // canshu1 := Self.canshu1; if ShowModal = 1 then begin // self.CustomerNoName.Text := Trim(CDS_HZ.fieldbyname('CoName').AsString); // // self.FHDZ.Text := Trim(CDS_HZ.fieldbyname('COADDRESS').AsString); // self.ShouHuoer.Text := Trim(CDS_HZ.fieldbyname('Contacts').AsString); // self.KHDH.Text := Trim(CDS_HZ.fieldbyname('Telephone').AsString); self.Salesman.Text := Trim(CDS_HZ.fieldbyname('Salesman').AsString); self.SalesClass.Text := Trim(CDS_HZ.fieldbyname('SalesClass').AsString); Self.CustomerNoName.Text := Trim(CDS_HZ.fieldbyname('CoName').AsString); Self.SHDanWei.Text := Trim(CDS_HZ.fieldbyname('CoName').AsString); self.FHDZ.Text := Trim(CDS_HZ.fieldbyname('MXADDRESS').AsString); self.ShouHuoer.Text := Trim(CDS_HZ.fieldbyname('Contacts').AsString); self.KHDH.Text := Trim(CDS_HZ.fieldbyname('Telephone').AsString); self.note.Text := Trim(CDS_HZ.fieldbyname('note1').AsString); end; end; finally frmZdyAttachGYS.Free; end; end else begin try frmZdyAttachment := TfrmZdyAttachment.Create(Application); with frmZdyAttachment do begin if ShowModal = 1 then begin self.CustomerNoName.Text := Trim(CDS_HZ.fieldbyname('CoName').AsString); self.FHDZ.Text := Trim(CDS_HZ.fieldbyname('MXADDRESS').AsString); self.ShouHuoer.Text := Trim(CDS_HZ.fieldbyname('Contacts').AsString); self.KHDH.Text := Trim(CDS_HZ.fieldbyname('Telephone').AsString); self.ShouHuoer.Text := Trim(CDS_HZ.fieldbyname('Contacts').AsString); self.Salesman.Text := Trim(CDS_HZ.fieldbyname('Salesman').AsString); self.SalesClass.Text := Trim(CDS_HZ.fieldbyname('SalesClass').AsString); self.note.Text := Trim(CDS_HZ.fieldbyname('note1').AsString); end; end; finally frmZdyAttachment.Free; end; end; end; procedure TfrmFHSQInPutXH.ToolButton1Click(Sender: TObject); begin if Trim(HZUnit.Text) = '' then begin Application.MessageBox('数量单位不能为空!', '提示', 0); exit; end; try frmCKProductBCPKCListSel := TfrmCKProductBCPKCListSel.Create(Application); with frmCKProductBCPKCListSel do begin if ShowModal = 1 then begin while CDS_Main.locate('SSel', true, []) do begin if (Self.Order_Sub.Locate('MJID', Trim(frmCKProductBCPKCListSel.CDS_Main.fieldbyname('MJID').AsString), []) = False) and (frmCKProductBCPKCListSel.CDS_Main.fieldbyname('issd').AsString <> '已锁定') then begin with Self.Order_Sub do begin Append; FieldByName('SCConNo').Value := Trim(frmCKProductBCPKCListSel.CDS_Main.fieldbyname('Orderno').AsString); FieldByName('MainId').Value := frmCKProductBCPKCListSel.CDS_Main.fieldbyname('MainId').Value; FieldByName('SubId').Value := frmCKProductBCPKCListSel.CDS_Main.fieldbyname('SubId').Value; FieldByName('PRTColor').Value := Trim(frmCKProductBCPKCListSel.CDS_Main.fieldbyname('PRTColor').AsString); FieldByName('SPrtCode').Value := Trim(frmCKProductBCPKCListSel.CDS_Main.fieldbyname('MPRTCode').AsString); FieldByName('SPrtCodeName').Value := Trim(frmCKProductBCPKCListSel.CDS_Main.fieldbyname('MPRTCode').AsString); FieldByName('PRTHX').Value := Trim(frmCKProductBCPKCListSel.CDS_Main.fieldbyname('PRTHX').AsString); FieldByName('GANGHAO').Value := Trim(frmCKProductBCPKCListSel.CDS_Main.fieldbyname('GANGHAO').AsString); FieldByName('MJID').Value := Trim(frmCKProductBCPKCListSel.CDS_Main.fieldbyname('MJID').AsString); FieldByName('SQQty').Value := Trim(frmCKProductBCPKCListSel.CDS_Main.fieldbyname('Qty').AsString); FieldByName('MJXH').Value := Trim(frmCKProductBCPKCListSel.CDS_Main.fieldbyname('MJXH').AsString); FieldByName('SQPS').Value := 1; FieldByName('SFKP').Value := '否'; FieldByName('cangwei').Value := Trim(frmCKProductBCPKCListSel.CDS_Main.fieldbyname('rkplace').AsString); FieldByName('orderUnit').Value := Trim(HZUnit.Text); FieldByName('KCQty').Value := Trim(frmCKProductBCPKCListSel.CDS_Main.fieldbyname('Qty').AsString); FieldByName('KCKGQty').Value := Trim(frmCKProductBCPKCListSel.CDS_Main.fieldbyname('KGQty').AsString); // if (Trim(frmCKProductBCPKCListSel.CDS_Main.fieldbyname('ddunit').AsString) = 'KG') or (Trim(frmCKProductBCPKCListSel.CDS_Main.fieldbyname('ddunit').AsString) = '公斤') then if (Trim(HZUnit.Text) = 'KG') or (Trim(HZUnit.Text) = '公斤') then begin FieldByName('SQQty').Value := Trim(frmCKProductBCPKCListSel.CDS_Main.fieldbyname('KGQty').AsString); end else begin FieldByName('SQQty').Value := Trim(frmCKProductBCPKCListSel.CDS_Main.fieldbyname('Qty').AsString); end; Post; end; end; CDS_Main.Delete; end; end; end; finally frmCKProductBCPKCListSel.Free; end; end; procedure TfrmFHSQInPutXH.cv1Column3PropertiesEditValueChanged(Sender: TObject); var mvalue, FFieldName: string; FQty, FPrice, FMxMoney, FBGFee, FJM: double; begin mvalue := TcxTextEdit(Sender).EditingText; FFieldName := Trim(Tv1.Controller.FocusedColumn.DataBinding.FilterFieldName); if Trim(mvalue) = '' then begin mvalue := '0'; end; with Order_Sub do begin Edit; FieldByName(FFieldName).Value := Trim(mvalue); Post; end; with Order_Sub do begin FQty := FieldByName('sqqty').AsFloat; FPrice := FieldByName('Price').AsFloat; FBGFee := FieldByName('BGFee').AsFloat; // FJM := FieldByName('ADDM').AsFloat; end; FMxMoney := strtofloat(format('%.2f', [(FQty) * FPrice + FBGFee])); with Order_Sub do begin Edit; FieldbyName('Money').Value := FMxMoney; Post; end; tv1.Controller.EditingController.ShowEdit(); end; procedure TfrmFHSQInPutXH.FHDZBtnUpClick(Sender: TObject); begin try frmZDYHelp := TfrmZDYHelp.Create(Application); with frmZDYHelp do begin flag := 'FHDZ'; flagname := '发货地址'; if ShowModal = 1 then begin Self.FHDZ.Text := Trim(frmZDYHelp.ClientDataSet1.fieldbyname('ZdyName').AsString); end; end; finally frmZDYHelp.Free; end; end; procedure TfrmFHSQInPutXH.SalesmanBtnUpClick(Sender: TObject); begin try frmZDYHelp := TfrmZDYHelp.Create(Application); with frmZDYHelp do begin flag := 'YWY'; flagname := '业务员'; if ShowModal = 1 then begin Self.Salesman.Text := Trim(frmZDYHelp.ClientDataSet1.fieldbyname('ZdyName').AsString); end; end; finally frmZDYHelp.Free; end; end; procedure TfrmFHSQInPutXH.SalesmanBtnDnClick(Sender: TObject); begin Salesman.Text := ''; end; procedure TfrmFHSQInPutXH.GSTTBtnUpClick(Sender: TObject); begin try frmZDYHelp := TfrmZDYHelp.Create(Application); with frmZDYHelp do begin flag := 'GSTT'; flagname := '公司抬头'; if ShowModal = 1 then begin Self.GSTT.Text := Trim(frmZDYHelp.ClientDataSet1.fieldbyname('ZdyName').AsString); end; end; finally frmZDYHelp.Free; end; end; procedure TfrmFHSQInPutXH.HZUnitBtnDnClick(Sender: TObject); begin if not Order_Sub.IsEmpty then begin Application.MessageBox('明细数据已选择,不能修改!', '提示', 0); exit; end; HZUnit.Text := ''; end; procedure TfrmFHSQInPutXH.HZUnitBtnUpClick(Sender: TObject); begin if not Order_Sub.IsEmpty then begin Application.MessageBox('明细数据已选择,不能修改!', '提示', 0); exit; end; try frmZDYHelp := TfrmZDYHelp.Create(Application); with frmZDYHelp do begin flag := 'HZUnit'; flagname := '数量单位'; if ShowModal = 1 then begin Self.HZUnit.Text := Trim(frmZDYHelp.ClientDataSet1.fieldbyname('ZdyName').AsString); end; end; finally frmZDYHelp.Free; end; end; procedure TfrmFHSQInPutXH.NoteKeyPress(Sender: TObject; var Key: Char); begin if Key = #13 then begin Key := #32; end; end; end.