unit U_YSKInput; interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, ComCtrls, ToolWin, cxStyles, cxCustomData, cxGraphics, cxFilter, cxData, cxDataStorage, cxEdit, DB, cxDBData, cxGridLevel, cxClasses, cxControls, cxGridCustomView, cxGridCustomTableView, cxGridTableView, cxGridDBTableView, cxGrid, cxGridCustomPopupMenu, cxGridPopupMenu, ADODB, DBClient, ExtCtrls, StdCtrls, BtnEdit, cxButtonEdit, cxTextEdit, cxDropDownEdit, cxLookAndFeels, cxLookAndFeelPainters, cxNavigator, cxCurrencyEdit, dxSkinsCore, dxSkinsDefaultPainters, dxSkinscxPCPainter; type TfrmYSKInput = class(TForm) DataSource1: TDataSource; YFSub: TClientDataSet; cxGridPopupMenu1: TcxGridPopupMenu; ToolBar1: TToolBar; TSave: TToolButton; TBClose: TToolButton; ToolBar2: TToolBar; TADD: TToolButton; TDEl: TToolButton; Panel1: TPanel; cxGrid1: TcxGrid; Tv1: TcxGridDBTableView; v1P_Spec: TcxGridDBColumn; v1Qty: TcxGridDBColumn; v1Price: TcxGridDBColumn; v1QtyUnit: TcxGridDBColumn; v1Money: TcxGridDBColumn; v1note: TcxGridDBColumn; cxGridLevel1: TcxGridLevel; Label1: TLabel; YFID: TEdit; Label2: TLabel; Label3: TLabel; CRTime: TDateTimePicker; Note: TMemo; PayMent: TBtnEditA; FactoryName: TBtnEditA; Label4: TLabel; Label6: TLabel; ADOQueryTmp: TADOQuery; ADOQueryCmd: TADOQuery; Label8: TLabel; FtySYRName: TBtnEditA; Label9: TLabel; Money: TEdit; Label10: TLabel; HuiLv: TEdit; BZType: TComboBox; Label11: TLabel; Label12: TLabel; BBMoney: TEdit; v1Column3: TcxGridDBColumn; Label7: TLabel; v1Column4: TcxGridDBColumn; v1Column5: TcxGridDBColumn; Label5: TLabel; ishs: TComboBox; Label13: TLabel; SYRName: TBtnEditA; ToolButton2: TToolButton; YFName: TBtnEditA; ToolButton4: TToolButton; v1Column6: TcxGridDBColumn; v1Column8: TcxGridDBColumn; Label14: TLabel; YWY: TBtnEditA; Label15: TLabel; YWZB: TBtnEditA; Tv1Column1: TcxGridDBColumn; ToolButton1: TToolButton; ToolButton3: TToolButton; Label16: TLabel; MDTT: TBtnEditA; lblDJSJ: TLabel; Tv1Column2: TcxGridDBColumn; Tv1Column3: TcxGridDBColumn; Tv1Column4: TcxGridDBColumn; cxStyleRepository1: TcxStyleRepository; cxStyle1: TcxStyle; ToolButton5: TToolButton; Tv1Column5: TcxGridDBColumn; procedure TBCloseClick(Sender: TObject); procedure FormShow(Sender: TObject); procedure TSaveClick(Sender: TObject); procedure FactoryNameBtnClick(Sender: TObject); procedure PayMentBtnClick(Sender: TObject); procedure v1P_SpecPropertiesButtonClick(Sender: TObject; AButtonIndex: Integer); procedure v1QtyUnitPropertiesButtonClick(Sender: TObject; AButtonIndex: Integer); procedure TADDClick(Sender: TObject); procedure TDElClick(Sender: TObject); procedure v1QtyPropertiesEditValueChanged(Sender: TObject); procedure FtySYRNameBtnClick(Sender: TObject); procedure v1Column3PropertiesButtonClick(Sender: TObject; AButtonIndex: Integer); procedure HuiLvKeyPress(Sender: TObject; var Key: Char); procedure Panel1Click(Sender: TObject); procedure HuiLvExit(Sender: TObject); procedure v1MoneyPropertiesEditValueChanged(Sender: TObject); procedure ToolButton2Click(Sender: TObject); procedure YFNameBtnClick(Sender: TObject); procedure SYRNameBtnClick(Sender: TObject); procedure ToolButton4Click(Sender: TObject); procedure YWYBtnClick(Sender: TObject); procedure YWZBBtnClick(Sender: TObject); procedure ToolButton1Click(Sender: TObject); procedure ToolButton3Click(Sender: TObject); procedure MDTTBtnClick(Sender: TObject); procedure ToolButton5Click(Sender: TObject); procedure Tv1Column3PropertiesButtonClick(Sender: TObject; AButtonIndex: Integer); private procedure initGrid(); procedure SaveDate(); procedure HJJE(); { Private declarations } public FYFID: string; { Public declarations } end; var frmYSKInput: TfrmYSKInput; implementation uses U_Fun10, U_ZDYHelp, U_ZdyAttachment, U_dataLink, U_ZdyAttachGYS, U_CPManageSel, U_YSSCList, U_SXXSListSel, U_PBCKlistSel, U_ZZJWLCKListSel, U_TCLIST, U_JYLIST, U_PBCKList, U_PBXSListSel2; {$R *.dfm} procedure TfrmYSKInput.HJJE(); var FMoney, FHuiLv, FBBMoney: double; begin if TV1.DataController.Summary.FooterSummaryValues[1] <> NULL then FMoney := TV1.DataController.Summary.FooterSummaryValues[1] else FMoney := 0; FHuiLv := strtofloat(HuiLv.Text); if FHuiLv = 0 then FHuiLv := 1; FBBMoney := FHuiLv * FMoney; Money.Text := floattostr(FMoney); HuiLv.Text := floattostr(FHuiLv); BBMoney.Text := floattostr(FBBMoney); end; procedure TfrmYSKInput.SaveDate(); var MaxYFSID, MaxYFID: string; begin ADOQueryCmd.Connection.BeginTrans; try if trim(FYFID) = '' then begin if GetLSNo(ADOQueryTmp, MaxYFID, 'YS', 'YF_Money_CR_Sub', 4, 1) = False then begin Application.MessageBox('取最大号失败!', '提示', 0); Exit; end; YFID.Text := MaxYFID; end else begin MaxYFID := trim(FYFID); end; with ADOQueryCmd do begin close; sql.Clear; sql.add('select * from YF_Money_CR where YFID=' + quotedstr(FYFID)); open; end; with ADOQueryCmd do begin if trim(FYFID) = '' then begin append; Fieldbyname('YFID').value := trim(MaxYFID); FieldByName('CRType').Value := '应收款登记'; FieldByName('CRFlag').Value := '应收收'; FieldByName('QtyFlag').Value := 1; FieldByName('status').Value := '0'; FieldByName('Filler').Value := Trim(DName); end else begin edit; FieldByName('Editer').Value := Trim(DName); FieldByName('EditTime').Value := SGetServerDateTime(ADOQueryTmp); end; SSetsaveSqlnew(ADOQueryCmd, 'YF_Money_CR', panel1, 0); post; end; with YFSub do begin first; while not eof do begin if fieldbyname('YFSID').AsString = '' then begin if GetLSNo(ADOQueryTmp, MaxYFSID, 'YSS', 'YF_Money_CR_Sub', 4, 1) = False then begin Application.MessageBox('取最大号失败!', '提示', 0); Exit; end; end else begin MaxYFSID := YFSub.fieldbyname('YFSID').AsString; end; with ADOQueryCmd do begin close; sql.Clear; sql.add('select * from YF_Money_CR_Sub where YFSID=' + Quotedstr(trim(MaxYFSID))); open; end; if ADOQueryCmd.IsEmpty then begin ADOQueryCmd.append; ADOQueryCmd.Fieldbyname('YFSID').value := trim(MaxYFSID); ADOQueryCmd.Fieldbyname('YFID').value := trim(MaxYFID); end else begin ADOQueryCmd.edit; end; SSetSaveDataCDSNew(ADOQueryCmd, Tv1, YFSub, 'YF_Money_CR_Sub', 0); ADOQueryCmd.Post; if YFSub.Fieldbyname('KXTYPE').AsString = '样布销售' then begin with ADOQueryTmp do begin close; sql.Clear; sql.add('update CK_Sample_CR SET PRICE=' + Trim(YFSub.Fieldbyname('PRICE').AsString)); // SQL.Add(',LSMONEY=' + Trim(YFSub.Fieldbyname('LSFEE').AsString)); SQL.Add(',MONEY=(qty*' + Trim(YFSub.Fieldbyname('PRICE').AsString)); sql.Add('+isnull(lsmoney,0)'); sql.Add('-isnull(JMmoney,0)'); sql.Add(')'); SQL.Add('WHERE INOUTNO=' + QuotedStr((YFSub.Fieldbyname('YFPZNO').AsString))); SQL.Add('AND P_CODE=' + QuotedStr((YFSub.Fieldbyname('CPCode').AsString))); SQL.Add('AND P_COLOR=' + QuotedStr((YFSub.Fieldbyname('CPCoLOR').AsString))); sql.Add('insert into SY_SysLog(operor,opertime,Model,acction,opevent,result) values( '); sql.Add(' ' + quotedstr(trim(DName))); sql.Add(',getdate() '); sql.Add(',' + quotedstr(trim(self.Caption))); sql.Add(',' + quotedstr(trim('财务修改样品单价'))); sql.Add(',' + quotedstr(trim('单号:' + trim(YFSub.Fieldbyname('YFPZNO').AsString) + '品名' + trim(YFSub.Fieldbyname('CPCode').AsString) + '单价' + trim(YFSub.Fieldbyname('Price').AsString)))); sql.Add(',' + quotedstr(trim('成功'))); sql.Add(')'); ExecSQL; end; end; if YFSub.Fieldbyname('KXTYPE').AsString = '大货销售' then begin with ADOQueryTmp do begin close; sql.Clear; sql.add('update FHSQ_Sub SET PRICE=' + Trim(YFSub.Fieldbyname('PRICE').AsString)); // SQL.Add(',LSMONEY=' + Trim(YFSub.Fieldbyname('LSFEE').AsString)); SQL.Add(',MONEY=(SQqty*' + Trim(YFSub.Fieldbyname('PRICE').AsString)); sql.Add('+isnull(bgfee,0)'); sql.Add(')'); SQL.Add('WHERE fsid=' + QuotedStr((YFSub.Fieldbyname('YFPZNO').AsString))); SQL.Add('AND sprtcode=' + QuotedStr((YFSub.Fieldbyname('CPCode').AsString))); SQL.Add('AND prtcolor=' + QuotedStr((YFSub.Fieldbyname('CPCoLOR').AsString))); SQL.Add('AND ganghao=' + QuotedStr((YFSub.Fieldbyname('CPGANGNO').AsString))); // ShowMessage(SQL.Text); sql.Add('insert into SY_SysLog(operor,opertime,Model,acction,opevent,result) values( '); sql.Add(' ' + quotedstr(trim(DName))); sql.Add(',getdate() '); sql.Add(',' + quotedstr(trim(self.Caption))); sql.Add(',' + quotedstr(trim('财务修改大货单价'))); sql.Add(',' + quotedstr(trim('单号:' + trim(YFSub.Fieldbyname('YFPZNO').AsString) + '品名' + trim(YFSub.Fieldbyname('CPCode').AsString) + '单价' + trim(YFSub.Fieldbyname('Price').AsString)))); sql.Add(',' + quotedstr(trim('成功'))); sql.Add(')'); ExecSQL; end; end; next; end; end; ADOQueryCmd.Connection.CommitTrans; application.MessageBox('保存成功!', '提示'); // Modalresult:=1; FYFID := ''; initGrid(); except ADOQueryCmd.Connection.RollbackTrans; application.MessageBox('保存失败!', '提示', MB_ICONERROR); end; end; procedure TfrmYSKInput.initGrid(); begin with ADOQueryTmp do begin close; sql.Clear; sql.Add('select * from YF_Money_CR where YFID=' + quotedstr(trim(FYFID))); open; end; if ADOQueryTmp.isempty = False then begin SCSHDataNew(ADOQueryTmp, Panel1, 0); lblDJSJ.Caption := '登记时间:' + ADOQueryTmp.fieldbyname('filltime').asstring; end else begin SYRName.Text := ''; FactoryName.Text := ''; PayMent.Text := ''; Note.Text := ''; YFID.Text := ''; YFName.Text := ''; BBMoney.Text := '0'; Money.Text := '0'; HuiLv.Text := '1'; CRTime.DateTime := SGetServerDate(ADOQueryTmp); end; with ADOQueryTmp do begin close; sql.Clear; sql.Add('select * from YF_Money_CR_Sub where YFID=''' + trim(FYFID) + ''''); open; end; SCreateCDS20(ADOQueryTmp, YFSub); SInitCDSData20(ADOQueryTmp, YFSub); end; procedure TfrmYSKInput.TBCloseClick(Sender: TObject); begin WriteCxGrid(trim(self.Caption), Tv1, '财务管理'); Close; end; procedure TfrmYSKInput.FormShow(Sender: TObject); begin ReadCxGrid(trim(self.Caption), Tv1, '财务管理'); initGrid(); end; procedure TfrmYSKInput.TSaveClick(Sender: TObject); begin yfname.SetFocus; if YFSub.IsEmpty then begin application.MessageBox('明细不能为空', '提示'); exit; end; if trim(YWY.Text) = '' then begin application.MessageBox('业务员不能为空', '提示'); exit; end; if trim(YWZB.Text) = '' then begin application.MessageBox('业务组别不能为空', '提示'); exit; end; if YFSub.Locate('KXType', null, []) then begin application.MessageBox('款项类型不能为空', '提示'); exit; end; if YFSub.Locate('KXType', '', []) then begin application.MessageBox('款项类型不能为空', '提示'); exit; end; if trim(FactoryName.Text) = '' then begin application.MessageBox('对方单位不能为空', '提示'); exit; end; SaveDate(); end; procedure TfrmYSKInput.FactoryNameBtnClick(Sender: TObject); begin try frmZdyAttachment := TfrmZdyAttachment.Create(Application); with frmZdyAttachment do begin if ShowModal = 1 then begin FactoryName.Text := Trim(CDS_HZ.fieldbyname('CoName').AsString); FtySYRName.Text := Trim(CDS_HZ.fieldbyname('CoName').AsString); self.YWY.Text := Trim(CDS_HZ.fieldbyname('salesman').AsString); self.YWZB.Text := Trim(CDS_HZ.fieldbyname('SalesClass').AsString); end; end; finally frmZdyAttachment.Free; end; end; procedure TfrmYSKInput.PayMentBtnClick(Sender: TObject); begin try frmZDYHelp := TfrmZDYHelp.Create(Application); with frmZDYHelp do begin flag := 'PayMent'; flagname := '收款方式'; if ShowModal = 1 then begin PayMent.Text := Trim(ClientDataSet1.fieldbyname('ZDYName').AsString); end; end; finally frmZDYHelp.Free; end; end; procedure TfrmYSKInput.v1P_SpecPropertiesButtonClick(Sender: TObject; AButtonIndex: Integer); begin try frmZDYHelp := TfrmZDYHelp.Create(Application); with frmZDYHelp do begin flag := 'KXType3'; flagname := '款项类型'; if ShowModal = 1 then begin Self.YFSub.Edit; Self.YFSub.FieldByName('KXType').Value := Trim(ClientDataSet1.fieldbyname('ZDYName').AsString); end; end; finally frmZDYHelp.Free; end; end; procedure TfrmYSKInput.v1QtyUnitPropertiesButtonClick(Sender: TObject; AButtonIndex: Integer); begin try frmZDYHelp := TfrmZDYHelp.Create(Application); with frmZDYHelp do begin flag := 'QtyUnit'; flagname := '数量单位'; if ShowModal = 1 then begin Self.YFSub.Edit; Self.YFSub.FieldByName('QtyUnit').Value := Trim(ClientDataSet1.fieldbyname('ZDYName').AsString); end; end; finally frmZDYHelp.Free; end; end; procedure TfrmYSKInput.TADDClick(Sender: TObject); begin with YFSub do begin Append; FieldByName('Qty').Value := 0; FieldByName('Price').Value := 0; FieldByName('MxMoney').Value := 0; Post; end; end; procedure TfrmYSKInput.TDElClick(Sender: TObject); begin if YFSub.IsEmpty then exit; if application.MessageBox('确定要删除吗', '提示', 1) = 2 then exit; if trim(YFSub.fieldbyname('YFSID').asstring) = '' then begin YFSub.delete; HJJE(); end else begin with ADOQueryCmd do begin close; sql.clear; sql.add('delete from YF_Money_CR_Sub where YFSID=''' + trim(YFSub.fieldbyname('YFSID').asstring) + ''' '); execsql; end; YFSub.delete; HJJE(); if YFSub.IsEmpty then begin with ADOQueryCmd do begin close; sql.clear; sql.add('delete from YF_Money_CR where YFID=''' + trim(FYFID) + ''' '); execsql; end; end else begin TSave.Click; end; end; end; procedure TfrmYSKInput.v1QtyPropertiesEditValueChanged(Sender: TObject); var mvalue, FFieldName: string; FQty, FPrice, FBGFEE, FMxMoney, FLSFEE, FZK: double; begin mvalue := TcxTextEdit(Sender).EditingText; FFieldName := Trim(Tv1.Controller.FocusedColumn.DataBinding.FilterFieldName); if Trim(mvalue) = '' then begin mvalue := '0'; end; with YFSub do begin Edit; FieldByName(FFieldName).Value := Trim(mvalue); Post; end; with YFSub do begin Edit; FQty := FieldByName('Qty').AsFloat; FPrice := FieldByName('Price').AsFloat; FBGFEE := FieldByName('BGFEE').AsFloat; FLSFEE := FieldByName('LSFEE').AsFloat; FZK := FieldByName('JMMONEY').AsFloat; Post; end; FMxMoney := strtofloat(format('%.2f', [FQty * FPrice + FBGFEE + FLSFEE - FZK])); with YFSub do begin Edit; FieldByName(FFieldName).Value := Trim(mvalue); FieldbyName('MxMoney').Value := FMxMoney; Post; end; tv1.Controller.EditingController.ShowEdit(); HJJE(); end; procedure TfrmYSKInput.FtySYRNameBtnClick(Sender: TObject); begin try frmZDYHelp := TfrmZDYHelp.Create(Application); with frmZDYHelp do begin flag := 'YSFtySYRName'; flagname := '对方抬头'; if ShowModal = 1 then begin FtySYRName.Text := Trim(ClientDataSet1.fieldbyname('ZdyName').AsString); end; end; finally frmZDYHelp.Free; end; end; procedure TfrmYSKInput.v1Column3PropertiesButtonClick(Sender: TObject; AButtonIndex: Integer); begin try frmZDYHelp := TfrmZDYHelp.Create(Application); with frmZDYHelp do begin flag := 'MPRTCodeName'; flagname := '产品名称'; if ShowModal = 1 then begin with YFSub do begin Edit; FieldByName('CPName').Value := Trim(ClientDataSet1.fieldbyname('ZDYName').AsString); FieldByName('CPCode').Value := Trim(ClientDataSet1.fieldbyname('ZDYNo').AsString); end; end; end; finally frmZDYHelp.Free; end; //self.tv1.Controller.EditingController.ShowEdit(); end; procedure TfrmYSKInput.HuiLvKeyPress(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 TfrmYSKInput.Panel1Click(Sender: TObject); begin yfname.SetFocus; end; procedure TfrmYSKInput.HuiLvExit(Sender: TObject); begin HJJE(); end; procedure TfrmYSKInput.v1MoneyPropertiesEditValueChanged(Sender: TObject); var mvalue, FFieldName: string; begin mvalue := TcxTextEdit(Sender).EditingText; FFieldName := Trim(Tv1.Controller.FocusedColumn.DataBinding.FilterFieldName); if Trim(mvalue) = '' then begin mvalue := '0'; end; with YFSub do begin Edit; FieldByName(FFieldName).Value := Trim(mvalue); Post; end; tv1.Controller.EditingController.ShowEdit(); HJJE(); end; procedure TfrmYSKInput.ToolButton2Click(Sender: TObject); var CFactoryName, CKXType: string; CQtyFlag: integer; begin try frmSXXSListSel := TfrmSXXSListSel.create(self); with frmSXXSListSel do begin if showmodal = 1 then begin CFactoryName := Trim(CDS_Main.fieldbyname('CustomerNoName').AsString); if trim(CFactoryName) <> Trim(CDS_Main.fieldbyname('CustomerNoName').AsString) then begin Application.MessageBox('不能选择多个对方单位!', '提示'); Exit; end; if FactoryName.Text <> '' then begin if trim(CFactoryName) <> Trim(FactoryName.Text) then begin Application.MessageBox('不能选择多个对方单位!', '提示'); exit; end; end; CRTime.DateTime := CDS_Main.fieldbyname('wcdate').AsDateTime; FtySYRName.Text := CDS_Main.fieldbyname('CustomerNoName').AsString; FactoryName.Text := CDS_Main.fieldbyname('CustomerNoName').AsString; MDTT.Text := CDS_Main.fieldbyname('CustomerNoName').AsString; YWY.Text := CDS_Main.fieldbyname('Salesman').AsString; YWZB.Text := CDS_Main.fieldbyname('SalesCLASS').AsString; NOTE.Text := CDS_Main.fieldbyname('NOTE').AsString; ISHS.Text := CDS_Main.fieldbyname('ISHS').AsString; with CDS_SUB do begin First; while not Eof do begin self.YFSub.Append; self.YFSub.FieldByName('YFPZNO').Value := CDS_Main.FieldByName('FSID').Value; self.YFSub.FieldByName('KXType').Value := '大货销售'; self.YFSub.FieldByName('CPCode').Value := CDS_SUB.FieldByName('SPrtCodeName').Value; self.YFSub.FieldByName('CPKH').Value := CDS_SUB.FieldByName('kuanhao').Value; self.YFSub.FieldByName('SEASON').Value := CDS_SUB.FieldByName('SEASON').Value; self.YFSub.FieldByName('CPColor').Value := CDS_SUB.FieldByName('prtcolor').Value; self.YFSub.FieldByName('CPgangno').Value := CDS_SUB.FieldByName('ganghao').Value; self.YFSub.FieldByName('PS').Value := CDS_SUB.FieldByName('FHPS').AsInteger; self.YFSub.FieldByName('QtyUnit').Value := CDS_Main.FieldByName('hzunit').Value; if (CDS_Main.FieldByName('hzunit').Value = 'KG') or (CDS_Main.FieldByName('hzunit').Value = '公斤') then begin self.YFSub.FieldByName('Qty').Value := CDS_SUB.FieldByName('FHQTY').AsFloat; end else begin self.YFSub.FieldByName('Qty').Value := CDS_SUB.FieldByName('FHms').AsFloat; end; self.YFSub.FieldByName('Price').Value := CDS_SUB.FieldByName('Price').AsFloat; self.YFSub.FieldByName('BGFEE').Value := CDS_SUB.FieldByName('BGFEE').AsFloat; self.YFSub.FieldByName('MxMoney').Value := CDS_SUB.FieldByName('Money').AsFloat; self.YFSub.post; Next; end; end; HJJE(); end; end; finally frmSXXSListSel.free; end; end; procedure TfrmYSKInput.YFNameBtnClick(Sender: TObject); begin try frmZDYHelp := TfrmZDYHelp.Create(Application); with frmZDYHelp do begin flag := 'YFName3'; flagname := '项目及摘要'; if ShowModal = 1 then begin YFName.Text := Trim(ClientDataSet1.fieldbyname('ZDYName').AsString); end; end; finally frmZDYHelp.Free; end; end; procedure TfrmYSKInput.SYRNameBtnClick(Sender: TObject); begin try frmZDYHelp := TfrmZDYHelp.Create(Application); with frmZDYHelp do begin flag := 'GSTTPB'; flagname := '供方'; V1Name.Caption := '中文名称'; if ShowModal = 1 then begin SYRName.Text := Trim(ClientDataSet1.fieldbyname('ZdyName').AsString); end; end; finally frmZDYHelp.Free; end; end; procedure TfrmYSKInput.ToolButton4Click(Sender: TObject); begin if YFSub.IsEmpty = False then begin CopyAddRowCDS(YFSub); with YFSub do begin Edit; FieldByName('YFSID').Value := null; post; end; end; end; procedure TfrmYSKInput.YWYBtnClick(Sender: TObject); begin try frmZDYHelp := TfrmZDYHelp.Create(Application); with frmZDYHelp do begin flag := 'YWY'; flagname := '业务员'; if ShowModal = 1 then begin Self.YWY.Text := Trim(frmZDYHelp.ClientDataSet1.fieldbyname('ZdyName').AsString); end; end; finally frmZDYHelp.Free; end; end; procedure TfrmYSKInput.YWZBBtnClick(Sender: TObject); begin try frmZDYHelp := TfrmZDYHelp.Create(Application); with frmZDYHelp do begin flag := 'SalesClass'; flagname := '业务组别'; if ShowModal = 1 then begin YWZB.Text := Trim(frmZDYHelp.ClientDataSet1.fieldbyname('ZdyName').AsString); end; end; finally frmZDYHelp.Free; end; end; procedure TfrmYSKInput.ToolButton1Click(Sender: TObject); var CFactoryName: string; begin try frmTCLIST := TfrmTCLIST.create(self); with frmTCLIST do begin if showmodal = 1 then begin CFactoryName := Trim(Order_Main.fieldbyname('CustomerNoName').AsString); if trim(CFactoryName) <> Trim(Order_Main.fieldbyname('CustomerNoName').AsString) then begin Application.MessageBox('不能选择多个对方单位!', '提示'); Exit; end; if FactoryName.Text <> '' then begin if trim(CFactoryName) <> Trim(FactoryName.Text) then begin Application.MessageBox('不能选择多个对方单位!', '提示'); exit; end; end; CRTime.DateTime := Order_Main.fieldbyname('TCDate').AsDateTime; // FactoryName.Text := Order_Main.fieldbyname('CustomerNoName').AsString; MDTT.Text := Order_Main.fieldbyname('CustomerNoName').AsString; NOTE.Text := Order_Main.fieldbyname('NOTE').AsString; ywy.Text := Order_Main.fieldbyname('ywy').AsString; YWZB.Text := Order_Main.fieldbyname('YWZB').AsString; with CDS_SUB do begin First; while not Eof do begin self.YFSub.Append; self.YFSub.FieldByName('YFPZNO').Value := Order_Main.FieldByName('MAINID').Value; self.YFSub.FieldByName('KXType').Value := '客户退货'; self.YFSub.FieldByName('CPCode').Value := CDS_SUB.FieldByName('PRTCODE').Value; self.YFSub.FieldByName('CPColor').Value := CDS_SUB.FieldByName('PRTCOlor').Value; self.YFSub.FieldByName('PS').Value := 0 - (CDS_SUB.FieldByName('zjyps').AsInteger + +CDS_SUB.FieldByName('fjyps').AsFloat); self.YFSub.FieldByName('QtyUnit').Value := CDS_SUB.FieldByName('OrderUnit').Value; self.YFSub.FieldByName('Qty').Value := 0 - (CDS_SUB.FieldByName('zjyqty').AsFloat + CDS_SUB.FieldByName('fjyqty').AsFloat); self.YFSub.post; Next; end; end; self.FactoryName.Text := Trim(CFactoryName); FtySYRName.Text := Trim(CFactoryName); HJJE(); end; end; finally frmTCLIST.free; end; end; procedure TfrmYSKInput.ToolButton3Click(Sender: TObject); var CFactoryName: string; begin try frmJYGLlistSH := TfrmJYGLlistSH.create(self); with frmJYGLlistSH do begin if showmodal = 1 then begin CFactoryName := Trim(CDS_Main.fieldbyname('toFactoryName').AsString); if trim(CFactoryName) <> Trim(CDS_Main.fieldbyname('toFactoryName').AsString) then begin Application.MessageBox('不能选择多个对方单位!', '提示'); Exit; end; if FactoryName.Text <> '' then begin if trim(CFactoryName) <> Trim(FactoryName.Text) then begin Application.MessageBox('不能选择多个对方单位!', '提示'); exit; end; end; CRTime.DateTime := CDS_Main.fieldbyname('CRTime').AsDateTime; YWY.Text := CDS_Main.fieldbyname('salesman').AsString; ywzb.Text := CDS_Main.fieldbyname('ywzb').AsString; MDTT.Text := CDS_Main.fieldbyname('ToFactoryName').AsString; NOTE.Text := CDS_Main.fieldbyname('ZBZNOTE').AsString; FtySYRName.Text := CFactoryName; self.FactoryName.Text := CFactoryName; with CDS_SUB do begin First; while not Eof do begin self.YFSub.Append; self.YFSub.FieldByName('YFPZNO').Value := CDS_Main.FieldByName('INOUTNO').Value; self.YFSub.FieldByName('SEASON').Value := CDS_Main.FieldByName('SEASON').Value; self.YFSub.FieldByName('KXType').Value := '样布销售'; self.YFSub.FieldByName('CPCode').Value := CDS_SUB.FieldByName('P_Code').Value; self.YFSub.FieldByName('CPColor').Value := CDS_SUB.FieldByName('P_Color').Value; self.YFSub.FieldByName('CPgangno').Value := CDS_SUB.FieldByName('gangno').Value; self.YFSub.FieldByName('PS').Value := 0; self.YFSub.FieldByName('QtyUnit').Value := CDS_SUB.FieldByName('QtyUnit').Value; self.YFSub.FieldByName('Qty').Value := CDS_SUB.FieldByName('qty').AsFloat; self.YFSub.FieldByName('PRICE').Value := CDS_SUB.FieldByName('PRICE').AsFloat; self.YFSub.FieldByName('LSFEE').Value := CDS_SUB.FieldByName('LSMONEY').AsFloat; self.YFSub.FieldByName('JMMONEY').Value := CDS_SUB.FieldByName('JMMONEY').AsFloat; self.YFSub.FieldByName('MxMoney').Value := CDS_SUB.FieldByName('JISUANMONEY').AsFloat; self.YFSub.post; Next; end; end; HJJE(); end; end; finally frmJYGLlistSH.free; end; end; procedure TfrmYSKInput.MDTTBtnClick(Sender: TObject); begin try frmZDYHelp := TfrmZDYHelp.Create(Application); with frmZDYHelp do begin flag := 'MDTT'; flagname := '码单抬头'; // V1Name.Caption := '中文名称'; if ShowModal = 1 then begin mdtt.Text := Trim(ClientDataSet1.fieldbyname('ZdyName').AsString); end; end; finally frmZDYHelp.Free; end; end; procedure TfrmYSKInput.ToolButton5Click(Sender: TObject); var CFactoryName, CKXType: string; CQtyFlag: integer; begin try frmPBOUTSQList2 := tfrmPBOUTSQList2.create(self); with frmPBOUTSQList2 do begin with frmPBOUTSQList2 do begin // FCKName := '坯布'; if showmodal = 1 then begin CFactoryName := Trim(CDS_Main.fieldbyname('toFactoryName').AsString); CRTime.DateTime := CDS_Main.fieldbyname('CRTime').AsDateTime; YFName.Text := '坯布'; YWY.Text := CDS_Main.fieldbyname('YWY').AsString; YWZB.Text := CDS_Main.fieldbyname('YWZB').AsString; with CDS_HZ do begin First; while not Eof do begin if trim(CFactoryName) <> Trim(CDS_Main.fieldbyname('toFactoryName').AsString) then begin Application.MessageBox('不能选择多个对方单位!', '提示', 0); Exit; end; self.YFSub.Append; self.YFSub.FieldByName('YFPZNO').Value := cds_hz.FieldByName('SPID').Value; self.YFSub.FieldByName('MXOrderNo').Value := cds_hz.FieldByName('QCorderNo').Value; self.YFSub.FieldByName('CPCode').Value := cds_hz.FieldByName('SPCode').Value; self.YFSub.FieldByName('RKDATE').Value := cds_hz.FieldByName('CRTIME').Value; self.YFSub.FieldByName('CPSpec').Value := cds_hz.FieldByName('SPSpec').Value; self.YFSub.FieldByName('CPBatchNO').Value := cds_hz.FieldByName('PIHAO').Value; self.YFSub.FieldByName('CPColor').Value := cds_hz.FieldByName('SPColor').Value; self.YFSub.FieldByName('CPGANGNO').Value := cds_hz.FieldByName('GANGNO').Value; self.YFSub.FieldByName('CPMF').Value := cds_hz.FieldByName('SPMF').Value; self.YFSub.FieldByName('CPKZ').Value := cds_hz.FieldByName('SPKZ').Value; self.YFSub.FieldByName('SLD').Value := cds_hz.FieldByName('SLD').Value; CQtyFlag := 1; CKXType := '坯布销售'; self.YFSub.FieldByName('KXType').Value := CKXType; self.YFSub.FieldByName('PS').Value := CQtyFlag * cds_hz.FieldByName('PiQty').AsInteger; self.YFSub.FieldByName('Qty').Value := CQtyFlag * cds_hz.FieldByName('Qty').AsFloat; self.YFSub.FieldByName('QtyUnit').Value := cds_hz.FieldByName('QtyUnit').Value; self.YFSub.FieldByName('Price').Value := cds_hz.FieldByName('Price').AsFloat; self.YFSub.FieldByName('MxMoney').Value := CQtyFlag * cds_hz.FieldByName('Price').AsFloat * cds_hz.FieldByName('Qty').AsFloat; self.YFSub.post; Next; end; end; self.FactoryName.Text := Trim(CFactoryName); HJJE(); end; end; end; finally frmPBOUTSQList2.free; end; end; procedure TfrmYSKInput.Tv1Column3PropertiesButtonClick(Sender: TObject; AButtonIndex: Integer); begin try frmZDYHelp := TfrmZDYHelp.Create(Application); with frmZDYHelp do begin flag := 'SEASON'; flagname := '季度'; if ShowModal = 1 then begin with YFSub do begin Edit; YFSub.fieldbyname('season').AsString := Trim(ClientDataSet1.fieldbyname('ZDYName').AsString); Post; end; end; end; finally frmZDYHelp.Free; end; end; end.