> For the complete documentation index, see [llms.txt](https://wiki.datadike.com/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://wiki.datadike.com/es/sonar/administration/settings/custom-fields.md).

# Campos personalizados

Añada sus propios campos a clientes, sitios y dispositivos, rellénelos en sus formularios y use sus valores en scripts.

## Qué es y cuándo usarlo

Los campos personalizados añaden sus propios datos a clientes, sitios y dispositivos: un número de contrato en un cliente, un edificio en un sitio, una etiqueta de inventario o un centro de coste en un dispositivo. Una vez que un campo existe, aparece en los formularios de ese tipo de objeto, su valor se muestra en la pestaña **Home** del dispositivo y los scripts pueden leerlo.

Un script también puede escribir en un campo personalizado, así que un campo puede contener algo que informa el dispositivo, como un ajuste de la BIOS o la versión de un programa.

## Antes de empezar

* Un rol con **View Core Settings** para abrir **Admin Center › Settings**, **View Custom Fields** para ver los campos y **Manage Custom Fields** para añadirlos, editarlos o eliminarlos (**Admin Center › Roles**, grupo **Settings**).
* Para rellenar los valores: **Manage Clients**, **Manage Sites** o **Edit Agent**, según el objeto.
* Un nombre para el campo. Debe ser único entre los campos del mismo destino.

## Pasos

1. Abra **Admin Center › Settings** y la pestaña **Custom Fields**.
2. Elija la pestaña del destino: **Clients**, **Sites** o **Agents**.
3. Haga clic en **Add custom field**. El formulario se abre con ese destino seleccionado.
4. Rellene **Name** y elija el **Field Type**.
5. Para **Dropdown Single** y **Dropdown Multiple**, escriba cada opción en **Input Options** y pulse Enter después de cada una.
6. Fije un **Default Value** si el campo debe tener uno.
7. Marque **Required**, **Hide in Dashboard** o **Hide in Summary Tab** según sea necesario; vea la referencia de campos.
8. Haga clic en **Submit**. La consola lo confirma con `Custom field added!`.

Para cambiar un campo, haga doble clic en su fila, o haga clic con el botón derecho sobre ella y elija **Edit**. **Target** y **Field Type** no se pueden cambiar después de la creación. Para quitar un campo, haga clic con el botón derecho sobre él y elija **Delete**; los valores almacenados en él se eliminan con él.

## Qué debe ver

El campo aparece en la pestaña de su destino con **Name**, **Field Type**, **Hide in UI**, **Hide in Summary Tab**, **Default Value** y **Required**. Una pestaña sin campos indica `No custom fields defined for clients.` (con sites o agents en lugar de clients).

Después, el campo aparece:

* **Clients**: en el formulario del cliente (**Create Client**, **Editing CLIENT-A**), en **Custom Fields**. Vea [Clientes y sitios](/es/sonar/administration/devices/clients-and-sites.md).
* **Sites**: en el formulario del sitio, en **Custom Fields**.
* **Agents**: en el formulario **Edit** del dispositivo, en la pestaña **Custom Fields**, y en el recuadro **Custom Fields** de su pestaña **Home** en cuanto tiene un valor. Vea [La lista de dispositivos](/es/sonar/administration/devices/device-list.md#editar-un-dispositivo).

Cada campo de entrada muestra el valor predeterminado como indicación, por ejemplo `Default value: Unassigned`.

## Cómo verificar que funcionó

1. Abra el formulario de un objeto de ese destino: **Edit** en un dispositivo, o **Edit** en un cliente o un sitio. El campo aparece en **Custom Fields**.
2. Rellene un valor y guarde.
3. Para un campo de dispositivo, abra la pestaña **Home** del dispositivo: el valor aparece en el recuadro **Custom Fields**, salvo que el campo tenga activado **Hide in Summary Tab**.
4. **Reports & Audits › Audits** registra la creación del campo como una acción **Add Object** sobre el objeto **Custom Field**, y los cambios posteriores como **Modify Object** o **Delete Object**.

## Usar campos personalizados en scripts

Los argumentos y las variables de entorno de un script pueden leer un campo personalizado por su nombre:

| Variable                     | Valor                                                                           |
| ---------------------------- | ------------------------------------------------------------------------------- |
| `{{agent.Asset Tag}}`        | El valor del dispositivo en el campo de agente `Asset Tag`                      |
| `{{site.Building}}`          | El valor del campo de sitio `Building` para el sitio del dispositivo            |
| `{{client.Contract Number}}` | El valor del campo de cliente `Contract Number` para el cliente del dispositivo |

Cuando el objeto no tiene valor, la variable toma el valor predeterminado del campo. Un valor **Dropdown Multiple** se pasa como una lista separada por comas, y un valor **Checkbox** como un booleano del shell del script. Escriba el nombre del campo exactamente como está escrito en **Name**. Vea [Variables de script](/es/sonar/reference/script-variables.md).

Para escribir en un campo, ejecute un script con la opción de salida **Save results to Custom Field** y elija el campo en **Select custom field**. Se almacena la última línea de la salida, o toda la salida con **Save all output**. Un campo de cliente o de sitio se escribe en el cliente o el sitio del dispositivo. Vea [Ejecutar un comando o un script en un dispositivo](/es/sonar/administration/automation/run-commands-and-scripts.md).

## Errores comunes

| Síntoma                                                                                        | Causa                                                                                               | Solución                                                        |
| ---------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------- | --------------------------------------------------------------- |
| `Failed to add custom field`                                                                   | Ya existe un campo con el mismo nombre para ese destino, o su rol no tiene **Manage Custom Fields** | Use otro nombre, o pida que se añada el permiso a su rol        |
| `Default Value needs to be set for required fields`                                            | **Required** está marcado y **Default Value** está vacío                                            | Fije un valor predeterminado                                    |
| `Asset Tag is required` bajo un campo de un formulario                                         | El campo es obligatorio y no tiene valor                                                            | Rellene el campo                                                |
| La pestaña **Custom Fields** del dispositivo indica que no hay campos personalizados de agente | No existe ningún campo en **Agents**, o todos tienen activado **Hide in Dashboard**                 | Añada un campo en **Agents**, o desmarque **Hide in Dashboard** |
| El valor no aparece en la pestaña **Home**                                                     | El campo tiene activado **Hide in Summary Tab**, o no tiene valor                                   | Desmarque la opción, o rellene el valor                         |

## Referencia de campos

| Campo                            | Qué hace                                                                                                                                                             | Valores aceptados                                                                            | Valor por defecto              |
| -------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------- | ------------------------------ |
| Target                           | A qué objetos pertenece el campo. No se puede cambiar después                                                                                                        | **Client**, **Site**, **Agent**                                                              | La pestaña desde la que empezó |
| Name                             | Nombre que se muestra en los formularios y se usa en las variables de script                                                                                         | Hasta 100 caracteres, único dentro del destino                                               | (sin valor)                    |
| Field Type                       | Tipo de entrada. No se puede cambiar después                                                                                                                         | **Text**, **Number**, **Dropdown Single**, **Dropdown Multiple**, **DateTime**, **Checkbox** | (sin valor)                    |
| Input Options                    | Las opciones de una lista desplegable. Solo para **Dropdown Single** y **Dropdown Multiple**                                                                         | Cualquier texto, una entrada por opción                                                      | Vacío                          |
| Default Value / Default Value(s) | Valor usado cuando un objeto no tiene ninguno, como indicación en los formularios y en las variables de script                                                       | Acorde con el tipo de campo; una de las opciones en las listas desplegables                  | Vacío                          |
| Required                         | Marca el campo como obligatorio en los formularios, que muestran `NAME is required` mientras está vacío. Exige un **Default Value**. No disponible para **Checkbox** | Activado, desactivado                                                                        | Desactivado                    |
| Hide in Dashboard                | Mantiene el campo fuera de los formularios de cliente, sitio y dispositivo. Los scripts pueden seguir leyéndolo y escribiéndolo                                      | Activado, desactivado                                                                        | Desactivado                    |
| Hide in Summary Tab              | Mantiene el valor fuera del recuadro **Custom Fields** de la pestaña **Home** del dispositivo                                                                        | Activado, desactivado                                                                        | Desactivado                    |

## Páginas relacionadas

* [Variables de script](/es/sonar/reference/script-variables.md)
* [Clientes y sitios](/es/sonar/administration/devices/clients-and-sites.md)
* [La lista de dispositivos](/es/sonar/administration/devices/device-list.md)
* [Ejecutar un comando o un script en un dispositivo](/es/sonar/administration/automation/run-commands-and-scripts.md)
