采购订单控制扩展字段审核后不可修改--解决方案

by 祁宏伟 2014.6.17 14:11

注:脚本执行有风险,对于客户正式环境请在研发指导下执行。

参考:

http://u9blog/u9blog/post/2011/11/29/权限设置-数据权限动态视图设置的几个新功能-可解决仅允许弃审自己审核过的单据等权限要求.aspx

数据权限中对采购订单设置 修改权限:    

建立如下动态视图:

 

具体的条件如下:          

  !(PurchaseOrder.Status.Value==FunEnum('采购订单状态','已审核',2)  

 and  PurchaseOrder.DescFlexField.PrivateDescSeg2  !=NewPurchaseOrder.DescFlexField.PrivateDescSeg2 )

注:  本例中是控制的私有段2,具体根据需要选择相应的段。

如果有多个段要控制,可以用or来连接,示例如下:

!(PurchaseOrder.Status.Value==FunEnum('采购订单状态','已审核',2)

 and 

( PurchaseOrder.DescFlexField.PrivateDescSeg2  !=NewPurchaseOrder.DescFlexField.PrivateDescSeg2

 or PurchaseOrder.DescFlexField.PrivateDescSeg3  !=NewPurchaseOrder.DescFlexField.PrivateDescSeg3

)

   表达式详解:

!(PurchaseOrder.Status.Value==FunEnum('采购订单状态','已审核',2)

 and  PurchaseOrder.DescFlexField.PrivateDescSeg2  != NewPurchaseOrder.DescFlexField.PrivateDescSeg2 )

主要关注:红色部分。

New实体名称 表示在修改后的实体对象。所以修改前值 !=修改后值 就表示这个字段被修改了。

!   因为权限是允许(表达式) ,所以,表达式要表示允许的范围。 那已经审核并且字段被修改 是不允许改的,前面加个!表示,除此之外都允许。

Tags:

添加评论



biuquote
微笑得意调皮害羞酷大笑惊讶发呆喜欢可怜尴尬闭嘴噘嘴皱眉伤心抓狂呕吐坏笑漫骂发怒
Loading


RecentComments

评论 RSS

Statistics

989 篇文章
0 个单页
589924 条评论
11 次评分
559671 次访问
访问统计开始于 2019年9月14日
平均日访问 8353 次
当前 138 人在线