NC开发技术基础要点解析.ppt

  1. 1、本文档共27页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
NC开发技术基础要点解析.ppt

NC开发技术基础 用友软件股份有限公司周君 2011年 4月 6日 一、环境搭建 二、功能注册 三、数据库及VO设计 四、前台界面及单据模板 五、后台业务类及持久化 六、查询模板 概要 下载行业平台框架项目代码 安装SVN插件 SVN地址:04:8080/svn/mmpub/mmpub 一、环境搭建 导入行业平台框架项目 创建一个新项目,选择创建项目所在目录时,按照图示选择从svn下载的代码所在目录。 一、环境搭建 创建测试项目 按照示例,创建一个新项目并设置相应的依赖关系,此处我们创建了一个名为NC57TEST的项目。对该项目右键-Properties,在左边的Java Build Path目录中 一、环境搭建 创建测试项目(续) 一、环境搭建 进入功能注册节点 公司:空;用户:1;密码:空 打开节点,客户化-二次开发工具-系统管理工具-功能注册 二、功能注册 二、功能注册 新增一节点 功能节点入口类:例如nc.ui.mm.demo.ClientUI 功能性质:可执行功能;虚功能节点 注:功能注册信息存放于sm_funcregister表,如果无法显示请查看其DISP_CODE字段,系统根据其来构造菜单树;注意分配权限。 三、数据库以及VO设计 数据库设计 设计了主子表结构,分别为BOM表头以及BOM表体。 通过PowerDesigner设计表,并保存为pdm文档 三、数据库以及VO设计 导出为脚本 三、数据库以及VO设计 导出为脚本(续) 注意需要在脚本中增加如下字段: 其中ts字段为时间戳,表示当前单据的修改、新增的时间。Dr字段为删除标志位,有些数据由于有外键关系无法直接删除。 Create table xxxx ( … ts char(19) default to_char(sysdate,yyyy-mm-dd hh24:mi:ss), dr number(10) default 0 ) 三、数据库以及VO设计 实现VO类 聚合VO:代表一张单据,包含一个表头以及多个表体。可以继承自MMAggregatedValueObject。样例节点中为类 表头VO、表体VO:代表一个表头或者某一条表体数据,可继承自MMSuperVO(有时也会继承自MMCircularlyAccessibleValueObject) 三、数据库以及VO设计 导入数据字典 打开客户化-二次开发工具-系统管理工具-数据字典管理节点 左树中选中“生产制造”目录,并在菜单中选择“导入数据字典” 作用:用于后续生成单据模板使用 四、前台界面及单据模板 前台界面简介 四、前台界面及单据模板 单据模板初始化 简介:单据的显示外观和基本框架,根据设定的模板显示单据界面,供用户进行数据浏览和编辑。 为了能够使得界面的展现变得更加人性化,在NC中提出了单据模板的概念,即提供了一个界面“客户化”-“二次开发工具”-“模板管理”-“单据模板初始化”节点,来自定义界面上表头表体的字段名。 注:此处使用到了之前的数据字典 四、前台界面及单据模板 单据模板初始化(续) 首先在界面中的右上部分单据模板类型中输入单据类型或者节点号(可以输入任意值,但按照惯例,一般为单据类型或节点号); 在左侧点击“列表显示”,会列出数据库表,将demo_bd_bom加入主表中,将demo_bd_bom_b加入子表列表中(如果不出现请重启服务端); 点击右边的增加按钮。 四、前台界面及单据模板 前台界面类ClientUI 首先创建必要的ClientUI类(注:此处的类名已经在功能注册中注册过)此处ClientUI继承自nc.ui.mmpub.MMToftPanel类,作为节点的入口类。 Initialize:初始化部分,用于构造界面布局,利用懒加载方式来实例化界面元素。 InitButtons子方法:按钮初始化部分,由于有UI状态这个概念(见nc.ui.mmpub.IUIState类),所以此处为每个按钮设置能够操作的UI状态。最后通过setButtons方法 getBillListPanel(及getBillCardPanel)子方法:构造列表界面(BillListPanel、BillCardPanel),利用loadTemplate来加载单据模板 list.loadTemplet(A1(单据类型), null, this.getUser().getPrimaryKey(), this.getUnitCode()); 四、前台界面及单据模板 前台界面类ClientUI(续) onButtonClicked子方法:覆写父类的方法,当界面点击按钮后会回调本方法。 postInit方法:初始化后调用,用于设置精度,增加监听等

文档评论(0)

挑战不可能 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档