Adición de campos a la página de configuración Campos de datos

En Valores > Valores de visualización, un administrador de arrendatarios puede configurar para mostrar u ocultar campos en la interfaz de usuario para todos los usuarios.

Puede personalizar Campos de datos para controlar otros campos a nivel de arrendatario. Por ejemplo:
  • IBM proporciona un campo Vendedor en la página Detalles del pedido . Supongamos que su empresa no utiliza el campo o no desea que se muestre. Puede añadir Vendedor a esta página de configuración y, a continuación, un administrador de arrendatarios puede habilitar o inhabilitar el campo para todos los usuarios.
  • Los desarrolladores pueden añadir campos de resumen personalizados y columnas de tabla personalizada personalizando archivos JSON. Puede añadir los campos personalizados a esta página de configuración para que un administrador de arrendatarios pueda habilitar o inhabilitar el campo para todos los usuarios.
Para visualizar opciones dentro de la configuración de Campos de datos , primero debe comprender y aprender la sintaxis de buc-tenant-config.json .

Ubicación del archivo JSON

Actualice o cree buc-tenant-config.json dentro de la carpeta buc-app-settings/packages/settings-configurations/src-custom/assets/custom del módulo.

Sintaxis JSON

La matriz attributes incluye dos entradas.
  • "id": "global" define los campos que se mostrarán en la sección Campos globales .
  • "id": "pageLevel" define los campos que se mostrarán en la sección Campos relacionados conB2B .
Sólo necesita actualizar las propiedades Fields dentro de las entradas mencionadas.

Propiedades de campos

ID
El ID del campo que desea añadir. Puede encontrar el ID examinando la interfaz de usuario de Order Hub y comprobando la pestaña de red del navegador.
  • Para buscar los ID de campo de Resumen , revise el archivo buc_field_details.json .
  • Para buscar los ID de Columna de tabla , revise el archivo buc-table-config.json .
  • Para buscar los ID de campo de Búsqueda , revise el archivo search_fields.json .
Por ejemplo, para añadir el campo Nodo de envío , debe utilizar "id": "shipNode".
El separador Red del navegador muestra la respuesta para el archivo buc-field-details.json .
Nota: Si está añadiendo un campo de resumen personalizado de la columna de tabla personalizada, este valor debe corresponder al ID que ha definido en los archivos de personalización de buc-table-config.json o buc_field_details.json . Es posible que no tenga acceso para ver los archivos personalizados en la pestaña de red del navegador. Consulte el código fuente para los ID.
etiqueta
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:
"label": "SHARED.GENERAL.LABEL_shipNode",
tooltipMsg
Texto que se mostrará como ayuda contextual junto al campo. Si el texto está traducido, puede añadir los archivos de traducción a la carpeta i18n y hacer referencia a la etiqueta.
campos
Dentro de la matriz fields , también puede definir una matriz fields hijo. Si desea que el valor se aplique a todas las páginas, puede omitir la matriz fields hijo. Si desea permitir que un administrador de arrendatarios muestre u oculte el valor en páginas específicas, defina una matriz fields hijo.
Nota: Si está añadiendo ID de campo de Búsqueda , los campos de búsqueda sólo están soportados mediante valores globales. No puede añadir campos hijo para mostrar u ocultar el valor en páginas específicas.
Dentro de la matriz fields hijo, puede definir las propiedades siguientes:
ID
El nombre de objeto de la página o sección donde existe el campo. Puede encontrar el ID examinando la interfaz de usuario de Order Hub y comprobando la pestaña de red del navegador.
Por ejemplo, el campo Nodo de envío aparece en la tabla Envíos y en la página Detalles de línea de pedido . Para controlar el campo Nodo de envío en la tabla Envíos, busque el ID revisando el separador de red del navegador. Puede ver que el ID es "id": "ord-detail-shipment-table".
El separador Red del navegador muestra la respuesta para el archivo buc-field-details.json .
etiqueta
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:
"label": "TEXT_ORDER_DETAILS_SHIPMENT_TABLE",
tipo
Define si el campo es un campo de resumen o una columna de tabla. Los valores válidos son summary o table. Por ejemplo, para el campo shipNode de la tabla, utilizaría "type": "table".

Ejemplo JSON

El ejemplo siguiente proporciona algunos casos de uso.
Nota: El ejemplo siguiente incluye comentarios en línea como guía para explicar los atributos mientras analiza el código. Puesto que JSON no da soporte a comentarios, este ejemplo no es un ejemplo JSON válido tal como se muestra. Si tiene previsto copiar este ejemplo, asegúrese de eliminar los comentarios en línea.
{
"configuration-data": {
	"name": "configuration-data",  //Defines customization for the Data fields section. Do not change.
	"attributes": [
	{
		"id": "global",   //Defines the custom fields to display under the "Global fields" section
		"label": "SETTINGS.CONFIG.TEXT_GLOBAL_FIELDS",   
		"fields": [
		{
			"id": "customized",   // 1  Add a customized field as an option to show or hide
			"label": "Customized Field",
			"tooltipMsg": "Available for customized fields"
                    //No child "fields" array therefore this setting applies to all pages where "customized" exists.
		}]
	},
	{
		"id": "pageLevel",   //Defines the custom fields to display on the "B2B -related fields" section
		"label": "SETTINGS.CONFIG.TEXT_B2B_FIELDS",
		"fields": [
		{
			"id": "shipNode",   // 2  Add the "Ship Node" field as an option to show or hide
			"label": "SHARED.GENERAL.LABEL_shipNode",
			"fields": [           //Specify the different pages where the field exists
			{
				"id": "ord-detail-shipment-table",
				"label": "TEXT_ORDER_DETAILS_SHIPMENT_TABLE",
				"type": "table"
			},
		      {
				"id": "order-summary",
				"label": "Order line details: Summary",
				"type": "summary"
			}]
		}]
	}]
}}

Ejemplo de interfaz de usuario

La imagen siguiente ilustra la página Campos de datos con los campos tal como están configurados en el archivo JSON.
Captura de pantalla que muestra la interfaz de usuario de salida de orden con la búsqueda de liberación de orden y la búsqueda por filtros de artículo seleccionados. Campo personalizado Nodo de envío