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:
| Forma | Devuelve |
|---|---|
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_EndUna 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:
| Subespacio | Devuelve |
|---|---|
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
| Clave | Tipo | Devuelve |
|---|---|---|
FechaYHoraActual | Fecha y hora | El momento de la ejecución. |
FechaActual | Fecha | La fecha de hoy. |
HoraActual | Hora | La hora actual. |
DiaActual | Entero | Día del mes. |
MesActual | Entero | Número de mes. |
MesActualNombre | Texto | Nombre del mes. |
AñoActual | Entero | Año, con la ñ. |
SemanaActual | Entero | Semana del año. |
QuincenaActual | Entero | Quincena en curso. |
BimestreActual | Entero | Bimestre en curso. |
TrimestreActual | Entero | Trimestre en curso. |
CuatrimestreActual | Entero | Cuatrimestre en curso. |
SemestreActual | Entero | Semestre en curso. |
DiaDeLaSemanaActual | Entero | Día de la semana. |
Sistema.Version | Texto | Versión y revisión del servidor. |
REST.Error | Texto | El 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. |
|---|---|
InicioDeDia | FinDeDia |
InicioDeSemanaLunes | FinDeSemanaViernes, FinDeSemanaSabado, FinDeSemanaDomingo |
InicioDeQuincena | FinDeQuincena |
InicioDeMes | FinDeMes |
InicioDeBimestre | FinDeBimestre |
InicioDeTrimestre | FinDeTrimestre |
InicioCuatrimestre | FinDeCuatrimestres |
InicioDeSemestre | FinDeSemestre |
InicioDeAño | FinDeAñ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.AlgoritmoEl 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
| Prefijo | Estado |
|---|---|
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.