BE插件开发流程
以案例进行流程讲解
- 介绍
- 标准销售金额上限控制
- 需求
- 标准销售金额上限控制
控制业务员每张销售单金额上限。如果业务员一张销售单所有单行,含税金额汇总超100万,单位本币(不同币种按汇率转换),那么不允许保存并提示错误信息。
- 设计
- 订阅销售单AfterValidate事件
- 汇总所有销售单行含税金额
- 判断汇总金额是否超过100万,是抛出异常
- 使用U9插件工具实现
- 新建解决方案。
- 新建项目。新建一个BE插件项目,按图5‑10输入参数:
图 5‑1
- 新建事件集。新建一个事件集,选择销售订单实体,如图5‑11所示。
图 5‑2
- 添加事件。订阅AfterValidate事件,如图5‑12所示。
图 5‑3
- 构造生成代码、导出放置到项目对应目录下。
- 编写剩余代码逻辑。
private void Do_Notify(object[] args)
{
#region 从事件参数中取得当前业务实体
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;
UFIDA.U9.SM.SO.SO so = key.GetEntity() as UFIDA.U9.SM.SO.SO;
if (so == null)
return;
decimal totalMny = 0;//汇总行金额
foreach (UFIDA.U9.SM.SO.SOLine line in so.SOLines)
{
totalMny += line.TotalMoneyTC;
}
if (totalMny > 1000000)
{
throw new Exception("当前销售订单"+so.DocNo+"总金额不能超过100W");
}
#endregion
}
- 发布。
拷贝UFIDA.U9.Custom.PluginExampleBE.dll到Portal/ApplicationServer/Libs目录
复制XX.sub.xml到Portal/bin目录。
BE插件开发流程
本文2024-08-20 17:56:56发表“u9cloud知识”栏目。
本文链接:https://wenku.my7c.com/article/yonyou-u9cloud-1178.html