NC开发基本技术
更新时间:2023-08-16 03:13:01 阅读量: 教学研究 文档下载
- 用友nc开发推荐度:
- 相关推荐
NC开发基本技术
NC开发基本技术
变更日期 2011-4-10
功能点 初版
变更内容 初版
提出人 周君
变更人
1 创建测试项目
1.1 下载行业平台框架项目代码
Svn地址:
http://172.16.3.204:8080/svn/mmpub/mmpub
1.2 导入行业平台框架项目
创建一个新项目,选择创建项目所在目录时,按照图示选择从svn下载的代码所在目录。
NC开发基本技术
1.3 创建测试项目
按照之前文档中示例,创建一个新项目并设置相应的依赖关系,此处我们创建了一个名为NC57TEST的项目。对该项目右键->Properties,在左边的Java Build Path目录中
NC开发基本技术
NC的代码结构主要分为public、private、client三个包,分别存放公共类、后台业务类以及前台UI相关类。
Public中主要存放接口、VO类; Client中主要存放前台的UI类;
Private中主要存放后台的业务以及持久化相关类。
2 功能注册
功能注册及权限分配部分请参考
建一个节点
此处建立了新节点“测试BOM维护”节点 功能注册信息存放在表sm_funcregister中
NC开发基本技术
3 数据库以及VO设计
3.1 数据库设计
设计了主子表结构,分别为BOM表头以及BOM表体。 1)通过PowerDesigner设计表,并保存为pdm文档
2)导出为脚本
注意组中需要在脚本中增加如下字段:
NC开发基本技术
Create table xxxx ( …
ts char(19) default to_char(sysdate,'yyyy-mm-dd hh24:mi:ss'), dr number(10) default 0 )
其中ts字段为时间戳,表示当前单据的修改、新增的时间。Dr字段为删除标志位,有些数据
3.2 实现VO类
两种类型:
聚合VO:代表一张单据,包含一个表头以及多个表体。可以继承自MMAggregatedValueObject。样例节点中为类
表头VO、表体VO:代表一个表头或者某一条表体数据,可继承自MMSuperVO(有时也会继承自MMCircularlyAccessibleValueObject)
4 前台界面及单据模板
4.1 前台界面简介
根据单据类型,可以简单的分为如下几种界面: 1)卡片型:
NC开发基本技术
2)列表型
NC开发基本技术
3)卡片列表管理型:
初始界面为列表型,查询结果显示在列表界面中。当选中列表中的某列数据后,点击“浏览”按钮后切换至卡片界面,并显示当前选中单据。点击“新增”、“修改”按钮也会自动切换至卡片界面进行操作
4)树卡性界面 (略)
在本课程中以创建一个最常见的管理型界面为例。
4.2 前台界面类ClientUI
建立前台界面的主要几个步骤如下:
1)首先创建必要的ClientUI类(注:此处的类名已经在功能注册中注册过) ClientUI继承自nc.ui.mmpub.MMToftPanel类,作为节点的入口类。 主要分为如下几个部分:
Initialize:初始化部分,用于构造界面布局,利用懒加载方式来实例化界面元素。 InitButtons子方法:按钮初始化部分,由于有UI状态这个概念(见nc.ui.mmpub.IUIState类),所以此处为每个按钮设置能够操作的UI状态。最后通过setButtons方法 getBillListPanel子方法:构造列表界面,利用loadTemplate来加载单据模板
NC开发基本技术
getBillCardPanel子方法:构造卡片界面,利用loadTemplate来加载单据模板
onButtonClicked子方法:覆写父类的方法,当界面点击按钮后会回调本方法。
postInit方法:初始化后调用,用于设置精度,增加监听等
具体的按钮处理方法:onQuery、onAdd、onDel等方法,参考具体样例节点的处理方法。
4.3 导入数据字典
打开“客户化”->“二次开发工具”->“系统管理工具”->“数据字典管理”节点,左树中选中“生产制造”目录,并在菜单中选择“导入数据字典”
NC开发基本技术
4.4 单据模板初始化
为了能够使得界面的展现变得更加人性化,在NC中提出了单据模板的概念,即提供了一个界面“客户化”->“二次开发工具”->“模板管理”->“单据模板初始化”节点,来自定义界面上表头表体的字段名。
首先在界面中的右上部分单据模板类型中输入单据类型或者节点号(可以输入任意值,但按照惯例,一般为单据类型或节点号);在左侧点击“列表显示”,会列出数据库表,将demo_bd_bom加入主表中,将demo_bd_bom_b加入子表列表中(如果不出现请重启服务端);点击右边的增加按钮。
4.5 前台列表界面懒加载
1)实现监听器ListSelectionListener,监听表头行选择事件,
增加监听器,实现监听void valueChanged(ListSelectionEvent e)方法;在postInit方法中添加监听器注册语句。
getBillListPanel().getHeadTable().getSelectionModel().addListSelectionListener(this);
NC开发基本技术
查询后台(或前台缓存),加载表体
注:如何使用前台缓存,参考 nc.ui.pd.pd4010.v5.BomData类的实现
5 后台业务类以及持久化
5.1 后台业务类
主要提供了两部分,接口以及其实现。
接口放置于public中,例如nc.itf.mm.demo.IDemoBom 需要注意如下几点:
1、方法中必须抛出BusinessException异常。 2、方法名不能有重名(之后会详细介绍)。
3、实现类放置于private中,例如nc.bs.mm.demo.DemoBomImpl
4、在方法边界中捕获异常,记录日志后包装成BusinessException抛出
5.2 UPM文件的作用
使用upm文件来描述后台业务类接口与实现之间的关系,具体内容请见之前的培训课件。 以下是需要注意的内容: 1、module.xml必须存在
2、upm中<interface>...</interface>放在一行,不能有回车。 3、单个upm中所有接口不能有同名方法。
5.3 前台调用后台方法
前台通过NCLocator.getInstance().lookup(IMyInterface.class)方法调用后台类。
NC开发基本技术
例如:
5.4 持久化类简介
1)UAP平台:
BaseDAO:不推荐使用,应基于接口编程,通过后两个接口 IVOPersistence:对VO进行持久化的接口 IUAPQueryBS:对VO进行查询的接口
2)行业平台框架:
MMBaseDAO: 提供了泛型支持
MMAggDAO: 新功能,提供了对聚合VO的持久化支持
3)UAP平台:继承CommonDataDMO类,不推荐使用 注:如何如何增加TS校验以及加动态锁,请使用平台中的nc.bs.mmpub.lock.MMLockBO类以及nc.bs.mmpub.checkts.TimeStampBO类。相似的例子可以参考nc.bs.mo.mo2015.ReqPickmBO类的lockByTs方法。
6 查询模板简介
为显示查询对话框而服务,根据设定的模板显示查询条件组合对话框,可供用户设定查询条件。
NC开发基本技术
6.1 创建查询模板
创建查询模板的方法: 1)通过单据模板创建
通过在单据模板中的生成查询模板按钮来自动生成
NC开发基本技术
注意:单据模板字段如果是参照的话一定要设置,否则生成的查询模板就无法选择参照了,变成输入纯字符串了。
2)通过查询模板初始化界面创建
最基本的创建方法,一般通过第一种方法创建完后利用本节点进行适当的修改
注:需要将查询模板分配至指定节点,见节点“功能节点默认模板分配”
6.2 查询模板的使用
1)继承自QueryConditionClient的查询对话框
2)通过setTempletID方法进行加载,需要有节点编码等信息
3)获取选择的查询条件
4)查询条件的转化(只能后台)
NC开发基本技术
正在阅读:
NC开发基本技术08-16
福世蓝在日常设备维护中的意义和工艺08-17
2022学年第一学期教科室工作计划04-08
2015初级建(构)筑物消防员理论知识训练试题库考试卷(四)含答案09-18
福州大学初试科目参考书目 - 图文05-31
Oracle数据库设计指引全集09-03
2004年大事记07-07
选择比努力更重要作文【精选】04-14
- 公务员上岸同学告诉你,怎样走出面试中常见的十大误区
- 作表率,我们怎么办(办公室主任)
- 乘务员安全责任书
- 增员面试流程
- 河南省焦作市规模以上租赁和商务服务业企业应付职工薪酬数据洞察报告2019版
- 最新4社区工作者面试题
- 个人简历表
- 男教工体检必检项目
- 河南省兰考县规模以上租赁和商务服务业企业应付职工薪酬数据洞察报告2019版
- 兼职译员测试稿
- 河南省开封市规模以上租赁和商务服务业企业应付职工薪酬数据洞察报告2019版
- 永州职业技术学院校园总体规划-永州职业学院
- 最新5、培训科长笔试题(答案)
- 2019雅商酒店境外人员登记培训稀有资料,不可错过
- 小学教师求职简历范文
- 红酒知识与礼仪
- 春节给领导拜年的短信拜年词
- 2019年上半年中小学教师资格证结构化面试真题1
- 20XX年县干部培训工作目标
- 硬笔试听课
- 基本技术
- 开发
- 巡检员管理制度
- 八字神煞秘诀公开
- 教育心理学复习资料
- 9 水质检验 PH 指标检验规程
- 时代光华 学习课程:中国式融资 测试题答案
- 第五章_纳米技术在分子生物学中的应用
- 从业人员健康检查和卫生知识培训制度
- 关于水利建设管理体制改革问题的思考
- 2018-2019年初中地理天津初二水平会考模拟试卷【8】含答案考点及解析
- 架空线电流计算
- 部分润滑油产品的换油期与换油指标
- 渤海大学毕业论文开题报告范文模板
- 第12章+RS485通信协议
- 关于采矿权抵押的问题
- 第三节税收征管
- a员工关系管理讲义
- 空间中的平行关系
- 商法基本原则分析
- oracle 10g impdp导入命令使用总结
- 通过这次实习使我对一般工业与民用建筑工程的施工技术知识有了更为深刻的理解