|
请使用QQ关联注册PLM之家,学习更多关于内容,更多精彩原创视频供你学习!
您需要 登录 才可以下载或查看,没有账号?注册
x
Technique & ]+ u* ^+ f" X. v% p
Use the Item Class Extended Method set to set a new private Permission for an Item.
' n& l; ?! F. _: O$ CJavaScript " I' q: I. x6 n: _7 j
// Set up the Part query
+ i- `3 F; ?9 D+ Q8 }6 K) e( F3 \var innovator = this.newInnovator();
: R, q' p, _$ o4 k2 |- z2 Jvar qryItem = this.newItem("Part", "get"); 5 l5 G6 x \5 s7 u- F) E+ E6 A. o
qryItem.setAttribute("select", "id,permission_id");
' @4 P9 {& Q7 n5 o' ~qryItem.setProperty("item_number", "123-456%", "like"); , J" ~) }3 m g: w+ x. e2 c {
+ k; C, b7 V) u( M1 B// Run the query and check for errors $ x' z1 t$ ^0 J: F
var resultItem = qryItem.apply();
5 l+ Y; M) e- c( ~9 I; e" \if (resultItem.isError()) { / s k$ q2 p0 E
top.aras.AlertError(resultItem.getErrorDetail());
# F& S2 m8 C: g5 B" h2 `) O return;
& Y& b0 _( V& r6 m}
7 N# a1 o) L) M$ O4 O: K ) l+ L6 X7 D4 C/ b) ^
// Iterate over the Items returned and add the private permissions for each.
7 Z7 K4 q' g8 _ |8 w8 `var count = resultItem.getItemCount(); . J" B! W$ h5 Q5 L1 @
for (i=0; i<count; ++i) {
, Z+ F8 @6 j9 y2 I var item = resultItem.getItemByIndex(i);
" E$ [% c" `' t9 f // Start with a blank permission
/ b2 v# j6 b& h2 a% J! V var permItem = item.setPrivatePermission("");
3 y5 @6 v( ?6 k9 v& Q$ { // To copy from the current permission: permItem = item.setPrivatePermission(); 2 b& K: U4 R7 P; W1 ]
// To copy from a named permission: permItem = item.setPrivatePermission("New Part");
$ I4 ^) {: T# G8 i' p9 E$ G# { ) c: ]3 Z" f) J$ |# K
permItem.setProperty("name", permItem.getID());
7 @- a2 _3 V& p f2 b2 z' C" a permItem.setIdentityAccess("Component Engineering", "get", true); 1 _1 A# {' k1 o% N, W( J' B8 Z0 y
permItem.setIdentityAccess("CM", "get", true);
6 x4 J/ U' l3 i# J7 o$ w permItem.setIdentityAccess("CM", "update", true); . k x; a" _/ l6 z7 P* X, p
9 J6 u- S/ E" ~3 X, F5 E4 I
// Grant access to the current user's alias identity 5 _: R+ L9 V3 Y! m9 P9 ?, ~ X
var aliasId = innovator.getUserAliases().split(',')[0];
/ D# T, T2 M$ F9 x. P5 z var aliasName = innovator.getItemById("Identity",aliasId).getProperty("name"); 0 b6 n) ^) R1 A/ m# D
permItem.setIdentityAccess(aliasName, "get", true);
3 O+ T/ T& _, X% ]" H2 U( J9 N
% d3 h: K2 I' S* Y1 m0 ] item.setAction("edit"); . v" P4 M, {9 v3 y
resultItem = item.apply();
$ _( A: K0 d3 u6 Z3 I: w: C. H if (resultItem.isError()) { top.aras.AlertError(resultItem.getErrorDetail()); }
' t9 ?8 g, T% s1 m}
: E. |, A9 j3 p& [5 ?
$ w/ \/ M5 e b# P4 b |
|