Exemplo n.º 1
0
 /**
  * Marco de borrado el artículo y borro sus eventuales órdenes.
  * 
  * Cuando borramos un artículo cambiamos el código para poder reutilizarlo.
  * De forma que si el código era 043, ahora se llama deleted043,
  * y entonces podemos volver a dar de alta otro artículo con código 043. 
  * 
  * @return boolean
  */
 public function delete()
 {
     $ok = $this->validaBorrado();
     if ($ok) {
         $id = $this->IDArticulo;
         $this->setCodigo("deleted_{$this->IDArticulo}_{$this->Codigo}");
         $this->save();
         $ok = parent::delete();
         if ($ok) {
             // Borro los eventuales ordenes que existieran para el artículo
             $ordenes = new OrdenesArticulos();
             $ordenes->borraOrdenesArticulo($id);
             unset($ordenes);
             // Borro las eventuales propiedades
             $propiedades = new ArticulosPropiedades();
             $propiedades->queryDelete("IDArticulo='{$id}'");
             unset($propiedades);
             // Borro el eventual escandallo
             if ($this->AllowsChildren == '0') {
                 $escan = new ArticulosEscandallos();
                 $escan->queryDelete("IDArticuloOrigen='{$id}'");
                 unset($escan);
             }
         }
     }
     return $ok;
 }