<?php
/* Autor...: William L. Taype Perez */
/* Esquema.: VTA_DocumentoDetalle.xml */
/* Generado: 2022-02-07 05:21:29 */

/* Mantenimiento de los registros de la tabla VTA_DocumentoDetalle */
abstract class BaseVTA_DocumentoDetalleDP extends VTA_DocumentoDetalleBV
{
    /* Constructor ( Establece los valores desde un objeto VTA_DocumentoDetalleBN ) */
    public function __construct( VTA_DocumentoDetalleBN $o_VTA_DocumentoDetalleBN = null )
    {
        parent::__construct();
        if ( !is_null( $o_VTA_DocumentoDetalleBN ) )
        {
            $this->setByBN( $o_VTA_DocumentoDetalleBN );
        }
    }

    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 VTA_DocumentoDetalleBN */
    public function setByBN( VTA_DocumentoDetalleBN $o_VTA_DocumentoDetalleBN )
    {
        if ( !is_null( $o_VTA_DocumentoDetalleBN->getIdTipoDocumento() ) )
        {
            $this->setIdTipoDocumento( $o_VTA_DocumentoDetalleBN->getIdTipoDocumento() );
        }
        if ( !is_null( $o_VTA_DocumentoDetalleBN->getIdCompania() ) )
        {
            $this->setIdCompania( $o_VTA_DocumentoDetalleBN->getIdCompania() );
        }
        if ( !is_null( $o_VTA_DocumentoDetalleBN->getNumeroDocumento() ) )
        {
            $this->setNumeroDocumento( $o_VTA_DocumentoDetalleBN->getNumeroDocumento() );
        }
        if ( !is_null( $o_VTA_DocumentoDetalleBN->getSecuencia() ) )
        {
            $this->setSecuencia( $o_VTA_DocumentoDetalleBN->getSecuencia() );
        }
        if ( !is_null( $o_VTA_DocumentoDetalleBN->getTipoDetalle() ) )
        {
            $this->setTipoDetalle( $o_VTA_DocumentoDetalleBN->getTipoDetalle() );
        }
        if ( !is_null( $o_VTA_DocumentoDetalleBN->getItemCodigo() ) )
        {
            $this->setItemCodigo( $o_VTA_DocumentoDetalleBN->getItemCodigo() );
        }
        if ( !is_null( $o_VTA_DocumentoDetalleBN->getLote() ) )
        {
            $this->setLote( $o_VTA_DocumentoDetalleBN->getLote() );
        }
        if ( !is_null( $o_VTA_DocumentoDetalleBN->getLoteAlias() ) )
        {
            $this->setLoteAlias( $o_VTA_DocumentoDetalleBN->getLoteAlias() );
        }
        if ( !is_null( $o_VTA_DocumentoDetalleBN->getFechaVencimiento() ) )
        {
            $this->setFechaVencimiento( $o_VTA_DocumentoDetalleBN->getFechaVencimiento() );
        }
        if ( !is_null( $o_VTA_DocumentoDetalleBN->getIdItemTipo() ) )
        {
            $this->setIdItemTipo( $o_VTA_DocumentoDetalleBN->getIdItemTipo() );
        }
        if ( !is_null( $o_VTA_DocumentoDetalleBN->getIdUnidad() ) )
        {
            $this->setIdUnidad( $o_VTA_DocumentoDetalleBN->getIdUnidad() );
        }
        if ( !is_null( $o_VTA_DocumentoDetalleBN->getCondicion() ) )
        {
            $this->setCondicion( $o_VTA_DocumentoDetalleBN->getCondicion() );
        }
        if ( !is_null( $o_VTA_DocumentoDetalleBN->getIdTipoPrecio() ) )
        {
            $this->setIdTipoPrecio( $o_VTA_DocumentoDetalleBN->getIdTipoPrecio() );
        }
        if ( !is_null( $o_VTA_DocumentoDetalleBN->getCodigoProductoSunat() ) )
        {
            $this->setCodigoProductoSunat( $o_VTA_DocumentoDetalleBN->getCodigoProductoSunat() );
        }
        if ( !is_null( $o_VTA_DocumentoDetalleBN->getDescripcion() ) )
        {
            $this->setDescripcion( $o_VTA_DocumentoDetalleBN->getDescripcion() );
        }
        if ( !is_null( $o_VTA_DocumentoDetalleBN->getCantidadPedida() ) )
        {
            $this->setCantidadPedida( $o_VTA_DocumentoDetalleBN->getCantidadPedida() );
        }
        if ( !is_null( $o_VTA_DocumentoDetalleBN->getCantidadRecibida() ) )
        {
            $this->setCantidadRecibida( $o_VTA_DocumentoDetalleBN->getCantidadRecibida() );
        }
        if ( !is_null( $o_VTA_DocumentoDetalleBN->getCostoUnitarioProm() ) )
        {
            $this->setCostoUnitarioProm( $o_VTA_DocumentoDetalleBN->getCostoUnitarioProm() );
        }
        if ( !is_null( $o_VTA_DocumentoDetalleBN->getCostoUnitarioMN() ) )
        {
            $this->setCostoUnitarioMN( $o_VTA_DocumentoDetalleBN->getCostoUnitarioMN() );
        }
        if ( !is_null( $o_VTA_DocumentoDetalleBN->getPrecioUnitarioMN() ) )
        {
            $this->setPrecioUnitarioMN( $o_VTA_DocumentoDetalleBN->getPrecioUnitarioMN() );
        }
        if ( !is_null( $o_VTA_DocumentoDetalleBN->getPrecioUnitario() ) )
        {
            $this->setPrecioUnitario( $o_VTA_DocumentoDetalleBN->getPrecioUnitario() );
        }
        if ( !is_null( $o_VTA_DocumentoDetalleBN->getMontoDescuentoMN() ) )
        {
            $this->setMontoDescuentoMN( $o_VTA_DocumentoDetalleBN->getMontoDescuentoMN() );
        }
        if ( !is_null( $o_VTA_DocumentoDetalleBN->getMontoDescuento() ) )
        {
            $this->setMontoDescuento( $o_VTA_DocumentoDetalleBN->getMontoDescuento() );
        }
        if ( !is_null( $o_VTA_DocumentoDetalleBN->getMontoImpuestoUnidad() ) )
        {
            $this->setMontoImpuestoUnidad( $o_VTA_DocumentoDetalleBN->getMontoImpuestoUnidad() );
        }
        if ( !is_null( $o_VTA_DocumentoDetalleBN->getMontoImpuestoUnidadMN() ) )
        {
            $this->setMontoImpuestoUnidadMN( $o_VTA_DocumentoDetalleBN->getMontoImpuestoUnidadMN() );
        }
        if ( !is_null( $o_VTA_DocumentoDetalleBN->getMontoIncImpuestoUnidad() ) )
        {
            $this->setMontoIncImpuestoUnidad( $o_VTA_DocumentoDetalleBN->getMontoIncImpuestoUnidad() );
        }
        if ( !is_null( $o_VTA_DocumentoDetalleBN->getMontoIncImpuestoUnidadMN() ) )
        {
            $this->setMontoIncImpuestoUnidadMN( $o_VTA_DocumentoDetalleBN->getMontoIncImpuestoUnidadMN() );
        }
        if ( !is_null( $o_VTA_DocumentoDetalleBN->getMontoSubTotal() ) )
        {
            $this->setMontoSubTotal( $o_VTA_DocumentoDetalleBN->getMontoSubTotal() );
        }
        if ( !is_null( $o_VTA_DocumentoDetalleBN->getMontoSubTotalMN() ) )
        {
            $this->setMontoSubTotalMN( $o_VTA_DocumentoDetalleBN->getMontoSubTotalMN() );
        }
        if ( !is_null( $o_VTA_DocumentoDetalleBN->getMontoSubTotalImpuesto() ) )
        {
            $this->setMontoSubTotalImpuesto( $o_VTA_DocumentoDetalleBN->getMontoSubTotalImpuesto() );
        }
        if ( !is_null( $o_VTA_DocumentoDetalleBN->getMontoSubTotalImpuestoMN() ) )
        {
            $this->setMontoSubTotalImpuestoMN( $o_VTA_DocumentoDetalleBN->getMontoSubTotalImpuestoMN() );
        }
        if ( !is_null( $o_VTA_DocumentoDetalleBN->getMontoTotalNeto() ) )
        {
            $this->setMontoTotalNeto( $o_VTA_DocumentoDetalleBN->getMontoTotalNeto() );
        }
        if ( !is_null( $o_VTA_DocumentoDetalleBN->getMontoTotalNetoMN() ) )
        {
            $this->setMontoTotalNetoMN( $o_VTA_DocumentoDetalleBN->getMontoTotalNetoMN() );
        }
        if ( !is_null( $o_VTA_DocumentoDetalleBN->getIGVExoneradoFlag() ) )
        {
            $this->setIGVExoneradoFlag( $o_VTA_DocumentoDetalleBN->getIGVExoneradoFlag() );
        }
        if ( !is_null( $o_VTA_DocumentoDetalleBN->getTipoIGV() ) )
        {
            $this->setTipoIGV( $o_VTA_DocumentoDetalleBN->getTipoIGV() );
        }
        if ( !is_null( $o_VTA_DocumentoDetalleBN->getPorcentajeImpuesto() ) )
        {
            $this->setPorcentajeImpuesto( $o_VTA_DocumentoDetalleBN->getPorcentajeImpuesto() );
        }
        if ( !is_null( $o_VTA_DocumentoDetalleBN->getAlmacenCodigo() ) )
        {
            $this->setAlmacenCodigo( $o_VTA_DocumentoDetalleBN->getAlmacenCodigo() );
        }
        if ( !is_null( $o_VTA_DocumentoDetalleBN->getNumeroPromocion() ) )
        {
            $this->setNumeroPromocion( $o_VTA_DocumentoDetalleBN->getNumeroPromocion() );
        }
        if ( !is_null( $o_VTA_DocumentoDetalleBN->getRefParent() ) )
        {
            $this->setRefParent( $o_VTA_DocumentoDetalleBN->getRefParent() );
        }
        if ( !is_null( $o_VTA_DocumentoDetalleBN->getRefTipoParent() ) )
        {
            $this->setRefTipoParent( $o_VTA_DocumentoDetalleBN->getRefTipoParent() );
        }
        if ( !is_null( $o_VTA_DocumentoDetalleBN->getEstado() ) )
        {
            $this->setEstado( $o_VTA_DocumentoDetalleBN->getEstado() );
        }
        if ( !is_null( $o_VTA_DocumentoDetalleBN->getCentroCosto() ) )
        {
            $this->setCentroCosto( $o_VTA_DocumentoDetalleBN->getCentroCosto() );
        }
        if ( !is_null( $o_VTA_DocumentoDetalleBN->getUsuarioModificacion() ) )
        {
            $this->setUsuarioModificacion( $o_VTA_DocumentoDetalleBN->getUsuarioModificacion() );
        }
        if ( !is_null( $o_VTA_DocumentoDetalleBN->getFechaModificacion() ) )
        {
            $this->setFechaModificacion( $o_VTA_DocumentoDetalleBN->getFechaModificacion() );
        }
        if ( !is_null( $o_VTA_DocumentoDetalleBN->getUsuarioCreacion() ) )
        {
            $this->setUsuarioCreacion( $o_VTA_DocumentoDetalleBN->getUsuarioCreacion() );
        }
        if ( !is_null( $o_VTA_DocumentoDetalleBN->getFechaCreacion() ) )
        {
            $this->setFechaCreacion( $o_VTA_DocumentoDetalleBN->getFechaCreacion() );
        }
    }

    /* Graba un nuevo registro */
    public function save()
    {
        $this->validateRecord();
        $o_VTA_DocumentoDetalleFN = new VTA_DocumentoDetalleFN();
        $o_VTA_DocumentoDetalleBN = $o_VTA_DocumentoDetalleFN->selectByPk( $this->getIdTipoDocumento(), $this->getIdCompania(), $this->getNumeroDocumento(), $this->getSecuencia() );
        if ( is_null( $o_VTA_DocumentoDetalleBN ) )
        {
            $s_SQLQuery1 = "INSERT INTO VTA_DocumentoDetalle ( ";
            $s_SQLQuery2 = "VALUES ( ";
            $s_Separator = "";
            if ( !is_null( $this->getIdTipoDocumento() ) )
            {
                $s_SQLQuery1 .= $s_Separator."IdTipoDocumento";
                $s_SQLQuery2 .= $s_Separator."'".$this->getIdTipoDocumento()."'";
                $s_Separator = ", ";
            }
            if ( !is_null( $this->getIdCompania() ) )
            {
                $s_SQLQuery1 .= $s_Separator."IdCompania";
                $s_SQLQuery2 .= $s_Separator."".$this->getIdCompania()."";
                $s_Separator = ", ";
            }
            if ( !is_null( $this->getNumeroDocumento() ) )
            {
                $s_SQLQuery1 .= $s_Separator."NumeroDocumento";
                $s_SQLQuery2 .= $s_Separator."'".$this->getNumeroDocumento()."'";
                $s_Separator = ", ";
            }
            if ( !is_null( $this->getSecuencia() ) )
            {
                $s_SQLQuery1 .= $s_Separator."Secuencia";
                $s_SQLQuery2 .= $s_Separator."".$this->getSecuencia()."";
                $s_Separator = ", ";
            }
            if ( !is_null( $this->getTipoDetalle() ) )
            {
                $s_SQLQuery1 .= $s_Separator."TipoDetalle";
                $s_SQLQuery2 .= $s_Separator."'".$this->getTipoDetalle()."'";
                $s_Separator = ", ";
            }
            if ( !is_null( $this->getItemCodigo() ) )
            {
                $s_SQLQuery1 .= $s_Separator."ItemCodigo";
                $s_SQLQuery2 .= $s_Separator."'".$this->getItemCodigo()."'";
                $s_Separator = ", ";
            }
            if ( !is_null( $this->getLote() ) )
            {
                $s_SQLQuery1 .= $s_Separator."Lote";
                $s_SQLQuery2 .= $s_Separator."'".$this->getLote()."'";
                $s_Separator = ", ";
            }
            if ( !is_null( $this->getLoteAlias() ) )
            {
                $s_SQLQuery1 .= $s_Separator."LoteAlias";
                $s_SQLQuery2 .= $s_Separator."'".$this->getLoteAlias()."'";
                $s_Separator = ", ";
            }
            if ( !is_null( $this->getFechaVencimiento() ) )
            {
                $s_SQLQuery1 .= $s_Separator."FechaVencimiento";
                $s_SQLQuery2 .= $s_Separator."'".$this->getFechaVencimiento()."'";
                $s_Separator = ", ";
            }
            if ( !is_null( $this->getIdItemTipo() ) )
            {
                $s_SQLQuery1 .= $s_Separator."IdItemTipo";
                $s_SQLQuery2 .= $s_Separator."'".$this->getIdItemTipo()."'";
                $s_Separator = ", ";
            }
            if ( !is_null( $this->getIdUnidad() ) )
            {
                $s_SQLQuery1 .= $s_Separator."IdUnidad";
                $s_SQLQuery2 .= $s_Separator."".$this->getIdUnidad()."";
                $s_Separator = ", ";
            }
            if ( !is_null( $this->getCondicion() ) )
            {
                $s_SQLQuery1 .= $s_Separator."Condicion";
                $s_SQLQuery2 .= $s_Separator."'".$this->getCondicion()."'";
                $s_Separator = ", ";
            }
            if ( !is_null( $this->getIdTipoPrecio() ) )
            {
                $s_SQLQuery1 .= $s_Separator."IdTipoPrecio";
                $s_SQLQuery2 .= $s_Separator."'".$this->getIdTipoPrecio()."'";
                $s_Separator = ", ";
            }
            if ( !is_null( $this->getCodigoProductoSunat() ) )
            {
                $s_SQLQuery1 .= $s_Separator."CodigoProductoSunat";
                $s_SQLQuery2 .= $s_Separator."'".$this->getCodigoProductoSunat()."'";
                $s_Separator = ", ";
            }
            if ( !is_null( $this->getDescripcion() ) )
            {
                $s_SQLQuery1 .= $s_Separator."Descripcion";
                $s_SQLQuery2 .= $s_Separator."'".$this->getDescripcion()."'";
                $s_Separator = ", ";
            }
            if ( !is_null( $this->getCantidadPedida() ) )
            {
                $s_SQLQuery1 .= $s_Separator."CantidadPedida";
                $s_SQLQuery2 .= $s_Separator."".$this->getCantidadPedida()."";
                $s_Separator = ", ";
            }
            if ( !is_null( $this->getCantidadRecibida() ) )
            {
                $s_SQLQuery1 .= $s_Separator."CantidadRecibida";
                $s_SQLQuery2 .= $s_Separator."".$this->getCantidadRecibida()."";
                $s_Separator = ", ";
            }
            if ( !is_null( $this->getCostoUnitarioProm() ) )
            {
                $s_SQLQuery1 .= $s_Separator."CostoUnitarioProm";
                $s_SQLQuery2 .= $s_Separator."".$this->getCostoUnitarioProm()."";
                $s_Separator = ", ";
            }
            if ( !is_null( $this->getCostoUnitarioMN() ) )
            {
                $s_SQLQuery1 .= $s_Separator."CostoUnitarioMN";
                $s_SQLQuery2 .= $s_Separator."".$this->getCostoUnitarioMN()."";
                $s_Separator = ", ";
            }
            if ( !is_null( $this->getPrecioUnitarioMN() ) )
            {
                $s_SQLQuery1 .= $s_Separator."PrecioUnitarioMN";
                $s_SQLQuery2 .= $s_Separator."".$this->getPrecioUnitarioMN()."";
                $s_Separator = ", ";
            }
            if ( !is_null( $this->getPrecioUnitario() ) )
            {
                $s_SQLQuery1 .= $s_Separator."PrecioUnitario";
                $s_SQLQuery2 .= $s_Separator."".$this->getPrecioUnitario()."";
                $s_Separator = ", ";
            }
            if ( !is_null( $this->getMontoDescuentoMN() ) )
            {
                $s_SQLQuery1 .= $s_Separator."MontoDescuentoMN";
                $s_SQLQuery2 .= $s_Separator."".$this->getMontoDescuentoMN()."";
                $s_Separator = ", ";
            }
            if ( !is_null( $this->getMontoDescuento() ) )
            {
                $s_SQLQuery1 .= $s_Separator."MontoDescuento";
                $s_SQLQuery2 .= $s_Separator."".$this->getMontoDescuento()."";
                $s_Separator = ", ";
            }
            if ( !is_null( $this->getMontoImpuestoUnidad() ) )
            {
                $s_SQLQuery1 .= $s_Separator."MontoImpuestoUnidad";
                $s_SQLQuery2 .= $s_Separator."".$this->getMontoImpuestoUnidad()."";
                $s_Separator = ", ";
            }
            if ( !is_null( $this->getMontoImpuestoUnidadMN() ) )
            {
                $s_SQLQuery1 .= $s_Separator."MontoImpuestoUnidadMN";
                $s_SQLQuery2 .= $s_Separator."".$this->getMontoImpuestoUnidadMN()."";
                $s_Separator = ", ";
            }
            if ( !is_null( $this->getMontoIncImpuestoUnidad() ) )
            {
                $s_SQLQuery1 .= $s_Separator."MontoIncImpuestoUnidad";
                $s_SQLQuery2 .= $s_Separator."".$this->getMontoIncImpuestoUnidad()."";
                $s_Separator = ", ";
            }
            if ( !is_null( $this->getMontoIncImpuestoUnidadMN() ) )
            {
                $s_SQLQuery1 .= $s_Separator."MontoIncImpuestoUnidadMN";
                $s_SQLQuery2 .= $s_Separator."".$this->getMontoIncImpuestoUnidadMN()."";
                $s_Separator = ", ";
            }
            if ( !is_null( $this->getMontoSubTotal() ) )
            {
                $s_SQLQuery1 .= $s_Separator."MontoSubTotal";
                $s_SQLQuery2 .= $s_Separator."".$this->getMontoSubTotal()."";
                $s_Separator = ", ";
            }
            if ( !is_null( $this->getMontoSubTotalMN() ) )
            {
                $s_SQLQuery1 .= $s_Separator."MontoSubTotalMN";
                $s_SQLQuery2 .= $s_Separator."".$this->getMontoSubTotalMN()."";
                $s_Separator = ", ";
            }
            if ( !is_null( $this->getMontoSubTotalImpuesto() ) )
            {
                $s_SQLQuery1 .= $s_Separator."MontoSubTotalImpuesto";
                $s_SQLQuery2 .= $s_Separator."".$this->getMontoSubTotalImpuesto()."";
                $s_Separator = ", ";
            }
            if ( !is_null( $this->getMontoSubTotalImpuestoMN() ) )
            {
                $s_SQLQuery1 .= $s_Separator."MontoSubTotalImpuestoMN";
                $s_SQLQuery2 .= $s_Separator."".$this->getMontoSubTotalImpuestoMN()."";
                $s_Separator = ", ";
            }
            if ( !is_null( $this->getMontoTotalNeto() ) )
            {
                $s_SQLQuery1 .= $s_Separator."MontoTotalNeto";
                $s_SQLQuery2 .= $s_Separator."".$this->getMontoTotalNeto()."";
                $s_Separator = ", ";
            }
            if ( !is_null( $this->getMontoTotalNetoMN() ) )
            {
                $s_SQLQuery1 .= $s_Separator."MontoTotalNetoMN";
                $s_SQLQuery2 .= $s_Separator."".$this->getMontoTotalNetoMN()."";
                $s_Separator = ", ";
            }
            if ( !is_null( $this->getIGVExoneradoFlag() ) )
            {
                $s_SQLQuery1 .= $s_Separator."IGVExoneradoFlag";
                $s_SQLQuery2 .= $s_Separator."'".$this->getIGVExoneradoFlag()."'";
                $s_Separator = ", ";
            }
            if ( !is_null( $this->getTipoIGV() ) )
            {
                $s_SQLQuery1 .= $s_Separator."TipoIGV";
                $s_SQLQuery2 .= $s_Separator."'".$this->getTipoIGV()."'";
                $s_Separator = ", ";
            }
            if ( !is_null( $this->getPorcentajeImpuesto() ) )
            {
                $s_SQLQuery1 .= $s_Separator."PorcentajeImpuesto";
                $s_SQLQuery2 .= $s_Separator."".$this->getPorcentajeImpuesto()."";
                $s_Separator = ", ";
            }
            if ( !is_null( $this->getAlmacenCodigo() ) )
            {
                $s_SQLQuery1 .= $s_Separator."AlmacenCodigo";
                $s_SQLQuery2 .= $s_Separator."'".$this->getAlmacenCodigo()."'";
                $s_Separator = ", ";
            }
            if ( !is_null( $this->getNumeroPromocion() ) )
            {
                $s_SQLQuery1 .= $s_Separator."NumeroPromocion";
                $s_SQLQuery2 .= $s_Separator."'".$this->getNumeroPromocion()."'";
                $s_Separator = ", ";
            }
            if ( !is_null( $this->getRefParent() ) )
            {
                $s_SQLQuery1 .= $s_Separator."RefParent";
                $s_SQLQuery2 .= $s_Separator."".$this->getRefParent()."";
                $s_Separator = ", ";
            }
            if ( !is_null( $this->getRefTipoParent() ) )
            {
                $s_SQLQuery1 .= $s_Separator."RefTipoParent";
                $s_SQLQuery2 .= $s_Separator."'".$this->getRefTipoParent()."'";
                $s_Separator = ", ";
            }
            if ( !is_null( $this->getEstado() ) )
            {
                $s_SQLQuery1 .= $s_Separator."Estado";
                $s_SQLQuery2 .= $s_Separator."'".$this->getEstado()."'";
                $s_Separator = ", ";
            }
            if ( !is_null( $this->getCentroCosto() ) )
            {
                $s_SQLQuery1 .= $s_Separator."CentroCosto";
                $s_SQLQuery2 .= $s_Separator."'".$this->getCentroCosto()."'";
                $s_Separator = ", ";
            }
            if ( !is_null( $this->getUsuarioModificacion() ) )
            {
                $s_SQLQuery1 .= $s_Separator."UsuarioModificacion";
                $s_SQLQuery2 .= $s_Separator."'".$this->getUsuarioModificacion()."'";
                $s_Separator = ", ";
            }
            if ( !is_null( $this->getFechaModificacion() ) )
            {
                $s_SQLQuery1 .= $s_Separator."FechaModificacion";
                $s_SQLQuery2 .= $s_Separator."'".$this->getFechaModificacion()."'";
                $s_Separator = ", ";
            }
            if ( !is_null( $this->getUsuarioCreacion() ) )
            {
                $s_SQLQuery1 .= $s_Separator."UsuarioCreacion";
                $s_SQLQuery2 .= $s_Separator."'".$this->getUsuarioCreacion()."'";
                $s_Separator = ", ";
            }
            if ( !is_null( $this->getFechaCreacion() ) )
            {
                $s_SQLQuery1 .= $s_Separator."FechaCreacion";
                $s_SQLQuery2 .= $s_Separator."'".$this->getFechaCreacion()."'";
                $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 VTA_DocumentoDetalle SET ";
            $s_Separator = "";
            if ( !is_null( $this->getTipoDetalle() ) )
            {
                $s_SQLQuery .= $s_Separator."TipoDetalle = '".$this->getTipoDetalle()."'";
                $s_Separator = ", ";
            }
            if ( !is_null( $this->getItemCodigo() ) )
            {
                $s_SQLQuery .= $s_Separator."ItemCodigo = '".$this->getItemCodigo()."'";
                $s_Separator = ", ";
            }
            if ( !is_null( $this->getLote() ) )
            {
                $s_SQLQuery .= $s_Separator."Lote = '".$this->getLote()."'";
                $s_Separator = ", ";
            }
            if ( !is_null( $this->getLoteAlias() ) )
            {
                $s_SQLQuery .= $s_Separator."LoteAlias = '".$this->getLoteAlias()."'";
                $s_Separator = ", ";
            }
            if ( !is_null( $this->getFechaVencimiento() ) )
            {
                $s_SQLQuery .= $s_Separator."FechaVencimiento = '".$this->getFechaVencimiento()."'";
                $s_Separator = ", ";
            }
            if ( !is_null( $this->getIdItemTipo() ) )
            {
                $s_SQLQuery .= $s_Separator."IdItemTipo = '".$this->getIdItemTipo()."'";
                $s_Separator = ", ";
            }
            if ( !is_null( $this->getIdUnidad() ) )
            {
                $s_SQLQuery .= $s_Separator."IdUnidad = ".$this->getIdUnidad()."";
                $s_Separator = ", ";
            }
            if ( !is_null( $this->getCondicion() ) )
            {
                $s_SQLQuery .= $s_Separator."Condicion = '".$this->getCondicion()."'";
                $s_Separator = ", ";
            }
            if ( !is_null( $this->getIdTipoPrecio() ) )
            {
                $s_SQLQuery .= $s_Separator."IdTipoPrecio = '".$this->getIdTipoPrecio()."'";
                $s_Separator = ", ";
            }
            if ( !is_null( $this->getCodigoProductoSunat() ) )
            {
                $s_SQLQuery .= $s_Separator."CodigoProductoSunat = '".$this->getCodigoProductoSunat()."'";
                $s_Separator = ", ";
            }
            if ( !is_null( $this->getDescripcion() ) )
            {
                $s_SQLQuery .= $s_Separator."Descripcion = '".$this->getDescripcion()."'";
                $s_Separator = ", ";
            }
            if ( !is_null( $this->getCantidadPedida() ) )
            {
                $s_SQLQuery .= $s_Separator."CantidadPedida = ".$this->getCantidadPedida()."";
                $s_Separator = ", ";
            }
            if ( !is_null( $this->getCantidadRecibida() ) )
            {
                $s_SQLQuery .= $s_Separator."CantidadRecibida = ".$this->getCantidadRecibida()."";
                $s_Separator = ", ";
            }
            if ( !is_null( $this->getCostoUnitarioProm() ) )
            {
                $s_SQLQuery .= $s_Separator."CostoUnitarioProm = ".$this->getCostoUnitarioProm()."";
                $s_Separator = ", ";
            }
            if ( !is_null( $this->getCostoUnitarioMN() ) )
            {
                $s_SQLQuery .= $s_Separator."CostoUnitarioMN = ".$this->getCostoUnitarioMN()."";
                $s_Separator = ", ";
            }
            if ( !is_null( $this->getPrecioUnitarioMN() ) )
            {
                $s_SQLQuery .= $s_Separator."PrecioUnitarioMN = ".$this->getPrecioUnitarioMN()."";
                $s_Separator = ", ";
            }
            if ( !is_null( $this->getPrecioUnitario() ) )
            {
                $s_SQLQuery .= $s_Separator."PrecioUnitario = ".$this->getPrecioUnitario()."";
                $s_Separator = ", ";
            }
            if ( !is_null( $this->getMontoDescuentoMN() ) )
            {
                $s_SQLQuery .= $s_Separator."MontoDescuentoMN = ".$this->getMontoDescuentoMN()."";
                $s_Separator = ", ";
            }
            if ( !is_null( $this->getMontoDescuento() ) )
            {
                $s_SQLQuery .= $s_Separator."MontoDescuento = ".$this->getMontoDescuento()."";
                $s_Separator = ", ";
            }
            if ( !is_null( $this->getMontoImpuestoUnidad() ) )
            {
                $s_SQLQuery .= $s_Separator."MontoImpuestoUnidad = ".$this->getMontoImpuestoUnidad()."";
                $s_Separator = ", ";
            }
            if ( !is_null( $this->getMontoImpuestoUnidadMN() ) )
            {
                $s_SQLQuery .= $s_Separator."MontoImpuestoUnidadMN = ".$this->getMontoImpuestoUnidadMN()."";
                $s_Separator = ", ";
            }
            if ( !is_null( $this->getMontoIncImpuestoUnidad() ) )
            {
                $s_SQLQuery .= $s_Separator."MontoIncImpuestoUnidad = ".$this->getMontoIncImpuestoUnidad()."";
                $s_Separator = ", ";
            }
            if ( !is_null( $this->getMontoIncImpuestoUnidadMN() ) )
            {
                $s_SQLQuery .= $s_Separator."MontoIncImpuestoUnidadMN = ".$this->getMontoIncImpuestoUnidadMN()."";
                $s_Separator = ", ";
            }
            if ( !is_null( $this->getMontoSubTotal() ) )
            {
                $s_SQLQuery .= $s_Separator."MontoSubTotal = ".$this->getMontoSubTotal()."";
                $s_Separator = ", ";
            }
            if ( !is_null( $this->getMontoSubTotalMN() ) )
            {
                $s_SQLQuery .= $s_Separator."MontoSubTotalMN = ".$this->getMontoSubTotalMN()."";
                $s_Separator = ", ";
            }
            if ( !is_null( $this->getMontoSubTotalImpuesto() ) )
            {
                $s_SQLQuery .= $s_Separator."MontoSubTotalImpuesto = ".$this->getMontoSubTotalImpuesto()."";
                $s_Separator = ", ";
            }
            if ( !is_null( $this->getMontoSubTotalImpuestoMN() ) )
            {
                $s_SQLQuery .= $s_Separator."MontoSubTotalImpuestoMN = ".$this->getMontoSubTotalImpuestoMN()."";
                $s_Separator = ", ";
            }
            if ( !is_null( $this->getMontoTotalNeto() ) )
            {
                $s_SQLQuery .= $s_Separator."MontoTotalNeto = ".$this->getMontoTotalNeto()."";
                $s_Separator = ", ";
            }
            if ( !is_null( $this->getMontoTotalNetoMN() ) )
            {
                $s_SQLQuery .= $s_Separator."MontoTotalNetoMN = ".$this->getMontoTotalNetoMN()."";
                $s_Separator = ", ";
            }
            if ( !is_null( $this->getIGVExoneradoFlag() ) )
            {
                $s_SQLQuery .= $s_Separator."IGVExoneradoFlag = '".$this->getIGVExoneradoFlag()."'";
                $s_Separator = ", ";
            }
            if ( !is_null( $this->getTipoIGV() ) )
            {
                $s_SQLQuery .= $s_Separator."TipoIGV = '".$this->getTipoIGV()."'";
                $s_Separator = ", ";
            }
            if ( !is_null( $this->getPorcentajeImpuesto() ) )
            {
                $s_SQLQuery .= $s_Separator."PorcentajeImpuesto = ".$this->getPorcentajeImpuesto()."";
                $s_Separator = ", ";
            }
            if ( !is_null( $this->getAlmacenCodigo() ) )
            {
                $s_SQLQuery .= $s_Separator."AlmacenCodigo = '".$this->getAlmacenCodigo()."'";
                $s_Separator = ", ";
            }
            if ( !is_null( $this->getNumeroPromocion() ) )
            {
                $s_SQLQuery .= $s_Separator."NumeroPromocion = '".$this->getNumeroPromocion()."'";
                $s_Separator = ", ";
            }
            if ( !is_null( $this->getRefParent() ) )
            {
                $s_SQLQuery .= $s_Separator."RefParent = ".$this->getRefParent()."";
                $s_Separator = ", ";
            }
            if ( !is_null( $this->getRefTipoParent() ) )
            {
                $s_SQLQuery .= $s_Separator."RefTipoParent = '".$this->getRefTipoParent()."'";
                $s_Separator = ", ";
            }
            if ( !is_null( $this->getEstado() ) )
            {
                $s_SQLQuery .= $s_Separator."Estado = '".$this->getEstado()."'";
                $s_Separator = ", ";
            }
            if ( !is_null( $this->getCentroCosto() ) )
            {
                $s_SQLQuery .= $s_Separator."CentroCosto = '".$this->getCentroCosto()."'";
                $s_Separator = ", ";
            }
            if ( !is_null( $this->getUsuarioModificacion() ) )
            {
                $s_SQLQuery .= $s_Separator."UsuarioModificacion = '".$this->getUsuarioModificacion()."'";
                $s_Separator = ", ";
            }
            if ( !is_null( $this->getFechaModificacion() ) )
            {
                $s_SQLQuery .= $s_Separator."FechaModificacion = '".$this->getFechaModificacion()."'";
                $s_Separator = ", ";
            }
            if ( !is_null( $this->getUsuarioCreacion() ) )
            {
                $s_SQLQuery .= $s_Separator."UsuarioCreacion = '".$this->getUsuarioCreacion()."'";
                $s_Separator = ", ";
            }
            if ( !is_null( $this->getFechaCreacion() ) )
            {
                $s_SQLQuery .= $s_Separator."FechaCreacion = '".$this->getFechaCreacion()."'";
                $s_Separator = ", ";
            }
            $s_SQLQuery .= " WHERE  IdTipoDocumento = '".$this->getIdTipoDocumento()."' AND  IdCompania = ".$this->getIdCompania()." AND  NumeroDocumento = '".$this->getNumeroDocumento()."' AND  Secuencia = ".$this->getSecuencia().";";
            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 VTA_DocumentoDetalle WHERE  IdTipoDocumento = '".$this->getIdTipoDocumento()."' AND  IdCompania = ".$this->getIdCompania()." AND  NumeroDocumento = '".$this->getNumeroDocumento()."' AND  Secuencia = ".$this->getSecuencia().";";
        if( $this->getDebug() ){ pr( $s_SQLQuery ); }
        $o_Resource = Conexion::getConexion();
        $o_Statement = $o_Resource->createStatement();
        $o_Statement->executeQuery( $s_SQLQuery );
        return true;
    }

}
?>