<?php
/* Autor...: William L. Taype Perez */
/* Esquema.: VTA_FacturacionElectronica.xml */
/* Generado: 2022-02-04 17:06:40 */

/* Mantenimiento de los registros de la tabla VTA_FacturacionElectronica */
abstract class BaseVTA_FacturacionElectronicaDP extends VTA_FacturacionElectronicaBV
{
    /* Constructor ( Establece los valores desde un objeto VTA_FacturacionElectronicaBN ) */
    public function __construct( VTA_FacturacionElectronicaBN $o_VTA_FacturacionElectronicaBN = null )
    {
        parent::__construct();
        if ( !is_null( $o_VTA_FacturacionElectronicaBN ) )
        {
            $this->setByBN( $o_VTA_FacturacionElectronicaBN );
        }
    }

    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_FacturacionElectronicaBN */
    public function setByBN( VTA_FacturacionElectronicaBN $o_VTA_FacturacionElectronicaBN )
    {
        if ( !is_null( $o_VTA_FacturacionElectronicaBN->getFactElecId() ) )
        {
            $this->setFactElecId( $o_VTA_FacturacionElectronicaBN->getFactElecId() );
        }
        if ( !is_null( $o_VTA_FacturacionElectronicaBN->getIdCompania() ) )
        {
            $this->setIdCompania( $o_VTA_FacturacionElectronicaBN->getIdCompania() );
        }
        if ( !is_null( $o_VTA_FacturacionElectronicaBN->getIdSucursal() ) )
        {
            $this->setIdSucursal( $o_VTA_FacturacionElectronicaBN->getIdSucursal() );
        }
        if ( !is_null( $o_VTA_FacturacionElectronicaBN->getTipo() ) )
        {
            $this->setTipo( $o_VTA_FacturacionElectronicaBN->getTipo() );
        }
        if ( !is_null( $o_VTA_FacturacionElectronicaBN->getSerie() ) )
        {
            $this->setSerie( $o_VTA_FacturacionElectronicaBN->getSerie() );
        }
        if ( !is_null( $o_VTA_FacturacionElectronicaBN->getNumero() ) )
        {
            $this->setNumero( $o_VTA_FacturacionElectronicaBN->getNumero() );
        }
        if ( !is_null( $o_VTA_FacturacionElectronicaBN->getFechaEmision() ) )
        {
            $this->setFechaEmision( $o_VTA_FacturacionElectronicaBN->getFechaEmision() );
        }
        if ( !is_null( $o_VTA_FacturacionElectronicaBN->getFechaVencimiento() ) )
        {
            $this->setFechaVencimiento( $o_VTA_FacturacionElectronicaBN->getFechaVencimiento() );
        }
        if ( !is_null( $o_VTA_FacturacionElectronicaBN->getTipoComprobante() ) )
        {
            $this->setTipoComprobante( $o_VTA_FacturacionElectronicaBN->getTipoComprobante() );
        }
        if ( !is_null( $o_VTA_FacturacionElectronicaBN->getTipoComprobanteDesc() ) )
        {
            $this->setTipoComprobanteDesc( $o_VTA_FacturacionElectronicaBN->getTipoComprobanteDesc() );
        }
        if ( !is_null( $o_VTA_FacturacionElectronicaBN->getSerieNum() ) )
        {
            $this->setSerieNum( $o_VTA_FacturacionElectronicaBN->getSerieNum() );
        }
        if ( !is_null( $o_VTA_FacturacionElectronicaBN->getCodCliente() ) )
        {
            $this->setCodCliente( $o_VTA_FacturacionElectronicaBN->getCodCliente() );
        }
        if ( !is_null( $o_VTA_FacturacionElectronicaBN->getClienteNom() ) )
        {
            $this->setClienteNom( $o_VTA_FacturacionElectronicaBN->getClienteNom() );
        }
        if ( !is_null( $o_VTA_FacturacionElectronicaBN->getClienteTipoDoc() ) )
        {
            $this->setClienteTipoDoc( $o_VTA_FacturacionElectronicaBN->getClienteTipoDoc() );
        }
        if ( !is_null( $o_VTA_FacturacionElectronicaBN->getClienteDocNum() ) )
        {
            $this->setClienteDocNum( $o_VTA_FacturacionElectronicaBN->getClienteDocNum() );
        }
        if ( !is_null( $o_VTA_FacturacionElectronicaBN->getClienteDireccion() ) )
        {
            $this->setClienteDireccion( $o_VTA_FacturacionElectronicaBN->getClienteDireccion() );
        }
        if ( !is_null( $o_VTA_FacturacionElectronicaBN->getClienteEmail() ) )
        {
            $this->setClienteEmail( $o_VTA_FacturacionElectronicaBN->getClienteEmail() );
        }
        if ( !is_null( $o_VTA_FacturacionElectronicaBN->getClienteEmail1() ) )
        {
            $this->setClienteEmail1( $o_VTA_FacturacionElectronicaBN->getClienteEmail1() );
        }
        if ( !is_null( $o_VTA_FacturacionElectronicaBN->getClienteEmail2() ) )
        {
            $this->setClienteEmail2( $o_VTA_FacturacionElectronicaBN->getClienteEmail2() );
        }
        if ( !is_null( $o_VTA_FacturacionElectronicaBN->getTipoMoneda() ) )
        {
            $this->setTipoMoneda( $o_VTA_FacturacionElectronicaBN->getTipoMoneda() );
        }
        if ( !is_null( $o_VTA_FacturacionElectronicaBN->getTipoCambio() ) )
        {
            $this->setTipoCambio( $o_VTA_FacturacionElectronicaBN->getTipoCambio() );
        }
        if ( !is_null( $o_VTA_FacturacionElectronicaBN->getPorcentajeIGV() ) )
        {
            $this->setPorcentajeIGV( $o_VTA_FacturacionElectronicaBN->getPorcentajeIGV() );
        }
        if ( !is_null( $o_VTA_FacturacionElectronicaBN->getMontoDescuento() ) )
        {
            $this->setMontoDescuento( $o_VTA_FacturacionElectronicaBN->getMontoDescuento() );
        }
        if ( !is_null( $o_VTA_FacturacionElectronicaBN->getMontoAnticipo() ) )
        {
            $this->setMontoAnticipo( $o_VTA_FacturacionElectronicaBN->getMontoAnticipo() );
        }
        if ( !is_null( $o_VTA_FacturacionElectronicaBN->getMontoExonerado() ) )
        {
            $this->setMontoExonerado( $o_VTA_FacturacionElectronicaBN->getMontoExonerado() );
        }
        if ( !is_null( $o_VTA_FacturacionElectronicaBN->getMontoAfecto() ) )
        {
            $this->setMontoAfecto( $o_VTA_FacturacionElectronicaBN->getMontoAfecto() );
        }
        if ( !is_null( $o_VTA_FacturacionElectronicaBN->getMontoInafecto() ) )
        {
            $this->setMontoInafecto( $o_VTA_FacturacionElectronicaBN->getMontoInafecto() );
        }
        if ( !is_null( $o_VTA_FacturacionElectronicaBN->getSubTotal() ) )
        {
            $this->setSubTotal( $o_VTA_FacturacionElectronicaBN->getSubTotal() );
        }
        if ( !is_null( $o_VTA_FacturacionElectronicaBN->getImpuesto() ) )
        {
            $this->setImpuesto( $o_VTA_FacturacionElectronicaBN->getImpuesto() );
        }
        if ( !is_null( $o_VTA_FacturacionElectronicaBN->getMontoTotal() ) )
        {
            $this->setMontoTotal( $o_VTA_FacturacionElectronicaBN->getMontoTotal() );
        }
        if ( !is_null( $o_VTA_FacturacionElectronicaBN->getEstadoWeb() ) )
        {
            $this->setEstadoWeb( $o_VTA_FacturacionElectronicaBN->getEstadoWeb() );
        }
        if ( !is_null( $o_VTA_FacturacionElectronicaBN->getEstado() ) )
        {
            $this->setEstado( $o_VTA_FacturacionElectronicaBN->getEstado() );
        }
        if ( !is_null( $o_VTA_FacturacionElectronicaBN->getFechaAnulacion() ) )
        {
            $this->setFechaAnulacion( $o_VTA_FacturacionElectronicaBN->getFechaAnulacion() );
        }
        if ( !is_null( $o_VTA_FacturacionElectronicaBN->getEnlace() ) )
        {
            $this->setEnlace( $o_VTA_FacturacionElectronicaBN->getEnlace() );
        }
        if ( !is_null( $o_VTA_FacturacionElectronicaBN->getAceptadaxSunat() ) )
        {
            $this->setAceptadaxSunat( $o_VTA_FacturacionElectronicaBN->getAceptadaxSunat() );
        }
        if ( !is_null( $o_VTA_FacturacionElectronicaBN->getSunatDescripcion() ) )
        {
            $this->setSunatDescripcion( $o_VTA_FacturacionElectronicaBN->getSunatDescripcion() );
        }
        if ( !is_null( $o_VTA_FacturacionElectronicaBN->getSunatNote() ) )
        {
            $this->setSunatNote( $o_VTA_FacturacionElectronicaBN->getSunatNote() );
        }
        if ( !is_null( $o_VTA_FacturacionElectronicaBN->getSunatResponseCode() ) )
        {
            $this->setSunatResponseCode( $o_VTA_FacturacionElectronicaBN->getSunatResponseCode() );
        }
        if ( !is_null( $o_VTA_FacturacionElectronicaBN->getSunatSoapError() ) )
        {
            $this->setSunatSoapError( $o_VTA_FacturacionElectronicaBN->getSunatSoapError() );
        }
        if ( !is_null( $o_VTA_FacturacionElectronicaBN->getPDFResult() ) )
        {
            $this->setPDFResult( $o_VTA_FacturacionElectronicaBN->getPDFResult() );
        }
        if ( !is_null( $o_VTA_FacturacionElectronicaBN->getXMLResult() ) )
        {
            $this->setXMLResult( $o_VTA_FacturacionElectronicaBN->getXMLResult() );
        }
        if ( !is_null( $o_VTA_FacturacionElectronicaBN->getCDRResult() ) )
        {
            $this->setCDRResult( $o_VTA_FacturacionElectronicaBN->getCDRResult() );
        }
        if ( !is_null( $o_VTA_FacturacionElectronicaBN->getCodigoHashQR() ) )
        {
            $this->setCodigoHashQR( $o_VTA_FacturacionElectronicaBN->getCodigoHashQR() );
        }
        if ( !is_null( $o_VTA_FacturacionElectronicaBN->getCodigoHash() ) )
        {
            $this->setCodigoHash( $o_VTA_FacturacionElectronicaBN->getCodigoHash() );
        }
        if ( !is_null( $o_VTA_FacturacionElectronicaBN->getErrors() ) )
        {
            $this->setErrors( $o_VTA_FacturacionElectronicaBN->getErrors() );
        }
        if ( !is_null( $o_VTA_FacturacionElectronicaBN->getCodigoError() ) )
        {
            $this->setCodigoError( $o_VTA_FacturacionElectronicaBN->getCodigoError() );
        }
        if ( !is_null( $o_VTA_FacturacionElectronicaBN->getCodigoErrorDesc() ) )
        {
            $this->setCodigoErrorDesc( $o_VTA_FacturacionElectronicaBN->getCodigoErrorDesc() );
        }
        if ( !is_null( $o_VTA_FacturacionElectronicaBN->getAnuNumero() ) )
        {
            $this->setAnuNumero( $o_VTA_FacturacionElectronicaBN->getAnuNumero() );
        }
        if ( !is_null( $o_VTA_FacturacionElectronicaBN->getAnuEnlace() ) )
        {
            $this->setAnuEnlace( $o_VTA_FacturacionElectronicaBN->getAnuEnlace() );
        }
        if ( !is_null( $o_VTA_FacturacionElectronicaBN->getAnuSunatTicketNumero() ) )
        {
            $this->setAnuSunatTicketNumero( $o_VTA_FacturacionElectronicaBN->getAnuSunatTicketNumero() );
        }
        if ( !is_null( $o_VTA_FacturacionElectronicaBN->getAnuMotivo() ) )
        {
            $this->setAnuMotivo( $o_VTA_FacturacionElectronicaBN->getAnuMotivo() );
        }
        if ( !is_null( $o_VTA_FacturacionElectronicaBN->getAnuAceptadaPorSunat() ) )
        {
            $this->setAnuAceptadaPorSunat( $o_VTA_FacturacionElectronicaBN->getAnuAceptadaPorSunat() );
        }
        if ( !is_null( $o_VTA_FacturacionElectronicaBN->getAnuSunatDescripcion() ) )
        {
            $this->setAnuSunatDescripcion( $o_VTA_FacturacionElectronicaBN->getAnuSunatDescripcion() );
        }
        if ( !is_null( $o_VTA_FacturacionElectronicaBN->getAnuSunatNote() ) )
        {
            $this->setAnuSunatNote( $o_VTA_FacturacionElectronicaBN->getAnuSunatNote() );
        }
        if ( !is_null( $o_VTA_FacturacionElectronicaBN->getAnuSunatResponseCode() ) )
        {
            $this->setAnuSunatResponseCode( $o_VTA_FacturacionElectronicaBN->getAnuSunatResponseCode() );
        }
        if ( !is_null( $o_VTA_FacturacionElectronicaBN->getAnuSunatSoapError() ) )
        {
            $this->setAnuSunatSoapError( $o_VTA_FacturacionElectronicaBN->getAnuSunatSoapError() );
        }
        if ( !is_null( $o_VTA_FacturacionElectronicaBN->getAnuPDFResult() ) )
        {
            $this->setAnuPDFResult( $o_VTA_FacturacionElectronicaBN->getAnuPDFResult() );
        }
        if ( !is_null( $o_VTA_FacturacionElectronicaBN->getAnuXMLResult() ) )
        {
            $this->setAnuXMLResult( $o_VTA_FacturacionElectronicaBN->getAnuXMLResult() );
        }
        if ( !is_null( $o_VTA_FacturacionElectronicaBN->getAnuCDRResult() ) )
        {
            $this->setAnuCDRResult( $o_VTA_FacturacionElectronicaBN->getAnuCDRResult() );
        }
        if ( !is_null( $o_VTA_FacturacionElectronicaBN->getAnuKey() ) )
        {
            $this->setAnuKey( $o_VTA_FacturacionElectronicaBN->getAnuKey() );
        }
        if ( !is_null( $o_VTA_FacturacionElectronicaBN->getUsuarioCreacion() ) )
        {
            $this->setUsuarioCreacion( $o_VTA_FacturacionElectronicaBN->getUsuarioCreacion() );
        }
        if ( !is_null( $o_VTA_FacturacionElectronicaBN->getFechaCreacion() ) )
        {
            $this->setFechaCreacion( $o_VTA_FacturacionElectronicaBN->getFechaCreacion() );
        }
        if ( !is_null( $o_VTA_FacturacionElectronicaBN->getUsuarioModificacion() ) )
        {
            $this->setUsuarioModificacion( $o_VTA_FacturacionElectronicaBN->getUsuarioModificacion() );
        }
        if ( !is_null( $o_VTA_FacturacionElectronicaBN->getFechaModificacion() ) )
        {
            $this->setFechaModificacion( $o_VTA_FacturacionElectronicaBN->getFechaModificacion() );
        }
    }

    /* Graba un nuevo registro */
    public function save()
    {
        $this->validateRecord();
        $o_VTA_FacturacionElectronicaFN = new VTA_FacturacionElectronicaFN();
        $o_VTA_FacturacionElectronicaBN = $o_VTA_FacturacionElectronicaFN->selectByPk( $this->getFactElecId() );
        if ( is_null( $o_VTA_FacturacionElectronicaBN ) )
        {
            $s_SQLQuery1 = "INSERT INTO VTA_FacturacionElectronica ( ";
            $s_SQLQuery2 = "VALUES ( ";
            $s_Separator = "";
            if ( !is_null( $this->getFactElecId() ) )
            {
                $s_SQLQuery1 .= $s_Separator."FactElecId";
                $s_SQLQuery2 .= $s_Separator."".$this->getFactElecId()."";
                $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->getTipo() ) )
            {
                $s_SQLQuery1 .= $s_Separator."Tipo";
                $s_SQLQuery2 .= $s_Separator."'".$this->getTipo()."'";
                $s_Separator = ", ";
            }
            if ( !is_null( $this->getSerie() ) )
            {
                $s_SQLQuery1 .= $s_Separator."Serie";
                $s_SQLQuery2 .= $s_Separator."'".$this->getSerie()."'";
                $s_Separator = ", ";
            }
            if ( !is_null( $this->getNumero() ) )
            {
                $s_SQLQuery1 .= $s_Separator."Numero";
                $s_SQLQuery2 .= $s_Separator."'".$this->getNumero()."'";
                $s_Separator = ", ";
            }
            if ( !is_null( $this->getFechaEmision() ) )
            {
                $s_SQLQuery1 .= $s_Separator."FechaEmision";
                $s_SQLQuery2 .= $s_Separator."'".$this->getFechaEmision()."'";
                $s_Separator = ", ";
            }
            if ( !is_null( $this->getFechaVencimiento() ) )
            {
                $s_SQLQuery1 .= $s_Separator."FechaVencimiento";
                $s_SQLQuery2 .= $s_Separator."'".$this->getFechaVencimiento()."'";
                $s_Separator = ", ";
            }
            if ( !is_null( $this->getTipoComprobante() ) )
            {
                $s_SQLQuery1 .= $s_Separator."TipoComprobante";
                $s_SQLQuery2 .= $s_Separator."'".$this->getTipoComprobante()."'";
                $s_Separator = ", ";
            }
            if ( !is_null( $this->getTipoComprobanteDesc() ) )
            {
                $s_SQLQuery1 .= $s_Separator."TipoComprobanteDesc";
                $s_SQLQuery2 .= $s_Separator."'".$this->getTipoComprobanteDesc()."'";
                $s_Separator = ", ";
            }
            if ( !is_null( $this->getSerieNum() ) )
            {
                $s_SQLQuery1 .= $s_Separator."SerieNum";
                $s_SQLQuery2 .= $s_Separator."'".$this->getSerieNum()."'";
                $s_Separator = ", ";
            }
            if ( !is_null( $this->getCodCliente() ) )
            {
                $s_SQLQuery1 .= $s_Separator."CodCliente";
                $s_SQLQuery2 .= $s_Separator."'".$this->getCodCliente()."'";
                $s_Separator = ", ";
            }
            if ( !is_null( $this->getClienteNom() ) )
            {
                $s_SQLQuery1 .= $s_Separator."ClienteNom";
                $s_SQLQuery2 .= $s_Separator."'".$this->getClienteNom()."'";
                $s_Separator = ", ";
            }
            if ( !is_null( $this->getClienteTipoDoc() ) )
            {
                $s_SQLQuery1 .= $s_Separator."ClienteTipoDoc";
                $s_SQLQuery2 .= $s_Separator."'".$this->getClienteTipoDoc()."'";
                $s_Separator = ", ";
            }
            if ( !is_null( $this->getClienteDocNum() ) )
            {
                $s_SQLQuery1 .= $s_Separator."ClienteDocNum";
                $s_SQLQuery2 .= $s_Separator."'".$this->getClienteDocNum()."'";
                $s_Separator = ", ";
            }
            if ( !is_null( $this->getClienteDireccion() ) )
            {
                $s_SQLQuery1 .= $s_Separator."ClienteDireccion";
                $s_SQLQuery2 .= $s_Separator."'".$this->getClienteDireccion()."'";
                $s_Separator = ", ";
            }
            if ( !is_null( $this->getClienteEmail() ) )
            {
                $s_SQLQuery1 .= $s_Separator."ClienteEmail";
                $s_SQLQuery2 .= $s_Separator."'".$this->getClienteEmail()."'";
                $s_Separator = ", ";
            }
            if ( !is_null( $this->getClienteEmail1() ) )
            {
                $s_SQLQuery1 .= $s_Separator."ClienteEmail1";
                $s_SQLQuery2 .= $s_Separator."'".$this->getClienteEmail1()."'";
                $s_Separator = ", ";
            }
            if ( !is_null( $this->getClienteEmail2() ) )
            {
                $s_SQLQuery1 .= $s_Separator."ClienteEmail2";
                $s_SQLQuery2 .= $s_Separator."'".$this->getClienteEmail2()."'";
                $s_Separator = ", ";
            }
            if ( !is_null( $this->getTipoMoneda() ) )
            {
                $s_SQLQuery1 .= $s_Separator."TipoMoneda";
                $s_SQLQuery2 .= $s_Separator."'".$this->getTipoMoneda()."'";
                $s_Separator = ", ";
            }
            if ( !is_null( $this->getTipoCambio() ) )
            {
                $s_SQLQuery1 .= $s_Separator."TipoCambio";
                $s_SQLQuery2 .= $s_Separator."".$this->getTipoCambio()."";
                $s_Separator = ", ";
            }
            if ( !is_null( $this->getPorcentajeIGV() ) )
            {
                $s_SQLQuery1 .= $s_Separator."PorcentajeIGV";
                $s_SQLQuery2 .= $s_Separator."".$this->getPorcentajeIGV()."";
                $s_Separator = ", ";
            }
            if ( !is_null( $this->getMontoDescuento() ) )
            {
                $s_SQLQuery1 .= $s_Separator."MontoDescuento";
                $s_SQLQuery2 .= $s_Separator."".$this->getMontoDescuento()."";
                $s_Separator = ", ";
            }
            if ( !is_null( $this->getMontoAnticipo() ) )
            {
                $s_SQLQuery1 .= $s_Separator."MontoAnticipo";
                $s_SQLQuery2 .= $s_Separator."".$this->getMontoAnticipo()."";
                $s_Separator = ", ";
            }
            if ( !is_null( $this->getMontoExonerado() ) )
            {
                $s_SQLQuery1 .= $s_Separator."MontoExonerado";
                $s_SQLQuery2 .= $s_Separator."".$this->getMontoExonerado()."";
                $s_Separator = ", ";
            }
            if ( !is_null( $this->getMontoAfecto() ) )
            {
                $s_SQLQuery1 .= $s_Separator."MontoAfecto";
                $s_SQLQuery2 .= $s_Separator."".$this->getMontoAfecto()."";
                $s_Separator = ", ";
            }
            if ( !is_null( $this->getMontoInafecto() ) )
            {
                $s_SQLQuery1 .= $s_Separator."MontoInafecto";
                $s_SQLQuery2 .= $s_Separator."".$this->getMontoInafecto()."";
                $s_Separator = ", ";
            }
            if ( !is_null( $this->getSubTotal() ) )
            {
                $s_SQLQuery1 .= $s_Separator."SubTotal";
                $s_SQLQuery2 .= $s_Separator."".$this->getSubTotal()."";
                $s_Separator = ", ";
            }
            if ( !is_null( $this->getImpuesto() ) )
            {
                $s_SQLQuery1 .= $s_Separator."Impuesto";
                $s_SQLQuery2 .= $s_Separator."".$this->getImpuesto()."";
                $s_Separator = ", ";
            }
            if ( !is_null( $this->getMontoTotal() ) )
            {
                $s_SQLQuery1 .= $s_Separator."MontoTotal";
                $s_SQLQuery2 .= $s_Separator."".$this->getMontoTotal()."";
                $s_Separator = ", ";
            }
            if ( !is_null( $this->getEstadoWeb() ) )
            {
                $s_SQLQuery1 .= $s_Separator."EstadoWeb";
                $s_SQLQuery2 .= $s_Separator."'".$this->getEstadoWeb()."'";
                $s_Separator = ", ";
            }
            if ( !is_null( $this->getEstado() ) )
            {
                $s_SQLQuery1 .= $s_Separator."Estado";
                $s_SQLQuery2 .= $s_Separator."'".$this->getEstado()."'";
                $s_Separator = ", ";
            }
            if ( !is_null( $this->getFechaAnulacion() ) )
            {
                $s_SQLQuery1 .= $s_Separator."FechaAnulacion";
                $s_SQLQuery2 .= $s_Separator."'".$this->getFechaAnulacion()."'";
                $s_Separator = ", ";
            }
            if ( !is_null( $this->getEnlace() ) )
            {
                $s_SQLQuery1 .= $s_Separator."Enlace";
                $s_SQLQuery2 .= $s_Separator."'".$this->getEnlace()."'";
                $s_Separator = ", ";
            }
            if ( !is_null( $this->getAceptadaxSunat() ) )
            {
                $s_SQLQuery1 .= $s_Separator."AceptadaxSunat";
                $s_SQLQuery2 .= $s_Separator."'".$this->getAceptadaxSunat()."'";
                $s_Separator = ", ";
            }
            if ( !is_null( $this->getSunatDescripcion() ) )
            {
                $s_SQLQuery1 .= $s_Separator."SunatDescripcion";
                $s_SQLQuery2 .= $s_Separator."'".$this->getSunatDescripcion()."'";
                $s_Separator = ", ";
            }
            if ( !is_null( $this->getSunatNote() ) )
            {
                $s_SQLQuery1 .= $s_Separator."SunatNote";
                $s_SQLQuery2 .= $s_Separator."'".$this->getSunatNote()."'";
                $s_Separator = ", ";
            }
            if ( !is_null( $this->getSunatResponseCode() ) )
            {
                $s_SQLQuery1 .= $s_Separator."SunatResponseCode";
                $s_SQLQuery2 .= $s_Separator."'".$this->getSunatResponseCode()."'";
                $s_Separator = ", ";
            }
            if ( !is_null( $this->getSunatSoapError() ) )
            {
                $s_SQLQuery1 .= $s_Separator."SunatSoapError";
                $s_SQLQuery2 .= $s_Separator."'".$this->getSunatSoapError()."'";
                $s_Separator = ", ";
            }
            if ( !is_null( $this->getPDFResult() ) )
            {
                $s_SQLQuery1 .= $s_Separator."PDFResult";
                $s_SQLQuery2 .= $s_Separator."'".$this->getPDFResult()."'";
                $s_Separator = ", ";
            }
            if ( !is_null( $this->getXMLResult() ) )
            {
                $s_SQLQuery1 .= $s_Separator."XMLResult";
                $s_SQLQuery2 .= $s_Separator."'".$this->getXMLResult()."'";
                $s_Separator = ", ";
            }
            if ( !is_null( $this->getCDRResult() ) )
            {
                $s_SQLQuery1 .= $s_Separator."CDRResult";
                $s_SQLQuery2 .= $s_Separator."'".$this->getCDRResult()."'";
                $s_Separator = ", ";
            }
            if ( !is_null( $this->getCodigoHashQR() ) )
            {
                $s_SQLQuery1 .= $s_Separator."CodigoHashQR";
                $s_SQLQuery2 .= $s_Separator."'".$this->getCodigoHashQR()."'";
                $s_Separator = ", ";
            }
            if ( !is_null( $this->getCodigoHash() ) )
            {
                $s_SQLQuery1 .= $s_Separator."CodigoHash";
                $s_SQLQuery2 .= $s_Separator."'".$this->getCodigoHash()."'";
                $s_Separator = ", ";
            }
            if ( !is_null( $this->getErrors() ) )
            {
                $s_SQLQuery1 .= $s_Separator."Errors";
                $s_SQLQuery2 .= $s_Separator."'".$this->getErrors()."'";
                $s_Separator = ", ";
            }
            if ( !is_null( $this->getCodigoError() ) )
            {
                $s_SQLQuery1 .= $s_Separator."CodigoError";
                $s_SQLQuery2 .= $s_Separator."'".$this->getCodigoError()."'";
                $s_Separator = ", ";
            }
            if ( !is_null( $this->getCodigoErrorDesc() ) )
            {
                $s_SQLQuery1 .= $s_Separator."CodigoErrorDesc";
                $s_SQLQuery2 .= $s_Separator."'".$this->getCodigoErrorDesc()."'";
                $s_Separator = ", ";
            }
            if ( !is_null( $this->getAnuNumero() ) )
            {
                $s_SQLQuery1 .= $s_Separator."AnuNumero";
                $s_SQLQuery2 .= $s_Separator."".$this->getAnuNumero()."";
                $s_Separator = ", ";
            }
            if ( !is_null( $this->getAnuEnlace() ) )
            {
                $s_SQLQuery1 .= $s_Separator."AnuEnlace";
                $s_SQLQuery2 .= $s_Separator."'".$this->getAnuEnlace()."'";
                $s_Separator = ", ";
            }
            if ( !is_null( $this->getAnuSunatTicketNumero() ) )
            {
                $s_SQLQuery1 .= $s_Separator."AnuSunatTicketNumero";
                $s_SQLQuery2 .= $s_Separator."'".$this->getAnuSunatTicketNumero()."'";
                $s_Separator = ", ";
            }
            if ( !is_null( $this->getAnuMotivo() ) )
            {
                $s_SQLQuery1 .= $s_Separator."AnuMotivo";
                $s_SQLQuery2 .= $s_Separator."'".$this->getAnuMotivo()."'";
                $s_Separator = ", ";
            }
            if ( !is_null( $this->getAnuAceptadaPorSunat() ) )
            {
                $s_SQLQuery1 .= $s_Separator."AnuAceptadaPorSunat";
                $s_SQLQuery2 .= $s_Separator."'".$this->getAnuAceptadaPorSunat()."'";
                $s_Separator = ", ";
            }
            if ( !is_null( $this->getAnuSunatDescripcion() ) )
            {
                $s_SQLQuery1 .= $s_Separator."AnuSunatDescripcion";
                $s_SQLQuery2 .= $s_Separator."'".$this->getAnuSunatDescripcion()."'";
                $s_Separator = ", ";
            }
            if ( !is_null( $this->getAnuSunatNote() ) )
            {
                $s_SQLQuery1 .= $s_Separator."AnuSunatNote";
                $s_SQLQuery2 .= $s_Separator."'".$this->getAnuSunatNote()."'";
                $s_Separator = ", ";
            }
            if ( !is_null( $this->getAnuSunatResponseCode() ) )
            {
                $s_SQLQuery1 .= $s_Separator."AnuSunatResponseCode";
                $s_SQLQuery2 .= $s_Separator."'".$this->getAnuSunatResponseCode()."'";
                $s_Separator = ", ";
            }
            if ( !is_null( $this->getAnuSunatSoapError() ) )
            {
                $s_SQLQuery1 .= $s_Separator."AnuSunatSoapError";
                $s_SQLQuery2 .= $s_Separator."'".$this->getAnuSunatSoapError()."'";
                $s_Separator = ", ";
            }
            if ( !is_null( $this->getAnuPDFResult() ) )
            {
                $s_SQLQuery1 .= $s_Separator."AnuPDFResult";
                $s_SQLQuery2 .= $s_Separator."'".$this->getAnuPDFResult()."'";
                $s_Separator = ", ";
            }
            if ( !is_null( $this->getAnuXMLResult() ) )
            {
                $s_SQLQuery1 .= $s_Separator."AnuXMLResult";
                $s_SQLQuery2 .= $s_Separator."'".$this->getAnuXMLResult()."'";
                $s_Separator = ", ";
            }
            if ( !is_null( $this->getAnuCDRResult() ) )
            {
                $s_SQLQuery1 .= $s_Separator."AnuCDRResult";
                $s_SQLQuery2 .= $s_Separator."'".$this->getAnuCDRResult()."'";
                $s_Separator = ", ";
            }
            if ( !is_null( $this->getAnuKey() ) )
            {
                $s_SQLQuery1 .= $s_Separator."AnuKey";
                $s_SQLQuery2 .= $s_Separator."'".$this->getAnuKey()."'";
                $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 = ", ";
            }
            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 = ", ";
            }
            $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_FacturacionElectronica SET ";
            $s_Separator = "";
            if ( !is_null( $this->getIdCompania() ) )
            {
                $s_SQLQuery .= $s_Separator."IdCompania = ".$this->getIdCompania()."";
                $s_Separator = ", ";
            }
            if ( !is_null( $this->getIdSucursal() ) )
            {
                $s_SQLQuery .= $s_Separator."IdSucursal = ".$this->getIdSucursal()."";
                $s_Separator = ", ";
            }
            if ( !is_null( $this->getTipo() ) )
            {
                $s_SQLQuery .= $s_Separator."Tipo = '".$this->getTipo()."'";
                $s_Separator = ", ";
            }
            if ( !is_null( $this->getSerie() ) )
            {
                $s_SQLQuery .= $s_Separator."Serie = '".$this->getSerie()."'";
                $s_Separator = ", ";
            }
            if ( !is_null( $this->getNumero() ) )
            {
                $s_SQLQuery .= $s_Separator."Numero = '".$this->getNumero()."'";
                $s_Separator = ", ";
            }
            if ( !is_null( $this->getFechaEmision() ) )
            {
                $s_SQLQuery .= $s_Separator."FechaEmision = '".$this->getFechaEmision()."'";
                $s_Separator = ", ";
            }
            if ( !is_null( $this->getFechaVencimiento() ) )
            {
                $s_SQLQuery .= $s_Separator."FechaVencimiento = '".$this->getFechaVencimiento()."'";
                $s_Separator = ", ";
            }
            if ( !is_null( $this->getTipoComprobante() ) )
            {
                $s_SQLQuery .= $s_Separator."TipoComprobante = '".$this->getTipoComprobante()."'";
                $s_Separator = ", ";
            }
            if ( !is_null( $this->getTipoComprobanteDesc() ) )
            {
                $s_SQLQuery .= $s_Separator."TipoComprobanteDesc = '".$this->getTipoComprobanteDesc()."'";
                $s_Separator = ", ";
            }
            if ( !is_null( $this->getSerieNum() ) )
            {
                $s_SQLQuery .= $s_Separator."SerieNum = '".$this->getSerieNum()."'";
                $s_Separator = ", ";
            }
            if ( !is_null( $this->getCodCliente() ) )
            {
                $s_SQLQuery .= $s_Separator."CodCliente = '".$this->getCodCliente()."'";
                $s_Separator = ", ";
            }
            if ( !is_null( $this->getClienteNom() ) )
            {
                $s_SQLQuery .= $s_Separator."ClienteNom = '".$this->getClienteNom()."'";
                $s_Separator = ", ";
            }
            if ( !is_null( $this->getClienteTipoDoc() ) )
            {
                $s_SQLQuery .= $s_Separator."ClienteTipoDoc = '".$this->getClienteTipoDoc()."'";
                $s_Separator = ", ";
            }
            if ( !is_null( $this->getClienteDocNum() ) )
            {
                $s_SQLQuery .= $s_Separator."ClienteDocNum = '".$this->getClienteDocNum()."'";
                $s_Separator = ", ";
            }
            if ( !is_null( $this->getClienteDireccion() ) )
            {
                $s_SQLQuery .= $s_Separator."ClienteDireccion = '".$this->getClienteDireccion()."'";
                $s_Separator = ", ";
            }
            if ( !is_null( $this->getClienteEmail() ) )
            {
                $s_SQLQuery .= $s_Separator."ClienteEmail = '".$this->getClienteEmail()."'";
                $s_Separator = ", ";
            }
            if ( !is_null( $this->getClienteEmail1() ) )
            {
                $s_SQLQuery .= $s_Separator."ClienteEmail1 = '".$this->getClienteEmail1()."'";
                $s_Separator = ", ";
            }
            if ( !is_null( $this->getClienteEmail2() ) )
            {
                $s_SQLQuery .= $s_Separator."ClienteEmail2 = '".$this->getClienteEmail2()."'";
                $s_Separator = ", ";
            }
            if ( !is_null( $this->getTipoMoneda() ) )
            {
                $s_SQLQuery .= $s_Separator."TipoMoneda = '".$this->getTipoMoneda()."'";
                $s_Separator = ", ";
            }
            if ( !is_null( $this->getTipoCambio() ) )
            {
                $s_SQLQuery .= $s_Separator."TipoCambio = ".$this->getTipoCambio()."";
                $s_Separator = ", ";
            }
            if ( !is_null( $this->getPorcentajeIGV() ) )
            {
                $s_SQLQuery .= $s_Separator."PorcentajeIGV = ".$this->getPorcentajeIGV()."";
                $s_Separator = ", ";
            }
            if ( !is_null( $this->getMontoDescuento() ) )
            {
                $s_SQLQuery .= $s_Separator."MontoDescuento = ".$this->getMontoDescuento()."";
                $s_Separator = ", ";
            }
            if ( !is_null( $this->getMontoAnticipo() ) )
            {
                $s_SQLQuery .= $s_Separator."MontoAnticipo = ".$this->getMontoAnticipo()."";
                $s_Separator = ", ";
            }
            if ( !is_null( $this->getMontoExonerado() ) )
            {
                $s_SQLQuery .= $s_Separator."MontoExonerado = ".$this->getMontoExonerado()."";
                $s_Separator = ", ";
            }
            if ( !is_null( $this->getMontoAfecto() ) )
            {
                $s_SQLQuery .= $s_Separator."MontoAfecto = ".$this->getMontoAfecto()."";
                $s_Separator = ", ";
            }
            if ( !is_null( $this->getMontoInafecto() ) )
            {
                $s_SQLQuery .= $s_Separator."MontoInafecto = ".$this->getMontoInafecto()."";
                $s_Separator = ", ";
            }
            if ( !is_null( $this->getSubTotal() ) )
            {
                $s_SQLQuery .= $s_Separator."SubTotal = ".$this->getSubTotal()."";
                $s_Separator = ", ";
            }
            if ( !is_null( $this->getImpuesto() ) )
            {
                $s_SQLQuery .= $s_Separator."Impuesto = ".$this->getImpuesto()."";
                $s_Separator = ", ";
            }
            if ( !is_null( $this->getMontoTotal() ) )
            {
                $s_SQLQuery .= $s_Separator."MontoTotal = ".$this->getMontoTotal()."";
                $s_Separator = ", ";
            }
            if ( !is_null( $this->getEstadoWeb() ) )
            {
                $s_SQLQuery .= $s_Separator."EstadoWeb = '".$this->getEstadoWeb()."'";
                $s_Separator = ", ";
            }
            if ( !is_null( $this->getEstado() ) )
            {
                $s_SQLQuery .= $s_Separator."Estado = '".$this->getEstado()."'";
                $s_Separator = ", ";
            }
            if ( !is_null( $this->getFechaAnulacion() ) )
            {
                $s_SQLQuery .= $s_Separator."FechaAnulacion = '".$this->getFechaAnulacion()."'";
                $s_Separator = ", ";
            }
            if ( !is_null( $this->getEnlace() ) )
            {
                $s_SQLQuery .= $s_Separator."Enlace = '".$this->getEnlace()."'";
                $s_Separator = ", ";
            }
            if ( !is_null( $this->getAceptadaxSunat() ) )
            {
                $s_SQLQuery .= $s_Separator."AceptadaxSunat = '".$this->getAceptadaxSunat()."'";
                $s_Separator = ", ";
            }
            if ( !is_null( $this->getSunatDescripcion() ) )
            {
                $s_SQLQuery .= $s_Separator."SunatDescripcion = '".$this->getSunatDescripcion()."'";
                $s_Separator = ", ";
            }
            if ( !is_null( $this->getSunatNote() ) )
            {
                $s_SQLQuery .= $s_Separator."SunatNote = '".$this->getSunatNote()."'";
                $s_Separator = ", ";
            }
            if ( !is_null( $this->getSunatResponseCode() ) )
            {
                $s_SQLQuery .= $s_Separator."SunatResponseCode = '".$this->getSunatResponseCode()."'";
                $s_Separator = ", ";
            }
            if ( !is_null( $this->getSunatSoapError() ) )
            {
                $s_SQLQuery .= $s_Separator."SunatSoapError = '".$this->getSunatSoapError()."'";
                $s_Separator = ", ";
            }
            if ( !is_null( $this->getPDFResult() ) )
            {
                $s_SQLQuery .= $s_Separator."PDFResult = '".$this->getPDFResult()."'";
                $s_Separator = ", ";
            }
            if ( !is_null( $this->getXMLResult() ) )
            {
                $s_SQLQuery .= $s_Separator."XMLResult = '".$this->getXMLResult()."'";
                $s_Separator = ", ";
            }
            if ( !is_null( $this->getCDRResult() ) )
            {
                $s_SQLQuery .= $s_Separator."CDRResult = '".$this->getCDRResult()."'";
                $s_Separator = ", ";
            }
            if ( !is_null( $this->getCodigoHashQR() ) )
            {
                $s_SQLQuery .= $s_Separator."CodigoHashQR = '".$this->getCodigoHashQR()."'";
                $s_Separator = ", ";
            }
            if ( !is_null( $this->getCodigoHash() ) )
            {
                $s_SQLQuery .= $s_Separator."CodigoHash = '".$this->getCodigoHash()."'";
                $s_Separator = ", ";
            }
            if ( !is_null( $this->getErrors() ) )
            {
                $s_SQLQuery .= $s_Separator."Errors = '".$this->getErrors()."'";
                $s_Separator = ", ";
            }
            if ( !is_null( $this->getCodigoError() ) )
            {
                $s_SQLQuery .= $s_Separator."CodigoError = '".$this->getCodigoError()."'";
                $s_Separator = ", ";
            }
            if ( !is_null( $this->getCodigoErrorDesc() ) )
            {
                $s_SQLQuery .= $s_Separator."CodigoErrorDesc = '".$this->getCodigoErrorDesc()."'";
                $s_Separator = ", ";
            }
            if ( !is_null( $this->getAnuNumero() ) )
            {
                $s_SQLQuery .= $s_Separator."AnuNumero = ".$this->getAnuNumero()."";
                $s_Separator = ", ";
            }
            if ( !is_null( $this->getAnuEnlace() ) )
            {
                $s_SQLQuery .= $s_Separator."AnuEnlace = '".$this->getAnuEnlace()."'";
                $s_Separator = ", ";
            }
            if ( !is_null( $this->getAnuSunatTicketNumero() ) )
            {
                $s_SQLQuery .= $s_Separator."AnuSunatTicketNumero = '".$this->getAnuSunatTicketNumero()."'";
                $s_Separator = ", ";
            }
            if ( !is_null( $this->getAnuMotivo() ) )
            {
                $s_SQLQuery .= $s_Separator."AnuMotivo = '".$this->getAnuMotivo()."'";
                $s_Separator = ", ";
            }
            if ( !is_null( $this->getAnuAceptadaPorSunat() ) )
            {
                $s_SQLQuery .= $s_Separator."AnuAceptadaPorSunat = '".$this->getAnuAceptadaPorSunat()."'";
                $s_Separator = ", ";
            }
            if ( !is_null( $this->getAnuSunatDescripcion() ) )
            {
                $s_SQLQuery .= $s_Separator."AnuSunatDescripcion = '".$this->getAnuSunatDescripcion()."'";
                $s_Separator = ", ";
            }
            if ( !is_null( $this->getAnuSunatNote() ) )
            {
                $s_SQLQuery .= $s_Separator."AnuSunatNote = '".$this->getAnuSunatNote()."'";
                $s_Separator = ", ";
            }
            if ( !is_null( $this->getAnuSunatResponseCode() ) )
            {
                $s_SQLQuery .= $s_Separator."AnuSunatResponseCode = '".$this->getAnuSunatResponseCode()."'";
                $s_Separator = ", ";
            }
            if ( !is_null( $this->getAnuSunatSoapError() ) )
            {
                $s_SQLQuery .= $s_Separator."AnuSunatSoapError = '".$this->getAnuSunatSoapError()."'";
                $s_Separator = ", ";
            }
            if ( !is_null( $this->getAnuPDFResult() ) )
            {
                $s_SQLQuery .= $s_Separator."AnuPDFResult = '".$this->getAnuPDFResult()."'";
                $s_Separator = ", ";
            }
            if ( !is_null( $this->getAnuXMLResult() ) )
            {
                $s_SQLQuery .= $s_Separator."AnuXMLResult = '".$this->getAnuXMLResult()."'";
                $s_Separator = ", ";
            }
            if ( !is_null( $this->getAnuCDRResult() ) )
            {
                $s_SQLQuery .= $s_Separator."AnuCDRResult = '".$this->getAnuCDRResult()."'";
                $s_Separator = ", ";
            }
            if ( !is_null( $this->getAnuKey() ) )
            {
                $s_SQLQuery .= $s_Separator."AnuKey = '".$this->getAnuKey()."'";
                $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 = ", ";
            }
            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 = ", ";
            }
            $s_SQLQuery .= " WHERE  FactElecId = ".$this->getFactElecId().";";
            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_FacturacionElectronica WHERE  FactElecId = ".$this->getFactElecId().";";
        if( $this->getDebug() ){ pr( $s_SQLQuery ); }
        $o_Resource = Conexion::getConexion();
        $o_Statement = $o_Resource->createStatement();
        $o_Statement->executeQuery( $s_SQLQuery );
        return true;
    }

}
?>