查看: 2399|回复: 0

【Aras 二次开发代码】为对象Item设置私有权限

[复制链接]

6

主题

4

回帖

60

积分

管理员

积分
60
发表于 2018-8-1 13:56:44 | 显示全部楼层 |阅读模式

请使用QQ关联注册PLM之家,学习更多关于内容,更多精彩原创视频供你学习!

您需要 登录 才可以下载或查看,没有账号?注册

×
Technique  * ~$ v- |8 W4 \
Use the Item Class Extended Method set to set a new private Permission for an Item.
1 d( U8 y" W7 y4 y* N4 cJavaScript  
4 W" c2 f+ _9 O" l// Set up the Part query
( s5 {2 i& t5 ]+ `7 R0 bvar innovator = this.newInnovator();
) Y  V) c  `/ H  z3 G' Cvar qryItem = this.newItem("Part", "get"); 4 B: V* `3 E' ?& B6 |+ ^
qryItem.setAttribute("select", "id,permission_id");
8 e+ \" b& u/ p, \( l  a( sqryItem.setProperty("item_number", "123-456%", "like");
$ E0 m8 o  M& j* w9 O0 i' g" V ! c6 _  f$ q/ b, h
// Run the query and check for errors # Q8 H) }9 E3 L) X* d: s% x( i' P
var resultItem = qryItem.apply();
% R! e' u9 R0 D( C/ D) h; i, Eif (resultItem.isError()) { 7 Y. O1 T: t# @& }7 w: l1 J7 |
top.aras.AlertError(resultItem.getErrorDetail());
3 f. e' \4 b/ X, C: z9 L0 A return; / ~1 Y% f: @% v( {8 i3 h: o& Y
} 9 s; T8 ?2 [3 Y
* e* l0 p/ B. U$ V
// Iterate over the Items returned and add the private permissions for each. * ?/ J( U2 y5 \' @* L, w
var count = resultItem.getItemCount();
8 [6 A; R0 r1 T2 T& ]for (i=0; i<count; ++i) { . K$ {) b" U& F  t2 g
var item = resultItem.getItemByIndex(i); $ T+ U0 |6 w* W
// Start with a blank permission 8 X& M9 ?5 @& I% q: m# L+ M& J
var permItem = item.setPrivatePermission(""); 3 x# Z, T; t7 J, T9 V2 w
// To copy from the current permission: permItem = item.setPrivatePermission();
) B6 o; f- Q7 S- l; N // To copy from a named permission: permItem = item.setPrivatePermission("New Part"); " \  D0 I0 `, y4 {/ g4 h. b' ^" j

5 U* h* i; n) |0 p  ~ permItem.setProperty("name", permItem.getID()); . }/ D9 A9 W; \, r3 L$ |
permItem.setIdentityAccess("Component Engineering", "get", true); , ?# c' ?5 f5 a( c0 z* a/ D/ [
permItem.setIdentityAccess("CM", "get", true);
' N- f' B( t3 C* A7 } permItem.setIdentityAccess("CM", "update", true);
9 P9 z* q8 U4 K7 {/ s0 Y8 _
  n4 _2 U3 D& s2 w( [5 X, B // Grant access to the current user's alias identity   v2 |; c8 u" E& \
var aliasId = innovator.getUserAliases().split(',')[0];
' R  X" B" J( J% e( r# p4 k  D/ Z var aliasName = innovator.getItemById("Identity",aliasId).getProperty("name");
2 z! u" s2 y9 y6 p permItem.setIdentityAccess(aliasName, "get", true);
, I0 C/ |- f9 ?5 j, n; s
8 J4 [& {$ V* r. ` item.setAction("edit"); + N2 W: \+ [8 K! c
resultItem = item.apply();
; Y2 \' I/ @) a: C) v1 g7 Y0 Y if (resultItem.isError()) { top.aras.AlertError(resultItem.getErrorDetail()); }
( a+ g; ]. T- X" v$ K( j% Y. v} ( P0 `$ i, h; {5 M+ g: ~0 A' g1 J
4 |4 z: `& u( j- c* E6 a: U; o1 }
上海点团信息科技有限公司,承接UG NX,CATIA,CREO,Solidworks 等CAx软件,Teamcenter,3D Experience等PLM软件,工业4.0数字化软件的实施\二次开发\培训相关业务,详情QQ 939801026 Tel 18301858168 网址 www.doteam.tech
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

在本版发帖
关注公众号
QQ客服返回顶部