|
|
请使用QQ关联注册PLM之家,学习更多关于内容,更多精彩原创视频供你学习!
您需要 登录 才可以下载或查看,没有账号?注册
×
Technique
' b N$ l- ~: f. JUse the Item Class Extended Method set to set a new private Permission for an Item.
1 \ Q: q4 z# x# c2 N6 y$ p5 TJavaScript 7 {- v: R7 T) T4 U$ `; C' D/ L: ]
// Set up the Part query
+ e/ ?. d+ b& ]8 v' h U) P( g$ }& Avar innovator = this.newInnovator();
+ f, P8 g+ J3 {7 H. zvar qryItem = this.newItem("Part", "get"); " Y- \) N% e7 [# x5 ^! Y7 q) {
qryItem.setAttribute("select", "id,permission_id"); 5 ?4 R5 h- l0 l1 C+ n
qryItem.setProperty("item_number", "123-456%", "like"); 4 g) Y* _! x* T% H
. ^4 g! m( I. G: e: n// Run the query and check for errors
, V+ J+ G8 z9 E5 |; s" Z% dvar resultItem = qryItem.apply(); $ U# f6 X3 {8 A4 y9 I
if (resultItem.isError()) {
0 v6 ?8 {: H$ ?: `9 ~ top.aras.AlertError(resultItem.getErrorDetail()); 6 ~! V9 J5 n! u7 i; u: L
return;
8 j9 C" N0 w& u. [}
; g7 D) ^* Z: ^% _- J9 C: t 6 t( B! @6 A/ m) t& |! H" ^
// Iterate over the Items returned and add the private permissions for each. 4 G: K$ e. D7 n1 f
var count = resultItem.getItemCount(); / ]% Q7 l9 @7 D6 S! ~( B
for (i=0; i<count; ++i) { 1 ~- ~# P+ U( G/ k( U
var item = resultItem.getItemByIndex(i);
, M X6 W5 y( f9 i9 A. ~/ X // Start with a blank permission
9 v/ @, L( ~1 S5 S0 M) M var permItem = item.setPrivatePermission(""); 8 v5 r" f% P9 h6 O
// To copy from the current permission: permItem = item.setPrivatePermission(); * b$ F4 l. s6 X/ L' v# e
// To copy from a named permission: permItem = item.setPrivatePermission("New Part");
; z- K6 d) A; z 8 Z }0 T. l% P! @! j) |
permItem.setProperty("name", permItem.getID());
T! q, O9 J+ R0 t' N permItem.setIdentityAccess("Component Engineering", "get", true); ; e W9 r+ l* T# e+ n& t Z, n
permItem.setIdentityAccess("CM", "get", true);
' F+ L) j& [( ]* ~6 `9 [ permItem.setIdentityAccess("CM", "update", true); ; T1 f1 N& T: U2 Y
, ^0 h; H0 [% o
// Grant access to the current user's alias identity
7 G' y/ [/ I5 y5 S. r6 M var aliasId = innovator.getUserAliases().split(',')[0];
0 q& D, |* s3 z7 ~ W var aliasName = innovator.getItemById("Identity",aliasId).getProperty("name"); - B4 h! @- s) T. X. |
permItem.setIdentityAccess(aliasName, "get", true);
, I+ k; N8 L5 n# C4 j; q4 O, _4 U: |
2 P$ q+ s; A* j6 w item.setAction("edit"); ( P# y- |/ [) r4 H/ j* Z
resultItem = item.apply(); - G! J# v: V, o3 j
if (resultItem.isError()) { top.aras.AlertError(resultItem.getErrorDetail()); }
6 l$ D8 H, |2 J5 ~+ A" l U2 X5 ~} * l0 Y9 _; J$ U
* Y% w" N3 T$ D j |
|