Adición de campos de resumen a páginas de detalles existentes
Comprenda y conozca la sintaxis de buc-field-details.json que define los campos que se muestran en el panel Resumen de las páginas de detalles. Por ejemplo, puede añadir campos como Código de grupo de artículos en un pedido o código SCAC para un envío.
Ubicaciones de archivo JSON
Actualice o cree el archivo JSON dentro de la carpeta src-custom/assets/custom del módulo. Por ejemplo, packages/<route>/src-custom/assets/custom/buc-field-details.json.
Si no se necesitan personalizaciones adicionales que no sean los cambios en el archivo JSON, no es necesario asociar el archivo JSON a ninguna ruta. En su lugar, cree el archivo JSON bajo packages/<app>-root-config/src/assets/custom/buc-field-details.json. Esto garantiza que los futuros releases de Order Hub se apliquen automáticamente sin sincronizar manualmente el código de personalización.
Nota: Este enfoque no requiere la actualización de rutas en el archivo package-customization.json durante el despliegue.
Sintaxis JSON
El cuerpo JSON principal contiene atributos de objeto definidos de forma exclusiva que se correlacionan con distintas páginas de detalles.
- Para páginas relacionadas con Pedidos:
- order-summary: El nombre de objeto de la sección Resumen de la página Detalles del pedido .
- orderline-summary: El nombre de objeto para la sección Resumen en la página Detalles de línea de pedido .
- order-audit-summary: El nombre de objeto para la sección Resumen en la página Detalles de auditoría de pedido .
- order-receipt-summary: El nombre de objeto para la sección Resumen en la página Detalles de recepción de pedido .
- orderrelease-summary: El nombre de objeto para la sección Resumen en la página Detalles de liberación de pedido .
- Para páginas relacionadas con Envíos:
- envío-resumen: El nombre de objeto para la sección Resumen en la página Detalles de envío .
- shipmentline-summary: El nombre de objeto para la sección Resumen en la página Detalles de línea de envío .
- shipment-container-summary: El nombre de objeto para la sección Resumen en la página Detalles de contenedor de envío .
- Para páginas relacionadas con Excepción:
- exception-summary: El nombre de objeto de la sección Resumen de la página Detalles de excepciones .
- Para páginas relacionadas con Inventario:
- inv-audit-summary: El nombre de objeto para la sección Resumen en la página Detalles de auditoría de inventario .
- Para páginas relacionadas con Alertas:
- alert-details-summary: El nombre de objeto para la sección Resumen en la página Detalles de alerta .
- Cada objeto contiene atributos para definir los datos que se van a visualizar en la sección Resumen .
- nombre
- Un nombre exclusivo para identificar el conjunto de atributos.
- ID
- El ID exclusivo del campo. Los componentes pueden hacer referencia a un campo mediante esta propiedad.
- nombre
- El texto de etiqueta que se va a visualizar. Si el texto está traducido, puede añadir los archivos de traducción a la carpeta i18n y hacer referencia a la etiqueta. Por ejemplo:
"name": "SHARED.GENERAL.LABEL_ORDER_#",El ejemplo recupera el texto a visualizar de la carpeta i18n y busca el atributo que coincide con SHARED.GENERAL.LABEL_ORDER_#.
- dataBinding
- El atributo que se va a recuperar de la respuesta de la API (en notación de puntos) y se visualiza como el valor. Por ejemplo:
El atributo debe existir en getPage-templates.json. Actualice el archivo si el atributo no existe. Para obtener más información, consulte Configuración de la API getPage para recuperar datos adicionales.orderLineDetails.Item.ItemID - valor
- (Opcional) El valor del campo. Utilice este atributo para codificar un valor. De lo contrario, utilice el atributo dataBinding para correlacionar el campo con la respuesta de la API.
- attrTID
- (Opcional) Un valor de etiqueta que puede utilizar para identificar fácilmente el elemento de interfaz de usuario para fines de prueba automatizada.
- tipo
- (Opcional) Tipo de elemento. Los valores posibles incluyen:
- textbox
- label
- dropdown
- combobox
- datepicker
- opciones
- (Opcional) Especifique las opciones si está utilizando alguno de los atributos "type".
- Formateador
- Formatee los datos en la columna. Cada formateador es un objeto con propiedades diferentes. La propiedad
typeidentifica el tipo de formateador. Los valores de tipo soportados soncurrency,dateTimeyquantity. Para utilizar el atributo formatter , debe omitir el atributo dataBinding y, en su lugar, especificar el enlace en el atributo formatter.value .- tipo: moneda
- value: el atributo para recuperar de la respuesta de la API y visualizarlo en la columna.
- currencyCode: (Opcional) El código de moneda que se debe utilizar al formatear el valor. El código de moneda también se capta de una propiedad en la respuesta de la API.
- tipo: dateTime
- value: el atributo para recuperar de la respuesta de la API y visualizarlo en la columna.
- dateFormat: (Opcional) El formato de datos que se va a utilizar. Consulte la biblioteca Moment JS para ver las opciones de formato. El valor predeterminado es
L LT.
- tipo: cantidad
- value: el atributo para recuperar de la respuesta de la API y visualizarlo en la columna.
Ejemplo JSON
El ejemplo siguiente proporciona algunos casos de uso con distintos tipos de campo.
{
"orderline-summary": {
"name": "orderline-summary",
"attributes": [
{
"id": "orderLineKey",
"name": "Order line key",
"value": "",
"attrTID": "ordLineDetails - orderLineKey",
"type": "label",
"dataBinding": "OrderLineKey"
},
{
"id": "serialNo",
"name": "Serial number",
"value": "",
"attrTID": "ordLineDetails - serialNo",
"type": "textbox",
"dataBinding": "SerialNo",
"options": {
"editPermission": "OTHERS",
"editAttr": "SerialNo"
}
},
{
"id": "reqShipDate",
"name": "Requested ship date",
"attrTID": "ordLineDetails - reqShipDate",
"type": "datepicker",
"dataBinding": "ReqShipDate",
"options": {
"editPermission": "REQ_SHIP_DATE",
"editAttr": "ReqShipDate"
}
},
{
"id": "fulfillmentType",
"name": "Fulfillment type",
"value": "",
"attrTID": "ordLineDetails - fulfillmentType",
"type": "dropdown",
"dataBinding": "FulfillmentType",
"options": {
"editPermission": "OTHERS",
"editAttr": "FulfillmentType",
"fetch": {
"api": "getCommonCodeList",
"type": "oms",
"parameters": {
"CallingOrganizationCode": "Sales2",
"CodeType": "FULFILLMENT_TYPE"},
"response": {
"listAttribute": "CommonCode",
"map": {
"id": "CodeValue",
"label": "CodeShortDescription"
}
}
}
}
},
{ "id": "deliveryMethod",
"name": "Delivery method",
"value": "",
"attrTID": "ordLineDetails - deliveryMethod",
"type": "combobox",
"dataBinding": "DeliveryMethod",
"options": {
"editPermission": "OTHERS",
"editAttr": "DeliveryMethod",
"fetch": {
"api": "getCommonCodeList",
"type": "oms",
"parameters": {
"CallingOrganizationCode": "Sales2",
"CodeType": "DELIVERY_METHOD"},
"response": {
"listAttribute": "CommonCode",
"map": {
"id": "CodeValue",
"label": "CodeShortDescription"
}
}
}
}
}
]
}
}Ejemplo de interfaz de usuario
La imagen siguiente ilustra la página de búsqueda de salida de línea de pedido después de cargar el ejemplo JSON en IBM.