可视化U9插件开发平台使用说明书

栏目:u9cloud知识作者:用友来源:用友发布:2024-08-20浏览:1

可视化U9插件开发平台使用说明书

 

概述

U9插件开发,基于事件的U9标准产品业务逻辑扩展和修改,是U9项目实施和交付的重要部分。可视化U9插件开发平台通过提供U9插件标准框架代码生成、基于模板的业务逻辑代码生成功能来简化和规范U9插件开发工作。

功能介绍

标准框架代码生成

简单的步骤就可生成标准的U9插件框架代码,自动引用必要的U9标准产品的程序集,同时对插件对象进行强制类型转换,方便客开顾问进行业务逻辑开发。

基于模板的业务逻辑代码生成

内建NVelocity模板引擎,能根据预设的模板实现业务逻辑的代码生成。

系统插件管理

列出当前U9系统中使用的所有插件清单,对于使用本平台制作的插件提供更详细的管理。

下载地址

插件工具云盘链接:https://pan.yonyou.com/s/2XIFNVZkSX8

操作步骤

主界面

打开插件工具以后自动进入主界面,如图 3‑1所示。

图3‑1

配置

主界面-工具-配置进入配置窗口,如图 3‑2所示。

图3‑2

添加解决方案

在主界面点击新建按钮或使用文件-新建菜单,将添加一个解决方案,如图 3‑3、图 3‑4所示。在属性窗口可以编辑名称、显示名称、保存路径属性。

图 3‑3

图3‑4

添加项目

在解决方案树中右键点击解决方案节点-添加项目,将弹出添加项目对话框,如图 3‑5、图 3‑6所示。

图3‑5

图3‑6

点击确定,在解决方案树中选中新建的项目,如图 3‑7,在属性窗口中可以编辑相关属性。

图3‑7

添加事件集

在解决方案树中右键点击项目节点-添加事件集,将弹出添加事件集窗口,如图 3‑8、图 3‑9所示。

图3‑8

图3‑9

图 3‑10 BE插件事件集参数设置

添加事件

在解决方案树中右键点击事件集节点-添加事件,将弹出添加事件窗口,如图 3‑10、图 3‑11所示。

图3‑11

图3‑12

添加模板

在解决方案树中右键点击事件节点-添加模板,将弹出添加模板窗口,如图 3‑12、图 3‑13所示。

图3‑13

图3‑14

模板参数设置

在解决方案树中选中模板节点,在右侧属性窗口中可设置模板参数,如图 3‑14所示。系统为不同的模板参数类型提供专门的参数编辑器。

图3‑15

导出项目文件

在解决方案树中右键点击解决方案节点/项目节点-生成,将启动项目生成操作,将在代码生成路径下生成项目文件,如图 3‑15所示。

图3‑16

编译

在解决方案树中右键点击解决方案节点/项目节点-编译,将启动项目编译操作,如图 3‑16所示。

图3‑17

模板管理

主界面-工具-模板管理进入模板管理界面,如图 3‑17、图 3‑18所示,模板管理界面提供模板增删改的功能。

图3‑18

图3‑19

UI插件查看与导出

主界面-插件管理-前台插件进入UI插件查看与导出界面,如图 3‑19、图 3‑20所示。

图3‑20

图3‑21

BE插件查看与导出

主界面-插件管理-后台插件进入UI插件查看与导出界面,如图 3‑21所示。

图 3‑22

模板引擎

U9客开插件平台使用引入模板功能进行功能扩展,系统内建NVelocity 模板引擎。系统将模板引擎解析后的模板字串输出到相应代码文件中。

模板结构

U9客开插件平台的模板可以分为模板体和模板参数两个部分。模板体中定义的模板字串将由模板引擎解析,模板引擎解析需要引用模板参数。

模板体

按照插入到代码文件的位置不同,模板体包含分为如下三个模板字串:

  1. 当前类内部,模板引擎将解析后的模板字串输出到生成的插件类内部
  2. 当前方法内部,模板引擎将解析后的模板字串输出到生成的插件方法内部
  3. 单独的类,模板引擎将解析后的模板字串作为新类,输出到生成的插件项目中

模板参数

模板参数为模板引擎解析提供上下文环境,目前系统内建以下参数类型:

  1. UFControl

UF控件参数,提供Name,DisplayName,UFEvents三个属性可供模板体使用。系统内建控件选择器,用于此参数的可视化编辑,可以选择U9标准产品的所含控件,如图 4‑1所示。

图4‑1

  1. UFControlLocation

UF控件位置参数,提供ParentControlName,GridX,GridY三个属性可供模板体使用。系统内建容器选择器,用于此参数的可视化编辑,可以选择控件位置,如图 4‑2所示。

图4‑2

  1. UFControlList

UF控件集合参数

  1. String

简单类型参数

  1. StringArray

字符串数组参数

模板编辑

参见“VTL语法参考指南中文版”云盘链接:https://pan.yonyou.com/s/ENm0ESaRmo

案例介绍

标准销售金额上限控制

需求

控制业务员每张销售单金额上限。如果业务员一张销售单所有单行,含税金额汇总超100万,单位本币(不同币种按汇率转换),那么不允许保存并提示错误信息。

设计

  1. 订阅销售单AfterValidate事件
  2. 汇总所有销售单行含税金额
  3. 判断汇总金额是否超过100万,是抛出异常

使用U9插件工具实现

  1. 新建解决方案。
  2. 新建项目。新建一个BE插件项目,按图 5‑10输入参数:

图5‑1

  1. 新建事件集。新建一个事件集,选择销售订单实体,如图 5‑11所示。

图5‑2

  1. 添加事件。订阅AfterValidate事件,如图 5‑12所示。

图5‑3

  1. 导出代码。点击工具栏导出按钮,导出VS解决方案文件。
  1. 编写剩余代码逻辑。
    源代码地址链接:https://pan.yonyou.com/s/X2ow3apXQG8
  2. 发布。

拷贝UFIDA.U9.Custom.PluginExampleBE.dll到Portal/ApplicationServer/Libs目录

复制SO.AfterValidate.sub.xml到Portal/bin目录。

 

 

 

 

标准销售自定义打印

需求

实现标准销售订单的个性化打印。

设计

  1. 扩展标准销售单
  2. 在扩展方法AfterInit()中创建个性化打印按钮
  3. 按钮事件弹出打印界面

使用U9插件工具实现

  1. 新建解决方案。
  2. 新建项目。新建一个UI插件项目,按图 5‑13输入参数:

图5‑4

  1. 新建事件集。新建一个事件集,选择销售订单WebPart,如图 5‑14所示。

图5‑5

  1. 添加事件和模板。订阅AfterInit事件,在AfterInit事件下插入系统预置的“新建按钮”模板。
  2. 设置模板参数。选中上一步添加的“新建按钮”模板,按图 5‑15设置参数。

图5‑6

  1. 导出代码。点击工具栏导出按钮,导出VS解决方案文件。
  1. 编写剩余代码逻辑。

        源代码地址链接:https://pan.yonyou.com/s/lTQ5YehTvw

  1. 发布。

拷贝UFIDA.U9.Custom.PluginExampleUI.dll到Portal/UILib目录

复制StandardSOMainUIFormWebPart.WebPartExtend.config中ExtendedPart节到Portal/WebPartExtend.config文件中。

订货单增加联查销售订单

需求

在订货单界面增加联查销售订单功能

设计

  1. 扩展订货单
  2. 在扩展方法AfterInit()中创建销售订单按钮
  3. 按钮事件弹出对应的销售订单界面
  4. 在扩展方法AfterRender()方法中控制销售订单按钮的状态

使用U9插件工具实现

  1. 新建解决方案。
  2. 新建项目。新建一个UI插件项目,按图 5‑1输入参数:

图5‑7

  1. 新建事件集。新建一个事件集,选择订货单WebPart,如图 5‑2所示。

图5‑8

  1. 添加事件。订阅AfterInit、AfterRender事件,如图 5‑3所示。

图5‑9

  1. 插入模板。在AfterInit事件下插入系统预置的“新建按钮”模板。

图 5‑10

  1. 设置模板参数。选中上一步添加的“新建按钮”模板,右侧属性窗口如图 5‑5所示。可以看到,“新建按钮”模板需要设置5个参数。

ParentControl参数用于确定按钮插入的位置,系统提供“容器编辑器”进行可视化编辑,如图 5‑6所示。

ControlName参数表示将插入的按钮的名称,可以自由设定。

Events参数表示按钮的事件组,可以自由设定(U9系统按钮只提供了“Click”事件,设置其他事件将编译失败)。

ControlId参数表示按钮的Id,可以自由设定。

ControlText参数表示按钮的显示文字,可以自由设定。

        参数设置完成以后如图 5‑7所示。

图5‑11

图 5‑12 设置新建按钮模板的ParentControl参数

图5‑13

  1. 导出代码。点击工具栏导出按钮,导出VS解决方案文件。

  1. 编写剩余代码逻辑。

       源代码地址链接:https://pan.yonyou.com/s/kV37j312QNw

  1. 发布。

拷贝UFIDA.U9.Custom.ODSearchSO.dll到Portal/UILib目录

复制OrderDocUIFormWebPart.WebPartExtend.config中ExtendedPart节到Portal/WebPartExtend.config文件中。

界面增加汇率功能

需求

订货单增加汇率自动带出功能,在录入完本币和交易币后按买入汇率类型自动带出汇率值。

设计

  1. 扩展订货单
  2. 增加取汇率的方法(调用取汇率的BP)
  3. 在扩展方法AfterInit()中注册关联控件
  4. 关联控件逻辑方法中调用取汇率的方法

使用U9插件工具实现

1到4步与“订货单增加联查销售订单“案例类似。

  1. 插入模板。在AfterInit事件中插入2个系统预置的“注册CallBack事件”模板。
  2. 设置模板参数。选中上一步添加的“注册CallBack事件”模板,在右侧属性窗口设置参数。“注册CallBack事件”模板需要设置3个参数。

MainControl参数用于确定CallBack事件的触发源控件,系统提供“控件选择器”进行可视化编辑,如图 5‑8所示。

ParaControls参数用于确定CallBack事件的参数控件集合,系统提供“UF控件集合编辑器”进行可视化编辑。

TriggerEvent参数用于确定CallBack事件的触发事件名称,自由设置。

参数设置完成以后如图 5‑9所示。

图5‑14 设置注册CallBack事件模板的MainControl参数

图5‑15

  1. 导出代码。点击工具栏导出按钮,导出VS解决方案文件。

  1. 编写剩余代码逻辑。

      源代码地址链接:https://pan.yonyou.com/s/8niFVqSPU

标准销售交期校验

需求

实现标准销售订单交期的自动校验,交期必须大于日期,否则弹出提示框。

设计

  1. 扩展标准销售单
  2. 在扩展方法AfterInit()中注册关联控件
  3. 关联控件逻辑方法中判断日期与交期

使用U9插件工具实现

1到4步与“标准销售自定义打印“案例类似。

  1. 插入模板。在AfterInit事件中插入2个系统预置的“注册CallBack事件”模板。
  2. 设置模板参数。

图 5‑16 注册交期控件CallBack事件模板参数设置

图 5‑17注册日期控件CallBack事件模板参数设置

  1. 导出代码。点击工具栏导出按钮,导出VS解决方案文件。

  1. 编写剩余代码逻辑。

  1. 发布。

拷贝UFIDA.U9.Custom.PluginExampleUI.dll到Portal/UILib目录

复制StandardSOMainUIFormWebPart.WebPartExtend.config中ExtendedPart节到Portal/WebPartExtend.config文件中。

 

可视化U9插件开发平台使用说明书

 概述U9插件开发,基于事件的U9标准产品业务逻辑扩展和修改,是U9项目实施和交付的重要部分。可视化U9插件开发平台通过提供U9插件标准框架...
点击下载文档
标签: # U9C
分享:
确认删除?
回到顶部
客服QQ
  • 客服QQ点击这里给我发消息