Personalización del contenido y el acceso a la información > Adición de propiedades y campos en activos, líneas y plantas
Adición de propiedades y campos en activos, líneas y plantas
Es posible añadir propiedades y campos adicionales, como Cliente y Grupo, en activos, líneas y plantas en la interfaz de usuario de ThingWorx Apps mediante la personalización de los mashups correspondientes.
Adición de propiedades y campos a Asset Advisor
Para mostrar las propiedades y los campos adicionales, como Cliente o Grupo, en la página de detalles del activo de Asset Advisor, siga el procedimiento que se detalla a continuación:
1. Modifique la plantilla de cosa que se utiliza para los activos, para que estos tengan las propiedades necesarias, como customerName o group.
2. Edite el mashup PTC.SCA.SCO.AssetMonitor.C_AssetDetailContainerMashup_[versión]. Para el esquema que contiene PTC.SCA.SCO.AssetMonitor.C_AssetSummaryMashup_[versión], aumente el valor de HeaderHeight a fin de dejar más espacio para propiedades adicionales en la tabla de propiedades.
* 
Al ver o editar mashups que se proporcionan con ThingWorx Apps, pulse en No si aparece un mensaje en el que se le pregunta si desea reemplazar los widgets desfasados con nuevos widgets.
3. En PTC.Factory.C_LaunchPointConfigurationThing_[versión], bajo Configuración:
Edite la entrada AssetDetailContainerMashup para que apunte a PTC.SCA.SCO.AssetMonitor.C_AssetDetailContainerMashup_[versión].
En la tabla de configuración EquipmentUserInterfaceSettings, edite la entrada AssetDetailContainerMashup para el tipo de equipo Activo para que apunte a PTC.SCA.SCO.AssetMonitor.C_AssetDetailContainerMashup_[versión].
4. En la cosa PTC.SCA.SCO.AssetMonitor.AssetDetail.AssetDetailServiceController, sustituya el servicio GetIdentityInfo utilizando el código siguiente a modo de ejemplo:
var asset = Things[assetId];
var result = Resources["InfoTableFunctions"].CreateInfoTableFromDataShape({dataShapeName:"PTC.SCA.SCO.AssetMonitor.AssetList.AssetIdentityDataShape"});
if (asset !== null) {
var newEntry = new Object();
newEntry.name = assetId;
newEntry.displayName = asset.displayName;
newEntry.image = asset.assetImage;
if(asset.assetImage !== null){
newEntry.customClass = "";
}
else{
newEntry.customClass = "defaultImage";
}
var assetAttributes = me.GetAssetAttributes({
assetId: assetId /* THINGNAME */
});
newEntry.attributes = assetAttributes;

var newAttributeEntry = new Object();
newAttributeEntry.name = "Customer:";
newAttributeEntry.baseType = "STRING";
newAttributeEntry.value = asset.customerName;
newEntry.attributes.AddRow(newAttributeEntry);

newAttributeEntry = new Object();
newAttributeEntry.name = "Group:";
newAttributeEntry.baseType = "STRING";
newAttributeEntry.value = asset.group;
newEntry.attributes.AddRow(newAttributeEntry);

result.AddRow(newEntry);
}
Adición de propiedades y campos a la página Información general del equipo
Para mostrar las propiedades y los campos adicionales en la página Información general de Instalación y configuración > Equipo, siga este procedimiento:
1. Duplique el mashup que va a corregir:
Para un activo: PTC.Factory.ManufacturingElementGeneralInfo
Para una línea: PTC.SCA.SCO.LineGeneralInfo
Para una planta: PTC.Factory.SiteGeneralInfo
2. Actualice el mashup duplicado según sea necesario, y guárdelo con un nuevo nombre.
3. Abra la cosa PTC.SCA.SCO.UIProvider.
4. En Servicios, pulse en para sustituir el servicio GetResourceConfigurationView.
5. En el panel de scripts, añada contenido similar al siguiente. Cuando se defina mashupName, sustituya el valor por defecto por el nombre del mashup duplicado personalizado, según corresponda.
var isSite = Resources["PTC.Factory.CommonUtilities"].isSite(
{ thingId: displayId }
);
var isLine = Resources["PTC.Factory.CommonUtilities"].IsLine(
{ thingId: displayId }
);
var isAsset = Resources["PTC.Factory.CommonUtilities"].IsAsset(
{ thingId: displayId }
);
var mashupName = "PTC.Factory.ManufacturingElementGeneralInfo";
if (isSite)
{ mashupName = "PTC.Factory.SiteGeneralInfo"; }
else if (isLine)
{ mashupName = "PTC.SCA.SCO.LineGeneralInfo"; }
else if (isAsset)
{ mashupName = "PTC.Factory.ManufacturingElementGeneralInfo"; }
var result = Resources["InfoTableFunctions"].CreateInfoTable(
{ infoTableName: "infoTable" }
);
var newEntry = new Object();
result.AddField(
{name:"mashup",baseType:"STRING"}
);
result.AddRow(
{mashup:mashupName}
);
6. Pulse en Terminado para guardar el servicio sustituido.
7. Pulse en Guardar para guardar la cosa PTC.SCA.SCO.UIProvider.