`
wuhaidong
  • 浏览: 361593 次
  • 性别: Icon_minigender_1
  • 来自: 青岛
社区版块
存档分类
最新评论

如何制作卡片型单据

    博客分类:
  • NC
阅读更多

卡片型单据UI工厂中最基本的单据,与其他类型的单据比较起来,它的界面形式以及VO数据的组织相对简单。

 

卡片型单据的应用场景是:单据聚合VO的数据在界面上展示这个聚合VO,可以有标准的表头+表体数据组成,也可以是单表体和单表头。

 

卡片型单据统一的界面基类 BillCardUI

               统一的事件处理类 CardEventHandler

       统一的界面控制接口 ICardController

 

 

单表体的卡片型单据界面

表头+表体的卡片型单据界面

多子表的卡片型单据界面

 

开发卡片型单据的步骤:

 

与传统的单据开发方式一样,基于UAP平台,需要做一下准备:

#以数据库表结构为蓝本,利用工具自动生成单据VO类

#在NC二次开发工具/单据类型管理中对单据的相关配置套类进行注册。比如单据UI类,前台校验类等。

#在NC单据模板设置工具中对该单据的显示模板进行设置。

 

 

从卡片单据的相关基类继承,即可生产初步的类框架。由于UI工厂在基类对许多功能进行了缺省实现,因此只需要配置几个简单的信息(通过方法的重载)即可生产最简单的界面。

 

1. 界面控制类是必须的。因此它保存着单据的VO信息,以及单据的主子表主键信息

重载getBillType() 方法 -- 返回在平台里给此单据注册的单据类型

重载getBillVOName() 方法 -- 返回单据的VO信息

重载getPKField() 方法 -- 返回主表的主键

重载getChildPKField() 方法 -- 返回子表的主键。

 

2. EventHandler 类用来响应按钮事件,所有按钮事件在基类都有缺省实现!

 

3. SampleCardUI 

重载createController() 方法 -- 该方法得到界面控制类

 

通过这几步,实际已经利用UI工厂创建了最简单的单据。

 

 

完善功能一:数据加载

 

# 初始化单据模板的数据,比如对comboBox数据的初始化,对参照数据的初始化。实现这个功能,需重载initSelfData 方法,并在方法内完成对单据模板初始化的代码。

 

# 初始化界面数据,UI工厂通过setDefaultData方法来设置界面的初始数据。该方法的主要目的是初始化单据必须的信息,它在新增数据的时候会被调用。但是,在UI类实例化的时候,它不会自动调用。因此,应该在UI类的构造器显式地调用该方法。

 

# 读取单据的数据。从外部数据源获取单据数据,比如数据库、数据文件等。最普遍的情况是通过查询数据库获得单据。

第一,在平台上定制单据的查询模板,并进行注册。

第二,根据业务确定单据是基本档案的单据还是需要流程平台、会计平台等平台支持的单据。这个信息需要在单据类中指明,在SampleCardController 中重载getBusinessActionType 方法。

第三,为单据定制按钮。很显然,我们现在必须要一个查询按钮,为了浏览的方法,在添加一个按钮和一个刷新按钮。方法是:在SampleCardController中重载 getCardButtonAry 方法。

 

 

经过上面几步,就完成了简单的数据加载功能。按钮的事件处理,及数据库查询的逻辑都已在基类实现,因此,只需做简单的信息配置(主表主键,子表主键,是否走平台,主表VO类,子表VO类,聚合VO类)即可。

 

 

完善功能二: 对数据的增,删,改操作

 

      我们并没有显示地控制查询的逻辑,仅仅是见主子表信息,单据类型配置在程序中,如果对数据的增删改并没有特殊的功能要求,我们只需要添加相应的操作按钮,此时应该修改SampleCardController的 getCardButtonAry 方法。

      上一步之后,单据已经具备了对数据的增,删,改功能。需要提醒的是,按钮状态的管理在UI工厂中是交给ButtonManager对象集中控制。

 

 

完善功能三: 前后台校验

 

在UI工厂中,单据的前台校验也是先在单据类型管理中注册前台校验类,但是提供了校验的辅助类和对校验规则的封装。而单据的后台校验,在UI工厂有特殊的实现方法。

 

前台校验主要处理对界面数据的校验。UI工厂定义了一个抽象类BeforeActionCHK,它实现了平台的前台校验接口IUIBeforeProcAction 。这样,单据的前台校验类应继承BeforeActionCHK。为了辅助做校验,UI工厂利用校验规则和校验执行类完成功能。通用的校验执行类是VOChecker ,校验规则分为三种:

1. 由接口ICheckRules 所定义的

它主要用来做最基本的校验,比如表头,表体数据的非空校验,数据类型校验等等。

2. 由接口ICheckRules2所定义的

它主要用来做表体数据是否为空的校验,并且增加了设定特殊的校验执行类的接口。

3. 由接口IUniqueRules所定义的

它用来校验前台表体数据的唯一性。

 

 

 

变体一:单表体的卡片型单据

单表体的单据时指装载界面数据的聚合VO表头VO为空,只存在一组表体VO。UI工厂在设计的时候考虑到这种情况,设计了一个接口ISingleController,单表体单据的界面控制类应实现此接口,并实现isSingleDetail方法。

 

 

变体二:单表头的卡片型单据

 

变体三:虚拟主子表的卡片型单据

 

虚拟主子表单据指的是那种数据来源于一张数据表,却根据特定规则模拟主子表的结构,将一部分字段放到表头,剩下的字段放到表体的单据。它通常用于数据的分组,即把数据根据特定字段的值进行分组。特定字段的值相等的数据自然的被归为一类,然后,把特定字段放到表头显示,属于它的一组数据在表体列表显示,形成了标准主子表的结构。

 

因为数据分组的特定规则取决于业务,因此UI工厂无法做缺省的实现。但是,加载数据库一般都在查询时完成,所有可以定制查询事件的行为,这需要为单据创建按钮事件处理器,并重载查询时基类调用的方法。

 

1.加载数据的步骤。

2.对数据增、删、改的控制。

因为是虚拟主子表的数据结构,它在进行数据的操作时需要额外的控制。这个问题的本质是在将前台数据写回后台时,需将前台的主子表结构还原为单据结构。

 

在编辑(行操作)完毕,点击保存按钮。程序会从界面企鹅的被修改的数据,这些数据被标识成新增、删除、修改等状态,提交给后台处理。对于真正的主子表,表头数据和表头数据会分别存储到对应的表中,但对于虚拟主子表的单据,主表数据加上子表数据的一行才构成数据表中的一行记录。

 

 

变体四:多子表的卡片型单据

多子表单据在界面显示上通常是表头 + 多页签的表体,每一个页签代表一个子表。在UI工厂中,这种单据也得到了抽象,主要是从两个角度抽象的

#对UI显示界面的抽象。多子表单据的UI类不使用BillCardUI做基类,而是继承于一个新的UI基类,MultiChildBillCardUI,它封装了多个页签的界面显示。

#对VO数据的抽象。在NC应用中,主子表数据存储在聚合VO中,它支持一个主表+一个子表的结构,但是这种结构不适合于多子表的情况。因此,UI工厂设计了接口IExAggVO,需要装载多子表数据的聚合VO类,应该实现此接口,并实现它的关键方法。

 

步骤

1. 定义多子表

多子表VO是聚合VO,同时又象一个装着多个子表数据的容器,因此它必然继承自AggregatedValueObject的类层次,又实现多子表VO的接口,IExAggVO

2. 定义单据界面控制类

3. 定义事件处理类

4. 定义业务代理类

简单介绍过业务代理类,它的缺省行为主要是获取后台数据。为了将职责划分得更清楚,我们可以创建专门业务的代理类。

前面的例子中一直没有涉及业务代理类,但是,对于多子表的单据,一定要创建业务代理类,并重载其中的一个方法。原因:在加载数据时,除了虚拟主子表的单据自己负责加载所有表头,表体数据,并一次性地在BillUIBuffer中缓存所有已组织好的聚合VO对象外,其它表结构的单据都要先加载表头数据,然后在必要时才通过主子表的主键关系取得表体数据。真正的主表 -- 多子表关系往往也满足这样的主键关系,但是,为了控制的灵活,UI工厂将数据组成多子表结构的任务放到了业务代理中。多子表单据应创建自己的业务代理类,并重载loadChildDataAry方法。

5. 定义单据UI类


分享到:
评论
1 楼 漫成咖啡 2015-02-02  
 

相关推荐

    用友ERPUI工厂文档

    #### 第二章:如何制作卡片型单据 **知识点10:卡片型单据的类结构** - **结构特点**: 卡片型单据通常具有清晰的分层结构,便于管理和扩展。 - **类层次**: 通常包括基础的单据类、具体的业务逻辑处理类以及界面...

    NC57UI工厂文档

    3. **制作步骤**:详细介绍如何开发列表卡片型单据的过程。 #### 六、坚持模型驱动的单据开发方法 模型驱动的开发方法强调以数据模型为核心,围绕数据模型构建应用程序。 1. **模型优先**:强调先设计数据模型,再...

    nc二开单据

    虚拟主子表的卡片型单据制作相对复杂,因为它的数据虽然来自单一表,但通过特定规则虚拟出主子表结构。这种单据常用于数据分组,根据自定义字段的值将数据分为多个类别,特定字段显示在表头,其余数据作为表体。由于...

    用友NC开发UI工厂

    - **类结构**:结合了列表型和卡片型单据的优点,适用于展示详细信息的同时提供简洁的列表视图。 - **开发步骤**: - **定义类结构**:确定列表和卡片的布局方式。 - **数据和单据关系**:理解列表数据与单据数据...

    NC初学者向导.doc

    接下来,资料引导初学者从简单的单据开发入手,这是一种卡片型单据,涵盖了增删查改等基本操作。通过实践,开发者可以直观地感受到NC单据开发的全过程,包括设计、编码、测试等环节。这一阶段的学习目标是熟练掌握...

    用友培训课件:NC63全产品培训-电子单据柜.pptx

    在产品演示环节,培训课件详细展示了操作流程,包括单笔打印、批量打印、内部转账单据卡片和自定义业务单据卡片等,确保用户能够直观地理解并掌握系统的实际操作方法。 《用友NC63全产品培训-电子单据柜》培训课件...

    证件速打王-胸卡、学生证、毕业证、录取通知书、成绩报告单、学籍卡片、信封、会展证、标签、请柬、贺卡、票据、快递单据、数码照片

    证件速打王专门针对于教育行业、联合办学培训机构、政府机关、大中型企事业单位、相馆、冲印中心、会展等行业需要大量制作、打印或输出胸卡、学生证、毕业证、录取通知书、成绩报告单、学籍卡片、信封、会展证、标签...

    NC57多主体固定资产折旧科目项目设置

    - 录入固定资产卡片时,填写新增卡片的“对应折旧科目”、“项目令号”。 **2.4.2 月结账与折旧计提** - 新增卡片月结账后,进行折旧计提。 **2.4.3 凭证生成** - 测试环境中,会计科目“销售费用”挂了项目辅助...

    金蝶云星空初级实施认证部分单选题

    8. 关于资产处置单,已调出生成新卡片的资产处置单可以反审核,单据已生成凭证的资产处置单可以反审核,单个的资产卡片可以在当期新增多次资产处置单,反审核后的资产处置单可以删除。 业务对象功能授权 9. 在业务...

    金算盘和用友软件比较.pdf

    它的卡片、单据录入以及表格查询等操作更人性化,支持动态可视参照和全键盘录入,使得日常操作更为便捷。同时,8E的界面设计符合国际标准,主界面和各模块反应速度快,用户体验良好。而用友U8在这些方面虽然也具备...

    商贸进销存财务生产管理软件V2.0-免费

    用户可以指定调拨单、组装单、拆卸单、其他入出库单是否直接更新库存,既支持流程型操作,也便于单机型操作 各类单据的打印,可自己设计定制格式 灵活生成各类统计报表,可定制显示方案 支持用户和授权管理; 支持...

    进销存软件 库存系统

    用户可以指定调拨单、组装单、拆卸单、其他入出库单是否直接更新库存,既支持流程型操作,也便于单机型操作 各类单据的打印,可自己设计定制格式 灵活生成各类统计报表,可定制显示方案 支持用户和授权管理;...

    T6-企业管理软件V6.doc

    T6-企业管理软件V6.0是一款专为中小型型企业设计的企业资源规划(ERP)解决方案,旨在通过全面管理企业的核心业务流程,实现事前计划、事中控制、事后分析的高效管理模式。该软件的核心理念是规范业务流程,提升企业...

    参考资料-U9资产减值准备单单据类型.zip

    6. **后续处理**:一旦资产减值,后续可能涉及的单据包括调整资产卡片、更新财务报表等,确保资产信息的准确性。 了解和熟练掌握U9系统的资产减值准备单单据类型对于企业财务人员至关重要,这不仅有助于确保会计...

    建筑施工组织2021-某燃气锅炉安装工程施工组织设计.doc

    - 技术资料:确保具备设计图纸、相关国家标准和安装所需的各类表格、卡片和单据。 - 编制施工预算:基于施工图纸制定班组预算,材料部准备所需材料。 - 施工平面布置:包括场地三通一平(电通、水通、路通和平整...

    金蝶EAS:中国水利电力对外公司顺应信息化需求的选择

    此外,金蝶EAS的固定资产管理系统涵盖了卡片管理、折旧计算和账务核算,提供多种自定义折旧方法,以适应不同设备的折旧需求。同时,系统还包含了协同平台,整合了总账、预算管理,实现费用报销的核算和预算控制,...

    大型纸业公司车辆厂区行驶RFID应用草案

    每种类型车辆的流程大致相似,涉及门岗登记、过磅、装卸货、复磅、开票或交接单据等步骤,所有这些操作都可通过RFID卡片实现自动化处理,提高了效率,减少了人为错误。 在数据库设计方面,可能需要考虑以下几点:...

    燃气热水锅炉施工组织设计.docx

    1. 技术资料:施工前需具备制造厂的设备图纸、相关的国家标准和施工规范,以及各种安装所需的表格、卡片和单据,确保施工过程合规且有据可依。 2. 编制施工预算:根据施工图纸,预算部门需准备足够的材料和资源。 3....

    大型商场进销存需求说明

    软件通过灵活的单据模板和报表设置,适应不同类型的商业企业,实现业务流程的重组,减少了人为操作的成本和时间。 二、组织框架 系统涉及到的组织架构分为公司级、分店部门级和班组织三级。公司级包括总经理室、各...

Global site tag (gtag.js) - Google Analytics