




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、第1章概述11.1研究背景11.2项目开发的目的和意义11.3系统的开发方法2第2章相关技术31VisualBasic编程语言32.2ORACLE数据库43快速开发工具42.4多线程的同步和异步5第3章系统设计62. 1可行性分析63.2需求分析63.3系统功能模块73.4系统设计基于的付款业务流程图83.5数据库设计10第4章编码与实现183. 1系统登录184.2新建及保存业务单据224.3支付单据参照254.4支付安全控制30第5章系统测试365.1登录模块的测试365.2对公支付单据支付功能的测试375.3支付信息查询的测试37结论38企业业务与资金流转一体化系统图3-1系统的主要功能
2、模块图参数设置,包括支付参数设置、短信参数设置、支付额度设置、开户行基本信息、对公单位账号、对私个人账号和凭证模板,主要是对本系统涉及到的与支付安全、对公支付和对私支付有关预置信息进行设置,以提高支付效率和支付安全。对公支付,包括对公支付单、对公支付单列表和对公支付单明细查询,主要是对本系统对公支付的支付单据的添加、参照生单、修改、支付、删除、批量支付、批量单据导入和查询等操作。对私支付,包括对私支付单、对私支付单列表和对私支付单明细查询,主要是对本系统对私支付的支付单据的添加、参照生单、修改、支付、删除、批量支付、批量单据导入和查询等操作。银行对账,包括交易对账单和手续费对账单,主要对本系统
3、对公支付和对私支付所产生的支付单据和支付手续费用的查询操作。财务处理,包括财务报表,只要是对本系统财务报表的向上提交、输出和打印。2. 4系统设计基于的付款业务流程图业务流程图(TransactionFlowDiagram,TFD)就是用一些规定的符号及连线来表示某个具体业务处理过程"。业务流程图是一种描述系统内各单位、人员之间业务关系、作业顺序和管理信息流向的图表,利用它可以帮助分析人员找出业务流程中的不合理流向,它是物理模型闽。本系统设计初始所基于的付款业务流程图如图3-2所示:图3-2付款业务流程图3.5数据库设计3.5.1数据库概念结构设计数据库的概念结构设计就是对信息世界进
4、行建模,常用的概念模型是E-R模型气有了数据项和数据结构以后,就可以设计出能够满足用户需求的各种实体,以及它们之间的关系,为后面的逻辑结构设计打下基础。这些实体信息包含各种具体信息,通过相互之间的作用形成数据的流动”气由于本系统是搭载在用友U8V11.1上运行的企业支付插件,所以,其系统开发所使用的数据库结构与U8V11.1的数据库结构是一样的。根据需求分析出实体有:菜单实体、页面实体、单据实体。菜单实体是描述该系统左侧菜单栏菜单的信息,菜单实体主要有:菜单ID、菜单显示名称、菜单指向页面、菜单级别等属性,图3-3为菜单实体的ER图:页面实体是描述页面显示信息,页面实体主要有:页面ID、页面名
5、称、页面当前状态、页面所属、页面按钮栏、页面数据栏等属性,图为3-4为页面实体E-R图:数据实体是描述数据的信息,数据实体主要有:数据名称、数据表ID、数据元素一、数据元素二、数据元素三等属性,图3-5为数据实体的E-R图:5.2数据库逻辑结构设计数据库概念结构转化为数据库逻辑结构设计。木系统设计的数据库表格基于一张数据库原始表支付单据数据表EF-UZFZFD,所有单据数据表皆是仿照此表生成。表EF-UZFZFD如表3-1所示:表3-1支付单据数据表EFJJZFZFD结构设计字段名称字段类型字段长度字段说明idint11主表id,主键(自增)ccodenvarchar2()单据编码ddated
6、atetime30单据口期cmakernvarchar20制单人cmakerddatedatetime30制单日期cmodifernvarchar30变更人cnuxliferDatedaletime30变更日期cvcrificrnvarchar20审核人dverifydatedatetime30审核日期cclosernvarchar20关闭人dcloserdaiedatetime30关闭日期v(_idint20显示模板号liftstimestamp30时间戳cvouchtypenvarchai-50单据类型tcpersoncodenvarchar50人员编码lcdepcodenvarchar5
7、0部门编码t_ccuscodenvarchar50客户编码t_cvencodenvarchai*50供应商编码t_cwhcodenvarchar50仓库编码t_cinvcodenvarchar50存货编码t_ccodenvarchar50科目编码此外在网络开通企业业务与资金流转一体化系统流程中,开通申请信息表EF-APLLYINFO涉及客户详细信息。该表如表3-2所示:表3-2开通申请信息表EF-APLLYINFO结构设计字段名称字段类型字段长度字段说明idint11主键(自增)u_idint20用户idqiyenamenvarchar80企业名称yingye.nuinnvarchar20营业
8、执照号码shuiwu_numnvarchar20税务登记码zuzhi_numnvarchar20组织机构代码faien_namenvarchar20法人姓名faren_typeint20证件类别faren_numnvarchar20证件号码stateint20开通状态3.5.3数据库关键Sql语句设计该项目为方便项目快速开发及日后的客户定制开发,研发了一系列Sql脚本语句的范本。核心Sql主要包括参照过滤Sql、单据菜单页面Sql和单据参照匹配页面SqL1、参照过滤Sql此Sql语句主要是对参照过来的单据信息进行列筛选,进而将筛选之后保留的单据列信息显示在参照页面中,以便于参照。该Sql语句核
9、心部分为:insertinto.flt_definemeta_lang(FilterID,LocaleID,XMLExpression,SubNO,ProjectNO,Title)values(N,EFUZF0201N,zh-cn,N'<root><items>过滤系统定义的字段,此过滤字段将在参照过滤选择页面上自行过滤,无需用户手动选择。SQL语句如下:<itemname="str66"caption="支付渠道"columncaption=',"/><itemname="s
10、tr70ncaption=u支付时效Mcolumncaption=M'7><itemname="str6"caplion="付款银行全称"columncaption="'7><itemname="str5,'caption=n付款账号Hcolumncaption=H"/><itemname=Mb_str70"caplion="支付状态ucolumncaption="'7><itemname=nstr4"ca
11、ption=H付款单位全称Mcolumncaption="'7><itemname=Mddate"caption="单据日期Mcolumncaption='"7><itemname=',b_floatr,caption=n应付金额"columncaption="'7><itemname=,b<itemname="b<itemname=nb<itemname="b<itemname="b<itemname=&q
12、uot;b<itemname=nb<itemname="b<itemname=,b<itemname=Mb<itemname=Mb<itcmnamc="b<itemname=Mb<itemname=,b<itemname=Mb<itemname=,b<itemname=Mb<itcmname=,b<itemname=Mb<itemname="b<itemname="b<itemname=,b<itemname="b<itemname=nb
13、<itemname="b<itemname="b<itemname="b<itemname=nb<itemname="b<itemname=,b<itemname=Mb<itemname=Mb<itcmnamc="b<itemname=Mb<itemname=,b<itemname=Mb<itemname=,b<itemname=Mb<itcmname=,b<itemname=Mb<itemname="b<itemname=&q
14、uot;bfloat2"caption="支付金额"columncaption="M/>float?"caplion="手续费"columncaption='M7>strl"caption="收款账号"columncaption=",7>strl1"caption="开户行所在省"columncaption=""/>str12"caption="开户行所在市"colunmca
15、ption='M7>str18°caption="手机号"columncaption=",7>str2"caption="记录序号"columncaption="M/>str23"caption=H支付行号"columncaption=""/>str3"caption="币种”columncaption=n7>str30”caption二”来源单据类型”columncaplion=”/>str31ncaption
16、=H来源单据名称ucolumncaption=M'7>str32ncaption=M来源单据编码”columncaption二”/>str35"caption="业务对照编码"columncaption="'7>str4"caption="用途摘要"columncaption=M'7>str5"caption二”收款方银行全称ncolumncaption=H'7>str67"caption="提交支付日期"columncap
17、tion='M7>str7”caption=”收款账户名ncolumncaption=,n7>str71"caption="交易流水号Hcolumncaption=,"7>str72"caption=M支付异常信息"columncaption="7>str73"caption="备注组合信息"columncaption="'7>str8"caption="银行代码"columncaption=H,7><ite
18、mname="ccode"caption="单据编号"columncaption="'7><itemname="cmaker"caption="制单人"columncaption=""/><itemname="cmakerddate"caption=u制单Fl期"columncaption="'7><itemname="cverifier"caplion="审核人&
19、quot;columncaption=,M7>过滤用户自定义字段,此过滤字段用户在参照过滤选择页面上选择需要过滤的字段。SQL语句如下:<itcmname=,dcfincr'caption="dcfincl"columncaption=,'7><itemname="define10"caption="definelO"columncaption="'7><itemname=Hdefincl1"caption="definel1"colu
20、mncaption="'7><itemname="definel2"caption="define!2"columncaption=M,7><itemname=Mdefinel3"caption=Mdefinel3"columncaption='"7><itemname="define!4"caption="define!4"columncaption="'7><itemname=Hdefine
21、l5"caption="definel5"cohimncaption='"7><itemname="define!6"caption=,'definel6,'columncaption=,H7><itemname="define2"caption="define2"columncaption=','7><itemname=ndefine22"caption="define22"columnc
22、aption=,"7><itemname="define23"caption="define23"columncaption='"7><itcmnamc=,dcfinc24"caption="dcfinc24"columncaption=u,7><itemname=Mdefine25"caption="define25"columncaption=,"7><itemname="define26&quo
23、t;caption=,define26"columncaption='"7><itemname=ndefine27"caption="define27"columncaption="'7><itemname="define28"caption=ndefine28"columncaption=,H7><itemname="define29"caption="define29"columncaption="&
24、#39;7><itemname="define3"caption="define3"cokimncaption=','7><itemname=Mdefine30"caption="define30"columncaplion=,"7><itemname=Mdefine31"caption="define31"columncaption="'7><itemname="define32"c
25、aplion="define32"columncaption="'7><itemname=ndefine33"caption="define33"columncaption=",7><itemname=Mdefine34"caption="define34"columncaption='"7><itemname=Mdefine35"caption=,define35"cokimncaption=",7&g
26、t;<itemname=Mdefine36"caption="define36,'columncaption=,7><itemname=Mdefine37"caption="define37"columncaption=",7><itemname=Mdefine4"caption="definc4"columncaption="'7><itemname="define5"caption="define5&qu
27、ot;columncaption="'7><itemname=Mdefine6"caption="definc6"columncaption='u7><itemname=Mdefine7"caption=',define7',columncaption='H7><itcmnamc=,dcfinc8"caption="dcfiiic8"columncaption="'7><itemname=Mdefine9&qu
28、ot;caption="define9',columncaption="'7><itemname=Mdvenfydate"caption="$,®Flcolumncaption=,"7><itemname=Hstr7,'caption=H支付单状态"columncaption=",7></items></root>',N'EF,N,U8CUSTDEF,N'对公支付单列表,)2、单据菜单页面Sql此Sql语句主要针对
29、每一个单据页面进行重新部署菜单栏页面显示,及菜单按钮与后台逻辑代码之间的匹配,该Sql语句核心部分为:select*fromvoucherswhereCardNumber='AP49'select*fromsa_refervoucherconfigwherecardnum-EFUZF0201'andreferkey='AP49'deletefromsa_refervoucherconfigwherecardnum='EFUZF0201andreferkey=*AP49*insertintosa_reiervoucherconfig(cardnum
30、,referkey,maincolumnkey,detailcolumnkey,toolbarkey,subsysid,filtername,maindatasource,detaildatasourcej,selecttype,fillkeyj,mainuniquekeyJpagesize,defaultfilter,filltype,captionresid,detailuniquekey,buttonspara,uniquefids,condition,setdctailvalucs)values(,EFUZF02017AP49VEFUZF0201ANull/refvoucher1,;E
31、F;EFUZF0201A*;AP_CloseP_DuiGong2Null,Null,Null,Null,50;1=1Null,Null,Null,Null,Null,NulLNull)GOselect*fromAP_CloseP删除栏目缓存信息:deleteAA_ColumnDicCache_Mainwhereckey='EFUZF0201A'GOdeleteAA_ColumnDicCache_Detailwhereckey-EFUZF0201A'GOdeletefromaa_busobject_basewhereebusobid='EFUZF0201A'
32、;GOdeletefromaa_columndic_basewhereckey='EFUZF0201A'deletefromaa_colurnnset_basewhereckey='EFUZF0201A'GO向单据页面菜单配置库中插入菜单选项:insertintoaa_busobject_base(cBusObIdJcBusObNameJiAuthTypelJbAuthControllJcSub_IdJcMarkl,iFuncType,langid,iOrder)values(,EFUZF0201A,'付款单列表',2,O,'EF,Nul
33、l,2,'zh-CN',4)select*fromaa_columndic_bascwherecKey=,EFUZF0201A'GOinsertintoaa_columndic_base(cKey,cFld,cQryField,iColPos,cCaption,cCaptionPar,bFixed,bDisp,iColWidth,iAlign,cOrdcr,bLock,iMcrgcColsJ,bMustScl,bNccdSum,LocaleID,IsEnumJEnumType,EnumTypeString,bFilterJbMerge,CanModifyJReferTy
34、pe,bHidelnColSet,cSumType)values('EFUZF0201A','selcol','selcol',1选择*,Null;r;r,800,4,Null;r,0;1'zh-CN,'(),Null,Null,Null,'(),Nu11)insertintoaa_columndic_base(cKey,cFld,cQryField,iColPos,cCaption,cCaptionPar,bFixed,bDisp,iColWidth,iAlign,cOrder,bLock,iMergeCols,bMus
35、tSel,bNeedSum,LocalelD,IsEnum,EnumType,EnumTypeString,bFilter,bMergeJCanModify,ReferType,bHidelnColSet,cSumType)values('EFUZF020IA','cVouchID','cVouchID',10,'付款单据编号r,U500,1,”,'0','0',0,'0','zh-CN',”,”,”,'0','0',”,”,。,”)3、单据参
36、照匹配页面Sql此Sql语句主要针对当选择单据参照时,弹出的单据参照数据列匹配界面的生成显示,该Sql语句核心部分为:values('EFUZF0201A;'cVouchID,;cVouchID10;付款单据编号”,T,1,1500,10,0,0,'zh-CN',insertintoaa_columndic_base(cKey,eFid,cQryField,iColPos,cCaption,cCaptionPar,bFixed,bDisp,iColWidth,iAlign,cOrder,bLock,iMergeCols,bMustSel,bNeedSum,Loc
37、alelD,IsEnum,Enumiype,EnumIpeString,bFi1ter,bMerge,CanModify,ReferType,bHidelnColSetJcSumType)values('EFUZF0201A*;dVouchDate';dVouchDate20:付款单据日期Qzh-CN,,insertintoaa_columndic_base(cKey,cFld,cQryField,iColPos,cCaption,cCaptionPar,bFixed,bDisp,iColWidth,iAlign,cOrder,bLock,iMergeCols,bMustSel
38、,bNeedSum,LocalelD,IsEnumJEnumType,EnumTypeString,bFilter,bMergeJCanModify,ReferType,bHidelnColSet,cSumType)values('EFUZF0201A7b_cvencode'cDwCode,,30,供应商编码500,1 ,”,'0','0,0,'0','zhCN',”,”,”,'0','0',”,”,'0',”)insertintoaa_columndic_base(cKey
39、,eFid,cQryField,iColPos,cCaption,cCaptionPar,bFixed,bDisp,iColWidth,iAlign,cOrder,bLock,iMergeCols,bMustSel,bNeedSum,LocaleID,IsEnum,EnumType,EnumTypeString4bFilter,bMerge,CanModify,ReferType,bHidelnColSet,cSumType)values('EFUZF0201A','b_str7','cVenAbbName',40,'供应商名称0,0,0
40、,'zh-CN',insertintoaa_co1umndic_base(cKey,cFId,cQryField,iColPos,cCaption,cCaptionPar,bFixed,bDisp,iColWidth,iAlign,cOrder,bLock,iMergeCols,bMustSel,bNeedSum,LocaleID,IsEnumJEnumType,EnumTypeSlring,bFilter,bMerge,CanModify,ReferType,bHidelnColSet,cSumType)values('EFUZF0201A*;b_str1,;cBan
41、kAccount50;供应商账号二'zh-CN',”,insertintoaa_columndic_base(cKey,cFld,cQryField,iColPos,cCaption,cCaptionPar,bFixed,bDisp,iColWidth,iAlign,cOrdcr,bLock,iMcrgcCols,bMustScl,bNccdSum,LocalelD,IsEnum,Enumiype,EnumTypeString,bFi1ter,bMerge,CanModify,ReferType,bHidelnColSet,cSumType)values(,EFUZF0201A
42、','b_floatl','iAmt',60,'本币金额VVO1,1500,7,”,。,。,。r;zh-CN,u,;0,0V,,07,)insertintoaa_columndic_base(cKey,cFld,cQryField,iColPos,cCaption,cCaptionPar,bFixed,bDisp,iColWidth,iAlign,cOrder,bLock,iMergeCols,bMustSel,bNeedSum,LocalelD,IsEnum,EnumType,EnumTypeString,bFilter,bMerge,CanM
43、odify,ReferType,bHidelnColSet,cSumType)values('EFUZF020lA','b_float2','iAmt60,原币金额',”,0,0,1500,7,”,O,'O',参考文献39致谢40第4章编码与实现4.1系统登录4.1.1系统登录总体设计该模块的功能是在系统被访问之前,对进入系统的用户进行安全性检查,判断正在尝试登录的用户是否为本系统的合法用户,防止非法用户登录而导致系统数据被恶意删除或修改从而威胁系统安全,所以验证登录可以避免不必要的损失。该模块在用户输入正确的用户信息和验证码时进
44、入系统,若输入的用户信息不正确或者验证码错误,则要提示用户“输入的用户名或密码不正确,请重新输入!”或“输入的验证码不正确,请重新输入!”,那么用户不可以进入系统。当用户进入系统之后,本模块要支持退出系统的功能。系统登录模块UI迁移图如图4-1所示。图4-1系统登录UI迁移图进入登录主页面,录入正确的用户名和密码,点击登录即进入主界面。若忘记密码,可以单击忘记密码进入忘记密码界面找回或修改密码。系统登录模块的流程图如图4-2所示。开始登录界面提不失败原因Y登录信息是否合法时间是否合法?N进入简版鉴权加载登录初始化数据进入主界面结束图42系统登录流程图开始进入登录界面,输入用户名和密码,单击登录
45、按钮,系统先验证该账户当前日期是否己激活。若没有激活,则提示错误信息。若己激活则验证用户登录信息是否正确,信息正确则进入主界面,信息错误,提示登录信息错误。4.1.2系统登录功能实现登录模块在系统中广泛应用,不仅是进入系统的大门,也是保障系统安全的第一道关卡。通过验证用户名、密码判断用户的身份是否合法,只有身份合法的用户才可以进入系统。并且点击右上方的退出按钮,即可退出该系统。登录界面如图4-3所示。用户输入登录使用的服务器名称、用户名、密码、用户账套、语言等信息,点击“登录”按钮,进行登录,勾选修改密码选项,会在登录的同时修改登录密码,如图4-4所示。图4-3登录界面图4-4修改密码界面当用
46、户忘记密码时,当点击“忘记密码”按钮时,弹出忘记密码界面,通过邮件通知服务器管理员,根据设备ID来锁定账户信息,并产生随机新密码,提交给用户。4.1.3重点技术及主要代码对于登录模块,首先我们需要验证所填信息是否为空。点击登录时,验证所填信息是否完全正确,并通过对当前时间的比对,判断该用户是否已激活软件,并获得该软件的使用权限。这些逻辑处理代码都被封装在了一个init方法中。通过init方法对用户信息进行验证,并完成对首页面的初始化,代码如下:PublicFunctioninit(ByValobjLoginAsObject,ByVaiobjFormAsObject,ByVaiobjVouche
47、rAsObject,msbarAsObject)MsgBox"Init"初始化功能,在窗体Toolbar初始化时执行一次。'objLogin代表UFToolbar上取得的Login信息'objForm代表该Toolbar所在的窗体信息'objVoucher代表Toolbar所在窗体上的单据控件对象或者单据列表对象'msbar代表窗体上的MsToolbar对象objVoucher.IsFItVerticalDisplay=FalseCallobjVbucher.SetListLayoutInfb(objLogin,other,sKey,1,Er
48、rs)objVoucherobjVbucherlist.IsFltVerticalDisplay=FalseCallobjVbucherlist.SelListLayoutInfo(objLogin,other,sKey,1,Errs)SetobjFrm=objFormSelectCaseLCase(SlrCardNum)CaseLCase(”EFMK0105”)'序列号档案MsgBox"EFMKO105!"msbar.Buttons("CreateNum").Enabled=TruebSuc=TrueCaseElsebSuc=FalseEndS
49、electEndFunction3. 2新建及保存业务单据2.1新建及保存业务单据总体设计该模块是本系统中的基础功能模块,单据的新建和保存是日常工作中使用最频繁的功能之一。使用频繁也就意味着,这些功能在设计初始就要考虑到高效可靠等因素。业务单据新建和保存数据流程图如图4-5所示。图4-5业务单据新建和保存流程图单击新建业务单据,弹出业务单据新建页面,录入单据信息,保存单据信息,若单据信息完整且合法,则所填信息将保存到数据库中,若单据信息不完整或数据不合法,则提示相应错误信息。4.2.2重点技术及主要代码在本节中比较重点的技术主要有:新建单据逻辑和保存信息校验。1、新建单据逻辑新建单据是一个基本
50、方法,是需要适用于所有业务单据的,而不是针对某一个业务单据,代码如下:PublicSubAddNew_Voucher(VouchersAsObject,Source_CardnumberAsString,Dest_CardnumberAsString,Dest_domHeadAsDOMDocument,Dest_domBodyAsDOMDocumcnt,strUserErrAsString,bSucAsBoolean)OnErrorGoToExitSubDimFrmRAsNewfrmRcfcrncw'frmRcfcrncw'frmReferbSuc=FalseWithFrmRC
51、all.init(m_login,Dbconn,FrmR,Dest_domHead,Dest_domBody,Source_Cardnumber,Dest_Cardnumber)If.filterThenFnnR.SetDataFrmR.Show1SetDest_domHead=.DomHead_Dest.cIoneNode(True)SetDest_domBody=.DomBody_Dest.cloneNode(True)Dest_domBody.save"c:Dest_domBody.xml"Vouchers.setVoucherDataXMLDest_domHead,
52、Dest_domBodyEndIfEndWithbSuc=TrueSetFrmR=NothingExitSubExitSub:bSuc=FalsestrUserErr=strUserErr&err.DescriptionEndSub2、保存信息校验保存信息时的校验是保证信息正确的最后一道关卡,同时也是保证信息正确的最重要的手段,可以最大程度的规避系统出现数据录入错误。代码如下:mJogin*U8登陆对象Dbconn'当前数据库连接Cardnumber'单据关键字ID,当前保存的单据IDdomHead'表头数据domBody,表体数据strUserErr'
53、错误信息bSuc*=true表示处理成功继续系统流程=false表示处理失败中断系统流程PublicSubAfter_Save(m_loginAsObject,DbconnAsADODB.Connection,cardNumberAsString,idAsString,domHeadAsDOMDocument,dombodyAsDOMDocument,OptionalstrUserErrAsString,OptionalbSucAsBoolean)OnErrorGoToErrhandlebSuc=TrueSelectCaseLCase(cardNumber)CaseLCasc(,EFMK010
54、5M)1EFMK0105序列号档案序列号档案IfUpdateXuliehaoDanganData(Dbconn,domHead,"1")=FalseThenGoToErrhandle,更新存货已有档案EndIfCaseLCase(nEFMK0106M)EFMK0105序列号档案序列号档案IfUpdateXuliehaoForChaiData(m_login,Dbconn,domHead,dombody)=FalseThenGoToErrhandleEndIfCaseLCase(”EFMK0107”)'EFMK0105序列号档案序列号档案IfUpdatcXulicha
55、oForBingData(m_login,Dbconn,domHead,dombody)=FalseThenGoToErrhandleEndIfCaseLCase(”EFMK()3()l”),生产领用Update0301cardNumber,Dbconn,domHead,dombody,strUserErr,bSucCaseLCase(”EFMK()302”),生产转移Update0302cardNumber,Dbconn,domHead,dombody,strUserErr,bSucCaseLCase(”EFMK0303”),生产报废Update0303cardNumber,Dbconn,d
56、omHead,dombody,strUserErr,bSucCaseElseEndSelectExitSub:ExitSubErrhandle:bSuc=FalsestrUserErr=strUserErr&err.DescriptionEndSub4.3支付单据参照4.3.1支付单据参照总体设计该模块是对快捷支付单据生成的一种实现,在新建单据中直接单据参照按钮,可以快速弹出单据参照匹配的列信息,此功能模块的主要功能如下:弹出单据参照匹配列信息:操作员可以根据每张单据的特殊需求,勾选单据所需参照过来的列信息项。列信息项参照到新建单据中:在参照匹配列信息页面,操作员单击确定按钮。即可将所
57、需信息参照到新单据中。支付单据参照UI迁移图如图4-6所示。图4-6支付单据参照UI迁移图支付单据参照流程图如图4-7所示。图4-7支付单据参照流程图4.3.2重点技术及主要代码在支付单据参照界面我们将所选的数据源中的数据显示出来后,进行列信息项选择,随后将勾选的数据信息导入支付单据中,完成支付单据的快速填写,减少工作重复,提高工作效率。主要代码如下所示:1、单据参照数据传值VB代码:单据的参照功能,可以用SQL语句匹配来实现,也可以用后台VB功能代码来实现。前者功能实现较为简单,尤其是在快速开发工作中,效率高,不易出错。而VB代码来实现参照功能,适应性很强,可以实现特殊的参照要求,更可以实现
58、数据的交错式参照。关键代码如下:'Source_Cardnumber来源参照类型'Dest.Cardnumber目标单据的cardnumber'Source_domHead参照生单界面上半部分数据对象*Source_domBody参照生单界而上半部分数据对象'Dest.domHead目标单据表头数据对象'Dest_domHead目标单据表头数据对象'strUserErr错误信息'bSuc=true表示个性化填充=false表示系统自动填中PublicSubFull_Voucher(Source_CardnumberAsString,Des
59、t_CardnumberAsString,Source_domHeadAsDOMDocument,Source_domBodyAsDOMDocument,Dest_domHeadAsDOMDocument,Dest_domBodyAsDOMDocument,strUserErrAsString,OptionalbSucAsBoolean=False)OnErrorGoToExitSubbSuc=False'FrmR.ctlVoucher.setVoucherDataXMLDest_domHead,Dest_domBody'bSuc=TrueExitSubExitSub:bSuc
60、=FalsestrUserErr=strUserErr&err.DescriptionEndSub2、页面元素点击功能在数据显示及单据参照过程中,用户最容易触发的并不是菜单栏上的按钮,亦或者确定、取消按钮,而是页面中的数据和页面元素。当用户在单据上单击某-数据行时,可以选中某一行,然后单独对某一行数据进行删除、提交等操作。单据单击功能代码如下:'提示:单据单击事件'Voucher单据对象'section单击的位置'Skey单据单据字段R当前单击的行数'strUserErr错误处理消息'bSuc=true表示成功false表示失败Publi
61、cSubVoucher_Click(ByValVoucherAsObject,sectionAsVariant,sKeyAsString,RAsLong,strUserErrAsString,bSucAsBoolean)OnErrorGoToErrhandleVoucher.getVoucherDataXMLDomH,DomBSelectCaseUCase(StrCardNum)Case“EFMK0105”第1章概述1.1研究背景用友公司成立于1988年,是中国最大的管理软件、ERP软件、集团管理软件、人力资源管理软件、客户关系管理软件、小型企业管理软件、财政及行政事业单位管理软件、汽车行业管
62、理软件、烟草行业管理软件、内部审计软件及服务提供商,也是中国领先的企业云服务、医疗卫生软件、管理咨询及管理信息化人才培训提供商。目前,中国及亚太地区120多万家企业与机构通过使用用友软件,实现精细管理、敏捷经营。此外,之前的用友经营的是软件销售。为了维持业绩稳定,必须不断的去发掘更多的客户。而随着近几年,企业的逐渐饱和,发掘更多的客户这一条道路显然已经走不下去了。那么,如何盈利,或者说如何改变盈利的方式,这个问题是时下必须解决的问题。在此背景下,“U网银”这款软件的出世变的意义重大。第一,“U网银”解决了用友如何从传统软件向互联网转型的问题,它是用友转型的一个突破点。第二,“U网银”解决了如何改变传统软件盈利方式的问题,将传统软件盈利方式由软件销售转向软件服务。1.2项目开发的目的和意义本次项目开发的目的是开发一款新型企业网银,以实现企业业务与资金流转的一体化。目前,企业资源管理已由传统纸质单据过度到电子单据,企业内部管理已全部由电子信息化系统ERP完成,极大程度的缩减了企业管理的劳动力,提高了工作效率。然而,企业管理的高效,也引出了企业资金流转过程复杂,手续繁琐这一方面的问题。尤其是企业管理与资金流转之间出现的鸿沟,使得企业即使在管理方面效率提高很多,但整体效率的提升不是十分明显。企业业务与资金流转一体化系统,即“U
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年中国NATS交通信号控制系统数据监测研究报告
- 2025年中国FVC防腐涂料数据监测研究报告
- 2025年中国CD机芯电机数据监测报告
- 2025年中国3-甲氧基补有脂素片数据监测报告
- 2025至2030年中国药用级二水磷酸氢钙市场分析及竞争策略研究报告
- 2025至2030年中国罗纹华夫格粗细针市场分析及竞争策略研究报告
- 2025至2030年中国硬铝母线市场分析及竞争策略研究报告
- 2025至2030年中国电压互感器手车市场分析及竞争策略研究报告
- 2025至2030年中国灯具组件市场分析及竞争策略研究报告
- 2025至2030年中国汽车空调压缩机直伞齿轮市场分析及竞争策略研究报告
- 2025年中国USB-C充电器行业市场全景分析及前景机遇研判报告
- 化学●甘肃卷丨2024年甘肃省普通高中学业水平等级性考试高考化学真题试卷及答案
- 2025年山东省普通高中学业水平合格考预测历史试卷(含答案)
- 仓库组长考试试题及答案
- 衣柜厂家合作协议书
- 2025年数字媒体艺术考试试卷及答案
- 新生儿高胆红素血症诊治指南(2025)解读
- T∕CWEA 29-2024 水利水电工程砌石坝施工规范
- 在线媒体舆情公关合同(2篇)
- 西学中结业考核复习测试有答案
- 2024-2025学年高二下学期《双休政策下AI如何助力高中生高效学习?》主题班会课件
评论
0/150
提交评论