|
|
请使用QQ关联注册PLM之家,学习更多关于内容,更多精彩原创视频供你学习!
您需要 登录 才可以下载或查看,没有账号?注册
×
Technique * ~$ v- |8 W4 \
Use the Item Class Extended Method set to set a new private Permission for an Item.
1 d( U8 y" W7 y4 y* N4 cJavaScript
4 W" c2 f+ _9 O" l// Set up the Part query
( s5 {2 i& t5 ]+ `7 R0 bvar innovator = this.newInnovator();
) Y V) c `/ H z3 G' Cvar qryItem = this.newItem("Part", "get"); 4 B: V* `3 E' ?& B6 |+ ^
qryItem.setAttribute("select", "id,permission_id");
8 e+ \" b& u/ p, \( l a( sqryItem.setProperty("item_number", "123-456%", "like");
$ E0 m8 o M& j* w9 O0 i' g" V ! c6 _ f$ q/ b, h
// Run the query and check for errors # Q8 H) }9 E3 L) X* d: s% x( i' P
var resultItem = qryItem.apply();
% R! e' u9 R0 D( C/ D) h; i, Eif (resultItem.isError()) { 7 Y. O1 T: t# @& }7 w: l1 J7 |
top.aras.AlertError(resultItem.getErrorDetail());
3 f. e' \4 b/ X, C: z9 L0 A return; / ~1 Y% f: @% v( {8 i3 h: o& Y
} 9 s; T8 ?2 [3 Y
* e* l0 p/ B. U$ V
// Iterate over the Items returned and add the private permissions for each. * ?/ J( U2 y5 \' @* L, w
var count = resultItem.getItemCount();
8 [6 A; R0 r1 T2 T& ]for (i=0; i<count; ++i) { . K$ {) b" U& F t2 g
var item = resultItem.getItemByIndex(i); $ T+ U0 |6 w* W
// Start with a blank permission 8 X& M9 ?5 @& I% q: m# L+ M& J
var permItem = item.setPrivatePermission(""); 3 x# Z, T; t7 J, T9 V2 w
// To copy from the current permission: permItem = item.setPrivatePermission();
) B6 o; f- Q7 S- l; N // To copy from a named permission: permItem = item.setPrivatePermission("New Part"); " \ D0 I0 `, y4 {/ g4 h. b' ^" j
5 U* h* i; n) |0 p ~ permItem.setProperty("name", permItem.getID()); . }/ D9 A9 W; \, r3 L$ |
permItem.setIdentityAccess("Component Engineering", "get", true); , ?# c' ?5 f5 a( c0 z* a/ D/ [
permItem.setIdentityAccess("CM", "get", true);
' N- f' B( t3 C* A7 } permItem.setIdentityAccess("CM", "update", true);
9 P9 z* q8 U4 K7 {/ s0 Y8 _
n4 _2 U3 D& s2 w( [5 X, B // Grant access to the current user's alias identity v2 |; c8 u" E& \
var aliasId = innovator.getUserAliases().split(',')[0];
' R X" B" J( J% e( r# p4 k D/ Z var aliasName = innovator.getItemById("Identity",aliasId).getProperty("name");
2 z! u" s2 y9 y6 p permItem.setIdentityAccess(aliasName, "get", true);
, I0 C/ |- f9 ?5 j, n; s
8 J4 [& {$ V* r. ` item.setAction("edit"); + N2 W: \+ [8 K! c
resultItem = item.apply();
; Y2 \' I/ @) a: C) v1 g7 Y0 Y if (resultItem.isError()) { top.aras.AlertError(resultItem.getErrorDetail()); }
( a+ g; ]. T- X" v$ K( j% Y. v} ( P0 `$ i, h; {5 M+ g: ~0 A' g1 J
4 |4 z: `& u( j- c* E6 a: U; o1 }
|
|