예제 #1
0
 /**
  * Hace una copia del pedido.
  * Genera otro pedido en base al actual.
  * IMPORTANTE: SE TOMAN LOS PRECIOS ACTUALES DE LOS ARTICULOS.
  *
  * @return integer El id del pedido generado
  */
 public function duplica()
 {
     $idOrigen = $this->Id;
     // Crear la cabecera del pedido
     $destino = $this;
     $destino->setId('');
     $destino->setIdEstado(0);
     $destino->setFecha(date('d-m-Y'));
     $destino->setFechaEntrega('00-00-0000');
     $destino->setSuPedido('');
     $destino->setReferencia('');
     $destino->setObservations('Duplicado del pedido n. ' . $idOrigen);
     $destino->setIncidencias('');
     $idDestino = $destino->create();
     // Crear las líneas de pedido
     $linea = new PedidosLineas();
     $rows = $linea->cargaCondicion("Id", "IdPedido='{$idOrigen}'", "Id ASC");
     unset($linea);
     foreach ($rows as $row) {
         $lineaDestino = new PedidosLineas($row['Id']);
         $lineaDestino->setId('');
         $lineaDestino->setIdPedido($idDestino);
         $lineaDestino->setPrimaryKeyMD5('');
         $lineaDestino->valida();
         // Toma los precios vigentes (tarifa, promociones, etc)
         $lineaDestino->create();
     }
     unset($lineaDestino);
     return $idDestino;
 }