Руководство пользователя Semantic MDM
×
Меню
Индекс

Методы для работы с экспортируемым объектом

 

Методы ExportRootObject (exportObject)

 

Методы ExportObject

 

Методы List<ExportValue>

Скриптовой язык Groovy, предоставляет возможность с помощью анонимных функций (Closure) выполнить поиск атрибута (ExportValue) в списке (List<ExportValue>) по любому его свойству с помощью метода find() или findAll(). Так, например, можно найти атрибут в списке по его наименованию для внешней системы (getName()) или по любому другому свойству, доступному в ExportValue. Подробнее о методах класса ExportValue в пункте Методы для чтения данных из Semantic MDM.
С помощью добавления / удаления атрибутов из списка, возвращаемого функцией getValues(), можно выполнять изменение состава атрибутов экспортируемого объекта. Такая возможность необходима для того, чтобы привести состав атрибутов экспортируемого объекта к составу атрибутов справочника внешней системы.
 
Получение атрибута из списка List<ExportValue>
Пример получения атрибута по наименованию для внешней системы:
ExportValue FindedVal = exportObject.getValues().find {element -> element.getName()=="CA_TYPE"};
if (FindedVal != null)
{ /*... сделать что-то если атрибут нашли ...*/}
else
{ /*... сделать что-то если атрибут НЕ нашли ... */}
 
Добавление атрибута в список List<ProcessedValue>
Пример добавления строкового атрибута “CA_TYPE” со значением “ЮЛ”:
List<ExportValue> Values = exportObject.getValues();
ExportValue NewValue = new ExportValue(name: "CA_TYPE", stringValue: "ЮЛ");
exportObject.getValues().add(NewValue);
 
Пример добавления атрибута “DOCUMENT” с вложенным в него атрибутом “CODE”:
//Создадим вложенный объект с атрибутом CODE
ExportObject ValObj = new ExportObject();
ValObj.getValues().add(new ExportValue(name: "CODE", stringValue: "ГОСТ 1050-88"));
//Добавим новый атрибут DOCUMENT с созданным ранее объектом
exportObject.getValues().add(new ExportValue(name:"DOCUMENT", objectValue: ValObj));
 
Пример добавления атрибута “DOCUMENT” со ссылкой на позицию с известным идентификатором объекта во внешней системе:
//Создадим новый вложенный объект
ExportObject ValObj = new ExportObject();
//Пропишем в него ссылку на объект внешней системы
ValObj.setSourceIds([new ExportSourceId(value: "6f667c55-8629-11ea-9c9c-f079596e5df8", duplicate: false)]);
//Добавим новый атрибут DOCUMENT с созданным ранее объектом
exportObject.getValues().add(new ExportValue(name:"DOCUMENT", objectValue: ValObj));
 
Пример добавления атрибута “EXTERNAL_KEY” с переходным ключом:
SystemKeyTransfer key = new SystemKeyTransfer(systemId:"TEAMCENTER", sourceId: "gjt8rvZnjbRp1fcAZ")
exportObject.getValues().add(new ExportValue(name:"EXTERNAL_KEY", systemKey: key));
 
Удаление атрибута из списка List<ProcessedValue>
Пример удаления атрибута “CA_TYPE”:
//Найдем атрибут по идентификатору атрибута Semantic MDM
List<ProcessedValue> ListValues = exportObject.getValues();
//Получим индекс атрибута
int FindedIdx = ListValues.findIndexOf {it.getName()=="CA_TYPE"};
if (FindedIdx >= 0) {
  ListValues.remove(FindedIdx);
}
 
Пример удаления всех атрибутов у экспортируемого объекта:
//Найдем атрибут по идентификатору атрибута Semantic MDM
exportObject.getValues().clear();
 

Методы ExportValue

Чтение/запись имени атрибута обменного класса из ExportValue
 
Чтение/запись единичных значений в ExportValue
Чтение/запись множественных значений в ExportValue
 

Методы ExchangeComplexDouble