|
请使用QQ关联注册PLM之家,学习更多关于内容,更多精彩原创视频供你学习!
您需要 登录 才可以下载或查看,没有账号?注册
x
Technique
# p Y9 R( R' }9 P7 ~; l1 WUse the Item Class Extended Method set to set a new private Permission for an Item.
7 B' @+ ` o1 `JavaScript
! ?( N! L* l4 m2 [* E// Set up the Part query ) G, H" x9 }# H( r5 M7 i0 F- v! b) ]
var innovator = this.newInnovator(); * S# S" E5 D1 z) H
var qryItem = this.newItem("Part", "get");
3 w$ U7 X$ X1 Q& s0 YqryItem.setAttribute("select", "id,permission_id"); 4 W/ W0 o2 s# R' S3 h4 B
qryItem.setProperty("item_number", "123-456%", "like"); 9 N2 l3 o5 P- Q, |& \: f. @- d- L, v. Z
% J7 X: c* `( m( K' j7 l3 _6 s// Run the query and check for errors
" z' V: ^+ G$ e" V- Bvar resultItem = qryItem.apply(); ! Q0 E% j( y- Z; L5 ^* U# W
if (resultItem.isError()) { - O0 W& [& u! C) ?6 Y
top.aras.AlertError(resultItem.getErrorDetail());
& \; j, u) z1 f return;
2 i8 }7 D2 F' _9 ~# U5 K' \- g} , M0 r& z5 o, g9 x, U
1 V% ?% R: n' D8 D9 R3 R! [
// Iterate over the Items returned and add the private permissions for each. 8 Z6 d/ c5 _8 _9 J" [- d0 [* c: [& b
var count = resultItem.getItemCount();
( e- T8 B) x- B' p1 Y0 \% k( pfor (i=0; i<count; ++i) {
o* P/ g2 ~ ~7 A, ] var item = resultItem.getItemByIndex(i);
, f3 F. {5 b$ q; O, R: P" p5 `" W // Start with a blank permission
, @$ R0 b& q9 c) J var permItem = item.setPrivatePermission("");
& a5 M- A8 K- m! ~ // To copy from the current permission: permItem = item.setPrivatePermission();
6 s) J D' q5 Y9 v9 A+ O // To copy from a named permission: permItem = item.setPrivatePermission("New Part");
8 t! ^7 B( X7 j4 L# j+ h7 G 0 c& q0 C* b$ V+ M' N
permItem.setProperty("name", permItem.getID());
3 `* _" M( Z# z permItem.setIdentityAccess("Component Engineering", "get", true);
! `) z4 c& G6 [5 P9 X& w, p permItem.setIdentityAccess("CM", "get", true);
! J3 K U- w5 \ permItem.setIdentityAccess("CM", "update", true);
/ r9 ~- k; a8 i* p4 I " p: F& d1 S" W6 x
// Grant access to the current user's alias identity ; @$ y# d& z0 Z5 Y
var aliasId = innovator.getUserAliases().split(',')[0];
+ W4 q: v4 N/ f: u8 ~, V5 f. n' a var aliasName = innovator.getItemById("Identity",aliasId).getProperty("name");
# h% x7 q$ o3 b& Q permItem.setIdentityAccess(aliasName, "get", true); $ N A E- V9 T& A
* Y% ]2 a$ ~5 x item.setAction("edit"); ' U7 }, m1 J. k) R) B9 T
resultItem = item.apply();
! Z5 O; l1 U+ F! [4 O if (resultItem.isError()) { top.aras.AlertError(resultItem.getErrorDetail()); }
3 O6 X6 {: j0 }/ X& x} # H/ \& Z0 |9 f5 x
; k: w: E q: `* R- M5 o
|
|