/** * 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; }
/** * 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; }