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
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:
| Referencia | Devuelve |
|---|---|
S.Sections.NombreSeccion | UUID de la seccion |
S.Fields.Seccion.Campo | UUID del campo |
S.Reports.NombreInforme | UUID del informe |
S.DynamicDocuments.NombreDoc | UUID del documento dinamico |
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.