<?php
/* Autor...: William L. Taype Perez */
/* Esquema.: COM_OrdenCompraCabecera.xml */
/* Generado: 2021-08-03 03:19:01 */

/* Mantenimiento de los registros de la tabla COM_OrdenCompraCabecera */
abstract class BaseCOM_OrdenCompraCabeceraDP extends COM_OrdenCompraCabeceraBV
{
    /* Constructor ( Establece los valores desde un objeto COM_OrdenCompraCabeceraBN ) */
    public function __construct( COM_OrdenCompraCabeceraBN $o_COM_OrdenCompraCabeceraBN = null )
    {
        parent::__construct();
        if ( !is_null( $o_COM_OrdenCompraCabeceraBN ) )
        {
            $this->setByBN( $o_COM_OrdenCompraCabeceraBN );
        }
    }

    public $b_Debug = false;

    public function getDebug()
    {
        if( SF_DEBUG )
        {
            $this->b_Debug = true;
        }
        return $this->b_Debug;
    }

    public function setDebug( $v )
    {
        $this->b_Debug = $v;
    }

    /* Establece los valores desde un objeto COM_OrdenCompraCabeceraBN */
    public function setByBN( COM_OrdenCompraCabeceraBN $o_COM_OrdenCompraCabeceraBN )
    {
        if ( !is_null( $o_COM_OrdenCompraCabeceraBN->getIdCompania() ) )
        {
            $this->setIdCompania( $o_COM_OrdenCompraCabeceraBN->getIdCompania() );
        }
        if ( !is_null( $o_COM_OrdenCompraCabeceraBN->getIdSucursal() ) )
        {
            $this->setIdSucursal( $o_COM_OrdenCompraCabeceraBN->getIdSucursal() );
        }
        if ( !is_null( $o_COM_OrdenCompraCabeceraBN->getIdOrdenCompra() ) )
        {
            $this->setIdOrdenCompra( $o_COM_OrdenCompraCabeceraBN->getIdOrdenCompra() );
        }
        if ( !is_null( $o_COM_OrdenCompraCabeceraBN->getTipoOrden() ) )
        {
            $this->setTipoOrden( $o_COM_OrdenCompraCabeceraBN->getTipoOrden() );
        }
        if ( !is_null( $o_COM_OrdenCompraCabeceraBN->getIdProyecto() ) )
        {
            $this->setIdProyecto( $o_COM_OrdenCompraCabeceraBN->getIdProyecto() );
        }
        if ( !is_null( $o_COM_OrdenCompraCabeceraBN->getProyectoNombre() ) )
        {
            $this->setProyectoNombre( $o_COM_OrdenCompraCabeceraBN->getProyectoNombre() );
        }
        if ( !is_null( $o_COM_OrdenCompraCabeceraBN->getIdProveedor() ) )
        {
            $this->setIdProveedor( $o_COM_OrdenCompraCabeceraBN->getIdProveedor() );
        }
        if ( !is_null( $o_COM_OrdenCompraCabeceraBN->getNombreProveedor() ) )
        {
            $this->setNombreProveedor( $o_COM_OrdenCompraCabeceraBN->getNombreProveedor() );
        }
        if ( !is_null( $o_COM_OrdenCompraCabeceraBN->getNumeroInterno() ) )
        {
            $this->setNumeroInterno( $o_COM_OrdenCompraCabeceraBN->getNumeroInterno() );
        }
        if ( !is_null( $o_COM_OrdenCompraCabeceraBN->getIdOrdenClasificacion() ) )
        {
            $this->setIdOrdenClasificacion( $o_COM_OrdenCompraCabeceraBN->getIdOrdenClasificacion() );
        }
        if ( !is_null( $o_COM_OrdenCompraCabeceraBN->getIdMoneda() ) )
        {
            $this->setIdMoneda( $o_COM_OrdenCompraCabeceraBN->getIdMoneda() );
        }
        if ( !is_null( $o_COM_OrdenCompraCabeceraBN->getIdMonedaPago() ) )
        {
            $this->setIdMonedaPago( $o_COM_OrdenCompraCabeceraBN->getIdMonedaPago() );
        }
        if ( !is_null( $o_COM_OrdenCompraCabeceraBN->getTerminoId() ) )
        {
            $this->setTerminoId( $o_COM_OrdenCompraCabeceraBN->getTerminoId() );
        }
        if ( !is_null( $o_COM_OrdenCompraCabeceraBN->getDescripcion() ) )
        {
            $this->setDescripcion( $o_COM_OrdenCompraCabeceraBN->getDescripcion() );
        }
        if ( !is_null( $o_COM_OrdenCompraCabeceraBN->getObservacion() ) )
        {
            $this->setObservacion( $o_COM_OrdenCompraCabeceraBN->getObservacion() );
        }
        if ( !is_null( $o_COM_OrdenCompraCabeceraBN->getObservacionEntrega() ) )
        {
            $this->setObservacionEntrega( $o_COM_OrdenCompraCabeceraBN->getObservacionEntrega() );
        }
        if ( !is_null( $o_COM_OrdenCompraCabeceraBN->getObservacionRechazo() ) )
        {
            $this->setObservacionRechazo( $o_COM_OrdenCompraCabeceraBN->getObservacionRechazo() );
        }
        if ( !is_null( $o_COM_OrdenCompraCabeceraBN->getAfectoIGV() ) )
        {
            $this->setAfectoIGV( $o_COM_OrdenCompraCabeceraBN->getAfectoIGV() );
        }
        if ( !is_null( $o_COM_OrdenCompraCabeceraBN->getMontoAfecto() ) )
        {
            $this->setMontoAfecto( $o_COM_OrdenCompraCabeceraBN->getMontoAfecto() );
        }
        if ( !is_null( $o_COM_OrdenCompraCabeceraBN->getMontoNoAfecto() ) )
        {
            $this->setMontoNoAfecto( $o_COM_OrdenCompraCabeceraBN->getMontoNoAfecto() );
        }
        if ( !is_null( $o_COM_OrdenCompraCabeceraBN->getMontoIGV() ) )
        {
            $this->setMontoIGV( $o_COM_OrdenCompraCabeceraBN->getMontoIGV() );
        }
        if ( !is_null( $o_COM_OrdenCompraCabeceraBN->getMontoBruto() ) )
        {
            $this->setMontoBruto( $o_COM_OrdenCompraCabeceraBN->getMontoBruto() );
        }
        if ( !is_null( $o_COM_OrdenCompraCabeceraBN->getMontoPendientePago() ) )
        {
            $this->setMontoPendientePago( $o_COM_OrdenCompraCabeceraBN->getMontoPendientePago() );
        }
        if ( !is_null( $o_COM_OrdenCompraCabeceraBN->getEstado() ) )
        {
            $this->setEstado( $o_COM_OrdenCompraCabeceraBN->getEstado() );
        }
        if ( !is_null( $o_COM_OrdenCompraCabeceraBN->getTipoCambio() ) )
        {
            $this->setTipoCambio( $o_COM_OrdenCompraCabeceraBN->getTipoCambio() );
        }
        if ( !is_null( $o_COM_OrdenCompraCabeceraBN->getFechaCreacion() ) )
        {
            $this->setFechaCreacion( $o_COM_OrdenCompraCabeceraBN->getFechaCreacion() );
        }
        if ( !is_null( $o_COM_OrdenCompraCabeceraBN->getUsuarioCreacion() ) )
        {
            $this->setUsuarioCreacion( $o_COM_OrdenCompraCabeceraBN->getUsuarioCreacion() );
        }
        if ( !is_null( $o_COM_OrdenCompraCabeceraBN->getFechaModificacion() ) )
        {
            $this->setFechaModificacion( $o_COM_OrdenCompraCabeceraBN->getFechaModificacion() );
        }
        if ( !is_null( $o_COM_OrdenCompraCabeceraBN->getUsuarioModificacion() ) )
        {
            $this->setUsuarioModificacion( $o_COM_OrdenCompraCabeceraBN->getUsuarioModificacion() );
        }
        if ( !is_null( $o_COM_OrdenCompraCabeceraBN->getIdAlmacenEntrega() ) )
        {
            $this->setIdAlmacenEntrega( $o_COM_OrdenCompraCabeceraBN->getIdAlmacenEntrega() );
        }
        if ( !is_null( $o_COM_OrdenCompraCabeceraBN->getFechaEntrega() ) )
        {
            $this->setFechaEntrega( $o_COM_OrdenCompraCabeceraBN->getFechaEntrega() );
        }
        if ( !is_null( $o_COM_OrdenCompraCabeceraBN->getIdAlmacenIngreso() ) )
        {
            $this->setIdAlmacenIngreso( $o_COM_OrdenCompraCabeceraBN->getIdAlmacenIngreso() );
        }
        if ( !is_null( $o_COM_OrdenCompraCabeceraBN->getPreparadoPor() ) )
        {
            $this->setPreparadoPor( $o_COM_OrdenCompraCabeceraBN->getPreparadoPor() );
        }
        if ( !is_null( $o_COM_OrdenCompraCabeceraBN->getFechaPreparacion() ) )
        {
            $this->setFechaPreparacion( $o_COM_OrdenCompraCabeceraBN->getFechaPreparacion() );
        }
        if ( !is_null( $o_COM_OrdenCompraCabeceraBN->getAprobadoPor() ) )
        {
            $this->setAprobadoPor( $o_COM_OrdenCompraCabeceraBN->getAprobadoPor() );
        }
        if ( !is_null( $o_COM_OrdenCompraCabeceraBN->getFechaAprobacion() ) )
        {
            $this->setFechaAprobacion( $o_COM_OrdenCompraCabeceraBN->getFechaAprobacion() );
        }
        if ( !is_null( $o_COM_OrdenCompraCabeceraBN->getRevisadoPor() ) )
        {
            $this->setRevisadoPor( $o_COM_OrdenCompraCabeceraBN->getRevisadoPor() );
        }
        if ( !is_null( $o_COM_OrdenCompraCabeceraBN->getFechaRevision() ) )
        {
            $this->setFechaRevision( $o_COM_OrdenCompraCabeceraBN->getFechaRevision() );
        }
        if ( !is_null( $o_COM_OrdenCompraCabeceraBN->getIdRequerimiento() ) )
        {
            $this->setIdRequerimiento( $o_COM_OrdenCompraCabeceraBN->getIdRequerimiento() );
        }
    }

    /* Graba un nuevo registro */
    public function save()
    {
        $this->validateRecord();
        $o_COM_OrdenCompraCabeceraFN = new COM_OrdenCompraCabeceraFN();
        $o_COM_OrdenCompraCabeceraBN = $o_COM_OrdenCompraCabeceraFN->selectByPk( $this->getIdCompania(), $this->getIdOrdenCompra() );
        if ( is_null( $o_COM_OrdenCompraCabeceraBN ) )
        {
            $s_SQLQuery1 = "INSERT INTO COM_OrdenCompraCabecera ( ";
            $s_SQLQuery2 = "VALUES ( ";
            $s_Separator = "";
            if ( !is_null( $this->getIdCompania() ) )
            {
                $s_SQLQuery1 .= $s_Separator."IdCompania";
                $s_SQLQuery2 .= $s_Separator."".$this->getIdCompania()."";
                $s_Separator = ", ";
            }
            if ( !is_null( $this->getIdSucursal() ) )
            {
                $s_SQLQuery1 .= $s_Separator."IdSucursal";
                $s_SQLQuery2 .= $s_Separator."".$this->getIdSucursal()."";
                $s_Separator = ", ";
            }
            if ( !is_null( $this->getIdOrdenCompra() ) )
            {
                $s_SQLQuery1 .= $s_Separator."IdOrdenCompra";
                $s_SQLQuery2 .= $s_Separator."".$this->getIdOrdenCompra()."";
                $s_Separator = ", ";
            }
            if ( !is_null( $this->getTipoOrden() ) )
            {
                $s_SQLQuery1 .= $s_Separator."TipoOrden";
                $s_SQLQuery2 .= $s_Separator."'".$this->getTipoOrden()."'";
                $s_Separator = ", ";
            }
            if ( !is_null( $this->getIdProyecto() ) )
            {
                $s_SQLQuery1 .= $s_Separator."IdProyecto";
                $s_SQLQuery2 .= $s_Separator."".$this->getIdProyecto()."";
                $s_Separator = ", ";
            }
            if ( !is_null( $this->getProyectoNombre() ) )
            {
                $s_SQLQuery1 .= $s_Separator."ProyectoNombre";
                $s_SQLQuery2 .= $s_Separator."'".$this->getProyectoNombre()."'";
                $s_Separator = ", ";
            }
            if ( !is_null( $this->getIdProveedor() ) )
            {
                $s_SQLQuery1 .= $s_Separator."IdProveedor";
                $s_SQLQuery2 .= $s_Separator."".$this->getIdProveedor()."";
                $s_Separator = ", ";
            }
            if ( !is_null( $this->getNombreProveedor() ) )
            {
                $s_SQLQuery1 .= $s_Separator."NombreProveedor";
                $s_SQLQuery2 .= $s_Separator."'".$this->getNombreProveedor()."'";
                $s_Separator = ", ";
            }
            if ( !is_null( $this->getNumeroInterno() ) )
            {
                $s_SQLQuery1 .= $s_Separator."NumeroInterno";
                $s_SQLQuery2 .= $s_Separator."'".$this->getNumeroInterno()."'";
                $s_Separator = ", ";
            }
            if ( !is_null( $this->getIdOrdenClasificacion() ) )
            {
                $s_SQLQuery1 .= $s_Separator."IdOrdenClasificacion";
                $s_SQLQuery2 .= $s_Separator."'".$this->getIdOrdenClasificacion()."'";
                $s_Separator = ", ";
            }
            if ( !is_null( $this->getIdMoneda() ) )
            {
                $s_SQLQuery1 .= $s_Separator."IdMoneda";
                $s_SQLQuery2 .= $s_Separator."'".$this->getIdMoneda()."'";
                $s_Separator = ", ";
            }
            if ( !is_null( $this->getIdMonedaPago() ) )
            {
                $s_SQLQuery1 .= $s_Separator."IdMonedaPago";
                $s_SQLQuery2 .= $s_Separator."'".$this->getIdMonedaPago()."'";
                $s_Separator = ", ";
            }
            if ( !is_null( $this->getTerminoId() ) )
            {
                $s_SQLQuery1 .= $s_Separator."TerminoId";
                $s_SQLQuery2 .= $s_Separator."".$this->getTerminoId()."";
                $s_Separator = ", ";
            }
            if ( !is_null( $this->getDescripcion() ) )
            {
                $s_SQLQuery1 .= $s_Separator."Descripcion";
                $s_SQLQuery2 .= $s_Separator."'".$this->getDescripcion()."'";
                $s_Separator = ", ";
            }
            if ( !is_null( $this->getObservacion() ) )
            {
                $s_SQLQuery1 .= $s_Separator."Observacion";
                $s_SQLQuery2 .= $s_Separator."'".$this->getObservacion()."'";
                $s_Separator = ", ";
            }
            if ( !is_null( $this->getObservacionEntrega() ) )
            {
                $s_SQLQuery1 .= $s_Separator."ObservacionEntrega";
                $s_SQLQuery2 .= $s_Separator."'".$this->getObservacionEntrega()."'";
                $s_Separator = ", ";
            }
            if ( !is_null( $this->getObservacionRechazo() ) )
            {
                $s_SQLQuery1 .= $s_Separator."ObservacionRechazo";
                $s_SQLQuery2 .= $s_Separator."'".$this->getObservacionRechazo()."'";
                $s_Separator = ", ";
            }
            if ( !is_null( $this->getAfectoIGV() ) )
            {
                $s_SQLQuery1 .= $s_Separator."AfectoIGV";
                $s_SQLQuery2 .= $s_Separator."".$this->getAfectoIGV()."";
                $s_Separator = ", ";
            }
            if ( !is_null( $this->getMontoAfecto() ) )
            {
                $s_SQLQuery1 .= $s_Separator."MontoAfecto";
                $s_SQLQuery2 .= $s_Separator."".$this->getMontoAfecto()."";
                $s_Separator = ", ";
            }
            if ( !is_null( $this->getMontoNoAfecto() ) )
            {
                $s_SQLQuery1 .= $s_Separator."MontoNoAfecto";
                $s_SQLQuery2 .= $s_Separator."".$this->getMontoNoAfecto()."";
                $s_Separator = ", ";
            }
            if ( !is_null( $this->getMontoIGV() ) )
            {
                $s_SQLQuery1 .= $s_Separator."MontoIGV";
                $s_SQLQuery2 .= $s_Separator."".$this->getMontoIGV()."";
                $s_Separator = ", ";
            }
            if ( !is_null( $this->getMontoBruto() ) )
            {
                $s_SQLQuery1 .= $s_Separator."MontoBruto";
                $s_SQLQuery2 .= $s_Separator."".$this->getMontoBruto()."";
                $s_Separator = ", ";
            }
            if ( !is_null( $this->getMontoPendientePago() ) )
            {
                $s_SQLQuery1 .= $s_Separator."MontoPendientePago";
                $s_SQLQuery2 .= $s_Separator."".$this->getMontoPendientePago()."";
                $s_Separator = ", ";
            }
            if ( !is_null( $this->getEstado() ) )
            {
                $s_SQLQuery1 .= $s_Separator."Estado";
                $s_SQLQuery2 .= $s_Separator."'".$this->getEstado()."'";
                $s_Separator = ", ";
            }
            if ( !is_null( $this->getTipoCambio() ) )
            {
                $s_SQLQuery1 .= $s_Separator."TipoCambio";
                $s_SQLQuery2 .= $s_Separator."".$this->getTipoCambio()."";
                $s_Separator = ", ";
            }
            if ( !is_null( $this->getFechaCreacion() ) )
            {
                $s_SQLQuery1 .= $s_Separator."FechaCreacion";
                $s_SQLQuery2 .= $s_Separator."'".$this->getFechaCreacion()."'";
                $s_Separator = ", ";
            }
            if ( !is_null( $this->getUsuarioCreacion() ) )
            {
                $s_SQLQuery1 .= $s_Separator."UsuarioCreacion";
                $s_SQLQuery2 .= $s_Separator."'".$this->getUsuarioCreacion()."'";
                $s_Separator = ", ";
            }
            if ( !is_null( $this->getFechaModificacion() ) )
            {
                $s_SQLQuery1 .= $s_Separator."FechaModificacion";
                $s_SQLQuery2 .= $s_Separator."'".$this->getFechaModificacion()."'";
                $s_Separator = ", ";
            }
            if ( !is_null( $this->getUsuarioModificacion() ) )
            {
                $s_SQLQuery1 .= $s_Separator."UsuarioModificacion";
                $s_SQLQuery2 .= $s_Separator."'".$this->getUsuarioModificacion()."'";
                $s_Separator = ", ";
            }
            if ( !is_null( $this->getIdAlmacenEntrega() ) )
            {
                $s_SQLQuery1 .= $s_Separator."IdAlmacenEntrega";
                $s_SQLQuery2 .= $s_Separator."'".$this->getIdAlmacenEntrega()."'";
                $s_Separator = ", ";
            }
            if ( !is_null( $this->getFechaEntrega() ) )
            {
                $s_SQLQuery1 .= $s_Separator."FechaEntrega";
                $s_SQLQuery2 .= $s_Separator."'".$this->getFechaEntrega()."'";
                $s_Separator = ", ";
            }
            if ( !is_null( $this->getIdAlmacenIngreso() ) )
            {
                $s_SQLQuery1 .= $s_Separator."IdAlmacenIngreso";
                $s_SQLQuery2 .= $s_Separator."'".$this->getIdAlmacenIngreso()."'";
                $s_Separator = ", ";
            }
            if ( !is_null( $this->getPreparadoPor() ) )
            {
                $s_SQLQuery1 .= $s_Separator."PreparadoPor";
                $s_SQLQuery2 .= $s_Separator."'".$this->getPreparadoPor()."'";
                $s_Separator = ", ";
            }
            if ( !is_null( $this->getFechaPreparacion() ) )
            {
                $s_SQLQuery1 .= $s_Separator."FechaPreparacion";
                $s_SQLQuery2 .= $s_Separator."'".$this->getFechaPreparacion()."'";
                $s_Separator = ", ";
            }
            if ( !is_null( $this->getAprobadoPor() ) )
            {
                $s_SQLQuery1 .= $s_Separator."AprobadoPor";
                $s_SQLQuery2 .= $s_Separator."'".$this->getAprobadoPor()."'";
                $s_Separator = ", ";
            }
            if ( !is_null( $this->getFechaAprobacion() ) )
            {
                $s_SQLQuery1 .= $s_Separator."FechaAprobacion";
                $s_SQLQuery2 .= $s_Separator."'".$this->getFechaAprobacion()."'";
                $s_Separator = ", ";
            }
            if ( !is_null( $this->getRevisadoPor() ) )
            {
                $s_SQLQuery1 .= $s_Separator."RevisadoPor";
                $s_SQLQuery2 .= $s_Separator."'".$this->getRevisadoPor()."'";
                $s_Separator = ", ";
            }
            if ( !is_null( $this->getFechaRevision() ) )
            {
                $s_SQLQuery1 .= $s_Separator."FechaRevision";
                $s_SQLQuery2 .= $s_Separator."'".$this->getFechaRevision()."'";
                $s_Separator = ", ";
            }
            if ( !is_null( $this->getIdRequerimiento() ) )
            {
                $s_SQLQuery1 .= $s_Separator."IdRequerimiento";
                $s_SQLQuery2 .= $s_Separator."".$this->getIdRequerimiento()."";
                $s_Separator = ", ";
            }
            $s_SQLQuery = $s_SQLQuery1." ) ".$s_SQLQuery2." );";
            if( $this->getDebug() ){ pr( $s_SQLQuery ); }
            $o_Resource = Conexion::getConexion();
            $o_Statement = $o_Resource->createStatement();
            $o_Statement->executeQuery( $s_SQLQuery );
        }
        else
        {
            throw new Exception( "El id ya esta registrado." );
        }
        return true;
    }

    /* Actualiza los datos del registro */
    public function update()
    {
        $this->validateRecord();
        if ( true )
        {
            $s_SQLQuery = "UPDATE COM_OrdenCompraCabecera SET ";
            $s_Separator = "";
            if ( !is_null( $this->getIdSucursal() ) )
            {
                $s_SQLQuery .= $s_Separator."IdSucursal = ".$this->getIdSucursal()."";
                $s_Separator = ", ";
            }
            if ( !is_null( $this->getTipoOrden() ) )
            {
                $s_SQLQuery .= $s_Separator."TipoOrden = '".$this->getTipoOrden()."'";
                $s_Separator = ", ";
            }
            if ( !is_null( $this->getIdProyecto() ) )
            {
                $s_SQLQuery .= $s_Separator."IdProyecto = ".$this->getIdProyecto()."";
                $s_Separator = ", ";
            }
            if ( !is_null( $this->getProyectoNombre() ) )
            {
                $s_SQLQuery .= $s_Separator."ProyectoNombre = '".$this->getProyectoNombre()."'";
                $s_Separator = ", ";
            }
            if ( !is_null( $this->getIdProveedor() ) )
            {
                $s_SQLQuery .= $s_Separator."IdProveedor = ".$this->getIdProveedor()."";
                $s_Separator = ", ";
            }
            if ( !is_null( $this->getNombreProveedor() ) )
            {
                $s_SQLQuery .= $s_Separator."NombreProveedor = '".$this->getNombreProveedor()."'";
                $s_Separator = ", ";
            }
            if ( !is_null( $this->getNumeroInterno() ) )
            {
                $s_SQLQuery .= $s_Separator."NumeroInterno = '".$this->getNumeroInterno()."'";
                $s_Separator = ", ";
            }
            if ( !is_null( $this->getIdOrdenClasificacion() ) )
            {
                $s_SQLQuery .= $s_Separator."IdOrdenClasificacion = '".$this->getIdOrdenClasificacion()."'";
                $s_Separator = ", ";
            }
            if ( !is_null( $this->getIdMoneda() ) )
            {
                $s_SQLQuery .= $s_Separator."IdMoneda = '".$this->getIdMoneda()."'";
                $s_Separator = ", ";
            }
            if ( !is_null( $this->getIdMonedaPago() ) )
            {
                $s_SQLQuery .= $s_Separator."IdMonedaPago = '".$this->getIdMonedaPago()."'";
                $s_Separator = ", ";
            }
            if ( !is_null( $this->getTerminoId() ) )
            {
                $s_SQLQuery .= $s_Separator."TerminoId = ".$this->getTerminoId()."";
                $s_Separator = ", ";
            }
            if ( !is_null( $this->getDescripcion() ) )
            {
                $s_SQLQuery .= $s_Separator."Descripcion = '".$this->getDescripcion()."'";
                $s_Separator = ", ";
            }
            if ( !is_null( $this->getObservacion() ) )
            {
                $s_SQLQuery .= $s_Separator."Observacion = '".$this->getObservacion()."'";
                $s_Separator = ", ";
            }
            if ( !is_null( $this->getObservacionEntrega() ) )
            {
                $s_SQLQuery .= $s_Separator."ObservacionEntrega = '".$this->getObservacionEntrega()."'";
                $s_Separator = ", ";
            }
            if ( !is_null( $this->getObservacionRechazo() ) )
            {
                $s_SQLQuery .= $s_Separator."ObservacionRechazo = '".$this->getObservacionRechazo()."'";
                $s_Separator = ", ";
            }
            if ( !is_null( $this->getAfectoIGV() ) )
            {
                $s_SQLQuery .= $s_Separator."AfectoIGV = ".$this->getAfectoIGV()."";
                $s_Separator = ", ";
            }
            if ( !is_null( $this->getMontoAfecto() ) )
            {
                $s_SQLQuery .= $s_Separator."MontoAfecto = ".$this->getMontoAfecto()."";
                $s_Separator = ", ";
            }
            if ( !is_null( $this->getMontoNoAfecto() ) )
            {
                $s_SQLQuery .= $s_Separator."MontoNoAfecto = ".$this->getMontoNoAfecto()."";
                $s_Separator = ", ";
            }
            if ( !is_null( $this->getMontoIGV() ) )
            {
                $s_SQLQuery .= $s_Separator."MontoIGV = ".$this->getMontoIGV()."";
                $s_Separator = ", ";
            }
            if ( !is_null( $this->getMontoBruto() ) )
            {
                $s_SQLQuery .= $s_Separator."MontoBruto = ".$this->getMontoBruto()."";
                $s_Separator = ", ";
            }
            if ( !is_null( $this->getMontoPendientePago() ) )
            {
                $s_SQLQuery .= $s_Separator."MontoPendientePago = ".$this->getMontoPendientePago()."";
                $s_Separator = ", ";
            }
            if ( !is_null( $this->getEstado() ) )
            {
                $s_SQLQuery .= $s_Separator."Estado = '".$this->getEstado()."'";
                $s_Separator = ", ";
            }
            if ( !is_null( $this->getTipoCambio() ) )
            {
                $s_SQLQuery .= $s_Separator."TipoCambio = ".$this->getTipoCambio()."";
                $s_Separator = ", ";
            }
            if ( !is_null( $this->getFechaCreacion() ) )
            {
                $s_SQLQuery .= $s_Separator."FechaCreacion = '".$this->getFechaCreacion()."'";
                $s_Separator = ", ";
            }
            if ( !is_null( $this->getUsuarioCreacion() ) )
            {
                $s_SQLQuery .= $s_Separator."UsuarioCreacion = '".$this->getUsuarioCreacion()."'";
                $s_Separator = ", ";
            }
            if ( !is_null( $this->getFechaModificacion() ) )
            {
                $s_SQLQuery .= $s_Separator."FechaModificacion = '".$this->getFechaModificacion()."'";
                $s_Separator = ", ";
            }
            if ( !is_null( $this->getUsuarioModificacion() ) )
            {
                $s_SQLQuery .= $s_Separator."UsuarioModificacion = '".$this->getUsuarioModificacion()."'";
                $s_Separator = ", ";
            }
            if ( !is_null( $this->getIdAlmacenEntrega() ) )
            {
                $s_SQLQuery .= $s_Separator."IdAlmacenEntrega = '".$this->getIdAlmacenEntrega()."'";
                $s_Separator = ", ";
            }
            if ( !is_null( $this->getFechaEntrega() ) )
            {
                $s_SQLQuery .= $s_Separator."FechaEntrega = '".$this->getFechaEntrega()."'";
                $s_Separator = ", ";
            }
            if ( !is_null( $this->getIdAlmacenIngreso() ) )
            {
                $s_SQLQuery .= $s_Separator."IdAlmacenIngreso = '".$this->getIdAlmacenIngreso()."'";
                $s_Separator = ", ";
            }
            if ( !is_null( $this->getPreparadoPor() ) )
            {
                $s_SQLQuery .= $s_Separator."PreparadoPor = '".$this->getPreparadoPor()."'";
                $s_Separator = ", ";
            }
            if ( !is_null( $this->getFechaPreparacion() ) )
            {
                $s_SQLQuery .= $s_Separator."FechaPreparacion = '".$this->getFechaPreparacion()."'";
                $s_Separator = ", ";
            }
            if ( !is_null( $this->getAprobadoPor() ) )
            {
                $s_SQLQuery .= $s_Separator."AprobadoPor = '".$this->getAprobadoPor()."'";
                $s_Separator = ", ";
            }
            if ( !is_null( $this->getFechaAprobacion() ) )
            {
                $s_SQLQuery .= $s_Separator."FechaAprobacion = '".$this->getFechaAprobacion()."'";
                $s_Separator = ", ";
            }
            if ( !is_null( $this->getRevisadoPor() ) )
            {
                $s_SQLQuery .= $s_Separator."RevisadoPor = '".$this->getRevisadoPor()."'";
                $s_Separator = ", ";
            }
            if ( !is_null( $this->getFechaRevision() ) )
            {
                $s_SQLQuery .= $s_Separator."FechaRevision = '".$this->getFechaRevision()."'";
                $s_Separator = ", ";
            }
            if ( !is_null( $this->getIdRequerimiento() ) )
            {
                $s_SQLQuery .= $s_Separator."IdRequerimiento = ".$this->getIdRequerimiento()."";
                $s_Separator = ", ";
            }
            $s_SQLQuery .= " WHERE  IdCompania = ".$this->getIdCompania()." AND  IdOrdenCompra = ".$this->getIdOrdenCompra().";";
            if( $this->getDebug() ){ pr( $s_SQLQuery ); }

            $o_Resource = Conexion::getConexion();
            $o_Statement = $o_Resource->createStatement();
            $o_Statement->executeQuery( $s_SQLQuery );
        }
        else
        {
            throw new Exception( "El id no esta registrado." );
        }
        return true;
    }

    /* Elimina el registro */
    public function delete()
    {
        $s_SQLQuery = "DELETE FROM COM_OrdenCompraCabecera WHERE  IdCompania = ".$this->getIdCompania()." AND  IdOrdenCompra = ".$this->getIdOrdenCompra().";";
        if( $this->getDebug() ){ pr( $s_SQLQuery ); }
        $o_Resource = Conexion::getConexion();
        $o_Statement = $o_Resource->createStatement();
        $o_Statement->executeQuery( $s_SQLQuery );
        return true;
    }

}
?>