权限设置实例

by wangsf 2015.5.21 14:33

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

1、9201505210044 :客户采购部用户希望在单据中“附件”只允许上传人删除自己的,审核流程结束后不允许所有人删除附件。
动态视图条件:Attachment.CreatedBy==GetCurrentUserName()  and  GetAttachmentDocConditionValue('UFIDA.U9.PM.PO.PurchaseOrder' ,FloatToStr(Attachment.EntityID),'Status<2')==1

2、一旦给所谓的基类字段设置了属性权限,比如字段单号,日期等字段,那么所有单据的这些字段在列表都带不出来。解决方式就是找到现场设置了该属性权限的单据,去掉即可。v2.x ,v3.0都有这个问题

3、员工设置权限:要选择基础设置下的员工,并且不要直接选择左边树上的,对应的是列表,要找到卡片,用上面找form的方式找。

4、201507220096 :数据权限问题,限制只可查看本部门内人员,人员工作记录的人员不是本部门内不可查看显示,已经设置了个数据权限 ,人员工作记录读取限制 :动态视图公式:全职员工.现任部门.编码 = "GetCurrentOperatorDeptCode()"设置后不可用;

此问题:首先实体选择基础设置下的员工工作记录,然后动态视图:Dept.Code=GetCurrentOperatorDeptCode() and Dept is not null  ,如果不加后面部分,部门为空的也显示出来了。

5、单据中想控制只能录入末级部门,在条件中,对PurchaseOrder.PurDept.IsLeaf==1

6、只想看到当前组织的报表数据,可以对组织设置数据权限,范围选择[报表],效果,各单据以及报表的组织条件参照都没有过滤,但是报表查询时查不到对应组织的数据。

7、加New的那种适合最后状态,即使对象字段状态没有变化等于符合的值也可以

8、来自于开发jizw的邮件:

问题号:9201509050018 管理要求生产订单备料的实际需求时间大于创建时间,权限动态视图中条件设置:NewMOPickList.IsCalcCost==1 and DaysBetweenFunc(GetDatePartFromDateTime(MOPickList.ActualReqDate) ,GetDatePartFromDateTime(MOPickList.CreatedOn)),保存备料,提示“值不在预期的范围内”,未起到权限要求的管控作用 

 

解决办法:将动态视图改为:GetDatePartFromDateTime(NewMOPickList.ActualReqDate)>GetDatePartFromDateTime(MOPickList.CreatedOn)

 

注意:

1. DaysBetweenFunc函数不能用于此需求,该函数返回值为间隔天数,0或者正整数。

2. 需要校验修改后实体时,需要在实体名前加“New”,否则参与权限校验的还是修改前的值。

 

9、关于公共函数:获取业务员部门编码:前提:当前用户有业务员记录,并且因为多个业务员记录可以关联相同的联系对象,因此要保证当前组织有一个业务员关联该联系对象。

 

 

9、附件事例:Attachment.EntityFullName!='UFIDA.U9.ER.ExpenseRequest.ExpenseRequest' or (Attachment.EntityFullName=='UFIDA.U9.ER.ExpenseRequest.ExpenseRequest' and GetAttachmentDocConditionValue(Attachment.EntityFullName,FloatToStr(Attachment.EntityID),'DocStatus<2')==1),其中实体中的.写成双冒号就不起作用了。

 

Tags:

添加评论



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


RecentComments

评论 RSS

Statistics

989 篇文章
0 个单页
645888 条评论
11 次评分
204582 次访问
访问统计开始于 2019年12月15日
平均日访问 5383 次
当前 116 人在线