Estructura de artículo
Estructura de artículo es una configuración predefinida del componente Lista de elementos. Estructura de artículo contiene un árbol de estructura en el que se muestra la relación jerárquica entre un artículo o documento CAD y sus descendientes. En Estructura de artículo se muestran, para cada elemento del árbol, los atributos que se pueden elegir mediante la configuración. Los atributos por defecto son Número, Nombre y Estado.
Puede configurar Estructura de artículo para definir el nivel de expansión inicial del árbol. Por defecto, el nivel de expansión inicial está definido en 3. Los usuarios pueden expandir y contraer elementos en el árbol.
En el árbol de Estructura de artículo se incluye sangría para mostrar visualmente el nivel de estructura. La columna que aparece primero en la tabla se puede definir mediante la configuración. Por defecto, la primera columna es Número.
Estructura de artículo tiene las mismas funciones de exportación que Lista de elementos. El fichero exportado incluye una columna que muestra el nivel numérico de cada elemento de la estructura e incluye sangría para mostrar el nivel de estructura.
La siguiente es una imagen de ejemplo que muestra la configuración predefinida de Estructura de artículo:
* 
Si un usuario que visualiza un árbol de estructura no tiene derechos de acceso para un elemento de la estructura, dicho elemento no se muestra y se muestra el siguiente mensaje: "Algunos elementos están ocultos porque no tiene derechos de acceso para ellos".
* 
Estructura de artículo solo se puede utilizar con el widget Lista de elementos, no con el mashup Lista de elementos, que está desfasado.
Propiedades de enlace 
Para obtener información sobre cómo enlazar Estructura de artículo, véase el componente Lista de elementos.
* 
Para Estructura de artículo, la propiedad de enlace de entrada soporta los tipos de objeto PTC.ProdMgmt.Part y PTC.CADDocumentMgmt.CADDocument.
En la salida de la propiedad de enlace selectedItems se incluyen elementos con los tipos de objeto PTC.ProdMgmt.PartStructureItem y PTC.CADDocumentMgmt.CADStructure.
Propiedades de configuración 
Para obtener información sobre cómo configurar Estructura de artículo, véase el componente Lista de elementos. Además, las siguientes propiedades JSON son específicas de Estructura de artículo.
Para obtener más información sobre la estructura de la configuración, consulte Estructura de configuración de componentes.
Para obtener más información sobre las subpropiedades, consulte Subpropiedades y claves de contenedor.
Nombre de la propiedad
Descripción
Tipo de propiedad
Valor por defecto
Obligatorio u opcional
defaultExpansionLevel
Permite definir el nivel de expansión inicial del árbol de estructura. Acepta los números del 1 al 9 y -1 como entrada. Cuando la propiedad se define en -1, el árbol de estructura se expande completamente de manera inicial y se muestran todos los niveles.
Ejemplo:
{
"defaultExpansionLevel":{
"selectedKey":[
"3"
]
}
}
* 
En las estructuras de gran tamaño, un valor por defecto mayor que 3 puede afectar al rendimiento de la carga inicial.
Si esta propiedad recibe una entrada no válida, el nivel de expansión por defecto es 3.
3
Opcional
attributes
Consulte Lista de elementos para obtener más información.
Acepta atributos de los tipos de objeto PTC.ProdMgmt.PartStructureItem y PTC.CADDocumentMgmt.CADStructure.
* 
El orden de las columnas se puede establecer definiendo la propiedad ordinal para cada atributo. El atributo con el valor ordinal de 0 aparece como la primera columna, el atributo con el valor ordinal de 1 aparece como la segunda columna, y así sucesivamente. Para obtener más información, consulte el tema Uso de la propiedad de configuración ordinal.
Por defecto, el árbol de Estructura de artículo se clasifica según el primer atributo, lo que significa el atributo con el valor ordinal no negativo más bajo.
N/D
Obligatorio
Configuración de ejemplo 
{
"attributes":{
"inTailoring":true,
"selectedValues":{
"data":[
{
"itemListsData":[
{
"items":[
{
"id":"Part|Number",
"ordinal":0
},
{
"id":"Part|Name",
"ordinal":1
},
{
"id":"Part|State#Display",
"ordinal":2
}
],
"objectType":"PTC.ProdMgmt.PartStructureItem"
},
{
"items":[
{
"id":"CADDocument|Number",
"ordinal":0
},
{
"id":"CADDocument|Name",
"ordinal":1
},
{
"id":"CADDocument|State#Display",
"ordinal":2
}
],
"objectType":"PTC.CADDocumentMgmt.CADStructure"
}
],
"adapter":{
"instanceName":"windchill",
"thingName":"PTC.WCAdapter"
}
}
]
}
},
"defaultExpansionLevel":{
"selectedKey":[
"3"
],
"inTailoring":true
},
"label":{
"value":""
},
"selectionType":{
"selectedKey":"multi"
},
"showExportAction":{
"additionalData":{
"itemListExportDefinition":{
"exportTypes":{
"selected":[
{
"key":"exportToCsv"
},
{
"key":"exportToExcel"
}
]
},
"exportUnFilteredData":{
"value":true
}
}
},
"value":true
},
"waitForInput":{
"value":true
},
"baseConfigurationVersion":{
"value":"nav.3"
},
"implementationConfigurationVersion":{
"value":"nav.1"
}
}
Servicios de personalización 
Además de la configuración, cada componente soporta la extensión de la lógica empresarial para personalizar el componente. En la lógica empresarial de cada componente se incluyen los servicios desestimables en una plantilla de cosa que se pueden extender y sustituir. En la tabla siguiente se describen los servicios desestimables de este componente.
Para obtener ejemplos de las devoluciones y los parámetros de cada servicio, consulte Ejemplos de entrada/salida para servicios de personalización.
Nombre
Descripción
ComputeMessages
Calcula los mensajes deseados que se deben mostrar en Estructura de artículo. Recibe el JSON de mensajes actuales y el JSON de mensajes sugeridos, y devuelve un JSON de mensajes de notificación que contiene los mensajes que se deben mostrar en la lista de elementos.
Parámetros:
getItemsResponse (obligatorio): objeto JSON en formato CCO que contiene los elementos devueltos del servicio getItems.
currentMessages (obligatorio): objeto JSON que contiene mensajes de notificación actuales que se muestran en la interfaz de usuario.
suggestedMessages (obligatorio): objeto JSON que contiene un conjunto de mensajes sugeridos. Se recomienda utilizar los mensajes sugeridos.
input (opcional): JSON en formato CCO que incluye el ID de entrada del elemento en la raíz de la estructura.
configuration (opcional): JSON con la configuración.
scope (opcional): JSON que indica el ámbito de los datos de getItemsResponse. El objeto JSON contiene una clave scope que acepta los valores root y child. Pertinente para datos jerárquicos. Ejemplo:
{
"scope": "root"
}
Devuelve: objeto JSON que contiene mensajes que se deben mostrar en la rejilla de lista de elementos. Ejemplo:
"INFO":{
{
"messages":[
"[[PTC.Nav.ItemList.HiddenItemsBecauseAccessRightMessage]]"
]
}
}
DefHookAttributesTypesInfo
Devuelve una matriz de JSON que contiene la información del adaptador y los tipos de objeto de los atributos soportados por Estructura de artículo.
Parámetros: ninguno
Devuelve: matriz JSON
GetChildren
Recibe un artículo o un documento CAD, y devuelve un JSON en formato CCO que contiene los hijos de ese elemento, es decir, todos los elementos que están un nivel por debajo de dicho artículo o documento CAD en la estructura de datos jerárquica. El JSON devuelto contiene los hijos como una lista plana, no como datos jerárquicos.
Parámetros:
input (opcional): JSON en formato CCO que incluye el ID de entrada del artículo o documento CAD en la raíz de la estructura.
configuration (obligatorio): JSON con la configuración.
item (obligatorio): JSON que incluye el elemento cuyos hijos se deben devolver.
Devuelve: JSON en formato CCO
GetConfigurations
Devuelve las configuraciones disponibles para Estructura de artículo.
Parámetros: ninguno
Devuelve: JSON
GetImplementationSettings
Devuelve los datos de configuración de la implementación de Estructura de artículo. Las implementaciones pueden sustituir este servicio para proporcionar su propia configuración. Para obtener más información, consulte el tema Activación de la propiedad de enlace de entrada selectedItems para Lista de elementos.
Parámetros: ninguno
Devuelve: objeto JSON
GetItems
Devuelve la estructura del artículo o del documento CAD especificado en la entrada.
Parámetros:
input (obligatorio): JSON en formato CCO en el que se incluye el ID de entrada de los datos que se van a extraer del sistema back-end y la información del adaptador para el sistema back-end.
configuration (obligatorio): JSON con la configuración combinada final obtenida del recurso del administrador de personalización.
Devuelve: JSON en formato CCO
GetItemsByExpansionPath
Devuelve un CCO de estructura jerárquica que contiene todos los elementos en la ruta desde la raíz al elemento solicitado, incluidos todos los atributos solicitados, itemIdentifierKeys y itemExpansionKeys. El CCO de estructura jerárquica incluye todos los hermanos en la ruta.
Se llama al servicio cuando la propiedad de enlace selectedItems recibe una entrada que especifica un elemento que no se ha cargado.
Parámetros:
input (opcional): JSON en formato CCO que incluye el ID de entrada del artículo o documento CAD en la raíz de la estructura.
configuration (obligatorio): JSON con la configuración.
itemExpansionValues (obligatorio): una matriz JSON que contiene itemExpansionKeys del artículo o documento CAD para el que se solicita la expansión. Los valores de la matriz se ordenan según la ruta del árbol, comenzando por el artículo o documento CAD raíz.
Devuelve: JSON en formato CCO
GetStructureSkeleton
Devuelve todos los niveles de una estructura jerárquica en formato CCO, donde cada artículo o documento CAD de la estructura incluye itemIdentifierKeys y itemExpansionKeys, según se haya definido en el servicio GetImplementationSettings.
Parámetros:
input (opcional): JSON en formato CCO que incluye el ID de entrada del artículo o documento CAD en la raíz de la estructura.
configuration (obligatorio): JSON con configuración.
Devuelve: JSON en formato CCO
MapItemToInputObject
Permite asignar un artículo o documento CAD a una entrada, que el servicio GetItems puede utilizar posteriormente.
Parámetros:
input (opcional): JSON en formato CCO que incluye el ID de entrada del artículo o documento CAD en la raíz de la estructura.
item (obligatorio): JSON en el que se incluye el artículo o el documento CAD que se debe asignar.
Devuelve: JSON en formato CCO con un único artículo o documento CAD que solo contiene el atributo id.
Definición de implementación 
{
"array": [
{
"property": {},
"value": {
"initializationData": {
"version": "1.0.0",
"constraints": {},
"properties": {
"directDefinition": [
{
"property": {},
"value": {
"initializationData": {
"version": "1.0.0",
"constraints": {},
"properties": {}
},
"elementVersion": "1.0.0",
"elementName": "PTC.Nav.DynamicForm.Textbox"
},
"mandatory": false,
"key": "actionBarConfigurationJSON"
}
]
}
},
"elementVersion": "1.0.0",
"elementName": "PTC.Nav.DynamicForm.DefinitionGroup"
},
"mandatory": false,
"key": "actionBarConfiguration"
},
{
"property": {},
"value": {
"initializationData": {
"version": "1.0.0",
"constraints": {},
"properties": {
"additionalDefinition": [
{
"directDefinition": [
{
"property": {},
"value": {
"initializationData": {
"version": "1.0.0",
"constraints": {},
"properties": {}
},
"elementVersion": "1.0.0",
"elementName": "PTC.Nav.DynamicForm.Textbox"
},
"mandatory": false,
"key": "fieldTitleOverride"
}
],
"key": "itemListAttributesDefinition"
},
{
"directDefinition": [],
"key": "implementationAttributesDefinition"
}
],
"updateServiceName": "",
"minimumSelectedAttributes": null,
"supportedTypes": {
"data": [
{
"itemListsData": [
{
"selectionGroupIds": [
"PSI"
],
"objectType": "PTC.ProdMgmt.PartStructureItem"
},
{
"selectionGroupIds": [
"CS"
],
"objectType": "PTC.CADDocumentMgmt.CADStructure"
}
],
"adapter": {
"instanceName": "windchill",
"thingName": "PTC.WCAdapter"
}
}
],
"allowSubsetForTailoring": false
},
"addServiceName": "",
"maximumSelectedAttributes": null
}
},
"elementVersion": "1.0.0",
"elementName": "PTC.Nav.DynamicForm.AttributesSelector"
},
"mandatory": true,
"key": "attributes"
},
{
"property": {},
"value": {
"initializationData": {
"version": "1.0.0",
"constraints": {},
"properties": {
"options": [
{
"label": "-1",
"key": "-1"
},
{
"label": "1",
"key": "1"
},
{
"label": "2",
"key": "2"
},
{
"label": "3",
"key": "3"
},
{
"label": "4",
"key": "4"
},
{
"label": "5",
"key": "5"
},
{
"label": "6",
"key": "6"
},
{
"label": "7",
"key": "7"
},
{
"label": "8",
"key": "8"
},
{
"label": "9",
"key": "9"
}
],
"updateServiceName": null,
"addServiceName": null
}
},
"elementVersion": "1.0.0",
"elementName": "PTC.Nav.DynamicForm.Dropdown"
},
"mandatory": false,
"key": "defaultExpansionLevel"
},
{
"property": {},
"value": {
"initializationData": {
"version": "1.0.0",
"constraints": {},
"properties": {
"additionalDefinition": [
{
"directDefinition": [
{
"property": {},
"value": {
"initializationData": {
"version": "1.0.0",
"constraints": {},
"properties": {
"options": [
{
"description": "Sort column in ascending order",
"label": "[[PTC.Nav.ItemList.SortOrder.Asc]]",
"key": "asc"
},
{
"description": "Sort column in descending order",
"label": "[[PTC.Nav.ItemList.SortOrder.Dsc]]",
"key": "dsc"
}
],
"updateServiceName": null,
"addServiceName": null
}
},
"elementVersion": "1.0.0",
"elementName": "PTC.Nav.DynamicForm.RadioButton"
},
"mandatory": false,
"key": "defaultSortDirection"
}
],
"key": "itemListDefaultSortFieldDefinition"
}
],
"updateServiceName": "",
"minimumSelectedAttributes": null,
"supportedTypes": {
"data": [
{
"itemListsData": [
{
"selectionGroupIds": [
"PSI"
],
"objectType": "PTC.ProdMgmt.PartStructureItem"
},
{
"selectionGroupIds": [
"CS"
],
"objectType": "PTC.CADDocumentMgmt.CADStructure"
}
],
"adapter": {
"instanceName": "windchill",
"thingName": "PTC.WCAdapter"
}
}
],
"allowSubsetForTailoring": false
},
"addServiceName": "",
"maximumSelectedAttributes": null
}
},
"elementVersion": "1.0.0",
"elementName": "PTC.Nav.DynamicForm.AttributesSelector"
},
"mandatory": false,
"key": "defaultSortFields"
},
{
"property": {},
"value": {
"initializationData": {
"version": "1.0.0",
"constraints": {},
"properties": {
"default": true,
"true": {
"additionalDefinition": [
{
"directDefinition": [
{
"property": {},
"value": {
"initializationData": {
"version": "1.0.0",
"constraints": {},
"properties": {}
},
"elementVersion": "1.0.0",
"elementName": "PTC.Nav.DynamicForm.Textbox"
},
"mandatory": false,
"key": "searchHintText"
}
],
"key": "itemListSearchDefinition"
}
],
"label": "[[PTC.Nav.Yes]]"
},
"false": {
"additionalDefinition": [],
"label": "[[PTC.Nav.No]]"
}
}
},
"elementVersion": "1.0.0",
"elementName": "PTC.Nav.DynamicForm.Toggle"
},
"mandatory": false,
"key": "enableSearch"
},
{
"property": {},
"value": {
"initializationData": {
"version": "1.0.0",
"constraints": {},
"properties": {
"additionalDefinition": [
{
"directDefinition": [
{
"property": {},
"value": {
"initializationData": {
"version": "1.0.0",
"constraints": {},
"properties": {
"dynamicallySetTypeServiceName": "GetFilterTypeDefinitionForFilterField",
"type": {
"enum": {
"options": [],
"updateServiceName": null,
"dynamicallySetOptionsServiceName": null,
"addServiceName": null,
"multiSelect": null
}
}
}
},
"elementVersion": "1.0.0",
"elementName": "PTC.Nav.DynamicForm.FieldFilter"
},
"mandatory": false,
"key": "defaultSelectedFilterValues"
},
{
"property": {},
"value": {
"initializationData": {
"version": "1.0.0",
"constraints": {},
"properties": {}
},
"elementVersion": "1.0.0",
"elementName": "PTC.Nav.DynamicForm.Textbox"
},
"mandatory": false,
"key": "filterLabelOverride"
}
],
"key": "itemListFilterFieldDefinition"
}
],
"updateServiceName": "",
"minimumSelectedAttributes": 0,
"supportedTypes": {
"data": [
{
"itemListsData": [
{
"selectionGroupIds": [
"PSI"
],
"objectType": "PTC.ProdMgmt.PartStructureItem"
},
{
"selectionGroupIds": [
"CS"
],
"objectType": "PTC.CADDocumentMgmt.CADStructure"
}
],
"adapter": {
"instanceName": "windchill",
"thingName": "PTC.WCAdapter"
}
}
],
"allowSubsetForTailoring": false
},
"addServiceName": "",
"maximumSelectedAttributes": 1
}
},
"elementVersion": "1.0.0",
"elementName": "PTC.Nav.DynamicForm.AttributesSelector"
},
"mandatory": false,
"key": "filterFields"
},
{
"property": {},
"value": {
"initializationData": {
"version": "1.0.0",
"constraints": {},
"properties": {}
},
"elementVersion": "1.0.0",
"elementName": "PTC.Nav.DynamicForm.DefinitionGroup"
},
"mandatory": false,
"key": "implementationConfiguration"
},
{
"property": {},
"value": {
"initializationData": {
"version": "1.0.0",
"constraints": {},
"properties": {}
},
"elementVersion": "1.0.0",
"elementName": "PTC.Nav.DynamicForm.Textbox"
},
"mandatory": false,
"key": "label"
},
{
"property": {},
"value": {
"initializationData": {
"version": "1.0.0",
"constraints": {},
"properties": {
"minValue": 50,
"default": 500,
"maxValue": 10000,
"step": 50
}
},
"elementVersion": "1.0.0",
"elementName": "PTC.Nav.DynamicForm.Number"
},
"mandatory": false,
"key": "maxNumberOfRowsInGrid"
},
{
"property": {},
"value": {
"initializationData": {
"version": "1.0.0",
"constraints": {},
"properties": {
"options": [
{
"description": "Disallow items selection",
"label": "[[PTC.Nav.ItemList.SelectionType.None]]",
"key": "none"
},
{
"description": "Allow single item selection",
"label": "[[PTC.Nav.ItemList.SelectionType.Single]]",
"key": "single"
},
{
"description": "Allow multiple items selection",
"label": "[[PTC.Nav.ItemList.SelectionType.Multiple]]",
"key": "multi"
}
],
"updateServiceName": null,
"addServiceName": null
}
},
"elementVersion": "1.0.0",
"elementName": "PTC.Nav.DynamicForm.RadioButton"
},
"mandatory": false,
"key": "selectionType"
},
{
"property": {},
"value": {
"initializationData": {
"version": "1.0.0",
"constraints": {},
"properties": {
"default": true,
"true": {
"additionalDefinition": [
{
"directDefinition": [
{
"property": {
"options": [
[
{
"label": "[[PTC.Nav.ItemList.ExportCSVActionLabel]]",
"key": "exportToCsv"
},
{
"label": "[[PTC.Nav.ItemList.ExportCSVAsExcelActionLabel]]",
"key": "exportToExcel"
}
]
]
},
"value": {
"initializationData": {
"version": "1.0.0",
"constraints": {},
"properties": {
"default": "",
"overflow": null,
"minimumSelectedItems": null,
"options": [],
"updateServiceName": null,
"addServiceName": null,
"constraints": {}
}
},
"elementVersion": "1.0.0",
"elementName": "PTC.Nav.DynamicForm.CheckboxArray"
},
"mandatory": false,
"key": "exportTypes"
},
{
"property": {},
"value": {
"initializationData": {
"version": "1.0.0",
"constraints": {},
"properties": {
"default": false,
"true": {
"additionalDefinition": [],
"label": null
},
"false": {
"additionalDefinition": [],
"label": null
}
}
},
"elementVersion": "1.0.0",
"elementName": "PTC.Nav.DynamicForm.Toggle"
},
"mandatory": false,
"key": "exportUnFilteredData"
}
],
"key": "itemListExportDefinition"
}
],
"label": "[[PTC.Nav.Yes]]"
},
"false": {
"additionalDefinition": [],
"label": "[[PTC.Nav.No]]"
}
}
},
"elementVersion": "1.0.0",
"elementName": "PTC.Nav.DynamicForm.Toggle"
},
"mandatory": false,
"key": "showExportAction"
},
{
"property": {},
"value": {
"initializationData": {
"version": "1.0.0",
"constraints": {},
"properties": {
"default": false,
"true": {
"additionalDefinition": [],
"label": "[[PTC.Nav.Yes]]"
},
"false": {
"additionalDefinition": [],
"label": "[[PTC.Nav.No]]"
}
}
},
"elementVersion": "1.0.0",
"elementName": "PTC.Nav.DynamicForm.Toggle"
},
"mandatory": false,
"key": "waitForInput"
}
]
}
¿Fue esto útil?