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