[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