Soporte de atributos personalizados de Windchill
Para importar valores de Windchill MPMLink que no se importan como parte del proceso de conversión del bloque de creación de instrucciones de trabajo de fábrica, se requieren configuraciones adicionales. Estos valores pueden incluir atributos de Windchill aún no asignados al modelo de datos del bloque de creación de instrucciones de trabajo o atributos de Windchill personalizados, también conocidos como atributos simplificados.
En el siguiente ejemplo se importan los valores de MyCustomAttribute, que es un atributo personalizado de tipo de datos STRING en una operación de Windchill MPMLink.
1. Verifique que los valores de atributo se devuelvan en llamadas de REST. Ejecute el siguiente comando con Windchill MPMLink REST Services mediante la cosa del conector OData de MPMLink (PTC.SCA.SCO.MPMLink_ODataConnector) o directamente con un cliente de REST, y verifique que MyCustomAttribute se devuelva:
GET /servlet/odata/MfgProcMgmt/Operations('ID')
2. Actualice la definición de datos <Operator_Advisor_object>_AP relacionada. La propiedad añadida a la definición de datos debe ser el tipo de datos adecuado para el atributo Windchill al que se va a asignar.
En este ejemplo, se añaden valores de MyCustomAttribute a una nueva propiedad de tipo de datos STRING en la definición de datos PTC.SCA.SCO.WorkDefinition_AP llamada MyCustomProperty.
3. Verifique que haya una columna para la nueva propiedad disponible en la base de datos mediante la ejecución de un servicio Get relacionado con la definición de datos principal. En este ejemplo, ejecute el servicio GetWorkDefinition desde la cosa PTC.SCA.SCO.DefaultProductionOrderManager y verifique que los resultados incluyan una columna MyCustomProperty.
4. En la cosa de las asignaciones personalizadas (PTC.SCA.SCO.MPMLinkWorkDefinitionCustomMappings), busque y sustituya el servicio de asignación personalizada para la definición de datos del bloque de creación de instrucciones de trabajo y la información de Windchill para la que desee asignar el atributo. Para este ejemplo, busque y sustituya el servicio MapWorkDefinitionPropertiesForOperationHolder. Para obtener una lista de los servicios de asignación personalizada que se proporcionan, consulte Servicios de asignación personalizada.
5. Especifique la asignación entre la propiedad personalizada añadida a la definición de datos del <Operator_Advisor_object>_AP y el atributo Windchill, tal como se indica en los comentarios del código de servicio. Para este ejemplo, añada lo siguiente:
result["MyCustomProperty"] = sourceJson["OperationHolder"]["MyCustomAttribute"];
El sourceJson es la parte de la llamada REST que se proporciona como entrada para el servicio. Solo la parte de la llamada REST aplicable para el tipo de objeto Windchill asignado por el servicio se proporciona como entrada para el servicio. Para el valor de atributo Windchill, utilice el nombre de atributo, tal como se muestra en la llamada REST del paso 1. No utilice el nombre interno del atributo tal como aparece en Windchill.
* 
Las asignaciones definidas por el bloque de creación de instrucciones de trabajo también se pueden personalizar utilizando los servicios de asignación personalizada. Por ejemplo, para asignar el atributo Description para una operación en Windchill MPMLink a la propiedad LongDescription de las definiciones de trabajo en el bloque de creación de instrucciones de trabajo, en lugar de a la propiedad Description, añada lo siguiente en el servicio MapWorkDefinitionPropertiesForOperationHolderCustom:
result["LongDescription"] = sourceJson["OperationHolder"]["Description"];
Si se personaliza cualquiera de las asignaciones definidas por el bloque de creación de instrucciones de trabajo, confirme que las asignaciones personalizadas se siguen convirtiendo según lo esperado después de actualizar a una nueva versión del bloque de creación de instrucciones de trabajo.
Los valores de la propiedad MyCustomAttribute en operaciones de Windchill MPMLink se incluyen ahora cuando la información del plan de proceso se extrae de Windchill MPMLink y se convierten en definiciones de trabajo e información relacionada.
Asignación de atributos de Windchill con el tipo de datos Número real con unidades
Los atributos de Windchill con el tipo de datos Número real con unidades aparecen en la llamada REST como un objeto JSON con varios valores, en lugar de como un solo par atributo-valor. Por ejemplo:
"Attribute2": {
"Value": 123.45,
"Unit": "m/s2",
"Precision": 5,
"Display": "123.45 m/s2"
}
Se puede especificar una asignación para uno de los valores o asignar todo el objeto JSON como el valor de una propiedad de tipo STRING en el bloque de creación de instrucciones de trabajo:
Para asignar uno de los valores del atributo, especifique el nombre del atributo y el valor que desea asignar:
result["MyCustomProperty"] = sourceJson["Attribute2"]["Value"]
Para asignar todo el objeto JSON, incluidos todos los valores, como el valor de una propiedad de tipo STRING del bloque de creación de instrucciones de trabajo, especifique solo el nombre de atributo:
result["MyCustomProperty"] = sourceJson["Attribute2"]
Asignación de atributos de Windchill de varios valores
Un atributo de varios valores en Windchill es un atributo al que se le ha quitado la restricción Valor único. Solo los atributos Global pueden ser de varios valores.
Un atributo de varios valores de Windchill aparece en la llamada REST con los valores enumerados en una matriz JSON, similar a la siguiente:
"MultiValuedAttribute": [
"Attribute value 1",
"Attribute value 2",
"Attribute value 3"
]
Se puede especificar una asignación para un único valor o asignar toda la matriz JSON de valores de atributo como el valor de una propiedad de tipo STRING en el bloque de creación de instrucciones de trabajo:
Para asignar un valor específico de un atributo de varios valores, especifique el nombre del atributo y la posición del valor en el orden de los valores (a partir de 0).
result["MyCustomProperty"] = sourceJson["MultiValuedAttribute"][1]
Para asignar toda la matriz JSON de valores del atributo como el valor de una propiedad de tipo STRING del bloque de creación de instrucciones de trabajo, especifique solo el nombre de atributo:
result["MyCustomProperty"] = sourceJson["MultiValuedAttribute"]
Asignación de atributos de lista de Windchill
Un atributo de lista en Windchill es un atributo con una de las restricciones de lista aplicadas: Lista de valores enumerados, Lista de valores válidos o Lista de valores sugeridos. Los atributos de lista pueden ser Global o Local.
Un atributo de lista de Windchill aparece en la llamada REST como un objeto JSON con varios valores, en lugar de como un solo par atributo-valor. Por ejemplo:
"ListAttribute": [
{
"Value": "Test 1",
"Display": "Test 1"
},
}
Se puede especificar una asignación para uno de los valores o asignar todo el objeto JSON como el valor de una propiedad de tipo STRING en el bloque de creación de instrucciones de trabajo:
Para asignar uno de los valores del atributo, especifique el nombre del atributo y el valor que desea asignar:
result["MyCustomProperty"] = sourceJson["ListAttribute"]["Value"]
Para asignar todo el objeto JSON, incluidos todos los valores, como el valor de una propiedad de tipo STRING del bloque de creación de instrucciones de trabajo, especifique solo el nombre de atributo:
result["MyCustomProperty"] = sourceJson["ListAttribute"]
¿Fue esto útil?