function datosFactura($IdFactura)
 {
     require_once '../general/' . $_SESSION['mapeoC'];
     $dbC = new DbCont();
     require_once '../general/conexionCont.php';
     $dbG = new DbCG();
     //extraigo primero los datos de la tabla 'tbmisfacturas'
     $strSQL = "SELECT NumFactura,IdPresupuesto,IdPedido,Cliente,DATE_FORMAT(FechaFactura,'%Y/%m/%d') AS FechaFactura" . ",DATE_FORMAT(FechaVtoFactura,'%Y/%m/%d') AS FechaVtoFactura,FormaPago,Estado,Retencion,Situacion,lngIdUsuario,Borrado FROM tbmisfacturas WHERE IdFactura=" . $IdFactura;
     logger('traza', 'clsCADContabilidad.php-', "Usuario: " . $_SESSION['strUsuario'] . ', Empresa: ' . $_SESSION['strBD'] . ', SesionID: ' . session_id() . " clsCADContabilidad->datosFactura()|| SQL : " . $strSQL);
     $dbC->conectar($this->getStrBDCliente());
     $stmt = $dbC->ejecutar($strSQL);
     $dbC->desconectar();
     if (!$stmt) {
         //devolvemos false
         logger('traza', 'clsCADContabilidad.php-', "Usuario: " . $_SESSION['strUsuario'] . ', Empresa: ' . $_SESSION['strBD'] . ', SesionID: ' . session_id() . " clsCADContabilidad->datosFactura()<FALSE");
         return false;
     }
     $row = mysql_fetch_array($stmt);
     foreach ($row as $propiedad => $valor) {
         if (!is_numeric($propiedad)) {
             $reg[$propiedad] = $valor;
         }
     }
     //guardo los datos en el array final
     //primero formateo el numero de factura que se presenta en pantalla del formulario
     //el numero esta guardado en la BBDD como '20140005' donde las 4 primeras cifras son el año
     //y las 4 últimas son el número en si
     //primero busco la variable de 'Tipo de Contador' de la tabla 'tbparametros_generales'
     $tipoContador = $this->Parametro_general('Tipo Contador', date('Y-m-d H:i:s'), date('Y-m-d H:i:s'));
     $txtPie = $this->Parametro_general('Texto Pie', date('Y-m-d H:i:s'), date('Y-m-d H:i:s'));
     //ahora segun el tipo de contador calculo en nuevo numero
     $numFactura = numeroDesformateado($reg['NumFactura'], $tipoContador);
     $datosFinales = array("NumFactura" => $numFactura, "NumFacturaBBDD" => $reg['NumFactura'], "IdPresupuesto" => $reg['IdPresupuesto'], "IdPedido" => $reg['IdPedido'], "Cliente" => $reg['Cliente'], "NombreEmpresa" => '', "Retencion" => $reg['Retencion'], "FormaPago" => $reg['FormaPago'], "DetalleFactura" => '', "Validez" => 0, "FechaFactura" => $reg['FechaFactura'], "Borrado" => $reg['Borrado'], "Estado" => $reg['Estado'], "Situacion" => $reg['Situacion'], "TxtPie" => $txtPie);
     //ahora calculo la validez de la factura (diferencia en dias entre FechaVtoFactura y FechaFactura
     //la funcion strtotime extrae un numero en segundos
     //$uno=strtotime($reg['FechaVtoFactura']);
     //$dos=strtotime($reg['FechaFactura']);
     $validez = strtotime($reg['FechaVtoFactura']) - strtotime($reg['FechaFactura']);
     $validez = round($validez / 86400);
     //24 horas x 60 minutos x 60 segundos = 86400 segundo/dia
     $datosFinales['Validez'] = $validez;
     //ahora extraigo los datos de las lineas de la factura (tbmisfacturaslineas)
     $strSQL = "\r\n                    SELECT L.IdFacturaLineas,L.NumLineaFactura,L.NumLineaPresup,L.IdPresupLineas,L.NumLineaPedido,L.IdPedidoLineas,L.IdArticulo,L.cuentaArticulo,L.CantidadPED AS cantidad,L.DescripcionProducto AS concepto,\r\n                    L.ImporteUnidad AS precio,L.ImportePED AS importe,L.TipoIVA as iva,L.CuotaIvaPED AS cuota\r\n                    FROM tbmisfacturas F,tbmisfacturaslineas L\r\n                    WHERE F.IdFactura=L.IdFactura\r\n                    AND F.IdFactura={$IdFactura}\r\n                    ";
     logger('traza', 'clsCADContabilidad.php-', "Usuario: " . $_SESSION['strUsuario'] . ', Empresa: ' . $_SESSION['strBD'] . ', SesionID: ' . session_id() . " clsCADContabilidad->datosFactura()|| SQL : " . $strSQL);
     $dbC->conectar($this->getStrBDCliente());
     $stmt = $dbC->ejecutar($strSQL);
     $dbC->desconectar();
     if (!$stmt) {
         //devolvemos false
         logger('traza', 'clsCADContabilidad.php-', "Usuario: " . $_SESSION['strUsuario'] . ', Empresa: ' . $_SESSION['strBD'] . ', SesionID: ' . session_id() . " clsCADContabilidad->datosFactura()<FALSE");
         return false;
     }
     logger('traza', 'clsCADContabilidad.php-', "Usuario: " . $_SESSION['strUsuario'] . ', Empresa: ' . $_SESSION['strBD'] . ', SesionID: ' . session_id() . " clsCADContabilidad->datosFactura()|| Consulta OK. Llego a datosLineas");
     $datosLineas = '';
     while ($row = mysql_fetch_array($stmt)) {
         $reg = '';
         foreach ($row as $propiedad => $valor) {
             if (!is_numeric($propiedad)) {
                 $reg[$propiedad] = $valor;
             }
         }
         //ahora añado los totales (cuota + importe)
         $reg['total'] = $reg['cuota'] + $reg['importe'];
         $datosLineas[] = $reg;
     }
     $datosFinales['DetalleFactura'] = $datosLineas;
     logger('traza', 'clsCADContabilidad.php-', "Usuario: " . $_SESSION['strUsuario'] . ', Empresa: ' . $_SESSION['strBD'] . ', SesionID: ' . session_id() . " clsCADContabilidad->datosFactura()|| Meto en datosFinales el datosLineas");
     //ahora averiguo el nombre de la empresa
     //la informacion que extraemos esta en dos tablas, dbContabilidad.tbcliprov y dbCliente.tbmiscontactos
     //y se busca de esta forma
     //1-Cliente: tbmiscontactos.NombreContacto + tbmiscontactos.ApellidosContacto
     //2-NombreEmpresa: tbcliprov.nombre
     //3-CIF: tbcliprov.CIF
     //4-direccion: tbcliprov.direccion
     //5-poblacion: tbcliprov.municipio
     //6-FormaPagoHabitual: tbmiscontactos.FormaPagoHabitual
     //7-Correo: tbmiscontactos.Correo
     //array donde guardo los datos
     $datos = array("Cliente" => '', "NombreEmpresa" => '', "CIF" => '', "direccion" => '', "FormaPagoHabitual" => '', "Correo" => '');
     //primero hago la consulta en dbContabilidad.tbcliprov y estraigo los campos 2, 3 y 4
     //el numero de la cuenta en la tabla tbrelacioncliprov esta dividido en dos partes
     //4300=0 se guarda en CliProv y  el resto '00005' se guarda en 'codigo'
     //        $codigo=substr($datosFinales['Cliente'],-5);
     $codigo = $datosFinales['Cliente'];
     $query = "\r\n                        SELECT C.nombre AS NombreEmpresa,C.CIF,\r\n                        C.direccion,CONCAT(C.CP,' - ',C.municipio) AS poblacion,C.provincia,C.Correo,C.IdCliProv\r\n                        FROM tbrelacioncliprov R, tbcliprov C\r\n                        WHERE C.IdCliProv=R.IdCliProv\r\n                        AND R.Borrado=0\r\n                        AND R.IdEmpresa=" . $_SESSION['idEmp'] . "\r\n                        AND R.codigo='{$codigo}'\r\n                        ";
     logger('traza', 'clsCADContabilidad.php-', "Usuario: " . $_SESSION['strUsuario'] . ', Empresa: ' . $_SESSION['strBD'] . ', SesionID: ' . session_id() . " clsCADContabilidad->datosFactura()|| SQL : " . $query);
     $dbG->conectar($this->getStrBD());
     $result = $dbG->ejecutar($query);
     $dbG->desconectar();
     if (!$result) {
         //devolvemos false
         logger('traza', 'clsCADContabilidad.php-', "Usuario: " . $_SESSION['strUsuario'] . ', Empresa: ' . $_SESSION['strBD'] . ', SesionID: ' . session_id() . " clsCADContabilidad->datosFactura()<FALSE");
         return false;
     }
     if ($result) {
         $count = mysql_num_rows($result);
         if ($count > 0) {
             $row = mysql_fetch_array($result);
             $datos['NombreEmpresa'] = $row['NombreEmpresa'];
             //2
             $datos['CIF'] = $row['CIF'];
             //3
             $datos['direccion'] = $row['direccion'];
             //4
             $datos['poblacion'] = $row['poblacion'];
             //5
             $datos['provincia'] = $row['provincia'];
             //6
             $datos['Correo'] = $row['Correo'];
             //7 ??
             $IdCliProv = $row['IdCliProv'];
             //ahora hago la consulta contra la tabla dbCliente.tbmiscontactos
             //y extraigo si encuentro los campos 1 y 5
             $query = "\r\n                                        SELECT CONCAT(C.NombreContacto,' ',C.ApellidosContacto) AS Cliente,C.FormaPagoHabitual,C.Correo\r\n                                        FROM tbmiscontactos C\r\n                                        WHERE C.IdCliProv ={$IdCliProv}\r\n                                        AND Borrado=1\r\n                                        ";
             $dbC->conectar($this->getStrBDCliente());
             $result2 = $dbC->ejecutar($query);
             $dbC->desconectar();
             if ($result2) {
                 $count = mysql_num_rows($result2);
                 if ($count > 0) {
                     $row = mysql_fetch_array($result2);
                     $datos['Cliente'] = $row['Cliente'];
                     $datos['FormaPagoHabitual'] = $row['FormaPagoHabitual'];
                     //si existe este dato (que viene de dbContabilidad.tbcliprov,no lo grabo
                     //sino existe pues si lo grabo
                     if ($datos['Correo'] === '') {
                         $datos['Correo'] = $row['Correo'];
                     }
                 }
             } else {
                 //devolvemos false
                 logger('traza', 'clsCADContabilidad.php-', "Usuario: " . $_SESSION['strUsuario'] . ', Empresa: ' . $_SESSION['strBD'] . ', SesionID: ' . session_id() . " clsCADContabilidad->datosFactura()<FALSE");
                 return false;
             }
         }
     }
     $datosFinales['NombreEmpresa'] = $datos['NombreEmpresa'];
     $datosFinales['CIFEmpresa'] = $datos['CIF'];
     $datosFinales['ContactoEmpresa'] = $datos['Cliente'];
     $datosFinales['DireccionEmpresa'] = $datos['direccion'];
     $datosFinales['PoblacionEmpresa'] = $datos['poblacion'];
     $datosFinales['ProvinciaEmpresa'] = $datos['provincia'];
     $datosFinales['Correo'] = $datos['Correo'];
     return $datosFinales;
 }
$tipoContador = $clsCNContabilidad->Parametro_general('Tipo Contador', date('Y-m-d H:i:s'), date('Y-m-d H:i:s'));
if (is_array($arResult)) {
    for ($i = 0; $i < count($arResult); $i++) {
        $numeroFactura = numeroDesformateado($arResult[$i]['NumFactura'], $tipoContador);
        //preparo el importe en texto y sin decimales, y una cifra de 20 digitos, asi puedo ordenarlo bien por importe
        $importeTxt = $arResult[$i]['totalImporte'] * 100;
        while (strlen($importeTxt) < 20) {
            $importeTxt = '0' . $importeTxt;
        }
        if ($arResult[$i]['NumPresupuesto'] != '0') {
            $numeroPresupuesto = numeroDesformateado($arResult[$i]['NumPresupuesto'], $tipoContador);
        } else {
            $numeroPresupuesto = '';
        }
        if ($arResult[$i]['NumPedido'] != '0') {
            $numeroPedido = numeroDesformateado($arResult[$i]['NumPedido'], $tipoContador);
        } else {
            $numeroPedido = '';
        }
        //preparo el array de $arResult[$i] para enviar por url
        $link = "javascript:document.location.href='../vista/altafactura.php?IdFactura=" . $arResult[$i]['IdFactura'] . "';";
        if ($arResult[$i]['existePDF'] != 'NO') {
            //$linkPDF="javascript:window.open('../facturasEnviadas/Factura_".$_SESSION['idEmp'].'-'.$ejercicio.'-'.$numero4cifras.".pdf')";
            $linkPDF = "javascript:window.open('../../contabilidad/facturasEnviadas/Factura_" . $_SESSION['idEmp'] . '-' . $arResult[$i]['NumFactura'] . ".pdf')";
            $imagenPDF = '<img src="../../contabilidad/images/pdf.png" width="10" height="10" border="0"/>';
            $fechaPDF = $arResult[$i]['existePDF'];
        } else {
            $linkPDF = '';
            $imagenPDF = '';
            $fechaPDF = '';
        }