<?php
/* Autor...: William L. Taype Perez */
/* Esquema.: ALM_TransaccionDetalle.xml */
/* Generado: 2021-11-07 00:42:13 */

/* Mantenimiento de los registros de la tabla ALM_TransaccionDetalle */
abstract class BaseALM_TransaccionDetalleDP extends ALM_TransaccionDetalleBV
{
    /* Constructor ( Establece los valores desde un objeto ALM_TransaccionDetalleBN ) */
    public function __construct( ALM_TransaccionDetalleBN $o_ALM_TransaccionDetalleBN = null )
    {
        parent::__construct();
        if ( !is_null( $o_ALM_TransaccionDetalleBN ) )
        {
            $this->setByBN( $o_ALM_TransaccionDetalleBN );
        }
    }

    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 ALM_TransaccionDetalleBN */
    public function setByBN( ALM_TransaccionDetalleBN $o_ALM_TransaccionDetalleBN )
    {
        if ( !is_null( $o_ALM_TransaccionDetalleBN->getIdCompania() ) )
        {
            $this->setIdCompania( $o_ALM_TransaccionDetalleBN->getIdCompania() );
        }
        if ( !is_null( $o_ALM_TransaccionDetalleBN->getIdTipoDocumento() ) )
        {
            $this->setIdTipoDocumento( $o_ALM_TransaccionDetalleBN->getIdTipoDocumento() );
        }
        if ( !is_null( $o_ALM_TransaccionDetalleBN->getIdNumeroDocumento() ) )
        {
            $this->setIdNumeroDocumento( $o_ALM_TransaccionDetalleBN->getIdNumeroDocumento() );
        }
        if ( !is_null( $o_ALM_TransaccionDetalleBN->getIdSucursal() ) )
        {
            $this->setIdSucursal( $o_ALM_TransaccionDetalleBN->getIdSucursal() );
        }
        if ( !is_null( $o_ALM_TransaccionDetalleBN->getIdCondicion() ) )
        {
            $this->setIdCondicion( $o_ALM_TransaccionDetalleBN->getIdCondicion() );
        }
        if ( !is_null( $o_ALM_TransaccionDetalleBN->getIdSecuencia() ) )
        {
            $this->setIdSecuencia( $o_ALM_TransaccionDetalleBN->getIdSecuencia() );
        }
        if ( !is_null( $o_ALM_TransaccionDetalleBN->getIdItem() ) )
        {
            $this->setIdItem( $o_ALM_TransaccionDetalleBN->getIdItem() );
        }
        if ( !is_null( $o_ALM_TransaccionDetalleBN->getLote() ) )
        {
            $this->setLote( $o_ALM_TransaccionDetalleBN->getLote() );
        }
        if ( !is_null( $o_ALM_TransaccionDetalleBN->getIdTransaccionCab() ) )
        {
            $this->setIdTransaccionCab( $o_ALM_TransaccionDetalleBN->getIdTransaccionCab() );
        }
        if ( !is_null( $o_ALM_TransaccionDetalleBN->getFechaDocumentoCab() ) )
        {
            $this->setFechaDocumentoCab( $o_ALM_TransaccionDetalleBN->getFechaDocumentoCab() );
        }
        if ( !is_null( $o_ALM_TransaccionDetalleBN->getIdAlmacen() ) )
        {
            $this->setIdAlmacen( $o_ALM_TransaccionDetalleBN->getIdAlmacen() );
        }
        if ( !is_null( $o_ALM_TransaccionDetalleBN->getIdAlmacenDestino() ) )
        {
            $this->setIdAlmacenDestino( $o_ALM_TransaccionDetalleBN->getIdAlmacenDestino() );
        }
        if ( !is_null( $o_ALM_TransaccionDetalleBN->getFechaVencimiento() ) )
        {
            $this->setFechaVencimiento( $o_ALM_TransaccionDetalleBN->getFechaVencimiento() );
        }
        if ( !is_null( $o_ALM_TransaccionDetalleBN->getUnidadCodigo() ) )
        {
            $this->setUnidadCodigo( $o_ALM_TransaccionDetalleBN->getUnidadCodigo() );
        }
        if ( !is_null( $o_ALM_TransaccionDetalleBN->getCantidad() ) )
        {
            $this->setCantidad( $o_ALM_TransaccionDetalleBN->getCantidad() );
        }
        if ( !is_null( $o_ALM_TransaccionDetalleBN->getCantidadDoble() ) )
        {
            $this->setCantidadDoble( $o_ALM_TransaccionDetalleBN->getCantidadDoble() );
        }
        if ( !is_null( $o_ALM_TransaccionDetalleBN->getCantidadFIFO() ) )
        {
            $this->setCantidadFIFO( $o_ALM_TransaccionDetalleBN->getCantidadFIFO() );
        }
        if ( !is_null( $o_ALM_TransaccionDetalleBN->getIdMoneda() ) )
        {
            $this->setIdMoneda( $o_ALM_TransaccionDetalleBN->getIdMoneda() );
        }
        if ( !is_null( $o_ALM_TransaccionDetalleBN->getPrecioUnitario() ) )
        {
            $this->setPrecioUnitario( $o_ALM_TransaccionDetalleBN->getPrecioUnitario() );
        }
        if ( !is_null( $o_ALM_TransaccionDetalleBN->getMontoTotal() ) )
        {
            $this->setMontoTotal( $o_ALM_TransaccionDetalleBN->getMontoTotal() );
        }
        if ( !is_null( $o_ALM_TransaccionDetalleBN->getPrecioUnitarioDolares() ) )
        {
            $this->setPrecioUnitarioDolares( $o_ALM_TransaccionDetalleBN->getPrecioUnitarioDolares() );
        }
        if ( !is_null( $o_ALM_TransaccionDetalleBN->getMontoTotalDolares() ) )
        {
            $this->setMontoTotalDolares( $o_ALM_TransaccionDetalleBN->getMontoTotalDolares() );
        }
        if ( !is_null( $o_ALM_TransaccionDetalleBN->getReferenciaCompaniaSocio() ) )
        {
            $this->setReferenciaCompaniaSocio( $o_ALM_TransaccionDetalleBN->getReferenciaCompaniaSocio() );
        }
        if ( !is_null( $o_ALM_TransaccionDetalleBN->getReferenciaTipoDocumento() ) )
        {
            $this->setReferenciaTipoDocumento( $o_ALM_TransaccionDetalleBN->getReferenciaTipoDocumento() );
        }
        if ( !is_null( $o_ALM_TransaccionDetalleBN->getReferenciaNumeroDocumento() ) )
        {
            $this->setReferenciaNumeroDocumento( $o_ALM_TransaccionDetalleBN->getReferenciaNumeroDocumento() );
        }
        if ( !is_null( $o_ALM_TransaccionDetalleBN->getReferenciaSecuencia() ) )
        {
            $this->setReferenciaSecuencia( $o_ALM_TransaccionDetalleBN->getReferenciaSecuencia() );
        }
        if ( !is_null( $o_ALM_TransaccionDetalleBN->getAprobacionTecnicaFlag() ) )
        {
            $this->setAprobacionTecnicaFlag( $o_ALM_TransaccionDetalleBN->getAprobacionTecnicaFlag() );
        }
        if ( !is_null( $o_ALM_TransaccionDetalleBN->getAprobacionTecnicaDocumento() ) )
        {
            $this->setAprobacionTecnicaDocumento( $o_ALM_TransaccionDetalleBN->getAprobacionTecnicaDocumento() );
        }
        if ( !is_null( $o_ALM_TransaccionDetalleBN->getFallaFlag() ) )
        {
            $this->setFallaFlag( $o_ALM_TransaccionDetalleBN->getFallaFlag() );
        }
        if ( !is_null( $o_ALM_TransaccionDetalleBN->getObservaciones() ) )
        {
            $this->setObservaciones( $o_ALM_TransaccionDetalleBN->getObservaciones() );
        }
        if ( !is_null( $o_ALM_TransaccionDetalleBN->getFacturadoFlag() ) )
        {
            $this->setFacturadoFlag( $o_ALM_TransaccionDetalleBN->getFacturadoFlag() );
        }
        if ( !is_null( $o_ALM_TransaccionDetalleBN->getValorizacionExternaFlag() ) )
        {
            $this->setValorizacionExternaFlag( $o_ALM_TransaccionDetalleBN->getValorizacionExternaFlag() );
        }
        if ( !is_null( $o_ALM_TransaccionDetalleBN->getLoteProduccion() ) )
        {
            $this->setLoteProduccion( $o_ALM_TransaccionDetalleBN->getLoteProduccion() );
        }
        if ( !is_null( $o_ALM_TransaccionDetalleBN->getUsuarioModificacion() ) )
        {
            $this->setUsuarioModificacion( $o_ALM_TransaccionDetalleBN->getUsuarioModificacion() );
        }
        if ( !is_null( $o_ALM_TransaccionDetalleBN->getFechaModificacion() ) )
        {
            $this->setFechaModificacion( $o_ALM_TransaccionDetalleBN->getFechaModificacion() );
        }
        if ( !is_null( $o_ALM_TransaccionDetalleBN->getUsuarioCreacion() ) )
        {
            $this->setUsuarioCreacion( $o_ALM_TransaccionDetalleBN->getUsuarioCreacion() );
        }
        if ( !is_null( $o_ALM_TransaccionDetalleBN->getFechaCreacion() ) )
        {
            $this->setFechaCreacion( $o_ALM_TransaccionDetalleBN->getFechaCreacion() );
        }
        if ( !is_null( $o_ALM_TransaccionDetalleBN->getDescripcionItem() ) )
        {
            $this->setDescripcionItem( $o_ALM_TransaccionDetalleBN->getDescripcionItem() );
        }
    }

    /* Graba un nuevo registro */
    public function save()
    {
        $this->validateRecord();
        $o_ALM_TransaccionDetalleFN = new ALM_TransaccionDetalleFN();
        $o_ALM_TransaccionDetalleBN = $o_ALM_TransaccionDetalleFN->selectByPk( $this->getIdCompania(), $this->getIdTipoDocumento(), $this->getIdNumeroDocumento(), $this->getIdSecuencia() );
        if ( is_null( $o_ALM_TransaccionDetalleBN ) )
        {
            $s_SQLQuery1 = "INSERT INTO ALM_TransaccionDetalle ( ";
            $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->getIdTipoDocumento() ) )
            {
                $s_SQLQuery1 .= $s_Separator."IdTipoDocumento";
                $s_SQLQuery2 .= $s_Separator."'".$this->getIdTipoDocumento()."'";
                $s_Separator = ", ";
            }
            if ( !is_null( $this->getIdNumeroDocumento() ) )
            {
                $s_SQLQuery1 .= $s_Separator."IdNumeroDocumento";
                $s_SQLQuery2 .= $s_Separator."'".$this->getIdNumeroDocumento()."'";
                $s_Separator = ", ";
            }
            if ( !is_null( $this->getIdSucursal() ) )
            {
                $s_SQLQuery1 .= $s_Separator."IdSucursal";
                $s_SQLQuery2 .= $s_Separator."".$this->getIdSucursal()."";
                $s_Separator = ", ";
            }
            if ( !is_null( $this->getIdCondicion() ) )
            {
                $s_SQLQuery1 .= $s_Separator."IdCondicion";
                $s_SQLQuery2 .= $s_Separator."'".$this->getIdCondicion()."'";
                $s_Separator = ", ";
            }
            if ( !is_null( $this->getIdSecuencia() ) )
            {
                $s_SQLQuery1 .= $s_Separator."IdSecuencia";
                $s_SQLQuery2 .= $s_Separator."".$this->getIdSecuencia()."";
                $s_Separator = ", ";
            }
            if ( !is_null( $this->getIdItem() ) )
            {
                $s_SQLQuery1 .= $s_Separator."IdItem";
                $s_SQLQuery2 .= $s_Separator."'".$this->getIdItem()."'";
                $s_Separator = ", ";
            }
            if ( !is_null( $this->getLote() ) )
            {
                $s_SQLQuery1 .= $s_Separator."Lote";
                $s_SQLQuery2 .= $s_Separator."'".$this->getLote()."'";
                $s_Separator = ", ";
            }
            if ( !is_null( $this->getIdTransaccionCab() ) )
            {
                $s_SQLQuery1 .= $s_Separator."IdTransaccionCab";
                $s_SQLQuery2 .= $s_Separator."'".$this->getIdTransaccionCab()."'";
                $s_Separator = ", ";
            }
            if ( !is_null( $this->getFechaDocumentoCab() ) )
            {
                $s_SQLQuery1 .= $s_Separator."FechaDocumentoCab";
                $s_SQLQuery2 .= $s_Separator."'".$this->getFechaDocumentoCab()."'";
                $s_Separator = ", ";
            }
            if ( !is_null( $this->getIdAlmacen() ) )
            {
                $s_SQLQuery1 .= $s_Separator."IdAlmacen";
                $s_SQLQuery2 .= $s_Separator."'".$this->getIdAlmacen()."'";
                $s_Separator = ", ";
            }
            if ( !is_null( $this->getIdAlmacenDestino() ) )
            {
                $s_SQLQuery1 .= $s_Separator."IdAlmacenDestino";
                $s_SQLQuery2 .= $s_Separator."'".$this->getIdAlmacenDestino()."'";
                $s_Separator = ", ";
            }
            if ( !is_null( $this->getFechaVencimiento() ) )
            {
                $s_SQLQuery1 .= $s_Separator."FechaVencimiento";
                $s_SQLQuery2 .= $s_Separator."'".$this->getFechaVencimiento()."'";
                $s_Separator = ", ";
            }
            if ( !is_null( $this->getUnidadCodigo() ) )
            {
                $s_SQLQuery1 .= $s_Separator."UnidadCodigo";
                $s_SQLQuery2 .= $s_Separator."'".$this->getUnidadCodigo()."'";
                $s_Separator = ", ";
            }
            if ( !is_null( $this->getCantidad() ) )
            {
                $s_SQLQuery1 .= $s_Separator."Cantidad";
                $s_SQLQuery2 .= $s_Separator."".$this->getCantidad()."";
                $s_Separator = ", ";
            }
            if ( !is_null( $this->getCantidadDoble() ) )
            {
                $s_SQLQuery1 .= $s_Separator."CantidadDoble";
                $s_SQLQuery2 .= $s_Separator."".$this->getCantidadDoble()."";
                $s_Separator = ", ";
            }
            if ( !is_null( $this->getCantidadFIFO() ) )
            {
                $s_SQLQuery1 .= $s_Separator."CantidadFIFO";
                $s_SQLQuery2 .= $s_Separator."".$this->getCantidadFIFO()."";
                $s_Separator = ", ";
            }
            if ( !is_null( $this->getIdMoneda() ) )
            {
                $s_SQLQuery1 .= $s_Separator."IdMoneda";
                $s_SQLQuery2 .= $s_Separator."'".$this->getIdMoneda()."'";
                $s_Separator = ", ";
            }
            if ( !is_null( $this->getPrecioUnitario() ) )
            {
                $s_SQLQuery1 .= $s_Separator."PrecioUnitario";
                $s_SQLQuery2 .= $s_Separator."".$this->getPrecioUnitario()."";
                $s_Separator = ", ";
            }
            if ( !is_null( $this->getMontoTotal() ) )
            {
                $s_SQLQuery1 .= $s_Separator."MontoTotal";
                $s_SQLQuery2 .= $s_Separator."".$this->getMontoTotal()."";
                $s_Separator = ", ";
            }
            if ( !is_null( $this->getPrecioUnitarioDolares() ) )
            {
                $s_SQLQuery1 .= $s_Separator."PrecioUnitarioDolares";
                $s_SQLQuery2 .= $s_Separator."".$this->getPrecioUnitarioDolares()."";
                $s_Separator = ", ";
            }
            if ( !is_null( $this->getMontoTotalDolares() ) )
            {
                $s_SQLQuery1 .= $s_Separator."MontoTotalDolares";
                $s_SQLQuery2 .= $s_Separator."".$this->getMontoTotalDolares()."";
                $s_Separator = ", ";
            }
            if ( !is_null( $this->getReferenciaCompaniaSocio() ) )
            {
                $s_SQLQuery1 .= $s_Separator."ReferenciaCompaniaSocio";
                $s_SQLQuery2 .= $s_Separator."'".$this->getReferenciaCompaniaSocio()."'";
                $s_Separator = ", ";
            }
            if ( !is_null( $this->getReferenciaTipoDocumento() ) )
            {
                $s_SQLQuery1 .= $s_Separator."ReferenciaTipoDocumento";
                $s_SQLQuery2 .= $s_Separator."'".$this->getReferenciaTipoDocumento()."'";
                $s_Separator = ", ";
            }
            if ( !is_null( $this->getReferenciaNumeroDocumento() ) )
            {
                $s_SQLQuery1 .= $s_Separator."ReferenciaNumeroDocumento";
                $s_SQLQuery2 .= $s_Separator."'".$this->getReferenciaNumeroDocumento()."'";
                $s_Separator = ", ";
            }
            if ( !is_null( $this->getReferenciaSecuencia() ) )
            {
                $s_SQLQuery1 .= $s_Separator."ReferenciaSecuencia";
                $s_SQLQuery2 .= $s_Separator."".$this->getReferenciaSecuencia()."";
                $s_Separator = ", ";
            }
            if ( !is_null( $this->getAprobacionTecnicaFlag() ) )
            {
                $s_SQLQuery1 .= $s_Separator."AprobacionTecnicaFlag";
                $s_SQLQuery2 .= $s_Separator."'".$this->getAprobacionTecnicaFlag()."'";
                $s_Separator = ", ";
            }
            if ( !is_null( $this->getAprobacionTecnicaDocumento() ) )
            {
                $s_SQLQuery1 .= $s_Separator."AprobacionTecnicaDocumento";
                $s_SQLQuery2 .= $s_Separator."'".$this->getAprobacionTecnicaDocumento()."'";
                $s_Separator = ", ";
            }
            if ( !is_null( $this->getFallaFlag() ) )
            {
                $s_SQLQuery1 .= $s_Separator."FallaFlag";
                $s_SQLQuery2 .= $s_Separator."'".$this->getFallaFlag()."'";
                $s_Separator = ", ";
            }
            if ( !is_null( $this->getObservaciones() ) )
            {
                $s_SQLQuery1 .= $s_Separator."Observaciones";
                $s_SQLQuery2 .= $s_Separator."'".$this->getObservaciones()."'";
                $s_Separator = ", ";
            }
            if ( !is_null( $this->getFacturadoFlag() ) )
            {
                $s_SQLQuery1 .= $s_Separator."FacturadoFlag";
                $s_SQLQuery2 .= $s_Separator."'".$this->getFacturadoFlag()."'";
                $s_Separator = ", ";
            }
            if ( !is_null( $this->getValorizacionExternaFlag() ) )
            {
                $s_SQLQuery1 .= $s_Separator."ValorizacionExternaFlag";
                $s_SQLQuery2 .= $s_Separator."'".$this->getValorizacionExternaFlag()."'";
                $s_Separator = ", ";
            }
            if ( !is_null( $this->getLoteProduccion() ) )
            {
                $s_SQLQuery1 .= $s_Separator."LoteProduccion";
                $s_SQLQuery2 .= $s_Separator."'".$this->getLoteProduccion()."'";
                $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 = ", ";
            }
            if ( !is_null( $this->getDescripcionItem() ) )
            {
                $s_SQLQuery1 .= $s_Separator."DescripcionItem";
                $s_SQLQuery2 .= $s_Separator."'".$this->getDescripcionItem()."'";
                $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 ALM_TransaccionDetalle SET ";
            $s_Separator = "";
            if ( !is_null( $this->getIdSucursal() ) )
            {
                $s_SQLQuery .= $s_Separator."IdSucursal = ".$this->getIdSucursal()."";
                $s_Separator = ", ";
            }
            if ( !is_null( $this->getIdCondicion() ) )
            {
                $s_SQLQuery .= $s_Separator."IdCondicion = '".$this->getIdCondicion()."'";
                $s_Separator = ", ";
            }
            if ( !is_null( $this->getIdItem() ) )
            {
                $s_SQLQuery .= $s_Separator."IdItem = '".$this->getIdItem()."'";
                $s_Separator = ", ";
            }
            if ( !is_null( $this->getLote() ) )
            {
                $s_SQLQuery .= $s_Separator."Lote = '".$this->getLote()."'";
                $s_Separator = ", ";
            }
            if ( !is_null( $this->getIdTransaccionCab() ) )
            {
                $s_SQLQuery .= $s_Separator."IdTransaccionCab = '".$this->getIdTransaccionCab()."'";
                $s_Separator = ", ";
            }
            if ( !is_null( $this->getFechaDocumentoCab() ) )
            {
                $s_SQLQuery .= $s_Separator."FechaDocumentoCab = '".$this->getFechaDocumentoCab()."'";
                $s_Separator = ", ";
            }
            if ( !is_null( $this->getIdAlmacen() ) )
            {
                $s_SQLQuery .= $s_Separator."IdAlmacen = '".$this->getIdAlmacen()."'";
                $s_Separator = ", ";
            }
            if ( !is_null( $this->getIdAlmacenDestino() ) )
            {
                $s_SQLQuery .= $s_Separator."IdAlmacenDestino = '".$this->getIdAlmacenDestino()."'";
                $s_Separator = ", ";
            }
            if ( !is_null( $this->getFechaVencimiento() ) )
            {
                $s_SQLQuery .= $s_Separator."FechaVencimiento = '".$this->getFechaVencimiento()."'";
                $s_Separator = ", ";
            }
            if ( !is_null( $this->getUnidadCodigo() ) )
            {
                $s_SQLQuery .= $s_Separator."UnidadCodigo = '".$this->getUnidadCodigo()."'";
                $s_Separator = ", ";
            }
            if ( !is_null( $this->getCantidad() ) )
            {
                $s_SQLQuery .= $s_Separator."Cantidad = ".$this->getCantidad()."";
                $s_Separator = ", ";
            }
            if ( !is_null( $this->getCantidadDoble() ) )
            {
                $s_SQLQuery .= $s_Separator."CantidadDoble = ".$this->getCantidadDoble()."";
                $s_Separator = ", ";
            }
            if ( !is_null( $this->getCantidadFIFO() ) )
            {
                $s_SQLQuery .= $s_Separator."CantidadFIFO = ".$this->getCantidadFIFO()."";
                $s_Separator = ", ";
            }
            if ( !is_null( $this->getIdMoneda() ) )
            {
                $s_SQLQuery .= $s_Separator."IdMoneda = '".$this->getIdMoneda()."'";
                $s_Separator = ", ";
            }
            if ( !is_null( $this->getPrecioUnitario() ) )
            {
                $s_SQLQuery .= $s_Separator."PrecioUnitario = ".$this->getPrecioUnitario()."";
                $s_Separator = ", ";
            }
            if ( !is_null( $this->getMontoTotal() ) )
            {
                $s_SQLQuery .= $s_Separator."MontoTotal = ".$this->getMontoTotal()."";
                $s_Separator = ", ";
            }
            if ( !is_null( $this->getPrecioUnitarioDolares() ) )
            {
                $s_SQLQuery .= $s_Separator."PrecioUnitarioDolares = ".$this->getPrecioUnitarioDolares()."";
                $s_Separator = ", ";
            }
            if ( !is_null( $this->getMontoTotalDolares() ) )
            {
                $s_SQLQuery .= $s_Separator."MontoTotalDolares = ".$this->getMontoTotalDolares()."";
                $s_Separator = ", ";
            }
            if ( !is_null( $this->getReferenciaCompaniaSocio() ) )
            {
                $s_SQLQuery .= $s_Separator."ReferenciaCompaniaSocio = '".$this->getReferenciaCompaniaSocio()."'";
                $s_Separator = ", ";
            }
            if ( !is_null( $this->getReferenciaTipoDocumento() ) )
            {
                $s_SQLQuery .= $s_Separator."ReferenciaTipoDocumento = '".$this->getReferenciaTipoDocumento()."'";
                $s_Separator = ", ";
            }
            if ( !is_null( $this->getReferenciaNumeroDocumento() ) )
            {
                $s_SQLQuery .= $s_Separator."ReferenciaNumeroDocumento = '".$this->getReferenciaNumeroDocumento()."'";
                $s_Separator = ", ";
            }
            if ( !is_null( $this->getReferenciaSecuencia() ) )
            {
                $s_SQLQuery .= $s_Separator."ReferenciaSecuencia = ".$this->getReferenciaSecuencia()."";
                $s_Separator = ", ";
            }
            if ( !is_null( $this->getAprobacionTecnicaFlag() ) )
            {
                $s_SQLQuery .= $s_Separator."AprobacionTecnicaFlag = '".$this->getAprobacionTecnicaFlag()."'";
                $s_Separator = ", ";
            }
            if ( !is_null( $this->getAprobacionTecnicaDocumento() ) )
            {
                $s_SQLQuery .= $s_Separator."AprobacionTecnicaDocumento = '".$this->getAprobacionTecnicaDocumento()."'";
                $s_Separator = ", ";
            }
            if ( !is_null( $this->getFallaFlag() ) )
            {
                $s_SQLQuery .= $s_Separator."FallaFlag = '".$this->getFallaFlag()."'";
                $s_Separator = ", ";
            }
            if ( !is_null( $this->getObservaciones() ) )
            {
                $s_SQLQuery .= $s_Separator."Observaciones = '".$this->getObservaciones()."'";
                $s_Separator = ", ";
            }
            if ( !is_null( $this->getFacturadoFlag() ) )
            {
                $s_SQLQuery .= $s_Separator."FacturadoFlag = '".$this->getFacturadoFlag()."'";
                $s_Separator = ", ";
            }
            if ( !is_null( $this->getValorizacionExternaFlag() ) )
            {
                $s_SQLQuery .= $s_Separator."ValorizacionExternaFlag = '".$this->getValorizacionExternaFlag()."'";
                $s_Separator = ", ";
            }
            if ( !is_null( $this->getLoteProduccion() ) )
            {
                $s_SQLQuery .= $s_Separator."LoteProduccion = '".$this->getLoteProduccion()."'";
                $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 = ", ";
            }
            if ( !is_null( $this->getDescripcionItem() ) )
            {
                $s_SQLQuery .= $s_Separator."DescripcionItem = '".$this->getDescripcionItem()."'";
                $s_Separator = ", ";
            }
            $s_SQLQuery .= " WHERE  IdCompania = ".$this->getIdCompania()." AND  IdTipoDocumento = '".$this->getIdTipoDocumento()."' AND  IdNumeroDocumento = '".$this->getIdNumeroDocumento()."' AND  IdSecuencia = ".$this->getIdSecuencia().";";
            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 ALM_TransaccionDetalle WHERE  IdCompania = ".$this->getIdCompania()." AND  IdTipoDocumento = '".$this->getIdTipoDocumento()."' AND  IdNumeroDocumento = '".$this->getIdNumeroDocumento()."' AND  IdSecuencia = ".$this->getIdSecuencia().";";
        if( $this->getDebug() ){ pr( $s_SQLQuery ); }
        $o_Resource = Conexion::getConexion();
        $o_Statement = $o_Resource->createStatement();
        $o_Statement->executeQuery( $s_SQLQuery );
        return true;
    }

}
?>