Esempio n. 1
0
     $linea = new AlbaranesLineas($datos['IDLinea']);
     if (!$linea->erase()) {
         $errores = $linea->getErrores();
     } else {
         $linea = new AlbaranesLineas();
         $alertas = $linea->getAlertas();
     }
     break;
 case 'guardar':
     if ($pvpConIva == '1') {
         // El precio viene con iva, calculo la base
         $datos['Precio'] = $datos['Precio'] * 100 / (100 + $datos['Iva']);
     }
     $linea = new AlbaranesLineas($datos['IDLinea']);
     $linea->bind($datos);
     if ($linea->valida(array())) {
         if (!$linea->save()) {
             $errores = $linea->getErrores();
         } else {
             $alertas = $linea->getAlertas();
             $linea = new AlbaranesLineas($datos['IDLinea']);
         }
     }
     break;
 case 'cierre':
     include_once '../modules/ExpedirLineas/ExpedirLineasController.class.php';
     $albaran = new AlbaranesCab($datos['IDAlbaran']);
     $albaran->confirma();
     $expedir = new ExpedirLineasController();
     $expedir->cargaLineasAlbaran($datos['IDAlbaran'], 0);
     //$albaran->expide();
Esempio n. 2
0
 /**
  * Confirma el presupuesto, que consiste en aprobarlo
  * y generar un albaran en base al mismo.
  * Devuelve el id del albaran generado
  * IMPORTANTE: APLICA LA TARIFA Y PROMOCIONES VIGENTES
  *
  * @return integer El id del albaran generado
  */
 public function confirma()
 {
     //Crear cabecera de albaran.
     //No pongo los totales porque los recalculo una vez
     //creadas las lineas del albaran.
     $contador = new Contadores();
     $albaran = new AlbaranesCab();
     $albaran->setIDSucursal($this->IDSucursal);
     $albaran->setIDContador($contador->dameContador($this->IDSucursal, 1));
     $albaran->setIDAlmacen($this->IDAlmacen);
     $albaran->setIDAgente($_SESSION['usuarioPortal']['Id']);
     $albaran->setIDComercial($this->IDComercial);
     $albaran->setFecha(date('d-m-Y'));
     $albaran->setIDCliente($this->IDCliente);
     $albaran->setIDDirec($this->IDDirec);
     $albaran->setDescuento($this->Descuento);
     $albaran->setObservaciones($this->Observaciones . "Proviene del Psto N. " . $this->NumeroPsto);
     $albaran->setIDAgencia($this->IDAgencia);
     $albaran->setIDFP($this->IDFP);
     $albaran->setIDPsto($this->IDPsto);
     $idAlbaran = $albaran->create();
     unset($contador);
     if ($idAlbaran) {
         // Marco el presupuesto como confirmado (Estado=1)
         $this->setIDEstado(1);
         $this->setIDAlbaran($idAlbaran);
         $this->setFechaAceptacion(date('d-m-Y'));
         $this->save();
         // Crear las lineas de albaran
         $lineas = new PstoLineas();
         $rows = $lineas->cargaCondicion('*', "IDPsto='{$this->IDPsto}'", "IDLinea ASC");
         unset($lineas);
         foreach ($rows as $row) {
             $linea = new AlbaranesLineas();
             $linea->setIDAlbaran($idAlbaran);
             $linea->setIDArticulo($row['IDArticulo']);
             $linea->setDescripcion($row['Descripcion']);
             $linea->setUnidades($row['Unidades']);
             $linea->setPrecio($row['Precio']);
             $linea->setDescuento($row['Descuento']);
             $linea->setImporte($row['Importe']);
             $linea->setImporteCosto($row['ImporteCosto']);
             $linea->setIDAlmacen($this->IDAlmacen);
             $linea->setIva($row['Iva']);
             $linea->setRecargo($row['Recargo']);
             $linea->setIDAgente($_SESSION['usuarioPortal']['Id']);
             $linea->setIDComercial($this->IDComercial);
             $linea->setAltoAl($row['AltoAl']);
             $linea->setAnchoAl($row['AnchoAl']);
             $linea->setIDEstado(0);
             if ($linea->valida()) {
                 $linea->create();
                 // Marco la línea de psto como confirmado (Estado=1)
                 $lineaPsto = new PstoLineas($row['IDLinea']);
                 $lineaPsto->setIDEstado(1);
                 $lineaPsto->save();
                 unset($lineaPsto);
             }
         }
         // Recalcular el albarán
         $albaran->recalcula();
         $albaran->save();
         // Confirmar el albarán
         $albaran->confirma();
         $this->_alertas[] = "Se ha generado el albarán n. " . $albaran->getNumeroAlbaran();
     } else {
         $this->_alertas[] = "No se ha generado albarán";
     }
     return $idAlbaran;
 }