Zusätzliche Informationen zum Dienst "GetImplementationSettings" für die Elementliste
In diesem Thema wird der Dienst GetImplementationSettings beschrieben, bei dem es sich um einen Anpassungsdienst handelt, der für die Elementliste verfügbar ist. Dieser Dienst wird im Allgemeinen verwendet, wenn die Elementliste Daten in einem Strukturbaum statt in einer flachen Liste anzeigt. Die vordefinierten Konfigurationen "Teilestruktur" und "Dokumentstruktur" der Elementliste verwenden beispielsweise diesen Dienst.
Darüber hinaus muss dieser Dienst implementiert werden, wenn Sie die Eingabe-Bindungseigenschaft selectedItems aktivieren möchten. Mit der Eigenschaft selectedItems können Sie ein Element in der Elementliste im Voraus auswählen.
Der Dienst GetImplementationSettings kann die folgenden drei Eigenschaften enthalten. Jede Eigenschaft kann ein oder mehrere Attribute pro Element enthalten, solange es nur ein Attribut pro Objekttyp gibt.
itemIdentifierKeys
Dieser erforderliche Schlüssel enthält das Attribut für jedes Eingabeelement, mit dem das Element ausgewählt werden kann. Alle anderen in der Eingabe von selectedItems angegebenen Attribute werden ignoriert. Nur das erste angegebene Attribut wird berücksichtigt; alle weiteren Attribute werden ignoriert.
Wenn die Attributwerte für jedes Element eindeutig sind, wird bei Verwendung von selectedItems nur ein einzelnes Element ausgewählt. Andernfalls werden alle Elemente mit diesem Wert für dieses Attribut ausgewählt.
itemExpansionKeys
Dieser optionale Schlüssel ist nur relevant, wenn "Elementliste" hierarchische Daten anzeigt. Er unterstützt das Erweitern von Elementen, die ursprünglich (z.B. aufgrund einer Standard-Erweiterungsebene) im Strukturbaum verkleinert sind, wenn ein verkleinertes Element mit selectedItems ausgewählt ist. Die Attribute in itemExpansionKeys dienen dazu, alle Elemente zu identifizieren, die in der Struktur fehlen. Da die Attributwerte verwendet werden, um Elemente zu identifizieren, sollten die Attributwerte für jedes Element eindeutig sein.
Die Standardimplementierung der folgenden Dienste nutzen itemExpansionKeys: GetChildren, MapItemToInputObject, GetItemsByExpansionPath, GetStructureSkeleton. Weitere Informationen finden Sie im Abschnitt Anpassungsdienste im Thema Elementliste.
hasChildrenKeys
Dieser optionale Schlüssel ist nur relevant, wenn "Elementliste" hierarchische Daten anzeigt. hasChildrenKeys enthält den Namen des Attributs für jedes Element, das verwendet wird, um zu bestimmen, ob dieses Element Unterelemente hat oder nicht. Wenn dieses Attribut bei einem Element fehlt oder der Wert des Attributs falsch ist, wird davon ausgegangen, dass das Element keine Unterelemente hat. Wenn hasChildrenKeys nicht eingeschlossen ist, wird zum Zwecke der Anzeige einer Baumstruktur das Vorhandensein eines Elementabschnitts unter dem Schlüssel PTC.Nav.Descendants für jedes Element im Elementdaten-CCO als Indikator für Unterelemente verwendet. Weitere Informationen finden Sie unter Common Communication Object-Struktur.
Beispielcode für GetImplementationSettings
Beispiel mit Teilestrukturelementen 
Beispielcode für Elemente eines einzelnen Objekttyps:
"implementationSettings":{
...
"itemIdentifierKeys":[
{
"selectedValues":{
"data":[
{
"itemListsData":[
{
"items":[
{
"id":"PartUseId",
"ordinal":0
}
],
"objectType":"PTC.ProdMgmt.PartStructureItem"
}
],
"adapter":{
"instanceName":"windchill",
"thingName":"PTC.WCAdapter"
}
}
]
}
}
],
"itemExpansionKeys":[
{
"selectedValues":{
"data":[
{
"itemListsData":[
{
"items":[
{
"id":"PathId",
"ordinal":0
}
],
"objectType":"PTC.ProdMgmt.PartStructureItem"
}
],
"adapter":{
"instanceName":"windchill",
"thingName":"PTC.WCAdapter"
}
}
]
}
}
],
"hasChildrenKeys":[
{
"selectedValues":{
"data":[
{
"itemListsData":[
{
"items":[
{
"id":"HasChildren",
"ordinal":0
}
],
"objectType":"PTC.ProdMgmt.PartStructureItem"
}
],
"adapter":{
"instanceName":"windchill",
"thingName":"PTC.WCAdapter"
}
}
]
}
}
]
}
Beispielcode für Elemente mit mehreren Objekttypen:
"implementationSettings":{
...
"itemIdentifierKeys":[
{
"selectedValues":{
"data":[
{
"itemListsData":[
{
"items":[
{
"id":"PartUseId",
"ordinal":0
}
],
"objectType":"PTC.ProdMgmt.PartStructureItem"
}
],
"adapter":{
"instanceName":"windchill",
"thingName":"PTC.WCAdapter"
}
}
]
}
},
{
"selectedValues":{
"data":[
{
"itemListsData":[
{
"items":[
{
"id":"PVTreeId",
"ordinal":0
}
],
"objectType":"PTC.CADDocumentMgmt.CADStructure"
}
],
"adapter":{
"instanceName":"windchill",
"thingName":"PTC.WCAdapter"
}
}
]
}
}
],
"itemExpansionKeys":[
{
"selectedValues":{
"data":[
{
"itemListsData":[
{
"items":[
{
"id":"PathId",
"ordinal":0
}
],
"objectType":"PTC.ProdMgmt.PartStructureItem"
}
],
"adapter":{
"instanceName":"windchill",
"thingName":"PTC.WCAdapter"
}
}
]
}
},
{
"selectedValues":{
"data":[
{
"itemListsData":[
{
"items":[
{
"id":"PVTreeId",
"ordinal":0
}
],
"objectType":"PTC.CADDocumentMgmt.CADStructure"
}
],
"adapter":{
"instanceName":"windchill",
"thingName":"PTC.WCAdapter"
}
}
]
}
}
],
"hasChildrenKeys":[
{
"selectedValues":{
"data":[
{
"itemListsData":[
{
"items":[
{
"id":"HasChildren",
"ordinal":0
}
],
"objectType":"PTC.ProdMgmt.PartStructureItem"
}
],
"adapter":{
"instanceName":"windchill",
"thingName":"PTC.WCAdapter"
}
}
]
}
},
{
"selectedValues":{
"data":[
{
"itemListsData":[
{
"items":[
{
"id":"HasChildren",
"ordinal":0
}
],
"objectType":"PTC.CADDocumentMgmt.CADStructure"
}
],
"adapter":{
"instanceName":"windchill",
"thingName":"PTC.WCAdapter"
}
}
]
}
}
]
}
Beispiel mit Dokumentstrukturelementen 
"implementationSettings":{
"..."
"itemIdentifierKeys":[
{
"selectedValues":{
"data":[
{
"itemListsData":[
{
"items":[
{
"id":"DocumentUseID",
"ordinal":0
}
],
"objectType":"PTC.DocMgmt.DocStructure"
}
],
"adapter":{
"instanceName":"windchill",
"thingName":"PTC.WCAdapter"
}
}
]
}
}
],
"hasChildrenKeys":[
{
"selectedValues":{
"data":[
{
"itemListsData":[
{
"items":[
{
"id":"HasChildren",
"ordinal":0
}
],
"objectType":"PTC.DocMgmt.DocStructure"
}
],
"adapter":{
"instanceName":"windchill",
"thingName":"PTC.WCAdapter"
}
}
]
}
}
],
"overrideItemsDataForExport":{
"value":false
}
}
War dies hilfreich?