Secciones

Qué es una sección de Flex, las cuatro filas de su familia, las columnas que el motor pone en toda tabla y sus propiedades.

Una sección es una tabla de datos de la empresa: clientes, facturas, vehículos, expedientes. Cada registro es una fila y cada campo, una columna. En la Flex API es el tipo FlexObjectTypes.Sections.

Antes de empezar

  • Ser Administrador de la empresa para crear o cambiar secciones.
  • Una sección de un módulo de fuera se lee pero no se cambia. Ver De dónde viene cada objeto.
  • La pantalla: FlexHub → Secciones. Desde el SDK, Flex_CreateObjectAsync(FlexObjectTypes.Sections, ...).

La familia de una sección

Al crear Artículos, el servidor crea cuatro filas de la estructura:

FilaPrefijo del títuloQué esEn el DTO
PrincipalningunoLa que se abre y guarda datos. La única que se navega.IsBase = false, IsList = false
Plantilla baseBase - Sus campos los heredan las secciones que derivan de ella. No guarda datos.IsBase = true; la principal apunta a ella en BaseSectionId
Tabla de líneasLista - Las filas que dependen de un registro de la principal (las líneas de una factura).IsList = true; la principal apunta a ella en ListSectionId
Base de la tabla de líneasBase Lista - La plantilla base de la tabla de líneas.IsBase = true, IsList = true
  • Un título que empiece por Base - , Lista - , EDU - , Base Lista - , Base EDU - o Base Lista EDU - se rechaza al crear.
  • La tabla de líneas solo se usa si la principal tiene activada la columna contienelista.
  • Un campo Relación solo apunta a una sección principal, nunca a una plantilla base ni a una tabla de líneas.

Nombre, palabra clave y origen

DatoQué es
LabelEl título. Único en la empresa, distinguiendo mayúsculas. Mínimo 4 caracteres.
KeywordEl nombre interno con el que la llaman el SDK, los scripts y las integraciones. Renombrar la sección cambia la palabra clave: lo que use el nombre viejo deja de encontrarla.
ModuleNameVacío si la sección es de esta empresa. Con texto, el módulo que la trae y la sobrescribe en cada actualización.
Deleted, ObsoleteBaja lógica y marca de no usar. Flex_DeleteObjectAsync y Flex_UndeleteObjectAsync rechazan una sección: se retira.
VersionLa versión de la fila. Se reenvía al guardar para que el servidor rechace la escritura si otro la cambió entre medias.

Propiedades que publica el servidor

Las columnas editables las publica Flex_GetEditablesAsync(FlexObjectTypes.Sections).

ColumnaRótulo en FlexHubQué hace
tituloTítuloEl nombre de la sección. Obligatorio.
etiquetasingular, etiquetapluralEtiqueta singular, Etiqueta pluralCon qué palabra Play escribe «Nueva factura» en vez de «Nuevo registro». En blanco, usa el título.
etiquetaesfemeninoEl nombre es femeninoConcordancia de los textos automáticos.
descripcionDescripciónTexto libre.
textoprincipaletiquetaEtiqueta del texto principalEl nombre del dato que identifica un registro en una lista, un desplegable u otra ficha.
textoprincipalautoTexto principal automáticoEl motor compone la frase; la etiqueta pasa a Referencia y se bloquea.
nombresrepetidosPermitir nombres repetidosDos registros con el mismo texto principal. Solo surte efecto en la plantilla base.
nonuevosdirectosMensaje al intentar agregar una fichaCon texto, bloquea el alta y muestra ese texto. Vacío, se puede agregar.
noeliminardatosmensajeMensaje al intentar eliminar una fichaIgual, para eliminar.
mensajenomodificarMensaje al intentar editar una fichaIgual, para editar.
obsoletoMarcar esta sección como obsoletaRetira la sección.
derivableSi de esta plantilla base pueden derivar otras secciones. FlexHub no lo muestra.
colorhexEl color de la ventana de la sección (ColorHex en el DTO).
iconobase64El identificador del icono (IconId en el DTO). FlexHub no lo escribe: el icono se cambia en El icono de una sección.

Los tres mensajes cierran una sección que se rellena desde un script o una integración. En una sección que administra el motor, vaciar uno no abre la acción: al consolidar vuelve el del servidor.

Retirar una sección

Retirar es poner obsoleto a 1. La sección deja de salir en el menú y en la API y no recibe índices nuevos, pero sus datos siguen ahí. En una plantilla base, sus derivadas también quedan obsoletas. Con 0 vuelve.

  • En FlexHub, card Retirar la sección de la pestaña General. No sale si el servidor de la empresa no publica obsoleto.
  • Por la Flex API, Flex_UpdateObjectAsync(FlexObjectTypes.Sections, id, patch) con obsoleto.
  • Una tabla de líneas no se retira sola: se retira su sección principal.

Retirar no es eliminar. La Flex API no elimina secciones.

Las columnas que pone el motor

Toda sección y su tabla de líneas llevan estas columnas además de sus campos. Se piden por su nombre en los filtros y el orden de POST /api/reports (Referencia de la API REST).

ColumnaQué guarda
idEl identificador del registro, un GUID.
nombreEl texto principal.
plantillapidLa sección a la que pertenece la fila.
eliminadoBaja lógica: 0 activo, 1 eliminado.
fechaAlta del dato, en UTC (FechaAltaDato_UTC en el SDK).
fechamÚltima modificación, en UTC (FechaUltimaModificacion_UTC).
fechaiaÍndice de actividad, en UTC (FechaIndiceActividad_UTC). Es la marca con la que sincroniza PG Sync.
fechasynFecha de sincronización, en UTC (Fechadesincronizacion_UTC).
posicionEl orden manual de la fila.
usuarioidEl usuario que creó el dato (UsuarioCreadorDelDAto).
ubicacionLa empresa de la fila (Empresa).

El SDK tiene estos nombres como constantes de ParametrosDeConfiguracionDeAplicacionesD. ToWriteOperation() de DinaupRowBase quita del diccionario fecha, fecham, fechaia, fechasyn, modificado, eliminado, usuarioid y ubicacionid: los pone el servidor.

Para crear varios campos sin consolidar cada vez: Formato y rol.

En esta página