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