如何移除标准产品代码中添加的实体服务规则?原创
金蝶云社区-快乐的八宝鱼
快乐的八宝鱼
8人赞赏了该文章 477次浏览 未经作者许可,禁止转载编辑于2021年09月26日 16:44:20
封面

     标准产品因为某些特定场景在表单插件中会通过代码添加一些实体服务规则用来支撑业务,例如下图物料就添加了而不少实体服务规则:

image.png

    但是在某些客户实际上是不需要这些实体服务规则,则可以通过以下方法来实现移除特定的实体服务规则,以下用仓库仓位举例

public class MaterialEdit : AbstractBillPlugIn
{
public override void OnInitialize(InitializeEventArgs e)
        {
            base.OnInitialize(e);
            foreach (var rule in this.View.RuleContainer.Rules)
            {
                if (rule.DependencyFields.Count == 1)
                {
                    string fieldKey = rule.DependencyFields.FirstOrDefault().Field.Key;
                    if (fieldKey.EqualsIgnoreCase("FStockId"))
                    {
                        rules.Add(rule);
                        continue;
                    }
                    if (fieldKey.EqualsIgnoreCase("FStockPlaceId"))
                    {
                        rules.Add(rule);
                        continue;
                    }
                }
            }
            if (!rules.IsEmpty())
            {
                foreach (var extRule in rules)
                {
                    this.View.RuleContainer.Rules.Remove(extRule);
                }
            }

        }
 }


赞 8