Состояние объекта - Свойство Master
Master - это одно из свойство объекта Item.Оно содержит DMS ID элемента, ID рабочего пространства, владельца, дополнительные пользовательские владельцы и дополнительные владельцы групп. В этой статье мы рассмотрим каждый из них.
DMS ID элемента
item.master.dmsID возвращает DMS ID элемента, который доступен только для чтения и имеет тип Number .
ID рабочего пространство элемента
item.master.workspaceID возвращает идентификатор рабочего пространства, которому принадлежит элемент, который доступен только для чтения и имеет тип Number .
Владелец элемента
item.master.owner возвращает пользовательский объект User, который содержит информацию о пользователе, например, владелец, имя, адрес электронной почты, телефон, лицензии и т.д.Это все, что вам нужно знать о {2}Userobject{/2} в данный момент.Будет отдельный пост, в котором сосредоточимся на нем.
Свойство владельца является редактируемым, так что мы можем обновить владельца элемента с помощью сценария.
- var newOwner = Security.loadUser(‘newOwnerUserId’); // Загрузить пользователя с ID
- item.master.owner = newOwner; // обновить владельца
Здесь мы используем Security.loadUser ('newOwnerUserId'), чтобы получить нового пользователя-владельца.Функция принимает идентификатор пользователя: возвращает объект, User представляющий пользователя .Объект TheSecurity может быть использован для обработки пользователей, групп и ролей.Это будет подробно описано в следующей статье. В этой статье, мы должны знать только, как использовать функцию loadUser и функцию loadGroup .
Мы также можем клонировать владельца от другого элемента, например:
- item.master.owner = loadItem(1234).master.owner;
Дополнительные пользователи-владельцы элемента
item.master.additionalOwners дает нам массив объектов User.Чтобы добавить дополнительные пользователей-владельцев, мы должны передать каждый объект пользователя в этот массиве.
- var newAdditionalUserOwner = Security.loadUser(‘UserId’);
- item.master.additionalOwners.push(newAdditionalUserOwner);
Чтобы удалить всех дополнительных пользовательских владельцев, мы можем сделать это:
- item.master.additionalOwners.length = 0;
Чтобы найти и удалить частных дополнительных пользователя владельцем, мы можем использовать сращивание,
- var ownerToRemove = Security.loadUser(‘UserId’);
- var index = item.master.additionalOwners.indexOf(ownerToRemove);
- if (index > -1) { // если пользователь существует в массиве
- item.master.additionalOwners.splice(index, 1);
- }
Если мы хотим, отправить уведомление по электронной почте для всех дополнительных пользователей владельцев, мы могли бы использовать такой код:
- var additionalOwners = item.master.additionalOwners;
- for (var index in additionalOwners) {
- var email = new Email();
- email.to = additionalOwners[index].email;
- email.subject = "Owner Notification";
- email.body = "Please update current workflow.";
- email.send();
- }
Дополнительные группы владельцев элемента
item.master.groupAdditionalOwners возвращает массив объектов Группа.Мы могли бы использовать ту же процедуру, что мы использовали для объекта пользователя выше, чтобы делать действие добавить/удалить /очистить над массивом группы. Разница лишь в том, что мы работаем на объектом Group вместо User.Чтобы получить объект Group нам нужно useSecurity.loadGroup('Имя группы').Эта функция принимает строку имени группы в качестве входных данных; возвращает объект Group.
Примечания
Когда мы пишем код сценария, мы часто должны знать идентификатор пользователя для конкретного пользователя.(Функция Security.loadUser ('UserId'), приведена выше в примере).Но найти Идентификатор пользователя является сложной вещью, так вот простой способ, чтобы получить его быстро. Вы вначале должны перейти на страницу "Users" [Administration -> Security -> Users]. Затем после нажатия имя пользователя в столбце "User Name", вы найдете ID пользователя скрытый в адресе нового окна.
ID этого пользователя: "A1mMw". Теперь вы можете использовать Security.loadUser ('A1mMw') для того, чтобы загрузить объект User для этого пользователя в сценарии.
Чтобы использовать функцию Security.loadGroup ('Group Name'), мы должны знать имя группы.Поиск имя группы в PLM очень простой. На странице групп [Administration -> Security -> Groups], каждый из отображаемых имен в колонке "Name" является только входной переменной, которая нужна для этой функции.
Источник: http://justonesandzeros.typepad.com/blog/2015/06/item-object-master-property.html
Обсуждение: http://adn-cis.org/forum/index.php?topic=2997
Опубликовано 17.08.2015Отредактировано 08.09.2015 в 09:56:05