PLM之家PLMHome-工业软件践行者

【Aras 二次开发代码】为对象Item设置私有权限

[复制链接]

2018-8-1 13:56:44 2100 0

admin 发表于 2018-8-1 13:56:44 |阅读模式

admin 楼主

2018-8-1 13:56:44

请使用QQ关联注册PLM之家,学习更多关于内容,更多精彩原创视频供你学习!

您需要 登录 才可以下载或查看,没有账号?注册

x
Technique  5 l- {3 c4 v. Y( z  z$ S- i3 b- U* h
Use the Item Class Extended Method set to set a new private Permission for an Item.
3 ~! o# ]4 W) P/ |: Q  p% i- QJavaScript  
4 l9 N, M+ N! _( ]" r$ T// Set up the Part query , M' A" U* z; J: r' A6 f
var innovator = this.newInnovator();
" b8 X$ i1 J! N1 \# q4 zvar qryItem = this.newItem("Part", "get"); : ~' c2 W% Q! s) C8 c' M
qryItem.setAttribute("select", "id,permission_id"); 4 j7 n8 E4 n. i, a; r
qryItem.setProperty("item_number", "123-456%", "like"); 1 ]; |2 c4 H+ W

; c' z3 K: g3 ^* t" Y// Run the query and check for errors . J+ O  q' Z) ^( Z1 Q9 J
var resultItem = qryItem.apply(); 1 m7 @$ s4 J) v' r9 O7 e' p6 U
if (resultItem.isError()) { & }& B/ b3 [  U" U
top.aras.AlertError(resultItem.getErrorDetail());
% x: \$ H# P2 ^; F4 n) b0 o' c) B return; 4 X) H( P: n3 \1 N+ h1 ?- i" Q) Y, m
} , C% ^& W$ p7 T4 K! L- C# `; W. Q' t# X5 f' c

8 C  L+ _1 t* E% G// Iterate over the Items returned and add the private permissions for each. - A7 W  f  a" Y& B  e% E
var count = resultItem.getItemCount(); ) p% ?  W4 R" v: X8 \1 q0 c
for (i=0; i<count; ++i) {
9 l3 {+ N" z: L2 i9 X var item = resultItem.getItemByIndex(i);
8 E, [0 e* z# c9 m1 }/ F // Start with a blank permission
4 Q& M1 M- o! E2 e: h) E var permItem = item.setPrivatePermission(""); 8 e7 L1 W) y7 E
// To copy from the current permission: permItem = item.setPrivatePermission();
3 C9 A/ S1 K7 [ // To copy from a named permission: permItem = item.setPrivatePermission("New Part"); 4 b; K, J2 X, d1 j6 d- q. F9 t4 x

9 K! Y- _9 J5 j# Y  D+ K) y: D permItem.setProperty("name", permItem.getID()); # Q  w( q% }9 i$ B
permItem.setIdentityAccess("Component Engineering", "get", true); # |4 V8 f# K' E4 q
permItem.setIdentityAccess("CM", "get", true); ' C4 X% }* {8 C1 x
permItem.setIdentityAccess("CM", "update", true); - d, [% M7 F) ]

+ T3 J8 W( G( G, h# f // Grant access to the current user's alias identity / V# s8 i. E9 o7 v- v
var aliasId = innovator.getUserAliases().split(',')[0];
# U4 E1 _6 E2 U2 Q3 n" X' U5 k var aliasName = innovator.getItemById("Identity",aliasId).getProperty("name"); 6 Q- `7 n3 i7 O$ R
permItem.setIdentityAccess(aliasName, "get", true);
5 t1 [3 s3 R* d" ^
! I+ K& f0 T& T& f! K0 o! w% C: X item.setAction("edit");
  ]- @4 @  w9 V5 s$ H7 a resultItem = item.apply(); % z$ c; b2 I9 g. \
if (resultItem.isError()) { top.aras.AlertError(resultItem.getErrorDetail()); }
  i# F7 a, A2 q6 v& h} * C* ^0 Y# V7 i2 f
, k5 ]7 N1 J. Q' b5 q
上海点团信息科技有限公司,承接UG NX,CATIA,CREO,Solidworks 等CAx软件,Teamcenter,3D Experience等PLM软件,工业4.0数字化软件的实施\二次开发\培训相关业务,详情QQ 939801026 Tel 18301858168 网址 doTeam.tech
回复

使用道具 举报

发表回复

您需要登录后才可以回帖 登录 | 注册

返回列表 本版积分规则

  • 发布新帖

  • 在线客服

  • 微信

  • 客户端

  • 返回顶部

  • x
    温馨提示

    本网站(plmhome.com)为PLM之家工业软件学习官网站

    展示的视频材料全部免费,需要高清和特殊技术支持请联系 QQ: 939801026

    PLM之家NX CAM二次开发专题模块培训报名开始啦

    我知道了