插件开发--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 == 0 || !(args[0] is UFSoft.UBF.Business.EntityEvent))
            {
                return;
            }

            BusinessEntity.EntityKey key = ((UFSoft.UBF.Business.EntityEvent)args[0]).EntityKey;
            if (key == null)
            {
                return;
            }

            //以下代码实现业务逻辑
            HomaGiftDoc doc = key.GetEntity() as HomaGiftDoc;
            if (doc == null)
            {
                return;
            }

            if (doc.DocNo == "")
            {
                throw new Exception("单号不能为空!");
            }

            for (int i = 0; i < doc.HomaGiftDocLine.Count; i++)
            {
                if (doc.HomaGiftDocLine[i].ItemQty <= 0)
                {
                    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.最后看看运行效果

时间: 2025-02-01 12:00:32

插件开发--BE插件开发的相关文章

插件开发-UI插件开发

1.新建类库解决方案,引入命名空间,同时引入要添加UI Form的WebPart(在Portal\UILib目录下) 2.继续UFSoft.UBF.UI.Custom.ExtendedPartBase,重写AfterInit()方法,代码如下,便于添加下拉列表按钮,在原单据中UI先新增一下拉按钮:添加按钮绑定的父控件,如本例中的下拉列表控件,可以UBF设计工具中的控件名属性ID来查找,本例中绑定的下拉列表按钮:DropDownButton2,若是系统标准的单据,建议查看系统的源码生成的ID相匹配

iOS平台第三方插件开发指导

IOS平台第三方插件开发指导 插件开发 http://ask.dcloud.net.cn/docs#http://ask.dcloud.net.cn/article/67  原出 技术架构 HTML5+ 基座扩展采用三层结构,JS层.PluginBridge层和Native层. 三层功能分别是: JS层: 在Webview页面调用,触发Native层代码,获取执行结果. PluginBridge层: 将JS层请求进行处理,触发Native层扩展插件代码. Native层: 插件扩展的平台原生代码

Word和WPS插件开发总结

为了实现办公的自动化,需要实现文档的自动流转.开发出的WORD和WPS插件的功能包括显示批注.隐藏批注.引入文件.附加对象.保存文档.退出应用. 1 Word插件开发 1.1 插件开发方法 1.1.1 开发语言 开发语言的选择,可以选择C++和C#. 1.1.2 Visual studio开发说明 Visual Studio 2010提供了各个版本Office的插件开发,新建工程-按照的模板-Visual C#-Office-2010,运行程序时其会调用本地安装的Office:文件-选项-加载项

掌握jQuery插件开发

在实际开发工作中,总会碰到像滚动,分页,日历等展示效果的业务需求,对于接触过jQuery以及熟悉jQuery使用的人来说,首先想到的肯定是寻找现有的jQuery插件来满足相应的展示需求.目前页面中常用的一些组件,都有多种jQuery插件可供选择,网络上也有很多专门收集jQuery插件的网站.利用jQuery插件确实可以给我们的开发工作带来便捷,但是如果只是会简单使用,而对其中的原理不甚了解,那么在使用过程中碰到问题或者对插件进行定制开发时就会有诸多疑惑.本文的目的就是可以快速了解jQuery插件

动手试试Android Studio插件开发

由于业务关系,经常需要写一些表单页面,基本也就是简单的增删改查然后上传,做过几个页面之后就有点想偷懒了,这么低水平重复性的体力劳动,能不能用什么办法自动生成呢,查阅相关资料,发现android studio插件正好可以满足需求,在Github上搜了一下,找到BorePlugin这个帮助自动生成布局代码的插件挺不错的,在此基础上修改为符合自己需求的插件,整体效果还不错. 发现了android studio插件的魅力,自己也总结一下,也给小伙伴们提供一点参考,今天就以实现自动生成findviewby

cordova 插件开发

从事基于cordova开发混合APP也快一年了,一直没有自己"亲自操刀"写一个插件,因为网上插件太丰富了,可耻了. 今天完整的记录一次插件开发. cordova环境6.4.0 第一步安装:plugman npm install -g plugman 第二步:创建插件 plugman create --name <pluginName> --plugin_id <pluginID> --plugin_version <version> [--path

Eclipse插件开发 学习笔记 PDF 第一篇到第四篇 免分下载 开发基础 核心技术 高级进阶 综合实例

<<Eclipse插件开发 学习笔记>>,本书由浅入深.有重点.有针对性地介绍了Eclipse插件开发技术,全书分为4篇共24章.第一篇介绍Eclipse平台界面开发的基础知识.包含SWT控件的使用.界面布局.事件处理等内容:第二篇是插件开发核心技术,主要介绍插件开发的核心知识要点,包含行为(Action).视图(ViewPart).编辑器(Editor).透视图(Perspective)等10章的内容.第三篇主要讲述插件开发的高级内容,包含开发高级内容.富client平台技术(R

Vue插件开发入门

相对组件来说,Vue 的插件开发受到的关注要少一点.但是插件的功能是十分强大的,能够完成许多 Vue 框架本身不具备的功能. 大家一般习惯直接调用现成的插件,比如官方推荐的 vue-router.vue-touch 等. 下面就看一下 Vue 的插件开发如何入门. 首先我们简单回顾一下 Vue.js 官方文档中对于插件开发的描述. Vue 的插件必须提供一个公开方法 install,该方法会在你使用该插件,也就是 Vue.use(yourPlugin) 时被调用,相当于是一个插件的注册或者声明.

jQuery插件开发(一):jQuery类方法

一.jQuery插件开发的方法 jQuery插件的编写方法主要有两种: 1.基于jQuery对象的插件 2.基于jQuery类的插件 二.基于jQuery类的插件 1.什么是jQuery类的插件? jQuery类方法其实就是jquery全局函数,即jquery对象的方法,实际上就是位于jquery命名空间的内部函数.这些函数有一个特征就是不操作DOM元素,而是操作 Javascript非元素对象.直观的理解就是给jquery类添加类方法,可以理解为添加静态方法 2.给jQuery类添加方法. /