EBS Form开发中实现附件功能(5)
(版权声明,本人原创或者翻译的文章如需转载,如转载用于个人学习,请注明出处;否则请与本人联系,违者必究)
继续使用上次创建的form,并为其添加附件功能。在EBS Form开发中实现附件功能非常简单,不用编写任何代码就可以实现,基本步骤如下.
1. 设计实现Form(和附件无关).
2. 通过ApplicationDeveloper->Attachments->Document Entities来添加Document Entity,如果只是不是当前表添加附件,这一步也是可选的,每一个附件是和实体的table的主键对应的。
3. 通过ApplicationDeveloper->Attachments->Document Categories来维护Category,Category主要用于安全考虑,比如:PO上Invoice相关的附件可以放于Payable的分类中,这样只有可以访问Payable的form或者function才可以放Invoice的,其它的Function都只要没访问Payable分类的话就访问不了这些附件,如果要使用已有的分类,这一步也是可选的。
4. 通过ApplicationDeveloper->Attachments->Attachment Functions来通过配置把form/function, Entity, Category绑定在一起。
简单示例,需要做以下的步骤:
1. 为之前的RESULLTSblock添加VENDOR_ID字段,并调整相应的Canvas,只是用来关联PO_VENDORS实体相关的附件,没什么特别.
2. 保存修改,上传到服务器相应目录,然后编译。
3. 通过ApplicationDeveloper->Attachments->Document Entities来添加Document Entity,因为我们使用的RCV_TRANSACTIONS表,已经有定义的实体了,就不需要自己定义了,这里使用下面这两个实体,如下图所示。实体其实很简单,只是对应于那个表。
4. 通过ApplicationDeveloper->Attachments->Document Categories来定义一个新的Category.
5. 通过ApplicationDeveloper->Attachments->Attachment Functions来通过配置把form/function, Entity, Category绑定在一起,这里选择Function,然后选择我们Form对应的Function名。也可以Form 类型,其实都是类似的。
6. 点击Categories按钮,在定义在这个function里面可以访问的附件的类型,这里选择我们新建的Category和MISC类型。
7. 点击Block来为这个form/function上的Block分别绑定实体等,我们的form只有RESULLTS 这个block,所有填这个block.安全和上下文设置可以根据需要设置。这里留空。
8. 点击Entities,分别把block上的相关的item绑定到对应的entity上,首先添加Rcv Transaction这个实体,Privileges页签设置如下,表明在这个block上允许对这个实体添加,删除,更新和查询附件。并且只有block 上RESULLTS.TRANSACTION_ID不为空的时候才能操作这个实体对应的附件。
9. 点击Primary KeyFields,指明实体的主键对应于block上的哪个字段,这里是RESULLTS.TRANSACTION_ID。
10. 然后添加Supplier实体,因为我们的form不是维护Supplier的,所以对这个实体,我们只进行查询且是在RESULLTS.VENDOR_ID不为空的时候。
11. Supplier实体的主键对应于RESULLTS.VENDOR_ID.
12. 保存设置,打开我们创建的Form,点击附件图标,我们可以看到Supplier对应的两个附件。
13. 我们再新增一个附件,点新增的时候,我们只能为RCV Transaction实体新增,类型我们选择之前定义的类型,如下 。
14. 保存我们的附件,并到View ReceivingTransactions form 查看我们新增的附件,但我们会发现根本没有任何附件。那是因为这个form中没有包含我们新定义的category。对于Supplier的附件,这个form根本没有设置Supplier Entity.所以我们看不到任何附件。
15. 我们到AttachmentFunction form 为View ReceivingTransactions form添加我们新建的Category.
16. 然后再打开View ReceivingTransactions form,选择我们添加附件的rcvtransaction,并点击附件功能,我们就可以看到我之前添加的附件了。
个人感觉Form上的附件功能很强大,只需要简单的配置,不需要编码就可以实现附件功能;而且有安全控制,并轻易可以在不同的form间共享。