Marcadores
26/02/2021
Marcadores de función
26/02/2021
Mostrar todo

Expresiones

Las expresiones permiten definir las diferentes sentencias SQL que se utilizarán para la obtención de los datos.

Las sentencias pueden obtener información independiente o información relacionada, pudiendo establecer vínculos que relacionen las diferentes sentencias.


Sentencia simple

SELECT Fecha, Numero, ImporteNeto FROM Facturas_Clientes WHERE (YEAR(Fecha) = YEAR(GETDATE())) 

También se pueden aplicar atributos a la consulta, por ejemplo el nombre.

<SQL NAME="FacturasVenta">
   SELECT Fecha, Numero, ImporteNeto FROM Facturas_Clientes WHERE (YEAR(Fecha) = YEAR(GETDATE()))
</SQL>


Sentencias múltiples


Permiten obtener datos de diferentes fuentes.

<SQL NAME="FacturasCompra">
   SELECT Fecha, Numero, ImporteNeto FROM Facturas_Proveedores WHERE (YEAR(Fecha) = YEAR(GETDATE()))
</SQL>

<SQL NAME="FacturasVenta">
   SELECT Fecha, Numero, ImporteNeto FROM Facturas_Clientes WHERE (YEAR(Fecha) = YEAR(GETDATE()))
</SQL>


Sentencias vinculadas


Permiten obtener información en función del resultado de otras sentencias. Para ello se utilizará el formato de marcadores de dato de Aliquo.

<SQL NAME="FacturasCompra">
   SELECT Id, Fecha, Numero, ImporteNeto FROM Facturas_Proveedores WHERE (YEAR(Fecha) = YEAR(GETDATE()))
</SQL>

<SQL NAME="VencimientosFactura">
   SELECT FechaVto, Importe FROM Vencimientos_Cobros WHERE IdFactura = {#FacturasCompra.Id}
</SQL>


Atributos de las expresiones


Cómo se ha mostrado, en un ejemplo anterior, se pueden aplicar atributos a las expresiones, por ejemplo el nombre (NAME).

En la expresión se podrá determinar si es opcional, que sólo se ejecutará en caso de que la expresión principal devuelva registros, para ello se debe aplicar el atributo OPTIONAL=True.

Otro atributo es BYROW, este atributo determina, en caso de existir información en la expresión, realizar tantas ejecuciones de las expresiones vinculadas como registros haya obtenido.

Por ejemplo:

<SQL NAME="FacturasCompra" BYROW=True>
   SELECT Id, Fecha, Numero, ImporteNeto FROM Facturas_Proveedores WHERE (YEAR(Fecha) = YEAR(GETDATE()))
</SQL>

<SQL NAME="VencimientosFactura">
   SELECT FechaVto, Importe FROM Vencimientos_Cobros WHERE IdFactura = {#FacturasCompra.Id}
</SQL>

Ejecutará tantas veces la expresión VencimientosFactura, como registros haya devuelto la expresión principal. Esto podrá representarse en las plantillas de notificaciones con el ForEach de los marcadores.

Deja una respuesta