电脑桌面
添加蚂蚁七词文库到电脑桌面
安装后可以在桌面快捷访问

二开案例.服务插件.元数据异常检测之主表被改

来源:金蝶云社区作者:金蝶2024-09-2315

二开案例.服务插件.元数据异常检测之主表被改

【应用场景】

WebApi保存单据,返回结果提示保存成功,实际并未成功,因为系统中查不到对应的数据。

原因分析:

返回结果说,那数据应该是保存成功了,找不到可能原因有:

<1>账套搞错了。

<2>奇怪的插件逻辑把刚生成的单据删掉了。

<3>元数据被错误的改坏了,例如主表表名被改了,数据被存到意想不到的表里去了。


【案例演示】

客户,WebApi保存,如果主表不对,拦截保存操作,写异常日志。


【实现步骤】

<1>编写服务插件,代码如下。

using Kingdee.BOS.Core.DynamicForm.PlugIn;

using Kingdee.BOS.Core.DynamicForm.PlugIn.Args;

using Kingdee.BOS.Log;

using Kingdee.BOS.Util;

using Newtonsoft.Json;

using System;

using System.ComponentModel;

using System.Linq;


namespace Jac.XkDemo.BOS.App.PlugIn

{

    /// <summary>

    /// 【服务插件】元数据异常检测之主表被改

    /// </summary>

    [Description("【服务插件】元数据异常检测之主表被改"), HotUpdate]

    public class CheckMetaForTableNameServicePlugIn : AbstractOperationServicePlugIn

    {

        public override void EndOperationTransaction(EndOperationTransactionArgs e)

        {

            base.EndOperationTransaction(e);

            if (this.FormOperation.OperationId != 8)

            {

                // 只处理保存操作

                return;

            }

            var formId = this.BusinessInfo.GetForm().Id;

            var tableName = this.BusinessInfo.GetEntity(0).TableName;

            if (formId.EqualsIgnoreCase("BD_Customer"))

            {

                // 表名不匹配,或者内码长度有问题,都视之为异常数据

                if (!tableName.Eq

二开案例.服务插件.元数据异常检测之主表被改

【应用场景】WebApi保存单据,返回结果提示保存成功,实际并未成功,因为系统中查不到对应的数据。原因分析:返回结果说,那数据应该是保存...
点击下载文档文档为doc格式

声明:除非特别标注,否则均为本站原创文章,转载时请以链接形式注明文章出处。如若本站内容侵犯了原著者的合法权益,可联系本站删除。

已经是第一篇
确认删除?
回到顶部
客服QQ
  • 客服QQ点击这里给我发消息
QQ群
  • 答案:my7c点击这里加入QQ群
支持邮箱
微信
  • 微信