NC开发单据制作详细流程
单据开发主要流程
点击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.权限分配:
单据模板-参数对照