Permalink
Browse files

Corregido bug al buscar compras a proveedores en la contabilidad.

  • Loading branch information...
1 parent 087b5ca commit 9d401f6a0818b0bcee8624471fe1a4323056f386 @NeoRazorX committed Jun 8, 2016
Showing with 83 additions and 73 deletions.
  1. +82 −72 controller/informe_347.php
  2. +1 −1 facturascripts.ini
@@ -238,21 +238,26 @@ private function informe_clientes_contabilidad()
* por subcuenta y mes
*/
$cuenta0 = new cuenta();
- $cue = $cuenta0->get_cuentaesp('CLIENT', $this->sejercicio->codejercicio);
- if($cue)
+ foreach($cuenta0->all_from_cuentaesp('CLIENT', $this->sejercicio->codejercicio) as $cue)
{
if( strtolower(FS_DB_TYPE) == 'postgresql')
{
$sql = "select idsubcuenta, to_char(fecha,'FMMM') as mes, sum(debe) as total from co_partidas p, co_asientos a"
- . " where codsubcuenta like '".$cue->codcuenta."%' and p.idasiento = a.idasiento"
- . " and to_char(fecha,'FMYYYY') = ".$this->ejercicio->var2str($this->sejercicio->year())
+ . " where idsubcuenta IN (select idsubcuenta from co_subcuentas where idcuenta = ".$cue->var2str($cue->idcuenta).")"
+ . " and p.idasiento = a.idasiento"
+ . " and fecha > ".$cue->var2str($this->ejercicio->fechainicio)
+ . " and fecha < ".$cue->var2str($this->ejercicio->fechafin)
+ . " and to_char(fecha,'FMYYYY') = ".$cue->var2str($this->sejercicio->year())
. " group by idsubcuenta,mes order by idsubcuenta asc, mes asc;";
}
else
{
$sql = "select idsubcuenta, DATE_FORMAT(fecha, '%m') as mes, sum(debe) as total from co_partidas p, co_asientos a"
- . " where codsubcuenta like '".$cue->codcuenta."%' and p.idasiento = a.idasiento"
- . " and DATE_FORMAT(fecha, '%Y') = ".$this->ejercicio->var2str($this->sejercicio->year())
+ . " where idsubcuenta IN (select idsubcuenta from co_subcuentas where idcuenta = ".$cue->var2str($cue->idcuenta).")"
+ . " and p.idasiento = a.idasiento"
+ . " and fecha > ".$cue->var2str($this->ejercicio->fechainicio)
+ . " and fecha < ".$cue->var2str($this->ejercicio->fechafin)
+ . " and DATE_FORMAT(fecha, '%Y') = ".$cue->var2str($this->sejercicio->year())
. " group by idsubcuenta,mes order by idsubcuenta asc, mes asc;";
}
@@ -304,44 +309,44 @@ private function informe_clientes_contabilidad()
{
$informe['filas'][] = $fila;
}
+ }
+ }
+
+ /// completamos la información de los clientes y totales
+ foreach($informe['filas'] as $i => $value)
+ {
+ $cli0 = $this->cliente_from_idsubcuenta($value['idsubcuenta']);
+ if($cli0)
+ {
+ $informe['filas'][$i]['cliente'] = $cli0;
+ $informe['filas'][$i]['cifnif'] = $cli0->cifnif;
+ $informe['filas'][$i]['codcliente'] = $cli0->codcliente;
- /// completamos la información de los clientes y totales
- foreach($informe['filas'] as $i => $value)
+ foreach($cli0->get_direcciones() as $dir)
{
- $cli0 = $this->cliente_from_idsubcuenta($value['idsubcuenta']);
- if($cli0)
+ if($dir->domfacturacion)
{
- $informe['filas'][$i]['cliente'] = $cli0;
- $informe['filas'][$i]['cifnif'] = $cli0->cifnif;
- $informe['filas'][$i]['codcliente'] = $cli0->codcliente;
-
- foreach($cli0->get_direcciones() as $dir)
- {
- if($dir->domfacturacion)
- {
- $informe['filas'][$i]['codpostal'] = $dir->codpostal;
- $informe['filas'][$i]['ciudad'] = $dir->ciudad;
- $informe['filas'][$i]['provincia'] = $dir->provincia;
- break;
- }
- }
+ $informe['filas'][$i]['codpostal'] = $dir->codpostal;
+ $informe['filas'][$i]['ciudad'] = $dir->ciudad;
+ $informe['filas'][$i]['provincia'] = $dir->provincia;
+ break;
}
-
- $informe['totales'][0] += $value['t1'];
- $informe['totales'][1] += $value['t2'];
- $informe['totales'][2] += $value['t3'];
- $informe['totales'][3] += $value['t4'];
}
-
- $informe['totales'][4] = $informe['totales'][0] + $informe['totales'][1] + $informe['totales'][2] + $informe['totales'][3];
-
- /// ordenamos por cifnif
- usort($informe['filas'], function($a,$b) {
- return strcasecmp($a['cifnif'], $b['cifnif']);
- });
}
+
+ $informe['totales'][0] += $value['t1'];
+ $informe['totales'][1] += $value['t2'];
+ $informe['totales'][2] += $value['t3'];
+ $informe['totales'][3] += $value['t4'];
}
+ $informe['totales'][4] = $informe['totales'][0] + $informe['totales'][1] + $informe['totales'][2] + $informe['totales'][3];
+
+ /// ordenamos por cifnif
+ usort($informe['filas'], function($a,$b) {
+ return strcasecmp($a['cifnif'], $b['cifnif']);
+ });
+
return $informe;
}
@@ -508,21 +513,26 @@ private function informe_proveedores_contabilidad()
* por subcuenta y mes
*/
$cuenta0 = new cuenta();
- $cue = $cuenta0->get_cuentaesp('PROVEE', $this->sejercicio->codejercicio);
- if($cue)
+ foreach($cuenta0->all_from_cuentaesp('PROVEE', $this->sejercicio->codejercicio) as $cue)
{
if( strtolower(FS_DB_TYPE) == 'postgresql')
{
$sql = "select idsubcuenta, to_char(fecha,'FMMM') as mes, sum(debe) as total from co_partidas p, co_asientos a"
- . " where codsubcuenta like '".$cue->codcuenta."%' and p.idasiento = a.idasiento"
- . " and to_char(fecha,'FMYYYY') = ".$this->ejercicio->var2str($this->sejercicio->year())
+ . " where idsubcuenta IN (select idsubcuenta from co_subcuentas where idcuenta = ".$cue->var2str($cue->idcuenta).")"
+ . " and p.idasiento = a.idasiento"
+ . " and fecha > ".$cue->var2str($this->ejercicio->fechainicio)
+ . " and fecha < ".$cue->var2str($this->ejercicio->fechafin)
+ . " and to_char(fecha,'FMYYYY') = ".$cue->var2str($this->sejercicio->year())
. " group by idsubcuenta,mes order by idsubcuenta asc, mes asc;";
}
else
{
$sql = "select idsubcuenta, DATE_FORMAT(fecha, '%m') as mes, sum(debe) as total from co_partidas p, co_asientos a"
- . " where codsubcuenta like '".$cue->codcuenta."%' and p.idasiento = a.idasiento"
- . " and DATE_FORMAT(fecha, '%Y') = ".$this->ejercicio->var2str($this->sejercicio->year())
+ . " where idsubcuenta IN (select idsubcuenta from co_subcuentas where idcuenta = ".$cue->var2str($cue->idcuenta).")"
+ . " and p.idasiento = a.idasiento"
+ . " and fecha > ".$cue->var2str($this->ejercicio->fechainicio)
+ . " and fecha < ".$cue->var2str($this->ejercicio->fechafin)
+ . " and DATE_FORMAT(fecha, '%Y') = ".$cue->var2str($this->sejercicio->year())
. " group by idsubcuenta,mes order by idsubcuenta asc, mes asc;";
}
@@ -574,44 +584,44 @@ private function informe_proveedores_contabilidad()
{
$informe['filas'][] = $fila;
}
+ }
+ }
+
+ /// completamos la información de los proveedores y totales
+ foreach($informe['filas'] as $i => $value)
+ {
+ $pro0 = $this->proveedor_from_idsubcuenta($value['idsubcuenta']);
+ if($pro0)
+ {
+ $informe['filas'][$i]['proveedor'] = $pro0;
+ $informe['filas'][$i]['cifnif'] = $pro0->cifnif;
+ $informe['filas'][$i]['codproveedor'] = $pro0->codproveedor;
- /// completamos la información de los proveedores y totales
- foreach($informe['filas'] as $i => $value)
+ foreach($pro0->get_direcciones() as $dir)
{
- $pro0 = $this->proveedor_from_idsubcuenta($value['idsubcuenta']);
- if($pro0)
+ if($dir->direccionppal)
{
- $informe['filas'][$i]['proveedor'] = $pro0;
- $informe['filas'][$i]['cifnif'] = $pro0->cifnif;
- $informe['filas'][$i]['codproveedor'] = $pro0->codproveedor;
-
- foreach($pro0->get_direcciones() as $dir)
- {
- if($dir->direccionppal)
- {
- $informe['filas'][$i]['codpostal'] = $dir->codpostal;
- $informe['filas'][$i]['ciudad'] = $dir->ciudad;
- $informe['filas'][$i]['provincia'] = $dir->provincia;
- break;
- }
- }
+ $informe['filas'][$i]['codpostal'] = $dir->codpostal;
+ $informe['filas'][$i]['ciudad'] = $dir->ciudad;
+ $informe['filas'][$i]['provincia'] = $dir->provincia;
+ break;
}
-
- $informe['totales'][0] += $value['t1'];
- $informe['totales'][1] += $value['t2'];
- $informe['totales'][2] += $value['t3'];
- $informe['totales'][3] += $value['t4'];
}
-
- $informe['totales'][4] = $informe['totales'][0] + $informe['totales'][1] + $informe['totales'][2] + $informe['totales'][3];
-
- /// ordenamos por cifnif
- usort($informe['filas'], function($a,$b) {
- return strcasecmp($a['cifnif'], $b['cifnif']);
- });
}
+
+ $informe['totales'][0] += $value['t1'];
+ $informe['totales'][1] += $value['t2'];
+ $informe['totales'][2] += $value['t3'];
+ $informe['totales'][3] += $value['t4'];
}
+ $informe['totales'][4] = $informe['totales'][0] + $informe['totales'][1] + $informe['totales'][2] + $informe['totales'][3];
+
+ /// ordenamos por cifnif
+ usort($informe['filas'], function($a,$b) {
+ return strcasecmp($a['cifnif'], $b['cifnif']);
+ });
+
return $informe;
}
View
@@ -1,4 +1,4 @@
-version = 4
+version = 5
version_url = 'https://raw.githubusercontent.com/NeoRazorX/modelo_347/master/facturascripts.ini'
update_url = 'https://github.com/NeoRazorX/modelo_347/archive/master.zip'
require = 'facturacion_base'

0 comments on commit 9d401f6

Please sign in to comment.