插件开发--BE插件开发
U9的插件主要分为3种,即
(1)BE插件
(2)UI插件
(3)BP/SV插件
1.新建类库解决方案
2.新建插件类,并引用以下dll,UBF安装目录U9.VOB.Product.UBF\UBFStudio\Runtime
UFSoft.UBF.Analysis.Exceptions.dll
UFSoft.UBF.Business.dll
并继续接口UFSoft.UBF.Eventing.IEventSubscriber
3.实现接口代码,以之前做过的礼品单据作为插件对象,则要引入礼品单据的BE的dll,并复制以下代码,据实际情况实现逻辑
class GiftDocBEPlugExtend : UFSoft.UBF.Eventing.IEventSubscriber
{ public void Notify(params object[] args)
{
//throw new NotImplementedException();
if (args == null || args.Length == || !(args[] is UFSoft.UBF.Business.EntityEvent))
{
return;
} BusinessEntity.EntityKey key = ((UFSoft.UBF.Business.EntityEvent)args[]).EntityKey;
if (key == null)
{
return;
} //以下代码实现业务逻辑
HomaGiftDoc doc = key.GetEntity() as HomaGiftDoc;
if (doc == null)
{
return;
} if (doc.DocNo == "")
{
throw new Exception("单号不能为空!");
} for (int i = ; i < doc.HomaGiftDocLine.Count; i++)
{
if (doc.HomaGiftDocLine[i].ItemQty <= )
{
throw new Exception("行" + doc.HomaGiftDocLine[i].RowNo + "数量不能小于0!");
}
}
}
}
插件实现代码
4.编译后,据错误分别引用需要的dll

5.配置文件,配置文件命名建议以命名空间作为前缀,后缀必须为.sub.xml
6.配置文件节点说明
Homa.test.ch01.GiftDocBE.sub.xml
<?xml version="1.0" encoding="utf-8" ?>
<pub-sub>
<subcription event="Homa.test.ch01.GiftDocBE.HomaGiftDoc.Validate">
<subscriber type="GiftDocPlug.GiftDocBEPlugExtend,GiftDocPlug.dll" />
</subcription>
</pub-sub>
event:为调用的实体(Homa.test.ch01.GiftDocBE.HomaGiftDoc)+触发事件(如:Validate、Inserting、Inserted、Updating、Updated)
type:命名空间+类名,程序集dll名(命名空间.dll)
7.部署插件
(1)拷贝生成的dll至Portal\ApplicationServer\Libs
(2)拷贝配置文件至Portal\bin
8.最后看看运行效果
插件开发--BE插件开发的更多相关文章
- 插件开发-UI插件开发
1.新建类库解决方案,引入命名空间,同时引入要添加UI Form的WebPart(在Portal\UILib目录下) 2.继续UFSoft.UBF.UI.Custom.ExtendedPartBase ...
- Chrome插件开发,美化网页上的文件列表。chrome-extension,content-scripts
趁着2018年还剩最后几天,发几篇博客,荒废太久了,惭愧. 最近也是需求驱动,研究了下Chrome插件开发.来看一下我们公司运维提供的日志查看页面 所有项目的日志都参杂在一起,每次去找都很痛苦.慢慢发 ...
- 【eclipse插件开发实战】Eclipse插件开发4——插件JDE、PDE开发方式及plugin.xml配置文件结构
Eclipse插件开发4--插件JDE.PDE开发方式及plugin.xml配置文件结构 开发方式分为:java开发环境JDE开发插件的方式和插件开发环境PDE开发插件方式. 插件通过添加到预定义的扩 ...
- JavaScript学习笔记(四)——jQuery插件开发与发布
jQuery插件就是以jQuery库为基础衍生出来的库,jQuery插件的好处是封装功能,提高了代码的复用性,加快了开发速度,现在网络上开源的jQuery插件非常多,随着版本的不停迭代越来越稳定好用, ...
- jira的插件开发流程实践
怎么开头呢,由于自己比较懒,博客一直不怎么弄,以后克己一点,多传点自己遇到的问题和经历上来,供自己以后记忆,也供需要的小伙伴少走点弯路吧 最近公司项目需要竞标一个运维项目,甲方给予了既定的几种比较常用 ...
- Vue插件开发入门
相对组件来说,Vue 的插件开发受到的关注要少一点.但是插件的功能是十分强大的,能够完成许多 Vue 框架本身不具备的功能. 大家一般习惯直接调用现成的插件,比如官方推荐的 vue-router.vu ...
- 【原创】记一次Project插件开发
一.开发背景 最近在使用微软的Office Project 2010 进行项目管理,看到排的满满的计划任务,一个个地被执行完毕,还是很有成就感的.其实,不光是在工作中可以使用Project进行项目进度 ...
- JavaScript学习总结(四)——jQuery插件开发与发布
jQuery插件就是以jQuery库为基础衍生出来的库,jQuery插件的好处是封装功能,提高了代码的复用性,加快了开发速度,现在网络上开源的jQuery插件非常多,随着版本的不停迭代越来越稳定好用, ...
- [Tool] Open Live Writer插件开发
一 前言 Windows Live Writer(简称 WLW)开源之后变成 Open Live Writer(简称 OLW),原先 WLW 的插件在 OLW 下都不能用了,原因很简单,WLW 插件开 ...
随机推荐
- AIX UNIX 系统管理、维护与高可用集群建设——数据库结构设计
在对数据库类应用进行优化的过程中我们了解到一个原则,即思想上要从结构设计抓起,按照下面的顺序: 1.数据库逻辑结构设计和物理设计. 2.数据库对象部署和SQL代码编写. 3.数据库实例性能调整和优化. ...
- css名词解释
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...
- TextField文本框
1)失去第一响应者状态方法(即关闭键盘) 要先将视图view的底层类设置为UIControl类 再设置view的touch down事件,在事件中写入以下方法 [self.textField resi ...
- js 一个自写的 监测类
自从认识了jQuery后,很多页面加载入口,都放在document.ready里面.但是有时候这个觉得ready加载太慢, 这个[监测类 ]就开始产生了 效果类似这个. 每10毫秒检查一次,直到加载了 ...
- 对属性NaN的理解纠正和对Number.isNaN() 、isNaN()方法的辨析
1.属性NaN的误解纠正 NaN (Not a Number)在w3c 中定义的是非数字的特殊值 ,它的对象是Number ,所以并不是任何非数字类型的值都会等于NaN,只有在算术运算或数据类型转换出 ...
- YbSoftwareFactory 代码生成插件【十八】:树形结构下的查询排序的数据库设计
树形结构的排序在中国特色下十分普遍也非常重要,例如常说的五大班子,党委>人大>政府>政协>纪委,每个班子下还有部门,岗位,人员,最终排列的顺序通常需要按权力大小.重要性等进行排 ...
- PhpStorm创建Drupal模块项目开发教程(3)
rush是 Drupal的脚本界面,PhpStorm的命令行工具支持Drush 5.8和更高版本. 接下来就Drush配置和基本操作进行设置,首先点击打开Settings | Command Line ...
- Java 邮件发送
<dependency> <groupId>javax.mail</groupId> <artifactId>mail</artifactId&g ...
- Spring实现IOC
目录 一.使用XML配置的方式实现IOC 二.使用Spring注解配置IOC 三.自动装配 四.零配置实现IOC 五.示例下载 控制反转IoC(Inversion of Control),是一种设计思 ...
- windows+caffe(七)——ComputeImageMean.bat
1.首先我们使用lmdb数据格式(怎样得到lmdb数据格式,看我的另一篇)求得均值: 新建ComputeImageMean.bat,里面输入: D:/deeptools/caffe-windows-m ...