Ejemplo n.º 1
0
 /**
  * Borra una factura emitida, sus líneas, los posibles recibos
  * y marca el/los albaranes y lineas de albaranres asociados como no facturados
  * Siempre que no esté traspasa a contabilidad (Asiento=0)
  *
  * @return boolean
  */
 public function erase()
 {
     if ($this->Asiento == 0) {
         if ($this->borraVctos()) {
             if ($this->borraLineas()) {
                 // Actualiza la cabecera del albaran
                 $albaranes = new AlbaranesCab();
                 $albaranes->queryUpdate(array("IDFactura" => 0, "IDEstado" => 2), "IDFactura='{$this->IDFactura}'");
                 unset($albaranes);
                 // Borrar la cabecera de la factura
                 parent::erase();
             }
         }
     } else {
         $this->_errores[] = "No se puede borrar. Está traspasada a contabilidad";
     }
     return count($this->_errores) == 0;
 }
 /**
  * Realiza el cambio de cliente en la factura, albaranes y recibos
  */
 private function cambiarCliente()
 {
     $ok = false;
     // Cambiar factura
     $femitidas = new FemitidasCab();
     $filtro = "NumeroFactura='{$this->request['numeroFactura']}' AND IDCliente='{$this->request['idClienteAnterior']}'";
     $okFactura = $femitidas->queryUpdate(array("IDCliente" => $this->request['idClienteNuevo']), $filtro);
     $this->values['errores'] = $femitidas->getErrores();
     if ($okFactura) {
         $this->values['mensaje'][] = "Se ha cambiado " . $okFactura . " factura.";
         // Cambiar albaran/es
         $albaranes = new AlbaranesCab();
         $filtro = "IDFactura='{$this->request['idFactura']}' AND IDCliente='{$this->request['idClienteAnterior']}'";
         $nAlbaranes = $albaranes->queryUpdate(array("IDCliente" => $this->request['idClienteNuevo']), $filtro);
         $this->values['errores'] = $albaranes->getErrores();
         $this->values['mensaje'][] = "Se han cambiado " . $nAlbaranes . " albaranes.";
         // Cambiar recibos
         $recibos = new RecibosClientes();
         $filtro = "IDFactura='{$this->request['idFactura']}' AND IDCliente='{$this->request['idClienteAnterior']}'";
         $nRecibos = $recibos->queryUpdate(array("IDCliente" => $this->request['idClienteNuevo']), $filtro);
         $this->values['errores'] = $recibos->getErrores();
         $this->values['mensaje'][] = "Se han cambiado " . $nRecibos . " recibos.";
     }
 }