/** * Hace una copia del presupuesto. * Genera otro presupuesto en base al actual. * IMPORTANTE: SE TOMAN LOS PRECIOS ACTUALES DE LOS ARTICULOS. * * @return integer El id del presupuesto generado */ public function duplica() { $idOrigen = $this->IDPsto; // Crear la cabecera del presupuesto $destino = $this; $destino->setIDPsto(''); $destino->setIDAgente($_SESSION['usuarioPortal']['Id']); $destino->setIDEstado(0); $destino->setFecha(date('d-m-Y')); $destino->setFechaAceptacion('00-00-0000'); $destino->setIDAlbaran(0); $destino->setObservaciones('Proviene del Psto n. ' . $idOrigen); $destino->setPrimaryKeyMD5(''); $idDestino = $destino->create(); // Crear las líneas de presupuesto if ($idDestino) { $linea = new PstoLineas(); $rows = $linea->cargaCondicion("IDLinea", "IDPsto='{$idOrigen}'", "IDLinea ASC"); unset($linea); foreach ($rows as $row) { $lineaDestino = new PstoLineas($row['IDLinea']); $lineaDestino->setIDPsto($idDestino); $lineaDestino->setIDAgente($_SESSION['usuarioPortal']['Id']); $lineaDestino->setIDEstado(0); $lineaDestino->setPrimaryKeyMD5(''); $lineaDestino->valida(); // Toma los precios vigentes (tarifa, promociones, etc) $lineaDestino->create(); } unset($lineaDestino); } else { $this->_errores[] = "Hubo un error al duplicar el presupuesto. Revise los contadores."; } return $idDestino; }