[BulmaGés]r2174 - in trunk/bulmages: . bulmacont/plugins/pluginregistroiva bulmacont/src bulmafact/plugins/comercialbf bulmafact/plugins/efacturabf bulmafact/plugins/plugin bulmafact/plugins/plugin_tc_articulos bulmafact/plugins/pluginalmacen bulmafact/plugins/pluginasterisk bulmafact/plugins/pluginbarcodeopen bulmafact/plugins/plugincatalogo bulmafact/plugins/plugincontratos bulmafact/plugins/plugincuadrante bulmafact/plugins/pluginimpresionesmultiples bulmafact/plugins/plugininformeclientes bulmafact/plugins/plugininventario bulmafact/plugins/pluginmail bulmafact/plugins/pluginpromedios bulmafact/plugins/pluginq19 bulmafact/plugins/plugintarifas bulmafact/plugins/pluginticket bulmafact/plugins/plugintipostrabajo bulmafact/plugins/plugintrazabilidad bulmafact/plugins/pluginvehiculosbf bulmafact/src bulmages/src bulmages/src/comun bulmalib/plugins/pluginclipboardbf bulmalib/plugins/pluginsubformods bulmalib/plugins/pluginsubformsxc installbulmages/openreports

Tomeu Borras tborras en conetxia.com
Mar Sep 25 16:35:05 CEST 2007


Con respecto a este cambio .....

Ahora en las plantillas hay cosillas interesantes que quitan bastante trabajo, 
y permiten hacer múltitud de cosas sin tener que programarlas.

QUERY's DIRECTOS CON PARAMETROS
_______________________________________
<!--IF QUERY="SELECT * FROM CLIENTE WHERE idcliente = [idcliente]"-->
<!--QUERY="SELECT * FROM cliente WHERE idcliente=[idcliente]"-->
		<!-- LOS DATOS DEL CLIENTE -->
		<setFont name="Helvetica" size="12"/>
		<drawString x="8.5cm" y="24cm">[nomcliente] -- [telcliente]</drawString>
		<drawString x="8.5cm" y="23.5cm">[dircliente]</drawString>
		<drawString x="8.5cm" y="23cm">[poblcliente]</drawString>
		<drawCentredString x="14.5cm" 
y="20.4cm">[codigoserie_factura]-[numfactura]</drawCentredString>
		<drawCentredString x="17.5cm" y="20.4cm">[reffactura]</drawCentredString>
<!--END QUERY-->
<!--END IF QUERY-->

Estos comentarios en el RML simulan un bucle FOR para cada uno de los 
registros del QUERY y se hace una sustitución de los valores entre corchetes 
por sus respectivos valores en la base de datos.

De momento no se pueden anidar QUERY's, pero se puede usar una estructura 
anidada usando <!--SUBQUERY ....

Fijaos que el query es parametrizable con cambios de ficha, o campos de un 
QUERY de nivel superior.

<!--LINEAS DETALLE-->
<tr>
<td>[codigocompletoarticulo]</td>
<td>[desclfactura]</td>
<td>[cantlfactura]</td>
<td>[pvplfactura]</td>
<td>[descuentolfactura]%</td>
<td>[totallfactura]</td>
</tr>
<!--END LINEAS DETALLE-->

Iteración para cada una de las lineas de detalle del documento.




<!--IF DESCUENTOS-->
<storyPlace x="0cm" y="0cm" width="15cm" height="1cm">
	<place x="4cm" y="3.5cm" width="15cm" height="2.5cm">
<blockTable style="tabladescuento">
<tr>
<td> Descuento</td>
<td> Porcentaje</td>
<td> Total </td>
</tr>
<!--LINEAS DESCUENTO-->
<tr>
	<td>[conceptdfactura]</td>
	<td>[proporciondfactura]%</td>
	<td>[totaldescdfactura]</td>
</tr>
<!--END LINEAS DESCUENTO-->
</blockTable>
</place>
</storyPlace>
<!--END IF DESCUENTOS-->

Esta estructura también es un buble for, sobre las lineas de descuento del 
elemento. Previamente hay un IF para no imprimir nada en el caso de que no 
haya lineas de descuento no poner cabeceras ni nada.


<!--TOTALES-->
<td><para>Base Imponible [tbimp]% <font color="blue">[bimp]</font></para></td>
<td><para>I.V.A. [tbimp]%  <font color="blue">[iva]</font></para></td>
<!--END TOTALES-->

Otro  FOR para los totales separados por bases imponibles y Recargos de
Equivalencia. Este no tiene ningún IF asociado pero siempre se podrá usar un 
IF QUERY si es preciso.

Estos elementos se pueden repetir tantas veces como se desee en un mismo 
documento, pero de momento la anidación del mismo elemento no está permitida.



PD: Me falta afinar un poco los RegExp y conseguir el anidamiento de 
estructuras que de momento no esta soportado. Sin embargo la mejora es 
significativa ya que provee una buena forma de generar listados con una 
potencia media-alta.

Espero que os guste.


On Tuesday 25 September 2007 14:11:56 svn en mail.berlios.de wrote:
> Author: tborras
> Date: 2007-09-25 14:11:47 +0200 (Tue, 25 Sep 2007)
> New Revision: 2174
> Log:
> Arreglo los listados para que tengan mayor potencia y se puedan hacer mas
> cosas sin tener que recurrir a plugins. He puesto un ejemplo de las nuevas
> funcionalidades en la plantilla factura.rml
> Destacar que ahora se permiten QUERYs y SUBQUERYs personalizados.
>
>
> _______________________________________________
> BulmaGes mailing list
> BulmaGes en bulma.net
> http://llistes.bulma.net/mailman/listinfo/bulmages
> Home: http://www.iglues.org
> Wiki: http://www.iglues.org/wiki
> Bugs: http://www.iglues.org/bugzilla



-- 
Tomeu Borrás Riera
Conetxia Soluciones informáticas
902 88 11 66
971 29 06 29
http://www.conetxia.com


Más información sobre la lista de distribución BulmaGes