|
|
请使用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
|
|