/**
  * Genera un array con la informacion necesaria para imprimir el documento
  * Recibe un array con los ids de factura
  *
  * @param array $idsDocumento Array con los ids de facturas
  * @return array Array con dos elementos: master es un objeto factura y detail es un array de objetos lineas de factura
  */
 protected function getDatosDocumento($idsDocumento)
 {
     $master = array();
     $detail = array();
     // Recorro el array de las facturas a imprimir
     foreach ($idsDocumento as $key => $idDocumento) {
         // Instancio la cabecera de la factura
         $master[$key] = new FemitidasCab($idDocumento);
         // LLeno el array con objetos de lineas de factura
         $lineas = array();
         $facturaLineas = new FemitidasLineas();
         $rows = $facturaLineas->cargaCondicion('IDLinea', "IDFactura='{$idDocumento}' and Unidades<>0", "IDLinea ASC");
         foreach ($rows as $row) {
             $lineas[] = new FemitidasLineas($row['IDLinea']);
         }
         $detail[$key] = $lineas;
     }
     $datos = array('master' => $master, 'detail' => $detail);
     return $datos;
 }
예제 #2
0
 /**
  * Calcula el beneficio de una factura
  *
  * Devuelve un array con el precio de venta, el costo (bases imponibles)
  * y el beneficio de la factura
  *
  * array (
  *  'Venta'     => Importe total de la factura base imponible,
  *  'Costo'     => Importe total del costo de la factura base imponible
  *  'Beneficio' => Venta - Costo
  * )
  *
  * @param integer Id de la factura
  * @return array
  */
 public function getBeneficio($idFactura = '')
 {
     if ($idFactura == '') {
         $idFactura = $this->getIDFactura();
     }
     $lineas = new FemitidasLineas();
     $rows = $lineas->cargaCondicion("sum(ImporteCosto) as Costo", "IDFactura='{$idFactura}'");
     unset($lineas);
     $beneficio = array('Venta' => $this->TotalBases, 'Costo' => $rows[0]['Costo'], 'Beneficio' => $this->TotalBases - $rows[0]['Costo']);
     return $beneficio;
 }