Espacios I., D. y A.

Los tres prefijos que devuelven valores en tiempo de ejecución: el registro que recorres, el usuario, la empresa y las fechas del entorno, y el resultado de un algoritmo.

S. dice qué secciones y campos existen. I., D. y A. devuelven el valor: el del registro que recorres, el del entorno de ejecución y el de un algoritmo. Los tres se escriben con puntos, de lo general a lo concreto.

I.: el registro que recorres

I. lee un campo del registro actual dentro de un bloque F.ProcessDataList_Ini y F.ProcessDataList_End. Tres formas:

FormaDevuelve
I.<Seccion>.<Campo>Un campo del registro de la lista cargada con F.DataListLoad. Admite relaciones encadenadas: I.ComprasGastos.ReferenciaImpuesto1.ValorPorciento.
I.<Seccion>.<Algoritmo>Un algoritmo calculado sobre el registro actual. El intérprete lo reconoce porque el último segmento empieza por algoritmo.
I.<Informe>.<Columna>Una columna de la fila del informe que recorres. Si el primer segmento no es una sección, se busca como informe.
F.DataListLoad(S.Sections.VentasIngresosLista.ID, 1, 100000)
F.DataListLoadAddFilter(S.Sections.VentasIngresosLista.ID, S.Fields.VentasIngresosLista.RelacionElementoContenedorListador.ID, '=', v.Factura)
F.ProcessDataList_Ini(S.Sections.VentasIngresosLista.ID)
    F.DataTable_AddRow(v.TablaID)
    F.DataTable_SetValueText(v.TablaID, v.col_Concepto, I.VentasIngresosLista.TextoPrincipal)
    F.DataTable_SetValueMoney(v.TablaID, v.col_Total, I.VentasIngresosLista.ImporteTotalConcepto)
F.ProcessDataList_End

Una sección o un campo eliminados dan error de compilación, por ejemplo La sección está eliminada. Código de error (A-5299). Un campo con parámetros entre paréntesis también: No se esperaban parámetros en la llamada a un campo. Código de error (B-5302).

D.: el entorno

D. reúne lo que no depende del registro sino de quién ejecuta y cuándo. Cuatro subespacios:

SubespacioDevuelve
D.SesionActual.<Campo>Un campo de la ficha de Entidades del usuario que ejecuta. Admite relaciones encadenadas y algoritmos.
D.EmpresaActual.<Campo>Un campo de la ficha de Empresas administradas de la empresa actual: D.EmpresaActual.TextoPrincipal, D.EmpresaActual.URLLogoFactura.
D.DatosEspeciales.<Clave>Fecha, hora y datos del sistema. Tabla completa en la sección D.DatosEspeciales.
D.AlgoritmosDeBusqueda.<Categoria>.<Algoritmo>Un algoritmo de búsqueda, para usarlo con el operador en dentro de otro algoritmo.

Una ruta D. que no empieza por ninguno de los cuatro devuelve Ruta inválida. Código de error (B-922). Una clave de D.DatosEspeciales que no existe devuelve Ruta D. no válida. Código de error (B-921).

D.DatosEspeciales

ClaveTipoDevuelve
FechaYHoraActualFecha y horaEl momento de la ejecución.
FechaActualFechaLa fecha de hoy.
HoraActualHoraLa hora actual.
DiaActualEnteroDía del mes.
MesActualEnteroNúmero de mes.
MesActualNombreTextoNombre del mes.
AñoActualEnteroAño, con la ñ.
SemanaActualEnteroSemana del año.
QuincenaActualEnteroQuincena en curso.
BimestreActualEnteroBimestre en curso.
TrimestreActualEnteroTrimestre en curso.
CuatrimestreActualEnteroCuatrimestre en curso.
SemestreActualEnteroSemestre en curso.
DiaDeLaSemanaActualEnteroDía de la semana.
Sistema.VersionTextoVersión y revisión del servidor.
REST.ErrorTextoEl error de la última petición REST.
C.FechaDeVencimiento = F.Date_AddDays(D.DatosEspeciales.FechaActual, v.dias)
txt fecha = F.Cast_DateToText(D.DatosEspeciales.FechaActual, S.Enums.formatofecha.diamesaño)

Las familias FechasAvanzadas.Inicios y FechasAvanzadas.Finales devuelven los límites del periodo actual como fecha y hora:

D.DatosEspeciales.FechasAvanzadas.Inicios.D.DatosEspeciales.FechasAvanzadas.Finales.
InicioDeDiaFinDeDia
InicioDeSemanaLunesFinDeSemanaViernes, FinDeSemanaSabado, FinDeSemanaDomingo
InicioDeQuincenaFinDeQuincena
InicioDeMesFinDeMes
InicioDeBimestreFinDeBimestre
InicioDeTrimestreFinDeTrimestre
InicioCuatrimestreFinDeCuatrimestres
InicioDeSemestreFinDeSemestre
InicioDeAñoFinDeAño

Los nombres van tal cual: InicioCuatrimestre sin De y FinDeCuatrimestres en plural.

D.AlgoritmosDeBusqueda

Solo en algoritmos. Resuelve un algoritmo de búsqueda por su nombre interno y lo deja como valor de comparación del operador en:

C.<CampoDeRelacion> en D.AlgoritmosDeBusqueda.<Categoria>.<Algoritmo>

A.: el valor de un algoritmo

A.<Categoria>.<Algoritmo> ejecuta el algoritmo y devuelve su resultado. El intérprete busca el algoritmo por el último segmento de la ruta; la categoría no interviene.

num precio = 0
v.precio = A.Categoria.Algoritmo

El formato del valor lo define el algoritmo: número, texto, fecha o relación. Un algoritmo eliminado devuelve El Algoritmo 'X' está eliminado. Código de error (B-923).

A. lee un valor calculado. D.AlgoritmosDeBusqueda filtra con en. No son intercambiables.

Los demás prefijos

PrefijoEstado
C. y R.El registro del formulario y el de la sección relacionada. Página propia: Registro del formulario (C.).
V.Variables y preguntas. En DinaScript.

Siguiente: Recetas de scripts. Algoritmos: Algoritmos.

En esta página