|
|
请使用QQ关联注册PLM之家,学习更多关于内容,更多精彩原创视频供你学习!
您需要 登录 才可以下载或查看,没有账号?注册
x
Technique
5 Z; U! Z. l% p5 J$ [Use the Item Class Extended Method set to set a new private Permission for an Item. + b8 X: B' G8 P( ~
JavaScript
! C) {. |" c) }7 w. b: @$ v# l// Set up the Part query / U- k: r) m( V" W! K, B4 I; e
var innovator = this.newInnovator();
( F4 T% M2 `3 \var qryItem = this.newItem("Part", "get"); , b0 S# _( a# N
qryItem.setAttribute("select", "id,permission_id"); 4 n v( O2 D; r. t% H
qryItem.setProperty("item_number", "123-456%", "like"); " C2 t# ^2 p2 q+ y- L
, v0 a; V: d: o) a; r, Q! J! N
// Run the query and check for errors 3 q2 l3 ? L3 \( ?& _& K
var resultItem = qryItem.apply();
. |/ Q+ |2 S6 ^0 v7 ]. v5 c, V, Rif (resultItem.isError()) { 5 w& Y$ Q+ z' g0 [( f
top.aras.AlertError(resultItem.getErrorDetail()); * s1 |' z* w3 U! G% v d1 L, d# N
return; , h2 |# {; g! H$ M, T! i
}
7 v7 o4 M) R# g6 m. }5 y' a9 C / q: Q/ i2 X$ c$ O1 d5 ~) B
// Iterate over the Items returned and add the private permissions for each. 4 K1 ~7 _3 h4 s
var count = resultItem.getItemCount();
e7 q4 q1 W1 r7 @9 u; ^5 D7 mfor (i=0; i<count; ++i) { " T$ u. R- F% Y5 Z, c
var item = resultItem.getItemByIndex(i);
: w) k' Z3 E2 N! V' a3 T" H/ ~2 t* h6 p // Start with a blank permission / N" T2 N+ A! h! W. N
var permItem = item.setPrivatePermission(""); 4 c; f# K6 L) @& v9 A
// To copy from the current permission: permItem = item.setPrivatePermission(); # k' K2 [# k3 B& T- ]* k9 G
// To copy from a named permission: permItem = item.setPrivatePermission("New Part"); ) |8 M! t, H3 k! d
8 ]! i/ P1 Q: z1 m2 `( J$ ~
permItem.setProperty("name", permItem.getID());
' Y* D( i- ^4 Q! \ permItem.setIdentityAccess("Component Engineering", "get", true); & v G, j( ?" p' [4 } s2 M
permItem.setIdentityAccess("CM", "get", true);
7 P: ~9 {5 Z8 F& C+ A permItem.setIdentityAccess("CM", "update", true);
3 U9 A" }& u6 f4 G5 x0 _+ g& l# z 6 h' J8 m2 v, f2 m
// Grant access to the current user's alias identity ; W4 l( ~& j8 {& U7 s3 J; X! p
var aliasId = innovator.getUserAliases().split(',')[0];
0 z& d: u/ `% A8 } var aliasName = innovator.getItemById("Identity",aliasId).getProperty("name");
( u' Z+ p' B I permItem.setIdentityAccess(aliasName, "get", true);
0 ^! f: Z* y9 U) H+ @* _0 L3 N ! a) c0 A' h: U4 E1 _0 D+ o
item.setAction("edit"); [/ |( V. w9 r1 j& o' d; D& S: l" z
resultItem = item.apply();
" J6 A% m; S) B) P/ E' G4 M if (resultItem.isError()) { top.aras.AlertError(resultItem.getErrorDetail()); }
) N2 |/ U- N, m( _3 M3 s: e} 5 W5 ?" U9 }; g( z
/ w* ? u3 l1 K2 {$ a
|
|