NC开发单据制作详细流程
- 格式:doc
- 大小:383.50 KB
- 文档页数:8
软件公司NC审批类开发操作说明1.引言1.1编写目的为开发人员进行NC移动审批开发前,更好地理解业务以及对业务数据项进行分析提供指导.1.2背景编写的背景是在开发销售订单,采购订单,应付单基础上的经验总结1.3术语1.4参考资料1.5附件2.开发操作的说明2.1流程图2.2流程说明2.2.1注册服务注册服务首先要定义操作,在服务操作表中首先要预置相关操作及相应的属性;在注册服务时,要选择对应的操作.其中操作对照,增加操作,根据此操作的属性,判断是否需要同步;其URL是在wap端任务列表中用于该任务审批的键接入口.如图(NC差旅费报费单审批服务):2.2.2订购服务企业需订购相应服务,才能使用该服务的功能;2.2.3设置账套账套是MERP和ERP连接通信的关键信息, MERP账套绑定ERP账套中的信息;NC产品需要有ERP的系统数据源, ERP的应用服务器IP, ERP的应用服务器端口号;如图:2.2.4设置用户对照设置账套用户对照,是需要将MERP中的用户和ERP中的用户建立对应关系,从而在同步数据时,将MERP对应的ERP中的用户审批单同步到MERP数据库中;如图:2.2.5设置同步模板同步模板就是作为同步ERP数据的同步条件,其条件的定义和取值,应根据具体的同步业务来定义;在NC开发当中,只有需要同步ERP数据到MERP应用服务器中的服务,需要有相应的同步模板.如图(以销售订单审批同步模板为例):2.2.6设置客户端此服务为NC相关产品的服务,那么需要建立NC客户端,NC客户端是起到连接MERP应用服务和ERP应用服务的桥梁的作用,它们之间的通信,是依靠客户端来处理.客户端中的ERP连接配置,主要是将MERP账套与ERP 数据库服务器地址及相关端口,数据库服务名,用户和密码建立关系;NC ERP数据库是ORACLE类型的,所以在开发代码时,同步数据的SQL语句必须是ORACLE数据库所支持的.如图:2.2.7调度计划为需要执行调度的所订购的服务设置调度计划,调度计划可以为分手工调度,间隔调度,定点调度三种;首先要先编写调度所执行此服务的执行类,此类必须继承AbstractDataManager抽象类,并实现HandlerAfterSync接口类,此执行类必须放在调度任务中心执行.执行调度时,根据同步条件,构建相应的SQL语句,采用WEBSERVICE的调用方式调用ERP相应的接口,并返回获得相应的同步数据.2.2.8同步数据同步得到的ERP数据,需要保存在MERP应用数据库中,此相关业务执行动作的代码开发需要在MERP应用服务中处理;在NC审批类的同步时,需要同步审批任务的相关数据及此审批的相关业务数据.2.2.9设置显示模板设置显示模板是用户可以自定义wap端显示的数据项,根据需求的要求,首先要制定标准模板,其模板是xml格式,然后根据操作,去定义此操作的显示模板.2.2.10Wap端审批在WAP端对同步的任务进行审批操作,此需要说明的是,在注册服务时,操作下有URL设置,此URL就是在登录WAP端时,点击任务所需执行的动作.此动作是判断权限及获得此审批单的表头,表体,表尾的数据,其中根据显示模板所选择的显示项,构建查询语句,并获得相应数据显示在wap端.2.2.11审批调度任务执行审批后,会调用调度方法,将审批结果上传至ERP系统当中;并返回审批结果.3.分析步骤3.1分析业务属性3.2确定NC单据和数据库之间的对应关系步骤1:以集团管理员的方式登陆NC步骤2:进入客户化-》二次开发工具-》单据管理-》VO对照管理,如下图以销售订单为例子图2-1双击打开VO对照管理,出现的界面如下图(2-2)图(2-2)在图2-2中用红色线圈起来的地方就是该订单对应的表,如果主表被选中,那么红色区域显示的就是主表,如果子表被选中,那么红色区域显示的就是子表。
NC单据开发初学者手册编写者:NC-UAP薄奇赖宏伟用友软件股份有限公司二零零六年四月目录第一章概述 (1)1.1基本概念 (1)1.2单据开发主要流程 (1)第二章搭建开发环境 (1)2.1本文软件开发环境 (1)2.2给PD打补丁 (1)2.3建立数据库 (1)2.4建立开发工程 (2)第三章数据库表pdm及SQL脚本的生成 (3)3.1数据模型 (3)3.2生成pdm步骤 (3)3.3生成SQL脚本步骤 (7)第四章生成数据字典 (11)4.1步骤 (11)第五章生成VO (15)5.1准备工作 (15)5.2生成VO (18)第六章第一个单据 (20)6.3步骤一、建立单据模板 (20)6.4步骤二、建立工程包结构 (25)6.5步骤三、定制界面控制类 (25)6.6步骤四、定制界面UI类 (26)6.7步骤四、连接模板到NC集成辅助开发工具中查看效果 (26)第七章参照 (28)7.3什么是参照 (28)7.4建立参照类 (28)7.5在单据模板上设置参照 (29)第八章单据模板中的公式使用 (33)8.1什么是公式 (33)8.2给单据模板设置公式 (33)第九章参考文献 (36)第一章概述1.1基本概念单据:比如报销时的报销单,一般由表头和表体组成(有些时候还含有表尾)。
表头中包含了单据的主信息,比如日期、部门、预算项目;表体包含了单据的明细信息,比如具体的事项和金额;单据类型:一个业务系统为了使结构更清晰,通常也是分层的。
比如,供应链系统包含了采购、库存等子系统,每个子系统都具有一个系统类型,而每个子系统都会具有很多张单据,为了区分这些单据,为每张单据命名一个单据类型,作为唯一标识;模板:单据开发涉及到三大模板(单据模板、查询模板、打印模板)。
单据模板定义了单据的显示外观和基本框架,查询模板定义了单据的查询对话框,打印模板定义了单据信息打印到打印机的样式和格式;VO:值对象,用作传输数据的载体聚合VO:单据一般由表头和表体构成,因此单据的数据表通常设计成主表和子表。
HR自助服务单据开发快速入门用友软件股份有限公司北京分公司客户开发部2011年3月目录1、NC自助服务单据开发....................................... 总体概述................................................ 开发环境搭建...........................................配置Java运行时环境...............................配置JAVA_HOME环境变量............................下载并解开Dorado5开发包..........................安装Dorado 5 .....................................Eclipse开发环境搭建 ..............................搭建项目工程....................................... 自助单据开发流程.......................................建立数据模型......................................导入数据字典......................................单据模板初始化....................................导出Java源代码...................................建立视图层ViewModel。
............................生成JSP页面......................................建立后台控制类....................................功能节点注册......................................注册功能按钮......................................按钮处理事件的定义................................单据属性设置...................................... 附录:......................................................... 轻量级参照实现方式:........................................... 审批流配置注意点............................................... 轻量级查询模板实现方式......................................... 按钮动作前后台交互示例:.......................................增加按钮动作处理 .......................................1、NC自助服务单据开发1.1.总体概述NC自助服务模块使用的是BSTEK公司推出的Dorado 5展现中间件技术。
此文件受到UFIDA的保护,并已在保护中心注册,外泄必纠!UFIDAGUID1{162153F0-8B62-6E8D-1D46-54499B5A622B}UFIDAGUID1{31C26706-1290-5BDE-DD7D-D594B804C93C}NC单据开发初学者手册编写者:NC-UAP薄奇赖宏伟用友软件股份有限公司二零零六年四月共享知识 分享快乐1页眉内容第一章 概述 .1.1 基本概念 .......................................................... 1. 1.2 单据开发主要流程 .................................................. 1..2.1 本文软件开发环境 1... 2.2 给 PD 打补丁 1... 2.3 建立数据库 1... 2.4 建立开发工程 2...第三章数据库表pdm 及SQL 脚本的生成 (3)3.1 数据模型 3... 3.2 生成 pdm 步骤 3...3.3 生成 SQL 脚本步骤 .................................................. 7..4.1 步骤第五章 生成 VO (15)5.1 准备工作 ........................................................... 1..5. 5.2 生成 VO ............................................................................................... 1.8.6.3 步骤一、建立单据模板 ............................................... 2..0 6.4 步骤二、建立工程包结构 ............................................. 2..5 6.5 步骤三、定制界面控制类 ............................................. 2..5 6.6 步骤四、定制界面 UI 类 ............................................. 2.6. 6.7 步骤四、连接模板到 NC 集成辅助开发工具中查看效果 (26)目录第二章 搭建开发环境 . (1)第四章 生成数据字典 . (11)1.1..第六章 第一个单据 . (20)第七章 参照 . (28)7.3 什么是参照2..8.7.4 建立参照类2..8.7.5 在单据模板上设置参照.............................................. 2..9第八章单据模板中的公式使用. (33)8.1 什么是公式....................................................................... 3..3 .第九章参考文献. (36)第一章概述1.1 基本概念单据:比如报销时的报销单,一般由表头和表体组成(有些时候还含有表尾)。
NC开发经验总结【V1.0】钟磊2009-6-27NC开发涉及到的知识点多且琐碎,鉴于用友本身没有非常详细的文档且UAP平台本身的缺陷,造成我们开发人员经常会碰到许多莫名其妙的错误。
解决这些错误又非常耗费时间和经历。
因此,我个人总结了一些单据开发过程中的心得与大家共享,希望能对各位的开发产生帮助。
NC单据的开发分为以下几步:1、建数据库表;2、导入数据字典;3、选择GUI界面类型;4、绑定数据模型;设置主子表设置值对象关系5、使用表单设计器设计表单;6、定义表单程序的按钮;选择系统预制按钮建立自定义按钮并选择7、定义业务动作脚本;8、校验规则设定;9、生成及部署代码;下面对每步开发过程中可能会碰到的疑难问题做下总结。
1、建数据库表:1.1此步操作会在数据库中注册相应的节点信息。
1.2命名规范:建议主表名称使用projectname_tablename_h,主表主键使用pk_tablename_h建议子表名称使用projectname_tablename_b,子表主键使用pk_tablename_b主表必须存在公司主键且公司主键必须使用pk_corp,数据库数据类型为CHAR(4)单据必须有ts、dr字段,对应数据库数据类型分别为CHAR(19)、SMALLINT1.3建PDM的时候要注意不要遗漏主键标志,否则会造成单据保存时莫名的错误。
子表中必须包含主表主键,且名称必须同主表主键名称pk_tablename_h 2、导入数据字典:1.4此步操作会将数据字典以大字段的形式保存入数据库中的数据字典表中。
1.5数据字典和单据模板中的字段并不是引用的关系,而是借助数据字典的内容自动生成的模板,因此数据字典变化不会引起单据模板变动,这点需要认知清楚。
1.6建议导入数据字典时导入到选定的目录里,不要放在根目录下。
1.7导入过程中如碰到点击下一步没有反应,请首先检查PDM中信息是否有问题,比如DataType是否还是<Undefined>之类的问题。
单据开发过程:1、创建元数据
1、启动中间件
2、发布元数据
3、生成建库sql脚本并执行
4、启动客户端
5、打开客户端二开工具
功能节点:客户化—>二次开发工具—>uap集成开发工具6、新增业务组件
7、新建完成后打开资源开发向导,设置单据模板、查询模板、打印模板、UI组件、发布功
能节点。
(也可以不用向导,双击组件进入资源管理界面,一个个进行单独创建)
9、资源管理界面,在已发布节点上右击—>生成代码到本地,选择路径为workspace
中的src目录。
8、如果是新增的模块,则需要账套管理员进行业务初始化。
9、授权
10、重新构建工程,重启客户端就可以看到界面。
NC中开发业务单据的通用步骤
NC中开发业务单据的通用步骤(不用UI工厂)
1、在“数据字典管理”中导入数据字典(PDM文件)
2、对刚导入的数据表进行检查,把所有日期型的字段类型改为datetime,否则生成VO时不是UFDate或者UFDatetime型
3、注册新的单据类型,绑定功能节点编号
4、注册新功能点,绑定ClientUI类
5、在“自定义菜单”中选择“恢复默认结构”,使得新注册的功能点可以归属到相应的模块节点下
6、分配新功能的权限到相应的角色中,否则无法使用该功能
7、新建单据模板,修改模板内容,并生成查询模板或打印模板或报表模板
8、在“功能节点默认模板”中,把上面生成的各类模板绑定到该新功能节点
9、生成VO对象,添加到Eclipse工程中去(public包)。
除表头、表体的VO以外,还需要新增一个聚合VO,继承于HYBillVO
10、准备好ClientUI、ClientEH、ClientCtrl的类代码框架
11、为了可以保存表头表体的数据,需要在“客户化”>“单据管理”>“VO对照管理”中进行VO对照
12、定义该单据类型的编码规则
13、定义与该单据类型有关的审批流,加入制单、审核两个步骤的负责人/角色。
NC开发单据制作详细流程NC(New Centrury)是一款企业级应用软件,可提供财务、人力资源、供应链、管理和分析等全面的业务应用。
NC开发单据制作是NC系统中最重要的模块之一,根据用户需求进行开发,较为灵活,不同业务流程的单据制作流程也会有所不同。
本文将介绍一般的NC开发单据制作详细流程和注意事项。
1. 确定单据类型在开发NC系统的单据时,首先要确定单据类型,例如采购单、销售单、生产单等。
不同的单据类型具有不同的字段、页面布局和操作流程,因此必须先明确单据类型。
2. 绘制单据草稿在确定了单据类型后,需要绘制该单据的草稿。
草稿应包括单据的页面布局、字段数量、类型和名称等信息。
草稿的制作应根据项目需求和实际情况,进行合理的规划,满足用户的需求。
3. 设计单据数据表NC系统中的单据需要对应一张数据库表,因此需要设计单据数据表。
数据表应该包括单据头表和单据体表,单据头表用来存储单据的基本信息,如单据号、日期、制单人等;单据体表用来存储单据中的具体明细信息,如物品名称、数量、单价等。
4. 创建单据页面创建NC系统的单据页面是NC开发单据制作的重要步骤。
单据页面应该包括单据头和单据体,页面的布局应按照草稿进行设置,并应该与单据数据表相对应。
在NC系统中,单据页面的开发可以使用开发工具进行,如Eclipse等。
5. 编写业务逻辑代码编写业务逻辑代码是NC开发单据制作中的重要步骤。
业务逻辑代码主要是指单据的自动编号、保存、审核、反审、删除等功能的实现,这些代码应根据实际需求进行编写,并应保证业务逻辑的正确性和完整性。
6. 进行单据测试在进行NC开发单据制作时,需经过一系列的单据测试过程。
测试过程主要检查单据页面的布局是否正确、单据字段是否完整、业务逻辑是否正确等。
测试过程需要严格按照测试用例进行,以确保单据的质量和稳定性。
7. 单据上线在进行单据测试后,需要进行单据上线。
单据上线前需要进行一系列的备份操作,以防止单据出现异常情况;上线时需要确认单据版本是否正确,以及是否同步更新了相应的文档。
物资申请单维护:1.采购部领导:采购流程:使用单位〔车间技术员、供应部计划员、库管员〔库备物资计划物资需求申请单〔毛需求——审批——供应站计划员汇总平衡进入之后,点击新增。
保存之后,点击审批。
点击联查,弹出一个菜单,选择里边的订单追溯,查看审批情况。
请购单维护2.使用单位:采购部领导:3.采购员:填写完成后,点击提交保存,这会出下面这一窗口。
确定后,等待审批,或自己点击审批。
就完成了。
4.到货单验收:出现下面窗口,选择对应的公司,点击确定。
出现一张单据,点击确定。
退货:如果到达的货物有问题,则可以退货。
货物没有问题的话,可以跳过这一步保存后,点击审批,退货成功,而后供应商会再把有问题的货物发过来,那么就要补货。
出现下一张图确定后,到下一个窗口。
点击提交,再点击审批。
成功后,再到到货单维护确认到货。
如同上面的到货单一样的操作。
5.采购入库:新增,之后选择到货单。
完成保存之后,点击签字。
如果在入库的过程中,发现物资出现问题。
可以点击退库。
没有问题可以跳过这一步实收数量和实收主数量,点击自动取数可获取,之后签字,则退库成功退库后,商家会再进行补货,则重新填写补货单。
退库补货流程和退货的补货流程一致。
点击确定后,再点击审批,补货订单维护完成。
再到到货维护,确认到货。
保存,审批。
点到,库存管理的采购入库新增,之后选择到货单。
完成之后,点击签字。
退库补货同样完成。
6.发票——当月开票——入库单生成采购发票——当月月底未开票——暂估〔月底——财务按月核算月底有发票时点击新增,选择弹出窗口的采购入库单。
弹出下面的窗口点击确定后,出现下一窗口,保存后,点击审批,票据维护完成。
当月月底供应商的票据未到,采用暂估点击暂估,则暂估完成。
7.根据计划出库:物资需求申请单——生成材料出库单无计划物资出库:出库申请单〔使用部门填制——生成材料出库单点击新增,选择参照物资需求申请单。
下面窗口就会列出所需材料选择申请类型。
保存即可。
NC57简单单据开发过程单据开发过程:1、创建元数据
1、启动中间件
2、发布元数据
3、生成建库sql脚本并执行
4、启动客户端
5、打开客户端二开工具
功能节点:客户化—>二次开发工具—>uap集成开发工具6、新
增业务组件
7、新建完成后打开资源开发向导,设置单据模板、查询模板、打印模板、UI组件、发布功
能节点。
(也可以不用向导,双击组件进入资源管理界面,一个个进行单独创建)
9、资源管理界面,在已发布节点上右击—>生成代码到本地,选择路径为workspace
中的src目录。
8、如果是新增的模块,则需要账套管理员进行业务初始化。
9、授权
10、重新构建工程,重启客户端就可以看到界面。
用友 NC供应链部分操作手册1普通采购业务 (3)1.1流程图 (3)1.2具体操作流程 (3)2供应商寄存管理业务(VMI) (22)2.1流程图 (22)2.2具体操作流程 (22)3销售业务 (45)3.1流程图 (45)3.2具体操作流程 (46)1普通采购业务1.1流程图1.2具体操作流程1.先登录用友NC界面,打开节点【供应链】-【采购管理】-【物资需求申请】-【维护物资需求申请】节点,双击【维护物资需求申请】节点,将鼠标指到【增加】,单击按钮激活填制单,录入需求库存组织、申请部门、申请人。
存货编码双击双击存货编码栏下的放大镜,进入存货档案。
选择需要采购的物资名称,双击,最后点击确定。
最后对这张需求申请单进行保存、审核。
2.双击【需求汇总平衡】节点,进入需求汇总界面进入查询条件输入界面,选择需要的条件,点击确定。
数量栏必须填单击查询选中需要汇总的单据选中需要汇总的单据此时需求类型为毛需求点击汇总、库存平衡,并查看库存满足数量及建议订购数量,最后点击确定。
特别注意:如果需求物资数量小于库存满足数量,则不再需要请购;若需求数量大于库存满足数量,则需请购。
3.再次双击【维护物资需求申请】节点,点击查询,进入查询条件界面,选中审批通过,点击确定。
净需求查看需求单的需求类型,这时需求类型为净需求。
则关闭此节点,进行下一步操作。
4.双击【需求汇总平衡】节点,进入需求汇总界面,接下来的步骤同2,点击查询,选中需要汇总的单据,点击汇总,库存平衡,确定。
红圈处显示:已经推式生成下游单据,本次汇总平衡过程完成。
则可关闭此需求汇总平衡界面,进行下一步操作。
5.点击【供应链】-【采购管理】-【请购】-【维护请购单】节点,双击【维护请购单】节点,点击查询,进入查询条件输入,输入相应的条件,点击确定。
查询后会出现请购单据,点击审核,则可关闭维护请购单界面。
查看审核6.点击【供应链】-【采购管理】-【采购订单】-【订单处理】-【维护订单】节点,双击【维护订单】节点,进入订单界面。
用友 NC供应链部分操作手册1普通采购业务 (3)1.1流程图 (3)1.2具体操作流程 (3)2供应商寄存管理业务(VMI) (22)2.1流程图 (22)2.2具体操作流程 (22)3销售业务 (45)3.1流程图 (45)3.2具体操作流程 (46)1普通采购业务1.1流程图1.2具体操作流程1.先登录用友NC界面,打开节点【供应链】-【采购管理】-【物资需求申请】-【维护物资需求申请】节点,双击【维护物资需求申请】节点,将鼠标指到【增加】,单击按钮激活填制单,录入需求库存组织、申请部门、申请人。
存货编码双击双击存货编码栏下的放大镜,进入存货档案。
选择需要采购的物资名称,双击,最后点击确定。
最后对这张需求申请单进行保存、审核。
2.双击【需求汇总平衡】节点,进入需求汇总界面进入查询条件输入界面,选择需要的条件,点击确定。
数量栏必须填单击查询选中需要汇总的单据选中需要汇总的单据此时需求类型为毛需求点击汇总、库存平衡,并查看库存满足数量及建议订购数量,最后点击确定。
特别注意:如果需求物资数量小于库存满足数量,则不再需要请购;若需求数量大于库存满足数量,则需请购。
3.再次双击【维护物资需求申请】节点,点击查询,进入查询条件界面,选中审批通过,点击确定。
净需求查看需求单的需求类型,这时需求类型为净需求。
则关闭此节点,进行下一步操作。
4.双击【需求汇总平衡】节点,进入需求汇总界面,接下来的步骤同2,点击查询,选中需要汇总的单据,点击汇总,库存平衡,确定。
红圈处显示:已经推式生成下游单据,本次汇总平衡过程完成。
则可关闭此需求汇总平衡界面,进行下一步操作。
5.点击【供应链】-【采购管理】-【请购】-【维护请购单】节点,双击【维护请购单】节点,点击查询,进入查询条件输入,输入相应的条件,点击确定。
查询后会出现请购单据,点击审核,则可关闭维护请购单界面。
查看审核6.点击【供应链】-【采购管理】-【采购订单】-【订单处理】-【维护订单】节点,双击【维护订单】节点,进入订单界面。
用友 NC供应链部分操作手册1普通采购业务 (3)1.1流程图 (3)1.2具体操作流程 (3)2供应商寄存管理业务(VMI) (22)2.1流程图 (22)2.2具体操作流程 (22)3销售业务 (45)3.1流程图 (45)3.2具体操作流程 (46)1普通采购业务1.1流程图1.2具体操作流程1.先登录用友NC界面,打开节点【供应链】-【采购管理】-【物资需求申请】-【维护物资需求申请】节点,双击【维护物资需求申请】节点,将鼠标指到【增加】,单击按钮激活填制单,录入需求库存组织、申请部门、申请人。
存货编码双击双击存货编码栏下的放大镜,进入存货档案。
最后对这张需求申请单进行保存、审核。
2.双击【需求汇总平衡】节点,进入需求汇总界面进入查询条件输入界面,选择需要的条件,点击确定。
数量栏必须填单击查询选中需要汇总的单据选中需要汇总的单据点击汇总、库存平衡,并查看库存满足数量及建议订购数量,最后点击确定。
特别注意:如果需求物资数量小于库存满足数量,则不再需要请购;若需求数量大于库存满足数量,则需请购。
3.再次双击【维护物资需求申请】节点,点击查询,进入查询条件界面,选中审批通过,点击确定。
此时需求类型为毛需求查看需求单的需求类型,这时需求类型为净需求。
则关闭此节点,进行下一步操作。
4.双击【需求汇总平衡】节点,进入需求汇总界面,接下来的步骤同2,点击查询,选中需要汇总的单据,点击汇总,库存平衡,确定。
净需求红圈处显示:已经推式生成下游单据,本次汇总平衡过程完成。
则可关闭此需求汇总平衡界面,进行下一步操作。
5.点击【供应链】-【采购管理】-【请购】-【维护请购单】节点,双击【维护请购单】节点,点击查询,进入查询条件输入,输入相应的条件,点击确定。
查询后会出现请购单据,点击审核,则可关闭维护请购单界面。
查看审核6.点击【供应链】-【采购管理】-【采购订单】-【订单处理】-【维护订单】节点,双击【维护订单】节点,进入订单界面。
HR自助服务单据开发快速入门用友软件股份有限公司北京分公司客户开发部2011年3月目录1、NC自助服务单据开发....................................... 总体概述................................................ 开发环境搭建...........................................配置Java运行时环境...............................配置JAVA_HOME环境变量............................下载并解开Dorado5开发包..........................安装Dorado 5 .....................................Eclipse开发环境搭建 ..............................搭建项目工程....................................... 自助单据开发流程.......................................建立数据模型......................................导入数据字典......................................单据模板初始化....................................导出Java源代码...................................建立视图层ViewModel。
............................生成JSP页面......................................建立后台控制类....................................功能节点注册......................................注册功能按钮......................................按钮处理事件的定义................................单据属性设置...................................... 附录:.........................................................轻量级参照实现方式:...........................................审批流配置注意点...............................................轻量级查询模板实现方式.........................................按钮动作前后台交互示例:.......................................增加按钮动作处理.......................................1、NC自助服务单据开发1.1.总体概述NC自助服务模块使用的是BSTEK公司推出的Dorado 5展现中间件技术。
精心整理单表体的卡片型单据制作单表体的单据:指装载界面数据的聚合VO 表头为空,只存在一组表体VO 。
UI 工厂设计了接口ISingleController ,单表体单据界面控制类应实现此接口,并实现isSingleDetail 方法。
1. 2. };}}}注意此时的表头,表体的VO 类一致。
3.是否走平台publicintgetBusinessActionType(){Return}4.注册按钮publicint[]getCardButtonAry(){Returnnewint[]{IBillButton.Query,};}//}ISingleController用来支持单表头或单表体的单据,因此,当isSingleDetail方法返回true时,单据为单表体;当返回false时,单据为但表头。
单表头的卡片型单据制作除了显示有很大差异外,单表头于单表体的唯一区别在于isSingleDetail方法的返回值。
另外,在单表头界面增加浏览按钮和去掉行操作按钮。
虚拟主子表的卡片型单据制作虚拟主子表单据:指的是那种数据来源于一张表,却根据(自定义的)特定规则虚拟主子表的结构,将一部分放到表头,剩下的字段放到表体的单据。
它通常用于数据的分组,即把数据根据(自定义的)特定字段的值进行分组。
字段值相等的数据自然的被归为一类,然后,把特定字段放到表头显示,属于它的一组数据在表体列表1.2.}3.StringstrWhere=query.getWhereSql();If(strWhere==null)strWhere=”1=1”;strWhere=”(”+strWhere+”)and(isnull(dr,0)=0)”;//将查询对话框条件加到整个查询条件后If(getHeadCondition()!=null)strWhere=strWhere+”and”+getHeadCondition();//查询数据表数据SuperVO[]queryVos=getBusinessAction().queryHeadAllData( Class.forName(getUIController().getBillVoName()[1]),}}/***对一组VO数据进行分类**@param待分类的VO数据*@return分类的结果*/PrivateAggregatedValueObject[]//聚合值对象数据createBillVOs(CircularlyAccessibleValueObject[]vos){//循环获得值对象数组//设置表头数据bill[i].setChildrenVO((SuperVO[]).toArray(newSuperVO[0]));}Returnbills;}对数据增,删,改的控制因为是虚拟主子表的数据结构,它在进行数据的操作时需要额外的控制。
单据开发主要流程点击Workspace new Physical Data Model填写单据名称确定创建table,点击table选项拖拽到中间双击表单选Columns填写表单填写主表创建子表填写子表创建完成更改PowerDesigner数据库类型成Microsoft SQL Server 2000 Database Change Current DBMS…DBMS更改双击表单复制代码到SQL Server 2005保存成PDM文件。
Eclipse创建一个项目New other Module Project启动开发工具Uap集团开发工具:1.导入数据字典进入集团账户-二次开发工具-系统管理工具系统管理工具-数据字典管理-新建-文件夹对应该文件夹-工具-导入pdm文件(sqlserver2000文件)2 生成vo uap集成工具光盘工具--- 工具和选项–根据数据源生成vo 在对应路径找生成的vo 三个文件(包含聚合vo文件NC5.6的版本以后才会生成聚合vo)3功能注册二次开发工具: 功能注册- 新增(功能编码第三位必须是H)4模板管理单据模板初始化-元数据(主子表增加) 主表字表表体将主表的制单人,制单日期,核人,审核日期移动到表体(页签可编辑标签属性(是否必输,显示…)) 保存主键不能被编辑5.代码: 在public下nc.vo.test 将生成的vo导入到该包下修改package在client下创建包nc.util.test 创建类ClientUI extends BillManageUI再创建类ClientCtrl extends AbstractManageController再创建ClientEH extends ManageEventHandler@Overrideprotected void onBoSave() throws Exception {// TODO Auto-generated method stub// 单据界面上必填项生效getBillCardPanelWrapper().getBillCardPanel().dataNotNullValidate();super.onBoSave();}在clientUI AbstractManageController createController return new一个clientCtrloverride ---createEventHandler return new ClientEH(this,getUIControl());clientCtrl–getBillType-- //注册的单据类型return “LYD”; 单据类型代码getBusinessActionType --0 走平台有个动作脚本1.走基本档案IBusinessActionType.BDgetChildPKField --return “PK”;getpkField—return “主键PK”;getBillVoName() –根据功能节点找VO 返回new String[]{聚合vo,主表vo,字表vo} 类名.class.getName()return new String[]{SampleVO.class.getName(),SampleHeadVO.class.getName(),SampleBodyVO.class.getName()}卡片和列表都有对应的按钮getCardButtonAry()卡片按钮新增修改删除增行刷新renturnint[]{IbillButton.add,IbillButton.Edit,IbillButton.Delete,IbillButton.Save,IbillBUtton.Cancel,IbillButton.Return,IbillButton.Line,IbillButton.R efresh}列表按钮getListButtonAry()return newint[]{IbillButton.Query,IbillButton.Add,IbillButton.Delete,IbillButton.Card}ClientUI:setDefaultData() 表头和表尾不能加表体getBillCardPanel().setHeadItem(“字段”,值); 关于单据号: 对应的单据号管理:定义后如何取:获取单据号的方法: 写在公共类中方便调用写在public 创建一个包写在里面new 这个方法(“单据类型”,_getCorp().getPrimaryKey(),null,null);然后接上面的:getBillCardPanel().setHeadItem(“公司名”,_getCorp());…..时间戳不用单据状态8 是自由态3是提交1是审批结束表尾:getBillCardPanel().setTailItem(“”,_getOpertor()); 制单人getBillCardPanel().setTai lItem(“”,_getDate()); 制单日期ierp-bin-logger文件夹下- congfigproperties6.权限分配:单据模板-参数对照。
单表体的卡片型单据制作单表体的单据:指装载界面数据的聚合VO表头为空,只存在一组表体VO。
UI工厂设计了接口ISingleController,单表体单据界面控制类应实现此接口,并实现isSingleDetail 方法。
前期准备:单据注册,模板初始化等等,在构造好类框架后要修改界面控制类。
1.注册单据类型2.注册VO对象如下:public String[] getBillVoName(){Return new String[]{};}public String getPKField(){Return “pk_sample”;}public String getChildPKField(){Return “pk_sample”;}注意此时的表头,表体的VO类一致。
3.是否走平台public int getBusinessActionType(){R}4.注册按钮public int[] getCardButtonAry(){Return new int[]{IBillButton.Query,IBillButton.Add,IBillButton.Edit,IBillButton.Line,IBillButton.Save,IBillButton.Cancel,IBillButton.Refresh,};}最重要的一步,实现isSingleDetail方法。
public Boolean isSingleDetail(){//单表体明细//单表体Return true;}ISingleController用来支持单表头或单表体的单据,因此,当isSingleDetail方法返回true时,单据为单表体;当返回false时,单据为但表头。
单表头的卡片型单据制作除了显示有很大差异外,单表头于单表体的唯一区别在于isSingleDetail方法的返回值。
另外,在单表头界面增加浏览按钮和去掉行操作按钮。
虚拟主子表的卡片型单据制作虚拟主子表单据:指的是那种数据来源于一张表,却根据(自定义的)特定规则虚拟主子表的结构,将一部分放到表头,剩下的字段放到表体的单据。
单据开发主要流程
点击Workspace→new→Physical Data Model→填写单据名称→确定
创建table,点击table选项拖拽到中间→双击表单→选Columns填写表单
填写主表
创建子表
填写子表
创建完成
更改PowerDesigner数据库类型成Microsoft SQL Server 2000 Database→Change Current DBMS…→DBMS更改
双击表单复制代码到SQL Server 2005
保存成PDM文件。
Eclipse创建一个项目
New→other→Module Project
启动开发工具
Uap集团开发工具:
1.导入数据字典
进入集团账户-二次开发工具-系统管理工具
系统管理工具-数据字典管理-新建-文件夹
对应该文件夹-工具-导入pdm文件(sqlserver2000文件)
2 生成vo uap集成工具光盘工具--- 工具和选项–根据数据源生成vo 在对应路径找生成的vo 三个文件(包含聚合vo 文件NC5.6的版本以后才会生成聚合vo)
3功能注册
二次开发工具: 功能注册- 新增(功能编码第三位必须是H)
4模板管理
单据模板初始化-元数据(主子表增加) 主表字表表体将主表的制单人,制单日期,核人,审核日期移动到表体(页签可编辑标签属性(是否必输,显示…)) 保存
主键不能被编辑
5.代码: 在public下nc.vo.test 将生成的vo导入到该包下修改package
在client下创建包nc.util.test 创建类ClientUI extends BillManageUI
再创建类ClientCtrl extends AbstractManageController
再创建ClientEH extends ManageEventHandler
@Override
protected void onBoSave() throws Exception {
// TODO Auto-generated method stub
// 单据界面上必填项生效
getBillCardPanelWrapper().getBillCardPanel().dataNotNullValidate();
super.onBoSave();
}
在clientUI AbstractManageController createController return new一个clientCtrl
override ---createEventHandler return new ClientEH(this,getUIControl());
clientCtrl
–getBillType-- //注册的单据类型return ―L YD‖; 单据类型代码
getBusinessActionType --0 走平台有个动作脚本1.走基本档案IBusinessActionType.BD getChildPKField --return ―PK‖;
getpkField—return ―主键PK‖;
getBillV oName() –根据功能节点找VO 返回new String[]{聚合vo,主表vo,字表vo} 类名.class.getName() return new String[]{
SampleVO.class.getName(),
SampleHeadVO.class.getName(),
SampleBodyVO.class.getName()
}
卡片和列表都有对应的按钮
getCardButtonAry()卡片按钮新增修改删除增行刷新
renturn
int[]{IbillButton.add,IbillButton.Edit,IbillButton.Delete,IbillButton.Save,IbillBUtton.Cancel,IbillButton.Return,IbillButton.Line,IbillBut ton.Refresh}
列表按钮
getListButtonAry()
return new
int[]{IbillButton.Query,IbillButton.Add,IbillButton.Delete,IbillButton.Card}
ClientUI:
setDefaultData() 表头和表尾不能加表体
getBillCardPanel().setHeadItem(―字段‖,值); 关于单据号: 对应的单据号管理:定义后
如何取:
获取单据号的方法: 写在公共类中方便调用写在public 创建一个包写在里面
new 这个方法(―单据类型‖,_getCorp().getPrimaryKey(),null,null);
然后接上面的:
getBillCardPanel().setHeadItem(―公司名‖,_getCorp());
…..时间戳不用
单据状态8 是自由态3是提交1是审批结束
表尾:
getBillCardPanel().setTailItem(―‖,_getOpertor()); 制单人
getBillCardPanel().setTai lItem(―‖,_getDate()); 制单日期
ierp-bin-logger文件夹下- congfigproperties
6.权限分配:
单据模板-参数对照。