ImageVerifierCode 换一换
格式:DOCX , 页数:105 ,大小:2.31MB ,
资源ID:24581662      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/24581662.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(NC公共模板培训.docx)为本站会员(b****4)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

NC公共模板培训.docx

1、NC公共模板培训用友NC二次开发平台-基于NC模板的开发用友NC总体技术部2002-12-25目 录第一章 概 述 11. 课程描述 11.1 课程内容 11.2 目标学员 12. NC模板介绍 12.1 模板功能 22.2 模板开发过程 22.3 用户使用过程 2第二章 单据模板 31. 单据模板数据的初始化 32. 单据模板管理 42.1 概述 42.2 设置命令 52.3 单据模板标志的说明 72.4 模板设置的常见问题说明 83. 单据控件 93.1 主要类关系 93.2 界面控件类 93.2.1 单据卡片界面类nc.ui.pub.bill.BillCardPanel 93.2.2 单

2、据列表界面类nc.ui.pub.bill.BillListPanel 123.2.3 单据表格界面类nc.ui.pub.bill.BillScrollPane 133.3 数据控制类 133.3.1 表模型类nc.ui.pub.bill.BillModel 133.3.2 卡片数据控制类nc.ui.pub.bill.BillData 143.3.3 列表数据控制类nc.ui.pub.bill.BillListData 153.3.4 单据界面基本元素nc.ui.pub.bill.BillItem 163.4 其它几个常用的类 173.4.1 单据编辑事件类nc.ui.pub.bill. Bil

3、lEditEvent 173.4.2 单据编辑接口类nc.ui.pub.bill.BillEditListener 173.4.3 单据编辑接口类nc.ui.pub.bill.BillEditListener2 173.5 在单据模板中使用公式 173.5.1 数值运算 173.5.2 加载时从基础档案中取值(加载公式) 183.5.3 编辑时从基础档案中取值(编辑公式) 183.5.4 常用公式 194. 单据模板数据表结构 204.1 单据主表pub_billtemplet 204.2 单据附表pub_billtemplet_b 205. 应用举例 22第三章 查询模板 231. 查询模板

4、数据的准备 232. 查询模板管理 232.1 概述 242.2 设置命令 242.3 模板编辑的主要内容 253. 查询对话框基类 283.1 查询基类功能 283.2 主要方法说明 293.2.1 基本使用 293.2.2 主要方法说明 293.2.3 关于常用条件 303.2.4 关于参照 314. 查询模板数据结构 324.1 查询模板主表pub_query_templet 324.2 查询模板子表pub_query_condition 324.3 相关数据结构 34第四章 帐表模板 351. 帐表模板数据的初始化 352. 帐表模板管理 362.1 概述 372.2 主要设置内容 3

5、73. 账表基类 383.1 基类功能 393.2 主要方法说明 393.2.1 得到帐表模板的内容 393.2.2 动态设置 393.2.3 设置帐表数据 403.2.4 其它主要接口方法 403.2.5 交叉表的主要接口及使用 423.2.6 小计合计: 463.2.7 按编码级次的分级小级: 484. 代码范例 505. 帐表模板数据表结构 505.1 帐表模板信息表pub_report_templet 505.2 帐表模板定义表pub_report_model 515.3 帐表模板列分组表pub_report_group 52第五章 打印模板 531. 打印模板数据的初始化 532.

6、模板管理工具 532.1 概述 532.2 设置命令 542.3 模板编辑器 542.3.1 模板菜单 552.3.2 编辑菜单 552.3.3 格式设置菜单 562.3.4 视图菜单 592.3.5 数据变量区 592.3.6 模板设置中的鼠标操作 603. 打印入口 623.1 使用模板打印 623.1.1 数据源接口 623.1.2 模板打印入口PrintEntry 633.2 直接打印 633.2.1 一个例子 633.2.2 必选方法 663.2.3 可选方法 664. 数据表结构 68第六章 附录 691. 公式解析所支持的公式 692. 单据控件使用例子 723. 帐表模板中各种

7、交叉结果及相应交叉行、列、值的设置 83第一章 概 述1. 课程描述1.1 课程内容本课程是NC二次开发培训的课程之一,介绍NC系统模板的基本架构和开发流程,掌握本课程所学内容之后,您将具备以下能力: 理解NC的公用模板 设置和维护模板内容 利用模板开发NC节点 使用模板提供的方法完成复杂业务处理1.2 目标学员参加本课程的学员,应该至少已具备下列知识: Java 语言编程 Visual Age使用经验 SQL Server使用经验 NC系统使用经验2. NC模板介绍基于NC界面统一,常用功能部件统一,简化开发过程的思想,NC提供了几个模板来实现一些通用的界面功能,主要包括:单据模板、查询模板

8、、帐表模板和打印模板等。所谓模板包括两个部分:模板数据:存放于数据表中(提供界面维护工具),描述模板的具体内容。例如单据模板数据描述了单据项目及具体的编辑属性,打印模板数据描述了打印格式等信息。公用控件:程序员在界面编程中可使用的控件。例如单据和报表控件是一个UIPanel,查询是一个UIDialog。2.1 模板功能 单据模板:根据设定的模板显示单据界面,可供用户进行数据浏览和编辑 查询模板:根据设定的模板显示查询条件组合对话框,可供用户设定查询条件 帐表模板:将查询结果数据根据设定的帐表格式进行界面显示,并提供交叉表等数据处理功能 打印模板:根据设定的打印格式进行预览和打印2.2 模板开发

9、过程 准备需要的数据表和相关代码(VO、BO等代码) 生成默认的模板数据 利用模板控件编写界面代码 进行后续业务处理流程如下图所示:2.3 用户使用过程 使用模板管理定义模板 进行模板分配、默认模板设置 业务节点操作第二章 单据模板单据模板主要功能: 支持单主表多子表结构,多子表分页签显示。 可设置单据属性和项目属性,包括显示、编辑、锁定、列合计(表体)等。 可自定义右键菜单。 表格支持显示行号、锁定列、合计并固定合计行。 支持全键盘操作。1. 单据模板数据的初始化 建立bd_billtype、pub_billtemplet、pub_billtemplet_b表 将NC_BILL项目导入资源库

10、中 运行包nc.pub.bill.tools下MakeData类(1) 指定ODBC数据源,设置用户名和密码(2) 选择列表(3) 在表信息栏选择主表(4) 在字段信息栏选择主、副表字段(5) 指定单据类型编码和单据标题名称(6) 选择生成数据,工具会将生成的模板数据填入相应数据表中 4、在业务Panel中添入nc.ui.pub.bill. BillCardPanel类(方法见用例) 可用方法public void loadTemplet(String, String, String, String)加载单据模板数据2. 单据模板管理2.1 概述 单据模板设置是维护(增加,修改)自定义模板的工

11、具; 初始数据为所有默认单据模板和已定义的自定义模板; 输出数据为:生成新的自定义模板或者修改后自定义模板。2.2 设置命令 增加:增加一个自定义模板。首先判断当前树节点是否为根结点,如果不是找到根结点,然后id = (String) htID.get(strType); 取得根结点的id,根据id调用btVO = BillTempletBO_Client.findTempletData(id),取得默认的模板VO,并且备份显示顺序到散列表中。 修改:编辑一个现有的自定义模板。 在执行结构设置时,只有showflag为真的项目的显示属性可以编辑,showflag为假的显示属性不允许编辑;因为l

12、ockflag和totalflag受显示属性的约束,所以当显示属性由showflag为真变为showflag为假时,相应的修改lockflag和totalflag为假。 对于表体的锁定属性的编辑,showflag为假的项目不允许编辑。 对于表体的合计属性的编辑,showflag为真的数值型项目才允许编辑。 对于能否编辑属性,因为没有特别的约束,所以直接在界面修改checkBox。 对于能否为空属性,自定义模板受默认模板的约束,如果默认模板的nullflag为真,则自定义模板的能否为空属性不可以编辑,反之可以编辑。 删除:删除一个选中的自定义模板;已经分配的和被引用的不允许删除;删除时调用del

13、ete(id); 复制:增加一个和现有自定义模板内容相同的模板; 保存:对增加或编辑后的模板进行保存;如果是新增模板,调用insert方法,如果是”修改”,调用update方法。 取消:对正在编辑的模板取消编辑;已经保存的模板不能取消。 还原默认顺序:还原到编辑前的显示顺序; 预览:预览当前的模板,包括列表式和卡片式两种。注意:模板名称和标题不能为空;同一默认模板的自定义模板名称不能重复。2.3 单据模板标志的说明 userflag 标志该项目用户能否编辑,如果userflag为假,则该项目用户不能编辑,目前处理方式为设置界面不显示(界面上看到的项目都是userflag为真); showfla

14、g 标志该项目是否显示; usershowflag 标志showflag是否可以修改,是用来约束showflag的编辑属性的; editflag 该项目是否可以修改; usereditflag 目前没有使用; lockflag 业务在增加单据时,如果项目的lockflag为真,则该项目的内容不清空,否则清空,由用户重新填写(增加多个单据时,可以减少重复工作); totalflag 只有totalflag为真的项目计算合计; listflag listflag为真表示支持列表显示模式; cardflag cardflag为真表示支持卡片显示模式; nullflag 必输属性,如果该属性为真,则在

15、增加单据时,该项目不能为空。2.4 模板设置的常见问题说明1表格中有3个只读列:字段标志、是否卡片、是否列表。 针对的问题:卡片模板和列表模板的属性是在同一界面设置的,而且字段的显示名称会有重复,这样用户经常在修改了某些属性后发现无效,其实修改的是同名的其他字段,或列表模板中的字段。增加这3个只读列有助于用户唯一确定他所要修改的字段。2有时用户会看到在单据界面上显示的字段,在模板设置中却找不到该字段进行修改,这不是错误。因为不允许用户修改的单据项在设置界面上不出现。3在点击“移动重排”按纽后出现的对话框中,能否选中某个字段是由该字段的初始化数据中的属性决定的。有时用户会反映无法选中字段,这不是

16、错误。4合计属性可在单据模板设置中修改,但是在单据界面中是否起作用有赖于业务逻辑中的控制。例如:设置“金额”字段的合计属性为计算合计,但是若业务代码中限制了各个字段的合计属性,甚至界面上不出现合计行,则此属性就不能看到效果,这不是错误。5锁定属性可在单据模板设置中修改。注意:锁定并不是锁定行或列的意思,而是数据锁定,即当新增单据时,该字段的取值是否默认带出(在设置界面的预览中看不到此效果,这不是问题)。3. 单据控件3.1 主要类关系3.2 界面控件类3.2.1 单据卡片界面类nc.ui.pub.bill.BillCardPanel卡片界面分为3部分:表头、表体和表尾。表头、表尾显示为多个独立

17、的编辑控件,对应业务主表的内容;表头部分支持多页签显示表体显示为表格样式,支持多页签,每个页签对应一个业务子表的内容。主要属性:1public int headScale = 40; /表头区域布局时所占的最大比例,默认为40%2protected UIPanel pnlHeader; /单据头部Panel3protected UIPanel pnlBody; /单据体部Panel4protected UIScrollPane uslTail; /单据尾部ScrollPane5protected BillData m_bdData; /单据数据结构主要方法: 初始化1 public BillC

18、ardPanel() /BillCardPanel构造子 2 public BillCardPanel(int headScale) / BillCardPanel构造子 3 public void loadTemplet(String billType,String busiType, String operatorID,String pkCorp) /加载单据模板 单据功能控制1 public void setRowNOShow(boolean newValue) /设置表体是否显示合计行2 public void setRowNOShow(String tablecode, boolea

19、n newValue) /设置编码为tablecode的表体是否显示合计行3 public void setRowNOShow(boolean newValue) /设置表体是否显示行号4 public void setRowNOShow(String tablecode, boolean newValue) /设置编码为tablecode的表体是否显示行号 单据元素控制1 public BillItem getXXXXItem (String key) /获得元素(XXXX为Head、Body、Tail)2 public BillItem getBodyItem (String tablec

20、ode, String key)/获得tablecode子表元素3 public BillItem getXXXXItems() /获得元素数组(XXXX为Head、Body、Tail)4 public BillItem getBodyItems(String tablecode) /获得tablecode子表元素数组 单据数据控制1 public void setXXXXItemValue (Object o,String key) /设置元素值(XXXX为Head、Tail)2 public void setBodyValues(Vector v) /设置表体数据3 public void

21、 setBodyAt(Object o,int row,String key) /设置表体row行key列的值4 public Vector getBodyData() /获得表体数据5 public Object getBodyDataAt(int rowIndex, String strKey) /获得表体rowIndex行, strKey列的数据 单据表格控制(实际调用BillModel的方法)1 public int getBodyColByCol(int col) /由显示列对应实际列号2 public int getBodyColByKey(String strKey) /由关键字

22、对应实际列号3 public void addLine () /增加行4 public boolean insertLine() /插入行5 public void copyLine() /复制行6 public void pasteLine () /粘贴行7 public boolean delLine () /删除行8 public void lockTableCol () /锁定列9 public void unlockTableCol () /解除锁定列 一些重要方法1 1public UITable getBillTable() /得到表体表2 2public BillModel g

23、etBillModel() /得到表体表模型3 3public BillData getBillData() /获得单据数据控制4 4updateData() /更新数据5 5resumeData () /恢复单据数据 业务数据加载1 public void setBillValueVO(AggregatedValueObject billVO) /加载数据(单子表)2 public void setBillValueVO(ExtendedAggregatedValueObject billVO) /加载数据3 public void getBillValueVO (AggregatedVal

24、ueObject billVO) /获得数据VO(单子表)4 public AggregatedValueObject getBillValueVO(String billVOName, String headVOName, String bodyVOName) /根据类名获得数据VO(单子表)5 public void getBillValueVOExtended (ExtendedAggregatedValueObject billVO) /获得数据VO(多子表)6 public ExtendedAggregatedValueObject getBillValueVOExtended(St

25、ring billVOName, String headVOName, String bodyVONames) /根据类名获得数据VO(多子表)3.2.2 单据列表界面类nc.ui.pub.bill.BillListPanel单据列表界面分为表头、表体两部分,都显示为表格。表体支持多子表,显示为多页签,每个页签对应一个业务子表的内容。主要属性:1 private BillScrollPane m_ParentPanel = null; /表头2 private UIPanel m_bodyPanel = null; /表体Panel3 private BillListData m_ListDa

26、ta = null; /单据列表模板数据结构主要方法:1 public void loadTemplet(String billType,String busiType,String operatorID,String pkCorp) /加载单据模板2 public BillListData getBillListData() /返回单据列表数据控制3 public BillScrollPane getParentListPanel() /返回表头的BillScrollPane4 public BillScrollPane getBodyScrollPane(String tableCode)

27、 /返回编码为tablecode的子表的BillScrollPane5 public AggregatedValueObject getBillValueVO(int row,String billVOName,String headVOName,String bodyVOName) /由类名获得选择行的单据VO6 public AggregatedValueObject getMultiSelectedVOs(String billVOName, String headVOName, String bodyVOName) /由类名获得选择单据数组7 public void setHeader

28、ValueVO(CircularlyAccessibleValueObject headVOs) /设置表头数据8 public void setBodyValueVO(CircularlyAccessibleValueObject bodyVOs) /设置表体数据3.2.3 单据表格界面类nc.ui.pub.bill.BillScrollPane具有行号列、合计行功能的ScrollPane,并支持锁定列。主要属性:1 protected BillTable m_btTable = null; /主表2 protected BillTable m_btFixColTable = null ;

29、/固定列表3 protected BillTable m_btFixRowTable = null; /固定行表(合计行)4 protected BillTable m_btRowNOTable = null; /行号5 protected BillModel m_bmModel = null; /表模型主要方法:1 public void setRowNOShow(boolean newValue) /设置是否显示行号2 public void setTableEnabled(boolean newEdit) /设置表的编辑状态3 public void showTableCol(Strin

30、g strKey) /显示隐藏表体列4 public void setShowFlags(BillRendererVO newRendererVO) /设置表格的绘制器5 public BillTable getTable() /获得主表6 public BillModel getTableModel() /获得表模型3.3 数据控制类3.3.1 表模型类nc.ui.pub.bill.BillModel单据表体表模式,带有默认合计行表模式、行号表模式。主要属性:1 protected BillItem m_biBodyItems = null; /表体元素数组2 protected DefaultTableModel m_tmlTotal = null; /合计行

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1