Saltar al contenido principal

S. (Schema)

El espacio de nombres S de DinaScript proporciona acceso a los metadatos del esquema de Dinaup. Permite referenciar secciones, campos, informes y documentos dinamicos por su identificador.

S.Sections

Accede a las secciones disponibles en el esquema. Cada seccion se referencia por su nombre o ID.

// Obtener el ID de una seccion
seccionId = S.Sections.Clientes
seccionId = S.Sections.FacturasEmitidas

Esto devuelve el UUID de la seccion, que se puede usar en algoritmos cruzados o en llamadas a funciones que requieren identificar la seccion destino.

S.Fields

Accede a los campos de una seccion. Se usa la notacion S.Fields.NombreSeccion.NombreCampo para obtener el identificador del campo.

// Referenciar un campo especifico
campoNIF = S.Fields.Entidades.NIF
campoPrecio = S.Fields.Productos.PrecioVenta
campoEstado = S.Fields.FacturasEmitidas.Estado
info

Los nombres de los campos en DinaScript corresponden a los nombres definidos en el esquema de Flex. Puedes consultarlos en Dinaup Desktop o en doc-flex.dinaup.com.

S.Reports

Referencia a informes definidos en el sistema. Permite obtener el ID de un informe para ejecutarlo o enlazarlo desde scripts.

// Obtener el ID de un informe
informeVentas = S.Reports.VentasMensuales

S.DynamicDocuments

Referencia a documentos dinamicos definidos en Flex. Util para generar documentos desde scripts o asociarlos a acciones.

// Obtener el ID de un documento dinamico
plantillaFactura = S.DynamicDocuments.PlantillaFactura

Uso combinado con F (Functions)

El espacio de nombres S se combina habitualmente con F para realizar operaciones sobre datos de otras secciones:

// Buscar el precio de un producto en el catalogo
campo_cambiado(producto) {
precio = F.ObtenerCampo(producto, S.Fields.Productos.PrecioVenta)
descuento = F.ObtenerCampo(producto, S.Fields.Productos.DescuentoPorDefecto)
}

Referencia por ID

Todos los elementos del esquema (secciones, campos, informes, documentos) se identifican internamente por UUID. El espacio de nombres S traduce los nombres legibles a estos UUIDs:

ReferenciaDevuelve
S.Sections.NombreSeccionUUID de la seccion
S.Fields.Seccion.CampoUUID del campo
S.Reports.NombreInformeUUID del informe
S.DynamicDocuments.NombreDocUUID del documento dinamico
aviso

Si se renombra una seccion o campo en el esquema, las referencias en DinaScript se actualizan automaticamente. Sin embargo, si se elimina un elemento referenciado, el script producira un error en ejecucion.