Plugin: imprimir_continuo

He estado modificando el plugin de imprimir_continuo ya que necesito imprimir varias facturas, hice con html dos campos select donde me arrojan los IDs de las facturas con la finalidad de poner un "DESDE" a un "HASTA".

Todo va bien hasta cuando llego a hacer el loop, ya que los datos de las facturas como codigo, fecha, id si las recibe, pero al hacer un loop dentro de otro loop para el listado de descripción, cantidad, precio unitario e importe empieza mi problema ya que no lo toma como debería. Vi que se usa la función get_lineas pero no entiendo aún como emplearla.

Espero que puedan ayudarme. Gracias

hace más de un año   joenilson   [partner]
Hola, si puedes ser mas específico despues de: "Todo va bien hasta cuando llego al loop, ..", no imprime nada?, repite los datos de cabecera?, imprime diferentes numeros de factura pero el mismo contenido?.

el loop lo debes hacer de $factura->get_lineas() que te trae los items de la factura,

Saludos,

JN
hace más de un año   pierregq_f74d39
Seré más específico hice esta consulta en el Controller

if( isset($_POST['desde']) )
      {
	       $this->facturas = $this->db->select("SELECT * FROM facturascli WHERE idfactura BETWEEN '".$_POST['desde']."' AND '".$_POST['hasta']."'");
		   $this->numero = $this->db->select("SELECT cantidad, descripcion, pvpunitario, pvptotal FROM lineasfacturascli WHERE idfactura BETWEEN '".$_POST['desde']."' AND '".$_POST['hasta']."'");
      }


Y en el HTML coloco esto:

{loop="$fsc->facturas"}
<div class="boleta">
{$fsc->factura->direccion}
<div class="codigoboleta">N-{$value['numero2']} </div>
<div class="fecha">{$value['fecha']}</div>
<div class="codcliente">{$value['codcliente']}</div>
<div class="provincia">{$value['provincia']}</div>
<div class="gestion">{$value['codagente']}
	<b>
	{if condition="$value['codpago']==PEND"}
	
	[P]
	{else}
	[C]
	{/if}
	
	</b></div>
<div class="nombrecliente">{$value['nombrecliente']}</div>

<div class="descripcion">
   {loop="$fsc->numero"}
         <div style="margin-top:0.15cm;">{$value['descripcion']}</div>
   {/loop}
   </div>
   <div class="cantidad">
   {loop="$fsc->numero"}
         <div style="margin-top:0.1cm;">{$value['cantidad']}</div>
         {/loop}
   </div>
   <div class="preciounitario">
    {loop="$fsc->numero"}
         <div style="margin-top:0.1cm;">{$value['pvpunitario']}</div>
    {/loop}
   </div>
   <div class="preciototal">
    {loop="$fsc->numero"}
        <div style="margin-top:0.1cm;"> {$value['pvptotal']}</div>
   {/loop}  
   </div>
   
<div class="numeroletra">{function="numtoletras($value['total'])"}</div>
<div class="total">{$value['total']}</div>

</div>

<div class="saltopagina"></div>
 {/loop}


Hace el Loop de las facturas y todo correcto, pero si hago el loop con ese get_lineas pues me tirar error. En que puedo estar fallando o como puedo hacer de una manera correcta la consulta.

Gracias
hace más de un año   NeoRazorX   [admin]
Cuando haces un bucle, cada uno de los elementos es $value1, no $fsc->factura. Sustituye $fsc->factura por $value1, y en las líneas usa $value2 en lugar de $value.
hace más de un año   pierregq_f74d39
Como que no te entendí muy bien. Podrías ser un tanto más explicito, te lo agradecería.
hace más de un año   pierregq_f74d39
Lo deje así, pero sigue repitiendo el loop interior.

{loop="$fsc->facturas"}
<div class="boleta">
<br>
<br>
<br>
<br>
<br>
<br>                          {$value['direccion']}
<div class="codigoboleta">N-{$value['numero2']} </div>
<div class="fecha">{$value['fecha']}</div>
<div class="codcliente">{$value['codcliente']}</div>
<div class="provincia">{$value['provincia']}</div>
<div class="gestion">{$value['codagente']}
	<b>
	{if condition="$value['codpago']==PEND"}
	
	[P]
	{else}
	[C]
	{/if}
	
	</b></div>
<div class="nombrecliente">{$value['nombrecliente']}</div>

<div class="descripcion">
   {loop="$fsc->numero"}
         <div style="margin-top:0.15cm;">{$value2['descripcion']}</div>
   {/loop}
   </div>
   <div class="cantidad">
   {loop="$fsc->numero"}
         <div style="margin-top:0.1cm;">{$value2['cantidad']}</div>
         {/loop}
   </div>
   <div class="preciounitario">
    {loop="$fsc->numero"}
         <div style="margin-top:0.1cm;">{$value2['pvpunitario']}</div>
    {/loop}
   </div>
   <div class="preciototal">
    {loop="$fsc->numero"}
        <div style="margin-top:0.1cm;"> {$value2['pvptotal']}</div>
   {/loop}  
   </div>
   
<div class="numeroletra">{function="numtoletras($value['total'])"}</div>
<div class="total">{$value['total']}</div>

</div>

<div class="saltopagina"></div>
 {/loop}


Dejo la imagen para que vean como queda y puedan entenderme
image
hace más de un año   NeoRazorX   [admin]
Estás leyendo a lo bruto en lugar de usar modelos.

Mejor ejecuta esto:
$this->facturas = array();
$data = $this->db->select("SELECT * FROM facturascli WHERE idfactura BETWEEN '".$_POST['desde']."' AND '".$_POST['hasta']."'");
if($data)
{
   foreach($data as $d)
   {
      $this->facturas[] = new factura_cliente($d);
   }
}
Así tienes modelos, en lugar de datos a lo bruto. Puedes mostrar $value1->nombrecliente, en lugar de $value1['nombrecliente']. Y puedes hacer $value1->get_lineas();
hace más de un año   pierregq_f74d39
Gracias, lo probaré y comento. Creo que no estaría mal la idea de implementarlo a futuro como algo nativo en Facturascripts Saludos y gracias por la ayuda.
hace más de un año   NeoRazorX   [admin]
Envía lo que avances y lo integro en el plugin.
No se pueden hacer más comentarios. Mejor escribe una nueva pregunta

Financiación extra

14 patrocinadores

Este mes se han realizado un total de 14 aportaciones económicas para acelerar el desarrollo del proyecto.

48% Complete

240 € este mes.

+5 € +4 votos

+25 € +20 votos




Soporte:

FacturaScripts es software libre y gratuito, pero si lo que busca es asesoramiento y soporte profesional, use la sección soporte.

  Soporte

¿Desea ser distribuidor?

Si desa ser distribuidor oficial de FacturaScripts, comience hoy mismo el proceso.

  hágase partner

Redes sociales:

Puede encontrarnos en las principales redes sociales. Y también en google+.





© 2013-2017 FacturaScripts