- 1、本文档共10页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
NC开发经验小结(V10)(单据部分)
NC开发经验总结
【V1.0】
钟磊
2009-6-27
NC开发涉及到的知识点多且琐碎,鉴于用友本身没有非常详细的文档且UAP平台本身的缺陷,造成我们开发人员经常会碰到许多莫名其妙的错误。解决这些错误又非常耗费时间和经历。因此,我个人总结了一些单据开发过程中的心得与大家共享,希望能对各位的开发产生帮助。
NC单据的开发分为以下几步:
1、建数据库表;
2、导入数据字典;
3、选择GUI界面类型;
4、绑定数据模型;
设置主子表
设置值对象关系
5、使用表单设计器设计表单;
6、定义表单程序的按钮;
选择系统预制按钮
建立自定义按钮并选择
7、定义业务动作脚本;
8、校验规则设定;
9、生成及部署代码;
下面对每步开发过程中可能会碰到的疑难问题做下总结。
1、建数据库表:
此步操作会在数据库中注册相应的节点信息。
命名规范:建议主表名称使用projectname_tablename_h,主表主键使用pk_tablename_h建议子表名称使用projectname_tablename_b,子表主键使用pk_tablename_b主表必须存在公司主键且公司主键必须使用pk_corp,数据库数据类型为CHAR(4)单据必须有ts、dr字段,对应数据库数据类型分别为CHAR(19)、SMALLINT下面是业务中用到的数据模型在数据库及NC中的对应模型:
业务模型 数据库模型 NC数据类型 主键型数据 CHAR(20) String pk_corp CHAR(4) String Boolean类型 CHAR(1) UFBoolean 日期类型 CHAR(10) UFDate 时间类型(ts) CHAR(19) UFDateTime dr SMALLINT Integer 整数型 INT Integer 浮点型 DECIMAL(20,8) UFDouble 普通字符串 VARCHAR(250) String 建PDM的时候要注意不要遗漏主键标志,否则会造成单据保存时莫名的错误。子表中必须包含主表主键,且名称必须同主表主键名称pk_tablename_h
2、导入数据字典:
此步操作会将数据字典以大字段的形式保存入数据库中的数据字典表中。
数据字典和单据模板中的字段并不是引用的关系,而是借助数据字典的内容自动生成的模板,因此数据字典变化不会引起单据模板变动,这点需要认知清楚。
建议导入数据字典时导入到选定的目录里,不要放在根目录下。
导入过程中如碰到点击下一步没有反应,请首先检查PDM中信息是否有问题,比如DataType是否还是Undefined之类的问题。
3、选择GUI界面类型:
此步操作未在数据库中储存关键性脚本,所有配置均用于生成框架代码。。
卡片界面、列表界面、管理界面的UI继承的类不同,一般单据管理界面即可。
如无审批流则建议使用基本档案单据。业务单据中必须另外包含以下字段:单据主表:
名称 编码 数据库模型 公司主键 pk_corp CHAR(4) 单据号 vbillno CHAR(20) 数据权限 datalimit CHAR(20) 制单人 voperatorid CHAR(20) 制单日期 doperatordate CHAR(10) 审批人 vapproveid CHAR(20) 审批日期 dapprovedate CHAR(10) 审核批语 vapprovenote VARCHAR(250) 最后修改人 vrevisorid CHAR(20) 最后修改日期 drevisedate CHAR(10) 备注 vnote VARCHAR(250) 单据类型 pk_billtype CHAR(20) 单据状态 vbillstatus SMALLINT 业务类型 pk_busitype CHAR(20) 单据子表:
名称 编码 数据库模型 来源单据类型 vsourcebilltype CHAR(20) 来源单据ID vsourcebillid CHAR(20) 来源单据行ID vsourcebillrowid CHAR(20) 上层单据类型 vlastbilltype CHAR(20) 上层单据ID vlastbillid CHAR(20) 上层单据行ID vlastbillrowid CHAR(20) 4、绑定数据模型:
此步操作会在数据库dev_votable中注册VO的对应关系,但此部分信息与移植无太大关系。
选择完主子表模型后如果子表关联主表主键名称处没有正常带出主表主键,则一般原因为子表中主表主键名称与主表中的主表主键不一致或主表中主键为设置
文档评论(0)