NC开发单据制作详细流程
NC单据模板_单据控件
![NC单据模板_单据控件](https://img.taocdn.com/s3/m/2a9607ece009581b6bd9ebdd.png)
软 件 推 动 管 理 进 步
一些重要方法 1.public UITable getBillTable(String tablecode) //得到表体表 2.public BillModel getBillModel(String tablecode) //得到表体表模型 3.public BillData getBillData() //获得单据数据控制 4.updateData() //更新数据 5.resumeData () //恢复单据数据 业务数据加载(获得表格中具体数据) public void setBillValueVO(AggregatedValueObject billVO) //加载数据(单子表) public void setBillValueVO(ExtendedAggregatedValueObject billVO) //加载数据 public void getBillValueVO (AggregatedValueObject billVO) //获得数据VO(单子 表) public AggregatedValueObject getBillValueVO(String billVOName, String headVOName, String bodyVOName) //根据类名获得数据VO(单子 表) public void getBillValueVOExtended (ExtendedAggregatedValueObject billVO) //获得数据VO(多子表) public ExtendedAggregatedValueObject getBillValueVOExtended(String billVOName, String headVOName, String[] bodyVONames) //根据类名获得数据 VO(多子表)
用友nc65主子单据开发
![用友nc65主子单据开发](https://img.taocdn.com/s3/m/633c0a77fad6195f302ba633.png)
Studio代码向导生成单据
使用Studio的代码向导,按步骤生成 单据
课后练习
完成主子单据:采购订单、采购到货单
元数据概述
定义:描述数据的数据,对数据及信息资源的描述性信息
发布/生成脚本/源代码
代码向导-节点类型选择
包资源管理器窗口,右击项目,“新建”→“其他”,弹出向导对话框,选 择“UAP Project development”→“UAP节点开发”→“主子表单据节点”
代码向导-基本信息设置
功能信息:注册功能节点的功能 分类信息,上级节点编码需
菜单信息:注册功能节点的界面 显示信息,根据菜单编码决定上 级菜单
主子单据开发
用友网络科技股份有限公司 姓名 刘正敏
课程内容
1 课程介绍
01 简介与目标 02 学习要求
2 案例场景 3 开发流程
01 无审批流主子单据开发流程 02 带审批流主子单据开发流程
4 练习题
课程介绍
课程简介与目标
学习要求
1. 课程简介: 基于元数据生成主子单据的过程 2. 课程目标: 基于元数据,熟练使用向导生成主子
【流程信息获取、回写】接口
接口属性名称 映射属性 接口属性名称
单据ID
主键
制单人
单据号
订单编号
审批人
所属组织
机构
审批状态
业务类型
业务类型
审批批语
【业务pk锁】接口
接口属性名称 映射属性
PK锁
主键
映射属性 创建人 审核人 单据状态 审批批语
接口属性名称 审批时间 交易类型 单据类型
软件公司NC审批类开发操作说明
![软件公司NC审批类开发操作说明](https://img.taocdn.com/s3/m/1eed36f4112de2bd960590c69ec3d5bbfd0adaa1.png)
软件公司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单据开发初学者手册.](https://img.taocdn.com/s3/m/29855751cf84b9d528ea7abd.png)
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:单据一般由表头和表体构成,因此单据的数据表通常设计成主表和子表。
NCWeb自助单据开发流程
![NCWeb自助单据开发流程](https://img.taocdn.com/s3/m/d8194f38caaedd3383c4d3ff.png)
HR自助服务单据开发快速入门用友软件股份有限公司北京分公司客户开发部2011年3月目录1、NC自助服务单据开发....................................... 总体概述................................................ 开发环境搭建...........................................配置Java运行时环境...............................配置JAVA_HOME环境变量............................下载并解开Dorado5开发包..........................安装Dorado 5 .....................................Eclipse开发环境搭建 ..............................搭建项目工程....................................... 自助单据开发流程.......................................建立数据模型......................................导入数据字典......................................单据模板初始化....................................导出Java源代码...................................建立视图层ViewModel。
............................生成JSP页面......................................建立后台控制类....................................功能节点注册......................................注册功能按钮......................................按钮处理事件的定义................................单据属性设置...................................... 附录:......................................................... 轻量级参照实现方式:........................................... 审批流配置注意点............................................... 轻量级查询模板实现方式......................................... 按钮动作前后台交互示例:.......................................增加按钮动作处理 .......................................1、NC自助服务单据开发1.1.总体概述NC自助服务模块使用的是BSTEK公司推出的Dorado 5展现中间件技术。
NC单据开发初学者手册
![NC单据开发初学者手册](https://img.taocdn.com/s3/m/68fc040f284ac850ad0242ec.png)
此文件受到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开发经验总结【V10】【单据部分】
![NC开发经验总结【V10】【单据部分】](https://img.taocdn.com/s3/m/bf4a6d621eb91a37f1115c13.png)
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>之类的问题。
NC57简单单据开发过程
![NC57简单单据开发过程](https://img.taocdn.com/s3/m/f60996df6137ee06eff9181a.png)
单据开发过程:1、创建元数据
1、启动中间件
2、发布元数据
3、生成建库sql脚本并执行
4、启动客户端
5、打开客户端二开工具
功能节点:客户化—>二次开发工具—>uap集成开发工具6、新增业务组件
7、新建完成后打开资源开发向导,设置单据模板、查询模板、打印模板、UI组件、发布功
能节点。
(也可以不用向导,双击组件进入资源管理界面,一个个进行单独创建)
9、资源管理界面,在已发布节点上右击—>生成代码到本地,选择路径为workspace
中的src目录。
8、如果是新增的模块,则需要账套管理员进行业务初始化。
9、授权
10、重新构建工程,重启客户端就可以看到界面。
NC开发单据制作详细流程
![NC开发单据制作详细流程](https://img.taocdn.com/s3/m/8abd95ca900ef12d2af90242a8956bec0975a525.png)
NC开发单据制作详细流程NC(New Centrury)是一款企业级应用软件,可提供财务、人力资源、供应链、管理和分析等全面的业务应用。
NC开发单据制作是NC系统中最重要的模块之一,根据用户需求进行开发,较为灵活,不同业务流程的单据制作流程也会有所不同。
本文将介绍一般的NC开发单据制作详细流程和注意事项。
1. 确定单据类型在开发NC系统的单据时,首先要确定单据类型,例如采购单、销售单、生产单等。
不同的单据类型具有不同的字段、页面布局和操作流程,因此必须先明确单据类型。
2. 绘制单据草稿在确定了单据类型后,需要绘制该单据的草稿。
草稿应包括单据的页面布局、字段数量、类型和名称等信息。
草稿的制作应根据项目需求和实际情况,进行合理的规划,满足用户的需求。
3. 设计单据数据表NC系统中的单据需要对应一张数据库表,因此需要设计单据数据表。
数据表应该包括单据头表和单据体表,单据头表用来存储单据的基本信息,如单据号、日期、制单人等;单据体表用来存储单据中的具体明细信息,如物品名称、数量、单价等。
4. 创建单据页面创建NC系统的单据页面是NC开发单据制作的重要步骤。
单据页面应该包括单据头和单据体,页面的布局应按照草稿进行设置,并应该与单据数据表相对应。
在NC系统中,单据页面的开发可以使用开发工具进行,如Eclipse等。
5. 编写业务逻辑代码编写业务逻辑代码是NC开发单据制作中的重要步骤。
业务逻辑代码主要是指单据的自动编号、保存、审核、反审、删除等功能的实现,这些代码应根据实际需求进行编写,并应保证业务逻辑的正确性和完整性。
6. 进行单据测试在进行NC开发单据制作时,需经过一系列的单据测试过程。
测试过程主要检查单据页面的布局是否正确、单据字段是否完整、业务逻辑是否正确等。
测试过程需要严格按照测试用例进行,以确保单据的质量和稳定性。
7. 单据上线在进行单据测试后,需要进行单据上线。
单据上线前需要进行一系列的备份操作,以防止单据出现异常情况;上线时需要确认单据版本是否正确,以及是否同步更新了相应的文档。
用友NC供应链部分完整版操作手册(附图片)
![用友NC供应链部分完整版操作手册(附图片)](https://img.taocdn.com/s3/m/73e6bdc1ad51f01dc281f19c.png)
用友 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供应链部分整版操作手册(附图片)
![用友NC供应链部分整版操作手册(附图片)](https://img.taocdn.com/s3/m/c9e212aef61fb7360b4c6585.png)
用友 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-UAP单据开发手册
![用友NC-UAP单据开发手册](https://img.taocdn.com/s3/m/b8695ad2360cba1aa811da1a.png)
用友NC客户化开发手册NC-UAP 5.7用友NC-UAP作者:***2012-7-10初级开发开发环境搭建一、配置nchome\bin文件夹下ncSysConfig.bat1、配置数据源(通常情况下:design为默认数据源名称,如果有两个数据库以上,需要配置多个数据源)2、配置端口(这里配置端口参考nchome\conf\server.xml)<Connector port="8077" maxHttpHeaderSize="8192"maxThreads="150" minSpareThreads="25" maxSpareThreads="75"enableLookups="false" redirectPort="8443" acceptCount="100"connectionTimeout="20000" disableUploadTimeout="true" />二、配置eclipse开发工具1、配置MDE Development(Window->Preferences->MDE Development)选择nchome所在位置、检查数据库连接是否通过、设置数据源为默认数据源、点击ok设置完成。
设置端口(与nchome\bin文件夹下ncSysConfig.bat配置端口一致)2、配置Installed JERs注意:nchome\ufjdk\jre\lib\plugin.jar和nchome\ufjdk\lib\ tools.jar为必选插件,不然启动客户端的时候会报错。
点击确定,完成配置(最好留下当前在用的JERs,其他全部Remove掉)3、建立Module Project (选择Module Project->填写Project Name->Module Name->点击Finish)工程建立完成后如下图:4、配置eclipse内存-Dnc.exclude.modules=${FIELD_EX_MODULES}-Dnc.runMode=develop-Dnc.server.location=${FIELD_NC_HOME}-DEJBConfigDir=${FIELD_NC_HOME}/ejbXMLDExtServiceConfigDir=${FIELD_NC_HOME}/ej bXMLs-Xms768m -Xmx768m表设计(PowerDesigner建模)建表ts char(19) null default convert(char(19),getdate(),20), 特别注意建表时必须加ts和dr dr smallint null default 0主表建表脚本:create table dj_loan (pk_loan char(20) not null,pk_corp char(4) null,pk_busitype char(20) null,pk_billtype varchar(4) null,vbillstatus smallint null,vbillno varchar(30) null,dbilldate char(10) null,voperatorid char(20) null,dmakedate char(10) null,vapproveid char(20) null,dapprovedate char(10) null,vapprovenote varchar(512) null,vdealerid char(20) null,vdeptid char(20) null,vmemo varchar(2048) null,vdef1 varchar(100) null,vdef2 varchar(100) null,vdef3 varchar(100) null,vdef4 varchar(100) null,vdef5 varchar(100) null,vdef6 varchar(100) null,vdef7 varchar(100) null,vdef8 varchar(100) null,vdef9 varchar(100) null,vdef10 varchar(100) null,vreserve1 varchar(100) null,vreserve2 varchar(100) null,vreserve3 varchar(100) null,vreserve4 varchar(100) null,vreserve5 varchar(100) null,vreserve6 varchar(100) null,vreserve7 varchar(100) null,vreserve8 varchar(100) null,vreserve9 varchar(100) null,vreserve10 varchar(100) null,pk_account char(20) null,pk_hall char(20) null,vmkno varchar(30) null,nloanmny decimal(20,8) null,dloandate char(10) null,nloanquota decimal(20,8) null,nsignquota decimal(20,8) null,drepaydate char(10) null,vmarkername varchar(40) null,vrepayname varchar(40) null,nrepaymny decimal(20,8) null,nrepayinterestmny decimal(20,8) null,vsecurity varchar(40) null,dtrdate char(10) null,iloantype varchar(20) null,vhandperson varchar(40) null,iscount char(1) null,isuse char(1) null,constraint pkpm_noncontfee primary key nonclustered (pk_loan),ts char(19) null default convert(char(19),getdate(),20), 特别注意建表时必须加ts和dr dr smallint null default 0)Go子表建表脚本:create table dj_loan_b (pk_loan_b char(20) not null,pk_loan char(20) null,vmemo varchar(100) null,vdef1 varchar(100) null,vdef2 varchar(100) null,vdef3 varchar(100) null,vdef4 varchar(100) null,vdef5 varchar(100) null,vdef6 varchar(100) null,vdef7 varchar(100) null,vdef8 varchar(100) null,vdef9 varchar(100) null,vdef10 varchar(100) null,vreserve1 varchar(100) null,vreserve2 varchar(100) null,vreserve3 varchar(100) null,vreserve4 varchar(100) null,vreserve5 varchar(100) null,vreserve6 varchar(100) null,vreserve7 varchar(100) null,vreserve8 varchar(100) null,vreserve9 varchar(100) null,vreserve10 varchar(100) null,vsourcebilltype varchar(4) null,vsourcebillid char(20) null,vsourcebillrowid char(20) null,inumber int null,vrepayperson varchar(40) null,nrepaymny decimal(20,8) null,nrepayinterest decimal(20,8) null,nsurplusmny decimal(20,8) null,drepaydate char(10) null,dtrdate char(10) null,isshareholder char(1) null,pk_mkrepay char(20) null,constraint pkpm_costbill_b primary key nonclustered (pk_loan_b),ts char(19) null default convert(char(19),getdate(),20), 特别注意建表时必须加ts和dr dr smallint null default 0)go导入数据字典VO生成第一步:二次开发工具->UAP集成开发工具-> UAP集成开发工具第二步:工具和选项->根据数据源生成VO第三步:选择数据库表->把主子表拉到相应位置->点击确定第四步:把生成的VO拷贝到eclipse开发工具中(src/public文件夹下)功能注册说明:nc.ui.study.h101.ClientUI 为客户端入口类,ClientUI名字一般都是写成这个,nc.ui.study.h101.为每个功能节点对应的包名。
NC开发规程一览表说明
![NC开发规程一览表说明](https://img.taocdn.com/s3/m/dde24aa004a1b0717fd5dd69.png)
精心整理单表体的卡片型单据制作单表体的单据:指装载界面数据的聚合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;}对数据增,删,改的控制因为是虚拟主子表的数据结构,它在进行数据的操作时需要额外的控制。
NC开发单据制作详细流程
![NC开发单据制作详细流程](https://img.taocdn.com/s3/m/0071a5b85727a5e9856a61c1.png)
单据开发主要流程点击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.权限分配:单据模板-参数对照。
NC开发流程一览表说明
![NC开发流程一览表说明](https://img.taocdn.com/s3/m/8e5fc093770bf78a652954e6.png)
用友NC供应链部分完整版操作手册(附图片)
![用友NC供应链部分完整版操作手册(附图片)](https://img.taocdn.com/s3/m/73e6bdc1ad51f01dc281f19c.png)
用友 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.点击【供应链】-【采购管理】-【采购订单】-【订单处理】-【维护订单】节点,双击【维护订单】节点,进入订单界面。
用友nc65主子单据开发
![用友nc65主子单据开发](https://img.taocdn.com/s3/m/888813253968011ca30091d5.png)
课程内容 1
课程介绍
01
简介与目标
学习要求
02
2
案例场景
3
开发流程
01 02
无审批流主子单据开发流程
带审批流主子单据开发流程
4
练习题
无审批流主子单据开发流程-创建元数据
创建名称为cust的元数据实体组件
分别创建显示名称为客户主表和客户子表的元数据实体
创建内容为性别的枚举 设置主子表的组合关系(注意新增虚字段的访问策略) 实现业务接口IBDObject和IAuditInfo
创建元数据-实体属性设置
1. 模型视图-属性设置 带审批流元数据关键属性类型参照设置
元数据属性
单据状态(vbillstatus) 单据类型(pk_billtypeid) 业务类型(pk_busitype)
元数据属性类型参照
baseapp/METADATA/pf/pfbizitf.bmf/单据状态 baseapp/METADATA/pf/billtype/单据类型 riart/METADATA/pf/billtype/业务流程
详细设置前后台包名和接口名, 建议在此加上统一的父包
代码向导-参数设置
参数设置:详细设置脚本所需要 的参数,主子单据除单据模板外, 还需设定查询/打印模板信息和编 码规则信息
代码向导-多语资源设置
详细设置多语资源的信息,可设 置菜单资源ID
代码向导-资源信息显示
生成所有资源信息的详细展示, 点击下一步将生成表中所列资源
代码向导-基本信息设置
功能信息:注册功能节点的功能 分类信息,上级节点编码需 菜单信息:注册功能节点的界面 显示信息,根据菜单编码决定上 级菜单
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
单据开发主要流程
点击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 “LYD”; 单据类型代码
getBusinessActionType --0 走平台有个动作脚本1.走基本档案IBusinessActionType.BD
getChildPKField --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()卡片按钮新增修改删除增行刷新
renturn
int[]{IbillButton.add,IbillButton.Edit,IbillButton.Delete,IbillButton.Save,IbillBUtton.Cancel,IbillButton.Return,IbillButton.Line,IbillButton.R efresh}
列表按钮
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.权限分配:
单据模板-参数对照。