|
请使用QQ关联注册PLM之家,学习更多关于内容,更多精彩原创视频供你学习!
您需要 登录 才可以下载或查看,没有账号?注册
x
Technique . X" Q" g1 q; f' h! r/ _% j; V
Use the Item Class Extended Method set to set a new private Permission for an Item. ' n2 N; p# k, Y' m
JavaScript 0 K- r# ^1 P3 L9 `: B6 z
// Set up the Part query
; C: \& w, V, pvar innovator = this.newInnovator(); + @; r: T' X. e2 ^0 |8 s
var qryItem = this.newItem("Part", "get");
, q$ \( X2 q8 s" ? aqryItem.setAttribute("select", "id,permission_id");
& K4 [/ z9 V+ m% u* }qryItem.setProperty("item_number", "123-456%", "like");
" |; Z6 F" ? g0 o1 \* G! C. Z ( I8 @! X# h* E) N
// Run the query and check for errors 7 V& k) p4 o* L# Q
var resultItem = qryItem.apply(); ! R: c; l2 j: f
if (resultItem.isError()) {
8 A* U1 s; U3 q; Z. d top.aras.AlertError(resultItem.getErrorDetail());
4 s x3 H% C3 o/ D return;
K* D6 z0 y1 A) f8 ~9 r} 1 {" c; `; C# F G1 e
' D/ d( E: m( O7 S
// Iterate over the Items returned and add the private permissions for each.
7 {" r& g1 ?" ]& W; ~var count = resultItem.getItemCount(); - z& e- t; ]1 O: ~
for (i=0; i<count; ++i) {
) p+ O4 p2 Z% \; T var item = resultItem.getItemByIndex(i);
6 C Y# [! j4 l // Start with a blank permission 1 o( q8 q6 G6 k7 C9 q3 g2 ?
var permItem = item.setPrivatePermission(""); ) L" y/ C! A: R7 \
// To copy from the current permission: permItem = item.setPrivatePermission(); 4 v7 U1 N! F* E" a1 B6 _) f
// To copy from a named permission: permItem = item.setPrivatePermission("New Part");
6 o- `8 w0 m1 F( q( ~ ! {/ w+ `! a: b4 V3 X
permItem.setProperty("name", permItem.getID());
( U# N: X3 U/ K9 |: A# e; x permItem.setIdentityAccess("Component Engineering", "get", true);
M( h8 ?! ~# v f- U! m permItem.setIdentityAccess("CM", "get", true); , s6 N( y$ g5 c1 U
permItem.setIdentityAccess("CM", "update", true); , p: h! G& r. w0 H( d5 S
v' Z6 [+ Q$ z. `, |& h2 W // Grant access to the current user's alias identity
/ ~4 x3 M8 ?" H; S) B7 Z var aliasId = innovator.getUserAliases().split(',')[0];
' g& ^- ^: Q4 Y3 T$ X var aliasName = innovator.getItemById("Identity",aliasId).getProperty("name");
4 e' R% Y% w! a8 O. N/ E' d7 n. { permItem.setIdentityAccess(aliasName, "get", true);
- `& R; Y' |4 r' ]! R) h
1 \3 t6 d4 z5 M \9 c item.setAction("edit");
$ \1 k: V, R3 S+ }9 F* I g( x resultItem = item.apply(); ( u5 x$ y1 U$ u' n. t" m% |
if (resultItem.isError()) { top.aras.AlertError(resultItem.getErrorDetail()); } ! m) Z2 O% n7 ]% C0 D. @) l
} , E% r" ?4 S" Q$ [ b
1 w9 H) j( L) c5 T& @( r
|
|