Esta consulta es de hace 5 años. No tome esta información como actualizada. Si tiene problemas con FacturaScripts, consulte la sección ayuda o la sección contacto.
pierregq_f74d39
pierregq_f74d39
Perú

Plugin: imprimir_continuo He estado modificando el...

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
03-11-2016 18:59:19   03-11-2016 19:59:36   82   [NeoRazorX]
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
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
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.
Como que no te entendí muy bien. Podrías ser un tanto más explicito, te lo agradecería.
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
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();
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.
Envía lo que avances y lo integro en el plugin.
¿Problemas con FacturaScripts?
Si tiene problemas con FacturaScripts consulte la sección ayuda o la sección contacto.




Copyright (c) 2013-2021 FacturaScripts