Skip to Content

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).

Editar sección en FlexHub: el Título, el Nombre interno y las pestañas General, Bloqueos y Contenido
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.
cde, cdfControl por empleado, Control por fechaVer Control de datos.
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.

Control de datos

cde (control de datos por empleado) pone en cada registro el campo automático Empleado principal, que se rellena con el empleado de la sesión. cdf (control de datos por fecha) pone el campo Fecha del dato. Las secciones que crea Flex nacen con las dos a 1.

  • Con 0, el campo deja de salir en la ficha, en la API y en el modelo de MyDinaup. Sus datos siguen en la tabla y vuelven con 1.
  • Solo se cambian en la plantilla base de la sección principal. Sus derivadas y su tabla de líneas copian el valor al consolidar, y el servidor rechaza el cambio en ellas.
  • El cambio pide consolidar.
  • En FlexHub, card Control de datos de la pestaña General. Por la Flex API, Flex_UpdateObjectAsync(FlexObjectTypes.Sections, id, patch) con cde o cdf.

Registros en el módulo

Con Exportar sus registros en el módulo marcado, los registros de la sección pueden viajar en el módulo que la publica. Cada registro lleva la casilla Exportar en módulos en la pestaña Registro de su ficha, y al publicar entran los que la tienen marcada.

  • La casilla solo la ve la licencia que desarrolla el módulo de la sección. Quien instala el módulo no la ve.
  • Pide desmarcar Control por empleado y Control por fecha. Si se marca cualquiera de los dos, deja de exportar al consolidar.
  • Solo se cambia en la plantilla base. Las derivadas la copian, y las líneas viajan con la sección que las lista.
  • El cambio pide consolidar: la casilla de la ficha aparece o desaparece entonces.
  • En FlexHub, card Control de datos de la pestaña General.

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 (Informes y documentos por la API).

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