Example #1
0
 /**
  * Hace una copia del parte de traspaso
  * Genera otro parte en base al actual.
  *
  * @return integer El id del parte generado
  */
 public function duplica()
 {
     $idOrigen = $this->IDTraspaso;
     // Crear la cabecera del parte
     $destino = new TraspasosCab();
     $destino->setIDSucursal($this->IDSucursal);
     $destino->setIDContador($this->IDContador);
     $destino->setIDEstado(0);
     $destino->setFechaOrden(date('d-m-Y'));
     $destino->setFechaEntrada('00-00-0000');
     $destino->setDescripcion($this->Descripcion);
     $destino->setIDAlmacenOrigen($this->IDAlmacenOrigen);
     $destino->setIDAlmacenDestino($this->IDAlmacenDestino);
     $idDestino = $destino->create();
     // Crear las lĂ­neas de parte
     if ($idDestino) {
         $linea = new TraspasosLineas();
         $rows = $linea->cargaCondicion("*", "IDTraspaso='{$idOrigen}'", "IDLinea ASC");
         unset($linea);
         foreach ($rows as $row) {
             $lineaDestino = new TraspasosLineas();
             $lineaDestino->setIDTraspaso($idDestino);
             $lineaDestino->setTipo($row['Tipo']);
             $lineaDestino->setIDArticulo($row['IDArticulo']);
             $lineaDestino->setDescripcion($row['Descripcion']);
             $lineaDestino->setUnidades($row['Unidades']);
             $lineaDestino->setIDAlmacen($row['IDAlmacen']);
             $lineaDestino->setPrecio($row['Precio']);
             $lineaDestino->setImporte($row['Importe']);
             $lineaDestino->create();
         }
         unset($lineaDestino);
     } else {
         $this->_errores[] = "Hubo un error al duplicar la orden de traspaso.";
     }
     return $idDestino;
 }