Commits

Igor Támara committed 103a111

Se añade opción en balance de prueba para ver información de subcuentas

  • Participants
  • Parent commits d92c8c0

Comments (0)

Files changed (2)

File src/cuenta_php_files/balanceprueba.php

 include ("funciones.php");
 if(headergestiona()==1) {
   $anio=$_SESSION["anio"];
+  $adicional="";  //Enlace adicional
   print "<form action=balanceprueba.php>";
   print "<select onchange=submit() name=periodo>";
   if (isset($_GET["periodo"])) {
       $cadena="Año $anio";
       $final=toma_cadena("SELECT id from periodoscontables WHERE nombre='Cancela $anio'");
       $query="SELECT coalesce(saldos.id , mov.id) AS id , coalesce(saldos.oficial||' '||saldos.nombre,mov.oficial||' '||mov.nombre) AS cuenta , haganumero(saldos.inicial) AS inicial , haganumero(mov.debe) AS debe , haganumero(mov.haber) AS haber , coalesce(saldos.signo,mov.signo) AS final FROM (SELECT ti.oficial, ti.id , sum(sal.inicial) AS inicial , ti.naturaleza AS signo , ti.descripcion AS nombre FROM (SELECT substr(ti.oficial||'',0,7) AS oficial,(sum(s.debito)-sum(s.credito))*ti.naturaleza AS inicial FROM saldos s, tiposcuenta ti WHERE s.idtiposcuenta= ti.id AND s.idperiodo=$psaldos GROUP BY  substr(ti.oficial||'',0,7) , ti.naturaleza  , ti.descripcion ORDER BY  substr(ti.oficial||'',0,7)) AS SAL , tiposcuenta ti WHERE sal.oficial like ti.oficial||'%' GROUP BY ti.oficial, ti.id , ti.naturaleza , ti.descripcion ORDER BY text(ti.oficial)) AS saldos FULL OUTER JOIN (SELECT ti.oficial AS oficial, ti.id, sum(val.debe) AS debe , sum(val.haber) AS haber , ti.naturaleza AS signo , ti.descripcion AS nombre FROM (SELECT coalesce(debe.cuenta,haber.cuenta) AS cuenta,haganumero(debe.debe) AS debe,haganumero(haber.haber) AS haber FROM (SELECT substr(ti.oficial||'',0,7) AS cuenta, SUM(tc.valor) AS debe FROM tiposcuenta ti, transaccionescuenta tc , transacciones t WHERE tc.idestado=1 AND t.idestado=1 AND ti.id=tc.idcuenta AND tc.signo=1 AND  t.id=tc.idtransaccion AND t.idperiodo>$psaldos AND t.idperiodo<$final GROUP BY substr(ti.oficial||'',0,7)  ORDER BY substr(ti.oficial||'',0,7)) AS debe FULL OUTER JOIN (SELECT substr(ti.oficial||'',0,7) AS cuenta , SUM(tc.valor) AS haber FROM tiposcuenta ti, transaccionescuenta tc , transacciones t WHERE t.idestado=1 AND tc.idestado=1 AND ti.id=tc.idcuenta AND tc.signo=-1 AND  t.id=tc.idtransaccion AND t.idperiodo>$psaldos AND t.idperiodo<$final GROUP BY substr(ti.oficial||'',0,7)  ORDER BY substr(ti.oficial||'',0,7)) AS HABER ON (debe.cuenta=haber.cuenta)) AS val , tiposcuenta ti WHERE val.cuenta like ti.oficial||'%' GROUP BY ti.oficial, ti.id , ti.naturaleza , ti.descripcion) AS mov ON (saldos.id=mov.id) ORDER BY text(coalesce(saldos.oficial,mov.oficial));";
+      $adicional='[ <a href="balanceprueba.php?periodo=-1">Detallado</a> ]';
+      break;
+    case -1:
+      $cadena="Año $anio detallado";
+      $final=toma_cadena("SELECT id from periodoscontables WHERE nombre='Cancela $anio'");
+      $query="SELECT coalesce(saldos.id , mov.id) AS id , coalesce(saldos.oficial||' '||saldos.nombre, mov.oficial||' '||mov.nombre) AS cuenta , haganumero(saldos.inicial) AS inicial , haganumero(mov.debe) AS debe , haganumero(mov.haber) AS haber , coalesce(saldos.signo,mov.signo) AS final FROM (SELECT ti.oficial, ti.id , sum(sal.inicial) AS inicial , ti.naturaleza AS signo , ti.descripcion AS nombre FROM (SELECT ti.oficial,(sum(s.debito)-sum(s.credito))*ti.naturaleza AS inicial FROM saldos s, tiposcuenta ti WHERE s.idtiposcuenta= ti.id AND s.idperiodo=$psaldos GROUP BY ti.oficial, ti.naturaleza , ti.descripcion ORDER BY ti.oficial) AS SAL , tiposcuenta ti WHERE sal.oficial = ti.oficial GROUP BY ti.oficial, ti.id , ti.naturaleza , ti.descripcion ORDER BY text(ti.oficial)) AS saldos FULL OUTER JOIN (SELECT ti.oficial AS oficial, ti.id, sum(val.debe) AS debe , sum(val.haber) AS haber , ti.naturaleza AS signo , ti.descripcion AS nombre FROM (SELECT coalesce(debe.cuenta,haber.cuenta) AS cuenta,haganumero(debe.debe) AS debe,haganumero(haber.haber) AS haber FROM (SELECT ti.oficial AS cuenta, SUM(tc.valor) AS debe FROM tiposcuenta ti, transaccionescuenta tc , transacciones t WHERE tc.idestado=1 AND t.idestado=1 AND ti.id=tc.idcuenta AND tc.signo=1 AND t.id=tc.idtransaccion AND t.idperiodo>$psaldos AND t.idperiodo<$final GROUP BY ti.oficial ORDER BY ti.oficial) AS debe FULL OUTER JOIN (SELECT ti.oficial AS cuenta , SUM(tc.valor) AS haber FROM tiposcuenta ti, transaccionescuenta tc , transacciones t WHERE t.idestado=1 AND tc.idestado=1 AND ti.id=tc.idcuenta AND tc.signo=-1 AND t.id=tc.idtransaccion AND t.idperiodo>$psaldos AND t.idperiodo<$final GROUP BY ti.oficial ORDER BY ti.oficial) AS HABER ON (debe.cuenta=haber.cuenta)) AS val , tiposcuenta ti WHERE val.cuenta = ti.oficial GROUP BY ti.oficial, ti.id , ti.naturaleza , ti.descripcion) AS mov ON (saldos.id=mov.id) ORDER BY text(coalesce(saldos.oficial,mov.oficial));
+";
+      $adicional='[ <a href="balanceprueba.php?periodo=0">Resumido</a> ]';
       break;
     default:
       $final=$periodo;
     $periodo=$final;
   }
   //print $query;
-  $cad=imprimetablabalanceprueba("Balance de Prueba $cadena","describetrans.php?muestra=9&fechaini=$fechaini&fechafin=$fechafin&id=%s",$query);
+  $cad=imprimetablabalanceprueba("Balance de Prueba $cadena","describetrans.php?muestra=9&fechaini=$fechaini&fechafin=$fechafin&id=%s",$query,$adicional);
   //print $cad;
 }
 require "footer.php";

File src/cuenta_php_files/funciones.php

 }
 
 
-function imprimetablabalanceprueba($titulo,$url,$query) {
+function imprimetablabalanceprueba($titulo,$url,$query,$adicional="") {
   /** Imprime una tabla con varias columnas a partir de una consulta con un $url 
   para enlazarse a otro sitio. Diseñado para mostrar débitos y créditos
   @titulo : Nombre de la tabla
   El campo[2] lleva el saldo inicial, el campo[3] lleva el movimiento debe, 
   el campo[4] lleva el movimiento haber, el campo[5] lleva el signo de la 
   cuenta.
+  @adicional Para mostrar enlaces
   */
   $cad="\n";
   $c=conectarse();
     desconectarse($c);
     return;
   }
+  if(strlen($adicional)) {
+    print "<p>$adicional";
+  }
   print "<table>
 <tr>";
   $i=1;
   }
   print "</table>";
   desconectarse($c);
+  if(strlen($adicional)) {
+    print "<p>$adicional";
+  }
   return $cad;
 }