|
|
请使用QQ关联注册PLM之家,学习更多关于内容,更多精彩原创视频供你学习!
您需要 登录 才可以下载或查看,没有账号?注册
x
Technique # M) f; N: ?8 H0 w0 H
Use the Item Class Extended Method set to set a new private Permission for an Item. 6 s Y. G \0 Q' D4 @
JavaScript 3 |6 Y: ? W) @( Y) W* X) V
// Set up the Part query
5 C E: ?) j, {8 Avar innovator = this.newInnovator(); 0 ~6 _4 [! q* K: {( s& C8 }0 l
var qryItem = this.newItem("Part", "get"); B; I3 T3 j" j% E
qryItem.setAttribute("select", "id,permission_id");
9 H$ O x1 e2 q$ a( f) H; EqryItem.setProperty("item_number", "123-456%", "like"); ) Q! [& }# h$ J8 L8 l
8 O( _1 d, Z8 ?( r! `// Run the query and check for errors
/ g. t: H+ L5 A1 N' N- z$ Rvar resultItem = qryItem.apply(); / h5 B# N; E+ X1 b9 B$ g9 w
if (resultItem.isError()) { ; L4 t. u t" d
top.aras.AlertError(resultItem.getErrorDetail()); . A, s( b+ B. x% M5 @; j
return; / t8 Z; r# @5 H" n
}
6 ]3 Z. |2 N% r8 I" P# q& Z , e$ ?( c R4 T( B J: e
// Iterate over the Items returned and add the private permissions for each. 4 R& k+ _" a& ^3 u; O; @
var count = resultItem.getItemCount(); % o5 p+ H6 D, \ V" p8 \! L
for (i=0; i<count; ++i) {
! ~0 j$ V( S! O var item = resultItem.getItemByIndex(i); ?) @) d- b& }" f" k9 Y8 n
// Start with a blank permission 9 q4 {( o: D* d) D' h2 e1 s5 S, Z
var permItem = item.setPrivatePermission(""); - q: H- H) s7 j9 \" b
// To copy from the current permission: permItem = item.setPrivatePermission(); # f9 b7 E/ [ h. l/ j
// To copy from a named permission: permItem = item.setPrivatePermission("New Part");
" z) x; i, m; i* ?; d , o) a( [/ } o0 e2 H. q# K* `
permItem.setProperty("name", permItem.getID());
% Z( o- f6 z7 K; _ permItem.setIdentityAccess("Component Engineering", "get", true); , B7 I' Z a, O/ s& d- H
permItem.setIdentityAccess("CM", "get", true);
+ E; ]" o' J/ a+ x6 D4 G permItem.setIdentityAccess("CM", "update", true); ' D" l# ^3 ^" ?4 _- ]
8 {. ~7 T' X$ {9 n
// Grant access to the current user's alias identity 7 t2 d |- G! o8 ?3 s1 Z. O
var aliasId = innovator.getUserAliases().split(',')[0];
8 e: [, |+ w9 T) k3 v) [) P var aliasName = innovator.getItemById("Identity",aliasId).getProperty("name"); ' Z$ {# F2 C! c! d+ V
permItem.setIdentityAccess(aliasName, "get", true);
, K) P |" ?* g$ [8 ]- S( j
/ h: o$ F z' v, |7 f item.setAction("edit");
# i! q+ U5 h0 R- Z resultItem = item.apply();
" q# T! |7 m- H8 B7 c) l0 a if (resultItem.isError()) { top.aras.AlertError(resultItem.getErrorDetail()); }
) ?/ Y- z; B: l} 0 y) U. ^0 _% k& P: T R. O
' q! A B( Q1 `& E |
|