|
请使用QQ关联注册PLM之家,学习更多关于内容,更多精彩原创视频供你学习!
您需要 登录 才可以下载或查看,没有账号?注册
x
Technique / P2 T; u4 H, T2 U% z7 d$ z
Use the Item Class Extended Method set to set a new private Permission for an Item.
, Q- }+ H8 g TJavaScript . J8 u7 W1 X/ c( ]' T5 C
// Set up the Part query
: O Y0 Q6 t8 H0 G! E0 Svar innovator = this.newInnovator(); 3 o5 c- u; k" ~: q3 a, R
var qryItem = this.newItem("Part", "get"); 9 n9 b8 G& p' ]# g" Q
qryItem.setAttribute("select", "id,permission_id"); 1 O# C3 S$ b% a; b
qryItem.setProperty("item_number", "123-456%", "like"); ( i9 @2 O) _0 v/ K2 y
M, Z" E, @1 g$ t# @ ]
// Run the query and check for errors
( ?. [9 B; [' F! z5 V1 nvar resultItem = qryItem.apply(); / [& F+ {1 s; [
if (resultItem.isError()) { # d# I+ L3 a8 a* s1 \/ a
top.aras.AlertError(resultItem.getErrorDetail());
6 F5 c. H/ q9 i' u4 t return;
( G) l0 ^+ E* i5 K} 8 h( [& b! J. k' G
/ N8 N7 \7 }4 V+ `// Iterate over the Items returned and add the private permissions for each. & ^) Z$ i0 r5 r) Z y! u' d, i
var count = resultItem.getItemCount(); $ u7 e! d8 G ?1 A- }. j. y r
for (i=0; i<count; ++i) { 4 ^- I) W) m- Z0 a+ Z. x6 c
var item = resultItem.getItemByIndex(i); e! \% R4 i9 E) ]& ?. n
// Start with a blank permission
% Z) ^; V: d1 z1 @6 u3 | var permItem = item.setPrivatePermission("");
7 ] |8 o4 `3 J9 ?# B2 U" `/ { // To copy from the current permission: permItem = item.setPrivatePermission(); * w% M; h' _& e% s& J9 X$ G7 f
// To copy from a named permission: permItem = item.setPrivatePermission("New Part");
0 K6 \# W. X8 Z9 D6 d& t 1 A$ T! z. Q2 A" u
permItem.setProperty("name", permItem.getID());
0 c: y# J; K' E4 v' p* K' r' W/ _ permItem.setIdentityAccess("Component Engineering", "get", true);
% c- A# }# {, H5 `, I2 b6 M. Z permItem.setIdentityAccess("CM", "get", true);
! j6 w% r) m* h/ O# t1 ^! ?2 ^/ D+ q permItem.setIdentityAccess("CM", "update", true);
) e- n( J' u+ ]- u ! v' s% Z. u' _
// Grant access to the current user's alias identity
8 q1 a2 F" F: g h var aliasId = innovator.getUserAliases().split(',')[0];
# p1 Q5 D/ K6 Y9 @/ w; K var aliasName = innovator.getItemById("Identity",aliasId).getProperty("name"); c! ]; R, R9 i' ^1 s& a! ?# I# g# |
permItem.setIdentityAccess(aliasName, "get", true); 8 @/ H1 F b, P+ @8 ]) d
5 P3 f5 M! B9 [: {5 z item.setAction("edit");
/ A3 B' Z: p, D b1 }7 ~ resultItem = item.apply();
5 ]5 i/ P* ^: W5 E" h if (resultItem.isError()) { top.aras.AlertError(resultItem.getErrorDetail()); }
: d. \9 H1 g% `7 |) m}
# N' [1 D& J$ W& R; T
4 j% w2 G3 N Z" ~8 S/ O |
|