<?php

namespace StructType;

use \WsdlToPhp\PackageBase\AbstractStructBase;

/**
 * This class stands for DocumentosCompraERP StructType
 * Meta informations extracted from the WSDL
 * - nillable: true
 * - type: tns:DocumentosCompraERP
 * @subpackage Structs
 */
class DocumentosCompraERP extends AbstractStructBase
{
    /**
     * The AcaoFaturacaoSTP
     * Meta informations extracted from the WSDL
     * - minOccurs: 0
     * - nillable: true
     * @var int
     */
    public $AcaoFaturacaoSTP;
    /**
     * The ActPCM
     * Meta informations extracted from the WSDL
     * - minOccurs: 0
     * - nillable: true
     * @var bool
     */
    public $ActPCM;
    /**
     * The ActPCU
     * Meta informations extracted from the WSDL
     * - minOccurs: 0
     * - nillable: true
     * @var bool
     */
    public $ActPCU;
    /**
     * The ActUltEntrada
     * Meta informations extracted from the WSDL
     * - minOccurs: 0
     * - nillable: true
     * @var bool
     */
    public $ActUltEntrada;
    /**
     * The ActUltSaida
     * Meta informations extracted from the WSDL
     * - minOccurs: 0
     * - nillable: true
     * @var bool
     */
    public $ActUltSaida;
    /**
     * The AnaliticaCBL
     * Meta informations extracted from the WSDL
     * - minOccurs: 0
     * - nillable: true
     * @var bool
     */
    public $AnaliticaCBL;
    /**
     * The BalAnalitica
     * Meta informations extracted from the WSDL
     * - minOccurs: 0
     * - nillable: true
     * @var bool
     */
    public $BalAnalitica;
    /**
     * The BalAnaliticaALT
     * Meta informations extracted from the WSDL
     * - minOccurs: 0
     * @var bool
     */
    public $BalAnaliticaALT;
    /**
     * The BalFinanceira
     * Meta informations extracted from the WSDL
     * - minOccurs: 0
     * - nillable: true
     * @var bool
     */
    public $BalFinanceira;
    /**
     * The BalFinanceiraALT
     * Meta informations extracted from the WSDL
     * - minOccurs: 0
     * @var bool
     */
    public $BalFinanceiraALT;
    /**
     * The BalOrcamental
     * Meta informations extracted from the WSDL
     * - minOccurs: 0
     * - nillable: true
     * @var bool
     */
    public $BalOrcamental;
    /**
     * The BalOrcamentalALT
     * Meta informations extracted from the WSDL
     * - minOccurs: 0
     * @var bool
     */
    public $BalOrcamentalALT;
    /**
     * The BensCirculacao
     * Meta informations extracted from the WSDL
     * - minOccurs: 0
     * @var bool
     */
    public $BensCirculacao;
    /**
     * The CTBStocksCredito
     * Meta informations extracted from the WSDL
     * - minOccurs: 0
     * - nillable: true
     * @var string
     */
    public $CTBStocksCredito;
    /**
     * The CTBStocksDebito
     * Meta informations extracted from the WSDL
     * - minOccurs: 0
     * - nillable: true
     * @var string
     */
    public $CTBStocksDebito;
    /**
     * The CentrosCustoCBL
     * Meta informations extracted from the WSDL
     * - minOccurs: 0
     * - nillable: true
     * @var bool
     */
    public $CentrosCustoCBL;
    /**
     * The ClasseAnalitica
     * Meta informations extracted from the WSDL
     * - minOccurs: 0
     * - nillable: true
     * @var int
     */
    public $ClasseAnalitica;
    /**
     * The ClassesIvaCBL
     * Meta informations extracted from the WSDL
     * - minOccurs: 0
     * - nillable: true
     * @var bool
     */
    public $ClassesIvaCBL;
    /**
     * The CondPagASugerir
     * Meta informations extracted from the WSDL
     * - minOccurs: 0
     * - nillable: true
     * @var string
     */
    public $CondPagASugerir;
    /**
     * The ControlaCustosPorObra
     * Meta informations extracted from the WSDL
     * - minOccurs: 0
     * - nillable: true
     * @var bool
     */
    public $ControlaCustosPorObra;
    /**
     * The ControlaQtdSatisfeita
     * Meta informations extracted from the WSDL
     * - minOccurs: 0
     * - nillable: true
     * @var bool
     */
    public $ControlaQtdSatisfeita;
    /**
     * The DataUltimaActualizacao
     * Meta informations extracted from the WSDL
     * - minOccurs: 0
     * - nillable: true
     * @var string
     */
    public $DataUltimaActualizacao;
    /**
     * The DeduzLiquidaIVA
     * Meta informations extracted from the WSDL
     * - minOccurs: 0
     * @var bool
     */
    public $DeduzLiquidaIVA;
    /**
     * The Descricao
     * Meta informations extracted from the WSDL
     * - minOccurs: 0
     * - nillable: true
     * @var string
     */
    public $Descricao;
    /**
     * The Diario
     * Meta informations extracted from the WSDL
     * - minOccurs: 0
     * - nillable: true
     * @var string
     */
    public $Diario;
    /**
     * The DiarioMovSTK
     * Meta informations extracted from the WSDL
     * - minOccurs: 0
     * - nillable: true
     * @var string
     */
    public $DiarioMovSTK;
    /**
     * The DocConferencia
     * Meta informations extracted from the WSDL
     * - minOccurs: 0
     * - nillable: true
     * @var string
     */
    public $DocConferencia;
    /**
     * The DocEncomenda
     * Meta informations extracted from the WSDL
     * - minOccurs: 0
     * - nillable: true
     * @var bool
     */
    public $DocEncomenda;
    /**
     * The DocLiqRetencao
     * Meta informations extracted from the WSDL
     * - minOccurs: 0
     * - nillable: true
     * @var string
     */
    public $DocLiqRetencao;
    /**
     * The DocLiqRetencaoGarantia
     * Meta informations extracted from the WSDL
     * - minOccurs: 0
     * - nillable: true
     * @var string
     */
    public $DocLiqRetencaoGarantia;
    /**
     * The DocNaoValorizado
     * Meta informations extracted from the WSDL
     * - minOccurs: 0
     * @var bool
     */
    public $DocNaoValorizado;
    /**
     * The DocTesAGerar
     * Meta informations extracted from the WSDL
     * - minOccurs: 0
     * - nillable: true
     * @var string
     */
    public $DocTesAGerar;
    /**
     * The Documento
     * Meta informations extracted from the WSDL
     * - minOccurs: 0
     * - nillable: true
     * @var string
     */
    public $Documento;
    /**
     * The DocumentoEstorno
     * Meta informations extracted from the WSDL
     * - minOccurs: 0
     * - nillable: true
     * @var string
     */
    public $DocumentoEstorno;
    /**
     * The DocumentoLiqAGerar
     * Meta informations extracted from the WSDL
     * - minOccurs: 0
     * - nillable: true
     * @var string
     */
    public $DocumentoLiqAGerar;
    /**
     * The DocumentoRetificacao
     * Meta informations extracted from the WSDL
     * - minOccurs: 0
     * - nillable: true
     * @var string
     */
    public $DocumentoRetificacao;
    /**
     * The EMailBCC
     * Meta informations extracted from the WSDL
     * - minOccurs: 0
     * - nillable: true
     * @var string
     */
    public $EMailBCC;
    /**
     * The EMailCC
     * Meta informations extracted from the WSDL
     * - minOccurs: 0
     * - nillable: true
     * @var string
     */
    public $EMailCC;
    /**
     * The EMailConfirmar
     * Meta informations extracted from the WSDL
     * - minOccurs: 0
     * - nillable: true
     * @var bool
     */
    public $EMailConfirmar;
    /**
     * The EMailTexto
     * Meta informations extracted from the WSDL
     * - minOccurs: 0
     * - nillable: true
     * @var string
     */
    public $EMailTexto;
    /**
     * The EMailVisualizar
     * Meta informations extracted from the WSDL
     * - minOccurs: 0
     * - nillable: true
     * @var bool
     */
    public $EMailVisualizar;
    /**
     * The EconomicaCBL
     * Meta informations extracted from the WSDL
     * - minOccurs: 0
     * - nillable: true
     * @var string
     */
    public $EconomicaCBL;
    /**
     * The EmailFixo
     * Meta informations extracted from the WSDL
     * - minOccurs: 0
     * - nillable: true
     * @var bool
     */
    public $EmailFixo;
    /**
     * The EmailTo
     * Meta informations extracted from the WSDL
     * - minOccurs: 0
     * - nillable: true
     * @var string
     */
    public $EmailTo;
    /**
     * The EnviaEmail
     * Meta informations extracted from the WSDL
     * - minOccurs: 0
     * - nillable: true
     * @var bool
     */
    public $EnviaEmail;
    /**
     * The Estado
     * Meta informations extracted from the WSDL
     * - minOccurs: 0
     * - nillable: true
     * @var string
     */
    public $Estado;
    /**
     * The EstadoLiqAut
     * Meta informations extracted from the WSDL
     * - minOccurs: 0
     * - nillable: true
     * @var string
     */
    public $EstadoLiqAut;
    /**
     * The EstadoProcesso
     * Meta informations extracted from the WSDL
     * - minOccurs: 0
     * - nillable: true
     * @var string
     */
    public $EstadoProcesso;
    /**
     * The EstadoTransitar
     * Meta informations extracted from the WSDL
     * - minOccurs: 0
     * - nillable: true
     * @var string
     */
    public $EstadoTransitar;
    /**
     * The Fluxo
     * Meta informations extracted from the WSDL
     * - minOccurs: 0
     * - nillable: true
     * @var string
     */
    public $Fluxo;
    /**
     * The FornIndiferenciado
     * Meta informations extracted from the WSDL
     * - minOccurs: 0
     * - nillable: true
     * @var bool
     */
    public $FornIndiferenciado;
    /**
     * The Fornecedores
     * Meta informations extracted from the WSDL
     * - minOccurs: 0
     * - nillable: true
     * @var bool
     */
    public $Fornecedores;
    /**
     * The FuncionalCBL
     * Meta informations extracted from the WSDL
     * - minOccurs: 0
     * - nillable: true
     * @var string
     */
    public $FuncionalCBL;
    /**
     * The FuncoesCBL
     * Meta informations extracted from the WSDL
     * - minOccurs: 0
     * - nillable: true
     * @var bool
     */
    public $FuncoesCBL;
    /**
     * The IntrastatCondEnt
     * Meta informations extracted from the WSDL
     * - minOccurs: 0
     * - nillable: true
     * @var string
     */
    public $IntrastatCondEnt;
    /**
     * The IntrastatDoc
     * Meta informations extracted from the WSDL
     * - minOccurs: 0
     * - nillable: true
     * @var bool
     */
    public $IntrastatDoc;
    /**
     * The LigaBNC
     * Meta informations extracted from the WSDL
     * - minOccurs: 0
     * - nillable: true
     * @var bool
     */
    public $LigaBNC;
    /**
     * The LigaCC
     * Meta informations extracted from the WSDL
     * - minOccurs: 0
     * - nillable: true
     * @var bool
     */
    public $LigaCC;
    /**
     * The LigaContab
     * Meta informations extracted from the WSDL
     * - minOccurs: 0
     * - nillable: true
     * @var bool
     */
    public $LigaContab;
    /**
     * The LigaContabMovSTK
     * Meta informations extracted from the WSDL
     * - minOccurs: 0
     * - nillable: true
     * @var bool
     */
    public $LigaContabMovSTK;
    /**
     * The LigaProcessos
     * Meta informations extracted from the WSDL
     * - minOccurs: 0
     * - nillable: true
     * @var bool
     */
    public $LigaProcessos;
    /**
     * The LigaSTP
     * Meta informations extracted from the WSDL
     * - minOccurs: 0
     * - nillable: true
     * @var bool
     */
    public $LigaSTP;
    /**
     * The LigaStocks
     * Meta informations extracted from the WSDL
     * - minOccurs: 0
     * - nillable: true
     * @var bool
     */
    public $LigaStocks;
    /**
     * The LigacaoCBLOnLine
     * Meta informations extracted from the WSDL
     * - minOccurs: 0
     * - nillable: true
     * @var bool
     */
    public $LigacaoCBLOnLine;
    /**
     * The LigacaoTesouraria
     * Meta informations extracted from the WSDL
     * - minOccurs: 0
     * - nillable: true
     * @var bool
     */
    public $LigacaoTesouraria;
    /**
     * The LimiteCredito
     * Meta informations extracted from the WSDL
     * - minOccurs: 0
     * - nillable: true
     * @var bool
     */
    public $LimiteCredito;
    /**
     * The LiqRetGarantiaIntroducao
     * Meta informations extracted from the WSDL
     * - minOccurs: 0
     * - nillable: true
     * @var bool
     */
    public $LiqRetGarantiaIntroducao;
    /**
     * The LiqRetIntroducao
     * Meta informations extracted from the WSDL
     * - minOccurs: 0
     * - nillable: true
     * @var bool
     */
    public $LiqRetIntroducao;
    /**
     * The LiquidacaoAutomatica
     * Meta informations extracted from the WSDL
     * - minOccurs: 0
     * - nillable: true
     * @var bool
     */
    public $LiquidacaoAutomatica;
    /**
     * The MovimentaEstados
     * Meta informations extracted from the WSDL
     * - minOccurs: 0
     * - nillable: true
     * @var bool
     */
    public $MovimentaEstados;
    /**
     * The NActualizaPCM
     * Meta informations extracted from the WSDL
     * - minOccurs: 0
     * @var bool
     */
    public $NActualizaPCM;
    /**
     * The NActualizaPCU
     * Meta informations extracted from the WSDL
     * - minOccurs: 0
     * @var bool
     */
    public $NActualizaPCU;
    /**
     * The NActualizaUltimaEntrada
     * Meta informations extracted from the WSDL
     * - minOccurs: 0
     * @var bool
     */
    public $NActualizaUltimaEntrada;
    /**
     * The NActualizaUltimaSaida
     * Meta informations extracted from the WSDL
     * - minOccurs: 0
     * @var bool
     */
    public $NActualizaUltimaSaida;
    /**
     * The NTipoMovStk
     * Meta informations extracted from the WSDL
     * - minOccurs: 0
     * - nillable: true
     * @var string
     */
    public $NTipoMovStk;
    /**
     * The NaturezaCCOP
     * Meta informations extracted from the WSDL
     * - minOccurs: 0
     * - nillable: true
     * @var string
     */
    public $NaturezaCCOP;
    /**
     * The OperacaoControlaQtdSatisfeita
     * Meta informations extracted from the WSDL
     * - minOccurs: 0
     * @var int
     */
    public $OperacaoControlaQtdSatisfeita;
    /**
     * The OrganicaCBL
     * Meta informations extracted from the WSDL
     * - minOccurs: 0
     * - nillable: true
     * @var string
     */
    public $OrganicaCBL;
    /**
     * The OutrosCredores
     * Meta informations extracted from the WSDL
     * - minOccurs: 0
     * - nillable: true
     * @var bool
     */
    public $OutrosCredores;
    /**
     * The PagarReceber
     * Meta informations extracted from the WSDL
     * - minOccurs: 0
     * - nillable: true
     * @var string
     */
    public $PagarReceber;
    /**
     * The PendentePorLinha
     * Meta informations extracted from the WSDL
     * - minOccurs: 0
     * @var bool
     */
    public $PendentePorLinha;
    /**
     * The PermiteAltAposExp
     * Meta informations extracted from the WSDL
     * - minOccurs: 0
     * @var bool
     */
    public $PermiteAltAposExp;
    /**
     * The PermiteDocNegativo
     * Meta informations extracted from the WSDL
     * - minOccurs: 0
     * @var bool
     */
    public $PermiteDocNegativo;
    /**
     * The PermiteEstorno
     * Meta informations extracted from the WSDL
     * - minOccurs: 0
     * @var bool
     */
    public $PermiteEstorno;
    /**
     * The PermiteLinhasNegativas
     * Meta informations extracted from the WSDL
     * - minOccurs: 0
     * @var bool
     */
    public $PermiteLinhasNegativas;
    /**
     * The Protegida
     * Meta informations extracted from the WSDL
     * - minOccurs: 0
     * @var bool
     */
    public $Protegida;
    /**
     * The Recapitulativos
     * Meta informations extracted from the WSDL
     * - minOccurs: 0
     * - nillable: true
     * @var bool
     */
    public $Recapitulativos;
    /**
     * The RecolhaDE_IL
     * Meta informations extracted from the WSDL
     * - minOccurs: 0
     * @var bool
     */
    public $RecolhaDE_IL;
    /**
     * The RequerProcessoSTP
     * Meta informations extracted from the WSDL
     * - minOccurs: 0
     * - nillable: true
     * @var bool
     */
    public $RequerProcessoSTP;
    /**
     * The RubricaTesouraria
     * Meta informations extracted from the WSDL
     * - minOccurs: 0
     * - nillable: true
     * @var string
     */
    public $RubricaTesouraria;
    /**
     * The SAFTTipoDocumento
     * Meta informations extracted from the WSDL
     * - minOccurs: 0
     * - nillable: true
     * @var string
     */
    public $SAFTTipoDocumento;
    /**
     * The SeparaControloQtdSatisfeita
     * Meta informations extracted from the WSDL
     * - minOccurs: 0
     * @var bool
     */
    public $SeparaControloQtdSatisfeita;
    /**
     * The SerieDocEstorno
     * Meta informations extracted from the WSDL
     * - minOccurs: 0
     * - nillable: true
     * @var string
     */
    public $SerieDocEstorno;
    /**
     * The SerieDocRetificacao
     * Meta informations extracted from the WSDL
     * - minOccurs: 0
     * - nillable: true
     * @var string
     */
    public $SerieDocRetificacao;
    /**
     * The SugereCodProcesso
     * Meta informations extracted from the WSDL
     * - minOccurs: 0
     * - nillable: true
     * @var bool
     */
    public $SugereCodProcesso;
    /**
     * The SugereCondPag
     * Meta informations extracted from the WSDL
     * - minOccurs: 0
     * - nillable: true
     * @var bool
     */
    public $SugereCondPag;
    /**
     * The SugestaoEstat
     * Meta informations extracted from the WSDL
     * - minOccurs: 0
     * - nillable: true
     * @var bool
     */
    public $SugestaoEstat;
    /**
     * The SujeitoAProvisoes
     * Meta informations extracted from the WSDL
     * - minOccurs: 0
     * - nillable: true
     * @var bool
     */
    public $SujeitoAProvisoes;
    /**
     * The SujeitoConferencia
     * Meta informations extracted from the WSDL
     * - minOccurs: 0
     * - nillable: true
     * @var bool
     */
    public $SujeitoConferencia;
    /**
     * The SujeitoConversao
     * Meta informations extracted from the WSDL
     * - minOccurs: 0
     * - nillable: true
     * @var bool
     */
    public $SujeitoConversao;
    /**
     * The SujeitoLiberacao
     * Meta informations extracted from the WSDL
     * - minOccurs: 0
     * - nillable: true
     * @var bool
     */
    public $SujeitoLiberacao;
    /**
     * The SujeitoRetencaoGarantia
     * Meta informations extracted from the WSDL
     * - minOccurs: 0
     * - nillable: true
     * @var bool
     */
    public $SujeitoRetencaoGarantia;
    /**
     * The TipoConta
     * Meta informations extracted from the WSDL
     * - minOccurs: 0
     * - nillable: true
     * @var string
     */
    public $TipoConta;
    /**
     * The TipoDocCC
     * Meta informations extracted from the WSDL
     * - minOccurs: 0
     * - nillable: true
     * @var string
     */
    public $TipoDocCC;
    /**
     * The TipoDocSTK
     * Meta informations extracted from the WSDL
     * - minOccurs: 0
     * - nillable: true
     * @var string
     */
    public $TipoDocSTK;
    /**
     * The TipoDocumento
     * Meta informations extracted from the WSDL
     * - minOccurs: 0
     * - nillable: true
     * @var string
     */
    public $TipoDocumento;
    /**
     * The TipoIntervencaoSTP
     * Meta informations extracted from the WSDL
     * - minOccurs: 0
     * - nillable: true
     * @var string
     */
    public $TipoIntervencaoSTP;
    /**
     * The TipoLigacaoBNC
     * Meta informations extracted from the WSDL
     * - minOccurs: 0
     * - nillable: true
     * @var bool
     */
    public $TipoLigacaoBNC;
    /**
     * The TransitaEstado
     * Meta informations extracted from the WSDL
     * - minOccurs: 0
     * - nillable: true
     * @var bool
     */
    public $TransitaEstado;
    /**
     * The ValidaDocExt
     * Meta informations extracted from the WSDL
     * - minOccurs: 0
     * - nillable: true
     * @var int
     */
    public $ValidaDocExt;
    /**
     * The VerDescFornecedor
     * Meta informations extracted from the WSDL
     * - minOccurs: 0
     * - nillable: true
     * @var bool
     */
    public $VerDescFornecedor;
    /**
     * The VersaoUltAct
     * Meta informations extracted from the WSDL
     * - minOccurs: 0
     * @var string
     */
    public $VersaoUltAct;
    /**
     * The VisualizarLigacaoCBL
     * Meta informations extracted from the WSDL
     * - minOccurs: 0
     * - nillable: true
     * @var bool
     */
    public $VisualizarLigacaoCBL;
    /**
     * Constructor method for DocumentosCompraERP
     * @uses DocumentosCompraERP::setAcaoFaturacaoSTP()
     * @uses DocumentosCompraERP::setActPCM()
     * @uses DocumentosCompraERP::setActPCU()
     * @uses DocumentosCompraERP::setActUltEntrada()
     * @uses DocumentosCompraERP::setActUltSaida()
     * @uses DocumentosCompraERP::setAnaliticaCBL()
     * @uses DocumentosCompraERP::setBalAnalitica()
     * @uses DocumentosCompraERP::setBalAnaliticaALT()
     * @uses DocumentosCompraERP::setBalFinanceira()
     * @uses DocumentosCompraERP::setBalFinanceiraALT()
     * @uses DocumentosCompraERP::setBalOrcamental()
     * @uses DocumentosCompraERP::setBalOrcamentalALT()
     * @uses DocumentosCompraERP::setBensCirculacao()
     * @uses DocumentosCompraERP::setCTBStocksCredito()
     * @uses DocumentosCompraERP::setCTBStocksDebito()
     * @uses DocumentosCompraERP::setCentrosCustoCBL()
     * @uses DocumentosCompraERP::setClasseAnalitica()
     * @uses DocumentosCompraERP::setClassesIvaCBL()
     * @uses DocumentosCompraERP::setCondPagASugerir()
     * @uses DocumentosCompraERP::setControlaCustosPorObra()
     * @uses DocumentosCompraERP::setControlaQtdSatisfeita()
     * @uses DocumentosCompraERP::setDataUltimaActualizacao()
     * @uses DocumentosCompraERP::setDeduzLiquidaIVA()
     * @uses DocumentosCompraERP::setDescricao()
     * @uses DocumentosCompraERP::setDiario()
     * @uses DocumentosCompraERP::setDiarioMovSTK()
     * @uses DocumentosCompraERP::setDocConferencia()
     * @uses DocumentosCompraERP::setDocEncomenda()
     * @uses DocumentosCompraERP::setDocLiqRetencao()
     * @uses DocumentosCompraERP::setDocLiqRetencaoGarantia()
     * @uses DocumentosCompraERP::setDocNaoValorizado()
     * @uses DocumentosCompraERP::setDocTesAGerar()
     * @uses DocumentosCompraERP::setDocumento()
     * @uses DocumentosCompraERP::setDocumentoEstorno()
     * @uses DocumentosCompraERP::setDocumentoLiqAGerar()
     * @uses DocumentosCompraERP::setDocumentoRetificacao()
     * @uses DocumentosCompraERP::setEMailBCC()
     * @uses DocumentosCompraERP::setEMailCC()
     * @uses DocumentosCompraERP::setEMailConfirmar()
     * @uses DocumentosCompraERP::setEMailTexto()
     * @uses DocumentosCompraERP::setEMailVisualizar()
     * @uses DocumentosCompraERP::setEconomicaCBL()
     * @uses DocumentosCompraERP::setEmailFixo()
     * @uses DocumentosCompraERP::setEmailTo()
     * @uses DocumentosCompraERP::setEnviaEmail()
     * @uses DocumentosCompraERP::setEstado()
     * @uses DocumentosCompraERP::setEstadoLiqAut()
     * @uses DocumentosCompraERP::setEstadoProcesso()
     * @uses DocumentosCompraERP::setEstadoTransitar()
     * @uses DocumentosCompraERP::setFluxo()
     * @uses DocumentosCompraERP::setFornIndiferenciado()
     * @uses DocumentosCompraERP::setFornecedores()
     * @uses DocumentosCompraERP::setFuncionalCBL()
     * @uses DocumentosCompraERP::setFuncoesCBL()
     * @uses DocumentosCompraERP::setIntrastatCondEnt()
     * @uses DocumentosCompraERP::setIntrastatDoc()
     * @uses DocumentosCompraERP::setLigaBNC()
     * @uses DocumentosCompraERP::setLigaCC()
     * @uses DocumentosCompraERP::setLigaContab()
     * @uses DocumentosCompraERP::setLigaContabMovSTK()
     * @uses DocumentosCompraERP::setLigaProcessos()
     * @uses DocumentosCompraERP::setLigaSTP()
     * @uses DocumentosCompraERP::setLigaStocks()
     * @uses DocumentosCompraERP::setLigacaoCBLOnLine()
     * @uses DocumentosCompraERP::setLigacaoTesouraria()
     * @uses DocumentosCompraERP::setLimiteCredito()
     * @uses DocumentosCompraERP::setLiqRetGarantiaIntroducao()
     * @uses DocumentosCompraERP::setLiqRetIntroducao()
     * @uses DocumentosCompraERP::setLiquidacaoAutomatica()
     * @uses DocumentosCompraERP::setMovimentaEstados()
     * @uses DocumentosCompraERP::setNActualizaPCM()
     * @uses DocumentosCompraERP::setNActualizaPCU()
     * @uses DocumentosCompraERP::setNActualizaUltimaEntrada()
     * @uses DocumentosCompraERP::setNActualizaUltimaSaida()
     * @uses DocumentosCompraERP::setNTipoMovStk()
     * @uses DocumentosCompraERP::setNaturezaCCOP()
     * @uses DocumentosCompraERP::setOperacaoControlaQtdSatisfeita()
     * @uses DocumentosCompraERP::setOrganicaCBL()
     * @uses DocumentosCompraERP::setOutrosCredores()
     * @uses DocumentosCompraERP::setPagarReceber()
     * @uses DocumentosCompraERP::setPendentePorLinha()
     * @uses DocumentosCompraERP::setPermiteAltAposExp()
     * @uses DocumentosCompraERP::setPermiteDocNegativo()
     * @uses DocumentosCompraERP::setPermiteEstorno()
     * @uses DocumentosCompraERP::setPermiteLinhasNegativas()
     * @uses DocumentosCompraERP::setProtegida()
     * @uses DocumentosCompraERP::setRecapitulativos()
     * @uses DocumentosCompraERP::setRecolhaDE_IL()
     * @uses DocumentosCompraERP::setRequerProcessoSTP()
     * @uses DocumentosCompraERP::setRubricaTesouraria()
     * @uses DocumentosCompraERP::setSAFTTipoDocumento()
     * @uses DocumentosCompraERP::setSeparaControloQtdSatisfeita()
     * @uses DocumentosCompraERP::setSerieDocEstorno()
     * @uses DocumentosCompraERP::setSerieDocRetificacao()
     * @uses DocumentosCompraERP::setSugereCodProcesso()
     * @uses DocumentosCompraERP::setSugereCondPag()
     * @uses DocumentosCompraERP::setSugestaoEstat()
     * @uses DocumentosCompraERP::setSujeitoAProvisoes()
     * @uses DocumentosCompraERP::setSujeitoConferencia()
     * @uses DocumentosCompraERP::setSujeitoConversao()
     * @uses DocumentosCompraERP::setSujeitoLiberacao()
     * @uses DocumentosCompraERP::setSujeitoRetencaoGarantia()
     * @uses DocumentosCompraERP::setTipoConta()
     * @uses DocumentosCompraERP::setTipoDocCC()
     * @uses DocumentosCompraERP::setTipoDocSTK()
     * @uses DocumentosCompraERP::setTipoDocumento()
     * @uses DocumentosCompraERP::setTipoIntervencaoSTP()
     * @uses DocumentosCompraERP::setTipoLigacaoBNC()
     * @uses DocumentosCompraERP::setTransitaEstado()
     * @uses DocumentosCompraERP::setValidaDocExt()
     * @uses DocumentosCompraERP::setVerDescFornecedor()
     * @uses DocumentosCompraERP::setVersaoUltAct()
     * @uses DocumentosCompraERP::setVisualizarLigacaoCBL()
     * @param int $acaoFaturacaoSTP
     * @param bool $actPCM
     * @param bool $actPCU
     * @param bool $actUltEntrada
     * @param bool $actUltSaida
     * @param bool $analiticaCBL
     * @param bool $balAnalitica
     * @param bool $balAnaliticaALT
     * @param bool $balFinanceira
     * @param bool $balFinanceiraALT
     * @param bool $balOrcamental
     * @param bool $balOrcamentalALT
     * @param bool $bensCirculacao
     * @param string $cTBStocksCredito
     * @param string $cTBStocksDebito
     * @param bool $centrosCustoCBL
     * @param int $classeAnalitica
     * @param bool $classesIvaCBL
     * @param string $condPagASugerir
     * @param bool $controlaCustosPorObra
     * @param bool $controlaQtdSatisfeita
     * @param string $dataUltimaActualizacao
     * @param bool $deduzLiquidaIVA
     * @param string $descricao
     * @param string $diario
     * @param string $diarioMovSTK
     * @param string $docConferencia
     * @param bool $docEncomenda
     * @param string $docLiqRetencao
     * @param string $docLiqRetencaoGarantia
     * @param bool $docNaoValorizado
     * @param string $docTesAGerar
     * @param string $documento
     * @param string $documentoEstorno
     * @param string $documentoLiqAGerar
     * @param string $documentoRetificacao
     * @param string $eMailBCC
     * @param string $eMailCC
     * @param bool $eMailConfirmar
     * @param string $eMailTexto
     * @param bool $eMailVisualizar
     * @param string $economicaCBL
     * @param bool $emailFixo
     * @param string $emailTo
     * @param bool $enviaEmail
     * @param string $estado
     * @param string $estadoLiqAut
     * @param string $estadoProcesso
     * @param string $estadoTransitar
     * @param string $fluxo
     * @param bool $fornIndiferenciado
     * @param bool $fornecedores
     * @param string $funcionalCBL
     * @param bool $funcoesCBL
     * @param string $intrastatCondEnt
     * @param bool $intrastatDoc
     * @param bool $ligaBNC
     * @param bool $ligaCC
     * @param bool $ligaContab
     * @param bool $ligaContabMovSTK
     * @param bool $ligaProcessos
     * @param bool $ligaSTP
     * @param bool $ligaStocks
     * @param bool $ligacaoCBLOnLine
     * @param bool $ligacaoTesouraria
     * @param bool $limiteCredito
     * @param bool $liqRetGarantiaIntroducao
     * @param bool $liqRetIntroducao
     * @param bool $liquidacaoAutomatica
     * @param bool $movimentaEstados
     * @param bool $nActualizaPCM
     * @param bool $nActualizaPCU
     * @param bool $nActualizaUltimaEntrada
     * @param bool $nActualizaUltimaSaida
     * @param string $nTipoMovStk
     * @param string $naturezaCCOP
     * @param int $operacaoControlaQtdSatisfeita
     * @param string $organicaCBL
     * @param bool $outrosCredores
     * @param string $pagarReceber
     * @param bool $pendentePorLinha
     * @param bool $permiteAltAposExp
     * @param bool $permiteDocNegativo
     * @param bool $permiteEstorno
     * @param bool $permiteLinhasNegativas
     * @param bool $protegida
     * @param bool $recapitulativos
     * @param bool $recolhaDE_IL
     * @param bool $requerProcessoSTP
     * @param string $rubricaTesouraria
     * @param string $sAFTTipoDocumento
     * @param bool $separaControloQtdSatisfeita
     * @param string $serieDocEstorno
     * @param string $serieDocRetificacao
     * @param bool $sugereCodProcesso
     * @param bool $sugereCondPag
     * @param bool $sugestaoEstat
     * @param bool $sujeitoAProvisoes
     * @param bool $sujeitoConferencia
     * @param bool $sujeitoConversao
     * @param bool $sujeitoLiberacao
     * @param bool $sujeitoRetencaoGarantia
     * @param string $tipoConta
     * @param string $tipoDocCC
     * @param string $tipoDocSTK
     * @param string $tipoDocumento
     * @param string $tipoIntervencaoSTP
     * @param bool $tipoLigacaoBNC
     * @param bool $transitaEstado
     * @param int $validaDocExt
     * @param bool $verDescFornecedor
     * @param string $versaoUltAct
     * @param bool $visualizarLigacaoCBL
     */
    public function __construct($acaoFaturacaoSTP = null, $actPCM = null, $actPCU = null, $actUltEntrada = null, $actUltSaida = null, $analiticaCBL = null, $balAnalitica = null, $balAnaliticaALT = null, $balFinanceira = null, $balFinanceiraALT = null, $balOrcamental = null, $balOrcamentalALT = null, $bensCirculacao = null, $cTBStocksCredito = null, $cTBStocksDebito = null, $centrosCustoCBL = null, $classeAnalitica = null, $classesIvaCBL = null, $condPagASugerir = null, $controlaCustosPorObra = null, $controlaQtdSatisfeita = null, $dataUltimaActualizacao = null, $deduzLiquidaIVA = null, $descricao = null, $diario = null, $diarioMovSTK = null, $docConferencia = null, $docEncomenda = null, $docLiqRetencao = null, $docLiqRetencaoGarantia = null, $docNaoValorizado = null, $docTesAGerar = null, $documento = null, $documentoEstorno = null, $documentoLiqAGerar = null, $documentoRetificacao = null, $eMailBCC = null, $eMailCC = null, $eMailConfirmar = null, $eMailTexto = null, $eMailVisualizar = null, $economicaCBL = null, $emailFixo = null, $emailTo = null, $enviaEmail = null, $estado = null, $estadoLiqAut = null, $estadoProcesso = null, $estadoTransitar = null, $fluxo = null, $fornIndiferenciado = null, $fornecedores = null, $funcionalCBL = null, $funcoesCBL = null, $intrastatCondEnt = null, $intrastatDoc = null, $ligaBNC = null, $ligaCC = null, $ligaContab = null, $ligaContabMovSTK = null, $ligaProcessos = null, $ligaSTP = null, $ligaStocks = null, $ligacaoCBLOnLine = null, $ligacaoTesouraria = null, $limiteCredito = null, $liqRetGarantiaIntroducao = null, $liqRetIntroducao = null, $liquidacaoAutomatica = null, $movimentaEstados = null, $nActualizaPCM = null, $nActualizaPCU = null, $nActualizaUltimaEntrada = null, $nActualizaUltimaSaida = null, $nTipoMovStk = null, $naturezaCCOP = null, $operacaoControlaQtdSatisfeita = null, $organicaCBL = null, $outrosCredores = null, $pagarReceber = null, $pendentePorLinha = null, $permiteAltAposExp = null, $permiteDocNegativo = null, $permiteEstorno = null, $permiteLinhasNegativas = null, $protegida = null, $recapitulativos = null, $recolhaDE_IL = null, $requerProcessoSTP = null, $rubricaTesouraria = null, $sAFTTipoDocumento = null, $separaControloQtdSatisfeita = null, $serieDocEstorno = null, $serieDocRetificacao = null, $sugereCodProcesso = null, $sugereCondPag = null, $sugestaoEstat = null, $sujeitoAProvisoes = null, $sujeitoConferencia = null, $sujeitoConversao = null, $sujeitoLiberacao = null, $sujeitoRetencaoGarantia = null, $tipoConta = null, $tipoDocCC = null, $tipoDocSTK = null, $tipoDocumento = null, $tipoIntervencaoSTP = null, $tipoLigacaoBNC = null, $transitaEstado = null, $validaDocExt = null, $verDescFornecedor = null, $versaoUltAct = null, $visualizarLigacaoCBL = null)
    {
        $this
            ->setAcaoFaturacaoSTP($acaoFaturacaoSTP)
            ->setActPCM($actPCM)
            ->setActPCU($actPCU)
            ->setActUltEntrada($actUltEntrada)
            ->setActUltSaida($actUltSaida)
            ->setAnaliticaCBL($analiticaCBL)
            ->setBalAnalitica($balAnalitica)
            ->setBalAnaliticaALT($balAnaliticaALT)
            ->setBalFinanceira($balFinanceira)
            ->setBalFinanceiraALT($balFinanceiraALT)
            ->setBalOrcamental($balOrcamental)
            ->setBalOrcamentalALT($balOrcamentalALT)
            ->setBensCirculacao($bensCirculacao)
            ->setCTBStocksCredito($cTBStocksCredito)
            ->setCTBStocksDebito($cTBStocksDebito)
            ->setCentrosCustoCBL($centrosCustoCBL)
            ->setClasseAnalitica($classeAnalitica)
            ->setClassesIvaCBL($classesIvaCBL)
            ->setCondPagASugerir($condPagASugerir)
            ->setControlaCustosPorObra($controlaCustosPorObra)
            ->setControlaQtdSatisfeita($controlaQtdSatisfeita)
            ->setDataUltimaActualizacao($dataUltimaActualizacao)
            ->setDeduzLiquidaIVA($deduzLiquidaIVA)
            ->setDescricao($descricao)
            ->setDiario($diario)
            ->setDiarioMovSTK($diarioMovSTK)
            ->setDocConferencia($docConferencia)
            ->setDocEncomenda($docEncomenda)
            ->setDocLiqRetencao($docLiqRetencao)
            ->setDocLiqRetencaoGarantia($docLiqRetencaoGarantia)
            ->setDocNaoValorizado($docNaoValorizado)
            ->setDocTesAGerar($docTesAGerar)
            ->setDocumento($documento)
            ->setDocumentoEstorno($documentoEstorno)
            ->setDocumentoLiqAGerar($documentoLiqAGerar)
            ->setDocumentoRetificacao($documentoRetificacao)
            ->setEMailBCC($eMailBCC)
            ->setEMailCC($eMailCC)
            ->setEMailConfirmar($eMailConfirmar)
            ->setEMailTexto($eMailTexto)
            ->setEMailVisualizar($eMailVisualizar)
            ->setEconomicaCBL($economicaCBL)
            ->setEmailFixo($emailFixo)
            ->setEmailTo($emailTo)
            ->setEnviaEmail($enviaEmail)
            ->setEstado($estado)
            ->setEstadoLiqAut($estadoLiqAut)
            ->setEstadoProcesso($estadoProcesso)
            ->setEstadoTransitar($estadoTransitar)
            ->setFluxo($fluxo)
            ->setFornIndiferenciado($fornIndiferenciado)
            ->setFornecedores($fornecedores)
            ->setFuncionalCBL($funcionalCBL)
            ->setFuncoesCBL($funcoesCBL)
            ->setIntrastatCondEnt($intrastatCondEnt)
            ->setIntrastatDoc($intrastatDoc)
            ->setLigaBNC($ligaBNC)
            ->setLigaCC($ligaCC)
            ->setLigaContab($ligaContab)
            ->setLigaContabMovSTK($ligaContabMovSTK)
            ->setLigaProcessos($ligaProcessos)
            ->setLigaSTP($ligaSTP)
            ->setLigaStocks($ligaStocks)
            ->setLigacaoCBLOnLine($ligacaoCBLOnLine)
            ->setLigacaoTesouraria($ligacaoTesouraria)
            ->setLimiteCredito($limiteCredito)
            ->setLiqRetGarantiaIntroducao($liqRetGarantiaIntroducao)
            ->setLiqRetIntroducao($liqRetIntroducao)
            ->setLiquidacaoAutomatica($liquidacaoAutomatica)
            ->setMovimentaEstados($movimentaEstados)
            ->setNActualizaPCM($nActualizaPCM)
            ->setNActualizaPCU($nActualizaPCU)
            ->setNActualizaUltimaEntrada($nActualizaUltimaEntrada)
            ->setNActualizaUltimaSaida($nActualizaUltimaSaida)
            ->setNTipoMovStk($nTipoMovStk)
            ->setNaturezaCCOP($naturezaCCOP)
            ->setOperacaoControlaQtdSatisfeita($operacaoControlaQtdSatisfeita)
            ->setOrganicaCBL($organicaCBL)
            ->setOutrosCredores($outrosCredores)
            ->setPagarReceber($pagarReceber)
            ->setPendentePorLinha($pendentePorLinha)
            ->setPermiteAltAposExp($permiteAltAposExp)
            ->setPermiteDocNegativo($permiteDocNegativo)
            ->setPermiteEstorno($permiteEstorno)
            ->setPermiteLinhasNegativas($permiteLinhasNegativas)
            ->setProtegida($protegida)
            ->setRecapitulativos($recapitulativos)
            ->setRecolhaDE_IL($recolhaDE_IL)
            ->setRequerProcessoSTP($requerProcessoSTP)
            ->setRubricaTesouraria($rubricaTesouraria)
            ->setSAFTTipoDocumento($sAFTTipoDocumento)
            ->setSeparaControloQtdSatisfeita($separaControloQtdSatisfeita)
            ->setSerieDocEstorno($serieDocEstorno)
            ->setSerieDocRetificacao($serieDocRetificacao)
            ->setSugereCodProcesso($sugereCodProcesso)
            ->setSugereCondPag($sugereCondPag)
            ->setSugestaoEstat($sugestaoEstat)
            ->setSujeitoAProvisoes($sujeitoAProvisoes)
            ->setSujeitoConferencia($sujeitoConferencia)
            ->setSujeitoConversao($sujeitoConversao)
            ->setSujeitoLiberacao($sujeitoLiberacao)
            ->setSujeitoRetencaoGarantia($sujeitoRetencaoGarantia)
            ->setTipoConta($tipoConta)
            ->setTipoDocCC($tipoDocCC)
            ->setTipoDocSTK($tipoDocSTK)
            ->setTipoDocumento($tipoDocumento)
            ->setTipoIntervencaoSTP($tipoIntervencaoSTP)
            ->setTipoLigacaoBNC($tipoLigacaoBNC)
            ->setTransitaEstado($transitaEstado)
            ->setValidaDocExt($validaDocExt)
            ->setVerDescFornecedor($verDescFornecedor)
            ->setVersaoUltAct($versaoUltAct)
            ->setVisualizarLigacaoCBL($visualizarLigacaoCBL);
    }
    /**
     * Get AcaoFaturacaoSTP value
     * An additional test has been added (isset) before returning the property value as
     * this property may have been unset before, due to the fact that this property is
     * removable from the request (nillable=true+minOccurs=0)
     * @return int|null
     */
    public function getAcaoFaturacaoSTP()
    {
        return isset($this->AcaoFaturacaoSTP) ? $this->AcaoFaturacaoSTP : null;
    }
    /**
     * Set AcaoFaturacaoSTP value
     * This property is removable from request (nillable=true+minOccurs=0), therefore
     * if the value assigned to this property is null, it is removed from this object
     * @param int $acaoFaturacaoSTP
     * @return \StructType\DocumentosCompraERP
     */
    public function setAcaoFaturacaoSTP($acaoFaturacaoSTP = null)
    {
        // validation for constraint: int
        if (!is_null($acaoFaturacaoSTP) && !is_numeric($acaoFaturacaoSTP)) {
            throw new \InvalidArgumentException(sprintf('Invalid value, please provide a numeric value, "%s" given', gettype($acaoFaturacaoSTP)), __LINE__);
        }
        if (is_null($acaoFaturacaoSTP) || (is_array($acaoFaturacaoSTP) && empty($acaoFaturacaoSTP))) {
            unset($this->AcaoFaturacaoSTP);
        } else {
            $this->AcaoFaturacaoSTP = $acaoFaturacaoSTP;
        }
        return $this;
    }
    /**
     * Get ActPCM value
     * An additional test has been added (isset) before returning the property value as
     * this property may have been unset before, due to the fact that this property is
     * removable from the request (nillable=true+minOccurs=0)
     * @return bool|null
     */
    public function getActPCM()
    {
        return isset($this->ActPCM) ? $this->ActPCM : null;
    }
    /**
     * Set ActPCM value
     * This property is removable from request (nillable=true+minOccurs=0), therefore
     * if the value assigned to this property is null, it is removed from this object
     * @param bool $actPCM
     * @return \StructType\DocumentosCompraERP
     */
    public function setActPCM($actPCM = null)
    {
        // validation for constraint: boolean
        if (!is_null($actPCM) && !is_bool($actPCM)) {
            throw new \InvalidArgumentException(sprintf('Invalid value, please provide a bool, "%s" given', gettype($actPCM)), __LINE__);
        }
        if (is_null($actPCM) || (is_array($actPCM) && empty($actPCM))) {
            unset($this->ActPCM);
        } else {
            $this->ActPCM = $actPCM;
        }
        return $this;
    }
    /**
     * Get ActPCU value
     * An additional test has been added (isset) before returning the property value as
     * this property may have been unset before, due to the fact that this property is
     * removable from the request (nillable=true+minOccurs=0)
     * @return bool|null
     */
    public function getActPCU()
    {
        return isset($this->ActPCU) ? $this->ActPCU : null;
    }
    /**
     * Set ActPCU value
     * This property is removable from request (nillable=true+minOccurs=0), therefore
     * if the value assigned to this property is null, it is removed from this object
     * @param bool $actPCU
     * @return \StructType\DocumentosCompraERP
     */
    public function setActPCU($actPCU = null)
    {
        // validation for constraint: boolean
        if (!is_null($actPCU) && !is_bool($actPCU)) {
            throw new \InvalidArgumentException(sprintf('Invalid value, please provide a bool, "%s" given', gettype($actPCU)), __LINE__);
        }
        if (is_null($actPCU) || (is_array($actPCU) && empty($actPCU))) {
            unset($this->ActPCU);
        } else {
            $this->ActPCU = $actPCU;
        }
        return $this;
    }
    /**
     * Get ActUltEntrada value
     * An additional test has been added (isset) before returning the property value as
     * this property may have been unset before, due to the fact that this property is
     * removable from the request (nillable=true+minOccurs=0)
     * @return bool|null
     */
    public function getActUltEntrada()
    {
        return isset($this->ActUltEntrada) ? $this->ActUltEntrada : null;
    }
    /**
     * Set ActUltEntrada value
     * This property is removable from request (nillable=true+minOccurs=0), therefore
     * if the value assigned to this property is null, it is removed from this object
     * @param bool $actUltEntrada
     * @return \StructType\DocumentosCompraERP
     */
    public function setActUltEntrada($actUltEntrada = null)
    {
        // validation for constraint: boolean
        if (!is_null($actUltEntrada) && !is_bool($actUltEntrada)) {
            throw new \InvalidArgumentException(sprintf('Invalid value, please provide a bool, "%s" given', gettype($actUltEntrada)), __LINE__);
        }
        if (is_null($actUltEntrada) || (is_array($actUltEntrada) && empty($actUltEntrada))) {
            unset($this->ActUltEntrada);
        } else {
            $this->ActUltEntrada = $actUltEntrada;
        }
        return $this;
    }
    /**
     * Get ActUltSaida value
     * An additional test has been added (isset) before returning the property value as
     * this property may have been unset before, due to the fact that this property is
     * removable from the request (nillable=true+minOccurs=0)
     * @return bool|null
     */
    public function getActUltSaida()
    {
        return isset($this->ActUltSaida) ? $this->ActUltSaida : null;
    }
    /**
     * Set ActUltSaida value
     * This property is removable from request (nillable=true+minOccurs=0), therefore
     * if the value assigned to this property is null, it is removed from this object
     * @param bool $actUltSaida
     * @return \StructType\DocumentosCompraERP
     */
    public function setActUltSaida($actUltSaida = null)
    {
        // validation for constraint: boolean
        if (!is_null($actUltSaida) && !is_bool($actUltSaida)) {
            throw new \InvalidArgumentException(sprintf('Invalid value, please provide a bool, "%s" given', gettype($actUltSaida)), __LINE__);
        }
        if (is_null($actUltSaida) || (is_array($actUltSaida) && empty($actUltSaida))) {
            unset($this->ActUltSaida);
        } else {
            $this->ActUltSaida = $actUltSaida;
        }
        return $this;
    }
    /**
     * Get AnaliticaCBL value
     * An additional test has been added (isset) before returning the property value as
     * this property may have been unset before, due to the fact that this property is
     * removable from the request (nillable=true+minOccurs=0)
     * @return bool|null
     */
    public function getAnaliticaCBL()
    {
        return isset($this->AnaliticaCBL) ? $this->AnaliticaCBL : null;
    }
    /**
     * Set AnaliticaCBL value
     * This property is removable from request (nillable=true+minOccurs=0), therefore
     * if the value assigned to this property is null, it is removed from this object
     * @param bool $analiticaCBL
     * @return \StructType\DocumentosCompraERP
     */
    public function setAnaliticaCBL($analiticaCBL = null)
    {
        // validation for constraint: boolean
        if (!is_null($analiticaCBL) && !is_bool($analiticaCBL)) {
            throw new \InvalidArgumentException(sprintf('Invalid value, please provide a bool, "%s" given', gettype($analiticaCBL)), __LINE__);
        }
        if (is_null($analiticaCBL) || (is_array($analiticaCBL) && empty($analiticaCBL))) {
            unset($this->AnaliticaCBL);
        } else {
            $this->AnaliticaCBL = $analiticaCBL;
        }
        return $this;
    }
    /**
     * Get BalAnalitica value
     * An additional test has been added (isset) before returning the property value as
     * this property may have been unset before, due to the fact that this property is
     * removable from the request (nillable=true+minOccurs=0)
     * @return bool|null
     */
    public function getBalAnalitica()
    {
        return isset($this->BalAnalitica) ? $this->BalAnalitica : null;
    }
    /**
     * Set BalAnalitica value
     * This property is removable from request (nillable=true+minOccurs=0), therefore
     * if the value assigned to this property is null, it is removed from this object
     * @param bool $balAnalitica
     * @return \StructType\DocumentosCompraERP
     */
    public function setBalAnalitica($balAnalitica = null)
    {
        // validation for constraint: boolean
        if (!is_null($balAnalitica) && !is_bool($balAnalitica)) {
            throw new \InvalidArgumentException(sprintf('Invalid value, please provide a bool, "%s" given', gettype($balAnalitica)), __LINE__);
        }
        if (is_null($balAnalitica) || (is_array($balAnalitica) && empty($balAnalitica))) {
            unset($this->BalAnalitica);
        } else {
            $this->BalAnalitica = $balAnalitica;
        }
        return $this;
    }
    /**
     * Get BalAnaliticaALT value
     * @return bool|null
     */
    public function getBalAnaliticaALT()
    {
        return $this->BalAnaliticaALT;
    }
    /**
     * Set BalAnaliticaALT value
     * @param bool $balAnaliticaALT
     * @return \StructType\DocumentosCompraERP
     */
    public function setBalAnaliticaALT($balAnaliticaALT = null)
    {
        // validation for constraint: boolean
        if (!is_null($balAnaliticaALT) && !is_bool($balAnaliticaALT)) {
            throw new \InvalidArgumentException(sprintf('Invalid value, please provide a bool, "%s" given', gettype($balAnaliticaALT)), __LINE__);
        }
        $this->BalAnaliticaALT = $balAnaliticaALT;
        return $this;
    }
    /**
     * Get BalFinanceira value
     * An additional test has been added (isset) before returning the property value as
     * this property may have been unset before, due to the fact that this property is
     * removable from the request (nillable=true+minOccurs=0)
     * @return bool|null
     */
    public function getBalFinanceira()
    {
        return isset($this->BalFinanceira) ? $this->BalFinanceira : null;
    }
    /**
     * Set BalFinanceira value
     * This property is removable from request (nillable=true+minOccurs=0), therefore
     * if the value assigned to this property is null, it is removed from this object
     * @param bool $balFinanceira
     * @return \StructType\DocumentosCompraERP
     */
    public function setBalFinanceira($balFinanceira = null)
    {
        // validation for constraint: boolean
        if (!is_null($balFinanceira) && !is_bool($balFinanceira)) {
            throw new \InvalidArgumentException(sprintf('Invalid value, please provide a bool, "%s" given', gettype($balFinanceira)), __LINE__);
        }
        if (is_null($balFinanceira) || (is_array($balFinanceira) && empty($balFinanceira))) {
            unset($this->BalFinanceira);
        } else {
            $this->BalFinanceira = $balFinanceira;
        }
        return $this;
    }
    /**
     * Get BalFinanceiraALT value
     * @return bool|null
     */
    public function getBalFinanceiraALT()
    {
        return $this->BalFinanceiraALT;
    }
    /**
     * Set BalFinanceiraALT value
     * @param bool $balFinanceiraALT
     * @return \StructType\DocumentosCompraERP
     */
    public function setBalFinanceiraALT($balFinanceiraALT = null)
    {
        // validation for constraint: boolean
        if (!is_null($balFinanceiraALT) && !is_bool($balFinanceiraALT)) {
            throw new \InvalidArgumentException(sprintf('Invalid value, please provide a bool, "%s" given', gettype($balFinanceiraALT)), __LINE__);
        }
        $this->BalFinanceiraALT = $balFinanceiraALT;
        return $this;
    }
    /**
     * Get BalOrcamental value
     * An additional test has been added (isset) before returning the property value as
     * this property may have been unset before, due to the fact that this property is
     * removable from the request (nillable=true+minOccurs=0)
     * @return bool|null
     */
    public function getBalOrcamental()
    {
        return isset($this->BalOrcamental) ? $this->BalOrcamental : null;
    }
    /**
     * Set BalOrcamental value
     * This property is removable from request (nillable=true+minOccurs=0), therefore
     * if the value assigned to this property is null, it is removed from this object
     * @param bool $balOrcamental
     * @return \StructType\DocumentosCompraERP
     */
    public function setBalOrcamental($balOrcamental = null)
    {
        // validation for constraint: boolean
        if (!is_null($balOrcamental) && !is_bool($balOrcamental)) {
            throw new \InvalidArgumentException(sprintf('Invalid value, please provide a bool, "%s" given', gettype($balOrcamental)), __LINE__);
        }
        if (is_null($balOrcamental) || (is_array($balOrcamental) && empty($balOrcamental))) {
            unset($this->BalOrcamental);
        } else {
            $this->BalOrcamental = $balOrcamental;
        }
        return $this;
    }
    /**
     * Get BalOrcamentalALT value
     * @return bool|null
     */
    public function getBalOrcamentalALT()
    {
        return $this->BalOrcamentalALT;
    }
    /**
     * Set BalOrcamentalALT value
     * @param bool $balOrcamentalALT
     * @return \StructType\DocumentosCompraERP
     */
    public function setBalOrcamentalALT($balOrcamentalALT = null)
    {
        // validation for constraint: boolean
        if (!is_null($balOrcamentalALT) && !is_bool($balOrcamentalALT)) {
            throw new \InvalidArgumentException(sprintf('Invalid value, please provide a bool, "%s" given', gettype($balOrcamentalALT)), __LINE__);
        }
        $this->BalOrcamentalALT = $balOrcamentalALT;
        return $this;
    }
    /**
     * Get BensCirculacao value
     * @return bool|null
     */
    public function getBensCirculacao()
    {
        return $this->BensCirculacao;
    }
    /**
     * Set BensCirculacao value
     * @param bool $bensCirculacao
     * @return \StructType\DocumentosCompraERP
     */
    public function setBensCirculacao($bensCirculacao = null)
    {
        // validation for constraint: boolean
        if (!is_null($bensCirculacao) && !is_bool($bensCirculacao)) {
            throw new \InvalidArgumentException(sprintf('Invalid value, please provide a bool, "%s" given', gettype($bensCirculacao)), __LINE__);
        }
        $this->BensCirculacao = $bensCirculacao;
        return $this;
    }
    /**
     * Get CTBStocksCredito value
     * An additional test has been added (isset) before returning the property value as
     * this property may have been unset before, due to the fact that this property is
     * removable from the request (nillable=true+minOccurs=0)
     * @return string|null
     */
    public function getCTBStocksCredito()
    {
        return isset($this->CTBStocksCredito) ? $this->CTBStocksCredito : null;
    }
    /**
     * Set CTBStocksCredito value
     * This property is removable from request (nillable=true+minOccurs=0), therefore
     * if the value assigned to this property is null, it is removed from this object
     * @param string $cTBStocksCredito
     * @return \StructType\DocumentosCompraERP
     */
    public function setCTBStocksCredito($cTBStocksCredito = null)
    {
        // validation for constraint: string
        if (!is_null($cTBStocksCredito) && !is_string($cTBStocksCredito)) {
            throw new \InvalidArgumentException(sprintf('Invalid value, please provide a string, "%s" given', gettype($cTBStocksCredito)), __LINE__);
        }
        if (is_null($cTBStocksCredito) || (is_array($cTBStocksCredito) && empty($cTBStocksCredito))) {
            unset($this->CTBStocksCredito);
        } else {
            $this->CTBStocksCredito = $cTBStocksCredito;
        }
        return $this;
    }
    /**
     * Get CTBStocksDebito value
     * An additional test has been added (isset) before returning the property value as
     * this property may have been unset before, due to the fact that this property is
     * removable from the request (nillable=true+minOccurs=0)
     * @return string|null
     */
    public function getCTBStocksDebito()
    {
        return isset($this->CTBStocksDebito) ? $this->CTBStocksDebito : null;
    }
    /**
     * Set CTBStocksDebito value
     * This property is removable from request (nillable=true+minOccurs=0), therefore
     * if the value assigned to this property is null, it is removed from this object
     * @param string $cTBStocksDebito
     * @return \StructType\DocumentosCompraERP
     */
    public function setCTBStocksDebito($cTBStocksDebito = null)
    {
        // validation for constraint: string
        if (!is_null($cTBStocksDebito) && !is_string($cTBStocksDebito)) {
            throw new \InvalidArgumentException(sprintf('Invalid value, please provide a string, "%s" given', gettype($cTBStocksDebito)), __LINE__);
        }
        if (is_null($cTBStocksDebito) || (is_array($cTBStocksDebito) && empty($cTBStocksDebito))) {
            unset($this->CTBStocksDebito);
        } else {
            $this->CTBStocksDebito = $cTBStocksDebito;
        }
        return $this;
    }
    /**
     * Get CentrosCustoCBL value
     * An additional test has been added (isset) before returning the property value as
     * this property may have been unset before, due to the fact that this property is
     * removable from the request (nillable=true+minOccurs=0)
     * @return bool|null
     */
    public function getCentrosCustoCBL()
    {
        return isset($this->CentrosCustoCBL) ? $this->CentrosCustoCBL : null;
    }
    /**
     * Set CentrosCustoCBL value
     * This property is removable from request (nillable=true+minOccurs=0), therefore
     * if the value assigned to this property is null, it is removed from this object
     * @param bool $centrosCustoCBL
     * @return \StructType\DocumentosCompraERP
     */
    public function setCentrosCustoCBL($centrosCustoCBL = null)
    {
        // validation for constraint: boolean
        if (!is_null($centrosCustoCBL) && !is_bool($centrosCustoCBL)) {
            throw new \InvalidArgumentException(sprintf('Invalid value, please provide a bool, "%s" given', gettype($centrosCustoCBL)), __LINE__);
        }
        if (is_null($centrosCustoCBL) || (is_array($centrosCustoCBL) && empty($centrosCustoCBL))) {
            unset($this->CentrosCustoCBL);
        } else {
            $this->CentrosCustoCBL = $centrosCustoCBL;
        }
        return $this;
    }
    /**
     * Get ClasseAnalitica value
     * An additional test has been added (isset) before returning the property value as
     * this property may have been unset before, due to the fact that this property is
     * removable from the request (nillable=true+minOccurs=0)
     * @return int|null
     */
    public function getClasseAnalitica()
    {
        return isset($this->ClasseAnalitica) ? $this->ClasseAnalitica : null;
    }
    /**
     * Set ClasseAnalitica value
     * This property is removable from request (nillable=true+minOccurs=0), therefore
     * if the value assigned to this property is null, it is removed from this object
     * @param int $classeAnalitica
     * @return \StructType\DocumentosCompraERP
     */
    public function setClasseAnalitica($classeAnalitica = null)
    {
        // validation for constraint: int
        if (!is_null($classeAnalitica) && !is_numeric($classeAnalitica)) {
            throw new \InvalidArgumentException(sprintf('Invalid value, please provide a numeric value, "%s" given', gettype($classeAnalitica)), __LINE__);
        }
        if (is_null($classeAnalitica) || (is_array($classeAnalitica) && empty($classeAnalitica))) {
            unset($this->ClasseAnalitica);
        } else {
            $this->ClasseAnalitica = $classeAnalitica;
        }
        return $this;
    }
    /**
     * Get ClassesIvaCBL value
     * An additional test has been added (isset) before returning the property value as
     * this property may have been unset before, due to the fact that this property is
     * removable from the request (nillable=true+minOccurs=0)
     * @return bool|null
     */
    public function getClassesIvaCBL()
    {
        return isset($this->ClassesIvaCBL) ? $this->ClassesIvaCBL : null;
    }
    /**
     * Set ClassesIvaCBL value
     * This property is removable from request (nillable=true+minOccurs=0), therefore
     * if the value assigned to this property is null, it is removed from this object
     * @param bool $classesIvaCBL
     * @return \StructType\DocumentosCompraERP
     */
    public function setClassesIvaCBL($classesIvaCBL = null)
    {
        // validation for constraint: boolean
        if (!is_null($classesIvaCBL) && !is_bool($classesIvaCBL)) {
            throw new \InvalidArgumentException(sprintf('Invalid value, please provide a bool, "%s" given', gettype($classesIvaCBL)), __LINE__);
        }
        if (is_null($classesIvaCBL) || (is_array($classesIvaCBL) && empty($classesIvaCBL))) {
            unset($this->ClassesIvaCBL);
        } else {
            $this->ClassesIvaCBL = $classesIvaCBL;
        }
        return $this;
    }
    /**
     * Get CondPagASugerir value
     * An additional test has been added (isset) before returning the property value as
     * this property may have been unset before, due to the fact that this property is
     * removable from the request (nillable=true+minOccurs=0)
     * @return string|null
     */
    public function getCondPagASugerir()
    {
        return isset($this->CondPagASugerir) ? $this->CondPagASugerir : null;
    }
    /**
     * Set CondPagASugerir value
     * This property is removable from request (nillable=true+minOccurs=0), therefore
     * if the value assigned to this property is null, it is removed from this object
     * @param string $condPagASugerir
     * @return \StructType\DocumentosCompraERP
     */
    public function setCondPagASugerir($condPagASugerir = null)
    {
        // validation for constraint: string
        if (!is_null($condPagASugerir) && !is_string($condPagASugerir)) {
            throw new \InvalidArgumentException(sprintf('Invalid value, please provide a string, "%s" given', gettype($condPagASugerir)), __LINE__);
        }
        if (is_null($condPagASugerir) || (is_array($condPagASugerir) && empty($condPagASugerir))) {
            unset($this->CondPagASugerir);
        } else {
            $this->CondPagASugerir = $condPagASugerir;
        }
        return $this;
    }
    /**
     * Get ControlaCustosPorObra value
     * An additional test has been added (isset) before returning the property value as
     * this property may have been unset before, due to the fact that this property is
     * removable from the request (nillable=true+minOccurs=0)
     * @return bool|null
     */
    public function getControlaCustosPorObra()
    {
        return isset($this->ControlaCustosPorObra) ? $this->ControlaCustosPorObra : null;
    }
    /**
     * Set ControlaCustosPorObra value
     * This property is removable from request (nillable=true+minOccurs=0), therefore
     * if the value assigned to this property is null, it is removed from this object
     * @param bool $controlaCustosPorObra
     * @return \StructType\DocumentosCompraERP
     */
    public function setControlaCustosPorObra($controlaCustosPorObra = null)
    {
        // validation for constraint: boolean
        if (!is_null($controlaCustosPorObra) && !is_bool($controlaCustosPorObra)) {
            throw new \InvalidArgumentException(sprintf('Invalid value, please provide a bool, "%s" given', gettype($controlaCustosPorObra)), __LINE__);
        }
        if (is_null($controlaCustosPorObra) || (is_array($controlaCustosPorObra) && empty($controlaCustosPorObra))) {
            unset($this->ControlaCustosPorObra);
        } else {
            $this->ControlaCustosPorObra = $controlaCustosPorObra;
        }
        return $this;
    }
    /**
     * Get ControlaQtdSatisfeita value
     * An additional test has been added (isset) before returning the property value as
     * this property may have been unset before, due to the fact that this property is
     * removable from the request (nillable=true+minOccurs=0)
     * @return bool|null
     */
    public function getControlaQtdSatisfeita()
    {
        return isset($this->ControlaQtdSatisfeita) ? $this->ControlaQtdSatisfeita : null;
    }
    /**
     * Set ControlaQtdSatisfeita value
     * This property is removable from request (nillable=true+minOccurs=0), therefore
     * if the value assigned to this property is null, it is removed from this object
     * @param bool $controlaQtdSatisfeita
     * @return \StructType\DocumentosCompraERP
     */
    public function setControlaQtdSatisfeita($controlaQtdSatisfeita = null)
    {
        // validation for constraint: boolean
        if (!is_null($controlaQtdSatisfeita) && !is_bool($controlaQtdSatisfeita)) {
            throw new \InvalidArgumentException(sprintf('Invalid value, please provide a bool, "%s" given', gettype($controlaQtdSatisfeita)), __LINE__);
        }
        if (is_null($controlaQtdSatisfeita) || (is_array($controlaQtdSatisfeita) && empty($controlaQtdSatisfeita))) {
            unset($this->ControlaQtdSatisfeita);
        } else {
            $this->ControlaQtdSatisfeita = $controlaQtdSatisfeita;
        }
        return $this;
    }
    /**
     * Get DataUltimaActualizacao value
     * An additional test has been added (isset) before returning the property value as
     * this property may have been unset before, due to the fact that this property is
     * removable from the request (nillable=true+minOccurs=0)
     * @return string|null
     */
    public function getDataUltimaActualizacao()
    {
        return isset($this->DataUltimaActualizacao) ? $this->DataUltimaActualizacao : null;
    }
    /**
     * Set DataUltimaActualizacao value
     * This property is removable from request (nillable=true+minOccurs=0), therefore
     * if the value assigned to this property is null, it is removed from this object
     * @param string $dataUltimaActualizacao
     * @return \StructType\DocumentosCompraERP
     */
    public function setDataUltimaActualizacao($dataUltimaActualizacao = null)
    {
        // validation for constraint: string
        if (!is_null($dataUltimaActualizacao) && !is_string($dataUltimaActualizacao)) {
            throw new \InvalidArgumentException(sprintf('Invalid value, please provide a string, "%s" given', gettype($dataUltimaActualizacao)), __LINE__);
        }
        if (is_null($dataUltimaActualizacao) || (is_array($dataUltimaActualizacao) && empty($dataUltimaActualizacao))) {
            unset($this->DataUltimaActualizacao);
        } else {
            $this->DataUltimaActualizacao = $dataUltimaActualizacao;
        }
        return $this;
    }
    /**
     * Get DeduzLiquidaIVA value
     * @return bool|null
     */
    public function getDeduzLiquidaIVA()
    {
        return $this->DeduzLiquidaIVA;
    }
    /**
     * Set DeduzLiquidaIVA value
     * @param bool $deduzLiquidaIVA
     * @return \StructType\DocumentosCompraERP
     */
    public function setDeduzLiquidaIVA($deduzLiquidaIVA = null)
    {
        // validation for constraint: boolean
        if (!is_null($deduzLiquidaIVA) && !is_bool($deduzLiquidaIVA)) {
            throw new \InvalidArgumentException(sprintf('Invalid value, please provide a bool, "%s" given', gettype($deduzLiquidaIVA)), __LINE__);
        }
        $this->DeduzLiquidaIVA = $deduzLiquidaIVA;
        return $this;
    }
    /**
     * Get Descricao value
     * An additional test has been added (isset) before returning the property value as
     * this property may have been unset before, due to the fact that this property is
     * removable from the request (nillable=true+minOccurs=0)
     * @return string|null
     */
    public function getDescricao()
    {
        return isset($this->Descricao) ? $this->Descricao : null;
    }
    /**
     * Set Descricao value
     * This property is removable from request (nillable=true+minOccurs=0), therefore
     * if the value assigned to this property is null, it is removed from this object
     * @param string $descricao
     * @return \StructType\DocumentosCompraERP
     */
    public function setDescricao($descricao = null)
    {
        // validation for constraint: string
        if (!is_null($descricao) && !is_string($descricao)) {
            throw new \InvalidArgumentException(sprintf('Invalid value, please provide a string, "%s" given', gettype($descricao)), __LINE__);
        }
        if (is_null($descricao) || (is_array($descricao) && empty($descricao))) {
            unset($this->Descricao);
        } else {
            $this->Descricao = $descricao;
        }
        return $this;
    }
    /**
     * Get Diario value
     * An additional test has been added (isset) before returning the property value as
     * this property may have been unset before, due to the fact that this property is
     * removable from the request (nillable=true+minOccurs=0)
     * @return string|null
     */
    public function getDiario()
    {
        return isset($this->Diario) ? $this->Diario : null;
    }
    /**
     * Set Diario value
     * This property is removable from request (nillable=true+minOccurs=0), therefore
     * if the value assigned to this property is null, it is removed from this object
     * @param string $diario
     * @return \StructType\DocumentosCompraERP
     */
    public function setDiario($diario = null)
    {
        // validation for constraint: string
        if (!is_null($diario) && !is_string($diario)) {
            throw new \InvalidArgumentException(sprintf('Invalid value, please provide a string, "%s" given', gettype($diario)), __LINE__);
        }
        if (is_null($diario) || (is_array($diario) && empty($diario))) {
            unset($this->Diario);
        } else {
            $this->Diario = $diario;
        }
        return $this;
    }
    /**
     * Get DiarioMovSTK value
     * An additional test has been added (isset) before returning the property value as
     * this property may have been unset before, due to the fact that this property is
     * removable from the request (nillable=true+minOccurs=0)
     * @return string|null
     */
    public function getDiarioMovSTK()
    {
        return isset($this->DiarioMovSTK) ? $this->DiarioMovSTK : null;
    }
    /**
     * Set DiarioMovSTK value
     * This property is removable from request (nillable=true+minOccurs=0), therefore
     * if the value assigned to this property is null, it is removed from this object
     * @param string $diarioMovSTK
     * @return \StructType\DocumentosCompraERP
     */
    public function setDiarioMovSTK($diarioMovSTK = null)
    {
        // validation for constraint: string
        if (!is_null($diarioMovSTK) && !is_string($diarioMovSTK)) {
            throw new \InvalidArgumentException(sprintf('Invalid value, please provide a string, "%s" given', gettype($diarioMovSTK)), __LINE__);
        }
        if (is_null($diarioMovSTK) || (is_array($diarioMovSTK) && empty($diarioMovSTK))) {
            unset($this->DiarioMovSTK);
        } else {
            $this->DiarioMovSTK = $diarioMovSTK;
        }
        return $this;
    }
    /**
     * Get DocConferencia value
     * An additional test has been added (isset) before returning the property value as
     * this property may have been unset before, due to the fact that this property is
     * removable from the request (nillable=true+minOccurs=0)
     * @return string|null
     */
    public function getDocConferencia()
    {
        return isset($this->DocConferencia) ? $this->DocConferencia : null;
    }
    /**
     * Set DocConferencia value
     * This property is removable from request (nillable=true+minOccurs=0), therefore
     * if the value assigned to this property is null, it is removed from this object
     * @param string $docConferencia
     * @return \StructType\DocumentosCompraERP
     */
    public function setDocConferencia($docConferencia = null)
    {
        // validation for constraint: string
        if (!is_null($docConferencia) && !is_string($docConferencia)) {
            throw new \InvalidArgumentException(sprintf('Invalid value, please provide a string, "%s" given', gettype($docConferencia)), __LINE__);
        }
        if (is_null($docConferencia) || (is_array($docConferencia) && empty($docConferencia))) {
            unset($this->DocConferencia);
        } else {
            $this->DocConferencia = $docConferencia;
        }
        return $this;
    }
    /**
     * Get DocEncomenda value
     * An additional test has been added (isset) before returning the property value as
     * this property may have been unset before, due to the fact that this property is
     * removable from the request (nillable=true+minOccurs=0)
     * @return bool|null
     */
    public function getDocEncomenda()
    {
        return isset($this->DocEncomenda) ? $this->DocEncomenda : null;
    }
    /**
     * Set DocEncomenda value
     * This property is removable from request (nillable=true+minOccurs=0), therefore
     * if the value assigned to this property is null, it is removed from this object
     * @param bool $docEncomenda
     * @return \StructType\DocumentosCompraERP
     */
    public function setDocEncomenda($docEncomenda = null)
    {
        // validation for constraint: boolean
        if (!is_null($docEncomenda) && !is_bool($docEncomenda)) {
            throw new \InvalidArgumentException(sprintf('Invalid value, please provide a bool, "%s" given', gettype($docEncomenda)), __LINE__);
        }
        if (is_null($docEncomenda) || (is_array($docEncomenda) && empty($docEncomenda))) {
            unset($this->DocEncomenda);
        } else {
            $this->DocEncomenda = $docEncomenda;
        }
        return $this;
    }
    /**
     * Get DocLiqRetencao value
     * An additional test has been added (isset) before returning the property value as
     * this property may have been unset before, due to the fact that this property is
     * removable from the request (nillable=true+minOccurs=0)
     * @return string|null
     */
    public function getDocLiqRetencao()
    {
        return isset($this->DocLiqRetencao) ? $this->DocLiqRetencao : null;
    }
    /**
     * Set DocLiqRetencao value
     * This property is removable from request (nillable=true+minOccurs=0), therefore
     * if the value assigned to this property is null, it is removed from this object
     * @param string $docLiqRetencao
     * @return \StructType\DocumentosCompraERP
     */
    public function setDocLiqRetencao($docLiqRetencao = null)
    {
        // validation for constraint: string
        if (!is_null($docLiqRetencao) && !is_string($docLiqRetencao)) {
            throw new \InvalidArgumentException(sprintf('Invalid value, please provide a string, "%s" given', gettype($docLiqRetencao)), __LINE__);
        }
        if (is_null($docLiqRetencao) || (is_array($docLiqRetencao) && empty($docLiqRetencao))) {
            unset($this->DocLiqRetencao);
        } else {
            $this->DocLiqRetencao = $docLiqRetencao;
        }
        return $this;
    }
    /**
     * Get DocLiqRetencaoGarantia value
     * An additional test has been added (isset) before returning the property value as
     * this property may have been unset before, due to the fact that this property is
     * removable from the request (nillable=true+minOccurs=0)
     * @return string|null
     */
    public function getDocLiqRetencaoGarantia()
    {
        return isset($this->DocLiqRetencaoGarantia) ? $this->DocLiqRetencaoGarantia : null;
    }
    /**
     * Set DocLiqRetencaoGarantia value
     * This property is removable from request (nillable=true+minOccurs=0), therefore
     * if the value assigned to this property is null, it is removed from this object
     * @param string $docLiqRetencaoGarantia
     * @return \StructType\DocumentosCompraERP
     */
    public function setDocLiqRetencaoGarantia($docLiqRetencaoGarantia = null)
    {
        // validation for constraint: string
        if (!is_null($docLiqRetencaoGarantia) && !is_string($docLiqRetencaoGarantia)) {
            throw new \InvalidArgumentException(sprintf('Invalid value, please provide a string, "%s" given', gettype($docLiqRetencaoGarantia)), __LINE__);
        }
        if (is_null($docLiqRetencaoGarantia) || (is_array($docLiqRetencaoGarantia) && empty($docLiqRetencaoGarantia))) {
            unset($this->DocLiqRetencaoGarantia);
        } else {
            $this->DocLiqRetencaoGarantia = $docLiqRetencaoGarantia;
        }
        return $this;
    }
    /**
     * Get DocNaoValorizado value
     * @return bool|null
     */
    public function getDocNaoValorizado()
    {
        return $this->DocNaoValorizado;
    }
    /**
     * Set DocNaoValorizado value
     * @param bool $docNaoValorizado
     * @return \StructType\DocumentosCompraERP
     */
    public function setDocNaoValorizado($docNaoValorizado = null)
    {
        // validation for constraint: boolean
        if (!is_null($docNaoValorizado) && !is_bool($docNaoValorizado)) {
            throw new \InvalidArgumentException(sprintf('Invalid value, please provide a bool, "%s" given', gettype($docNaoValorizado)), __LINE__);
        }
        $this->DocNaoValorizado = $docNaoValorizado;
        return $this;
    }
    /**
     * Get DocTesAGerar value
     * An additional test has been added (isset) before returning the property value as
     * this property may have been unset before, due to the fact that this property is
     * removable from the request (nillable=true+minOccurs=0)
     * @return string|null
     */
    public function getDocTesAGerar()
    {
        return isset($this->DocTesAGerar) ? $this->DocTesAGerar : null;
    }
    /**
     * Set DocTesAGerar value
     * This property is removable from request (nillable=true+minOccurs=0), therefore
     * if the value assigned to this property is null, it is removed from this object
     * @param string $docTesAGerar
     * @return \StructType\DocumentosCompraERP
     */
    public function setDocTesAGerar($docTesAGerar = null)
    {
        // validation for constraint: string
        if (!is_null($docTesAGerar) && !is_string($docTesAGerar)) {
            throw new \InvalidArgumentException(sprintf('Invalid value, please provide a string, "%s" given', gettype($docTesAGerar)), __LINE__);
        }
        if (is_null($docTesAGerar) || (is_array($docTesAGerar) && empty($docTesAGerar))) {
            unset($this->DocTesAGerar);
        } else {
            $this->DocTesAGerar = $docTesAGerar;
        }
        return $this;
    }
    /**
     * Get Documento value
     * An additional test has been added (isset) before returning the property value as
     * this property may have been unset before, due to the fact that this property is
     * removable from the request (nillable=true+minOccurs=0)
     * @return string|null
     */
    public function getDocumento()
    {
        return isset($this->Documento) ? $this->Documento : null;
    }
    /**
     * Set Documento value
     * This property is removable from request (nillable=true+minOccurs=0), therefore
     * if the value assigned to this property is null, it is removed from this object
     * @param string $documento
     * @return \StructType\DocumentosCompraERP
     */
    public function setDocumento($documento = null)
    {
        // validation for constraint: string
        if (!is_null($documento) && !is_string($documento)) {
            throw new \InvalidArgumentException(sprintf('Invalid value, please provide a string, "%s" given', gettype($documento)), __LINE__);
        }
        if (is_null($documento) || (is_array($documento) && empty($documento))) {
            unset($this->Documento);
        } else {
            $this->Documento = $documento;
        }
        return $this;
    }
    /**
     * Get DocumentoEstorno value
     * An additional test has been added (isset) before returning the property value as
     * this property may have been unset before, due to the fact that this property is
     * removable from the request (nillable=true+minOccurs=0)
     * @return string|null
     */
    public function getDocumentoEstorno()
    {
        return isset($this->DocumentoEstorno) ? $this->DocumentoEstorno : null;
    }
    /**
     * Set DocumentoEstorno value
     * This property is removable from request (nillable=true+minOccurs=0), therefore
     * if the value assigned to this property is null, it is removed from this object
     * @param string $documentoEstorno
     * @return \StructType\DocumentosCompraERP
     */
    public function setDocumentoEstorno($documentoEstorno = null)
    {
        // validation for constraint: string
        if (!is_null($documentoEstorno) && !is_string($documentoEstorno)) {
            throw new \InvalidArgumentException(sprintf('Invalid value, please provide a string, "%s" given', gettype($documentoEstorno)), __LINE__);
        }
        if (is_null($documentoEstorno) || (is_array($documentoEstorno) && empty($documentoEstorno))) {
            unset($this->DocumentoEstorno);
        } else {
            $this->DocumentoEstorno = $documentoEstorno;
        }
        return $this;
    }
    /**
     * Get DocumentoLiqAGerar value
     * An additional test has been added (isset) before returning the property value as
     * this property may have been unset before, due to the fact that this property is
     * removable from the request (nillable=true+minOccurs=0)
     * @return string|null
     */
    public function getDocumentoLiqAGerar()
    {
        return isset($this->DocumentoLiqAGerar) ? $this->DocumentoLiqAGerar : null;
    }
    /**
     * Set DocumentoLiqAGerar value
     * This property is removable from request (nillable=true+minOccurs=0), therefore
     * if the value assigned to this property is null, it is removed from this object
     * @param string $documentoLiqAGerar
     * @return \StructType\DocumentosCompraERP
     */
    public function setDocumentoLiqAGerar($documentoLiqAGerar = null)
    {
        // validation for constraint: string
        if (!is_null($documentoLiqAGerar) && !is_string($documentoLiqAGerar)) {
            throw new \InvalidArgumentException(sprintf('Invalid value, please provide a string, "%s" given', gettype($documentoLiqAGerar)), __LINE__);
        }
        if (is_null($documentoLiqAGerar) || (is_array($documentoLiqAGerar) && empty($documentoLiqAGerar))) {
            unset($this->DocumentoLiqAGerar);
        } else {
            $this->DocumentoLiqAGerar = $documentoLiqAGerar;
        }
        return $this;
    }
    /**
     * Get DocumentoRetificacao value
     * An additional test has been added (isset) before returning the property value as
     * this property may have been unset before, due to the fact that this property is
     * removable from the request (nillable=true+minOccurs=0)
     * @return string|null
     */
    public function getDocumentoRetificacao()
    {
        return isset($this->DocumentoRetificacao) ? $this->DocumentoRetificacao : null;
    }
    /**
     * Set DocumentoRetificacao value
     * This property is removable from request (nillable=true+minOccurs=0), therefore
     * if the value assigned to this property is null, it is removed from this object
     * @param string $documentoRetificacao
     * @return \StructType\DocumentosCompraERP
     */
    public function setDocumentoRetificacao($documentoRetificacao = null)
    {
        // validation for constraint: string
        if (!is_null($documentoRetificacao) && !is_string($documentoRetificacao)) {
            throw new \InvalidArgumentException(sprintf('Invalid value, please provide a string, "%s" given', gettype($documentoRetificacao)), __LINE__);
        }
        if (is_null($documentoRetificacao) || (is_array($documentoRetificacao) && empty($documentoRetificacao))) {
            unset($this->DocumentoRetificacao);
        } else {
            $this->DocumentoRetificacao = $documentoRetificacao;
        }
        return $this;
    }
    /**
     * Get EMailBCC value
     * An additional test has been added (isset) before returning the property value as
     * this property may have been unset before, due to the fact that this property is
     * removable from the request (nillable=true+minOccurs=0)
     * @return string|null
     */
    public function getEMailBCC()
    {
        return isset($this->EMailBCC) ? $this->EMailBCC : null;
    }
    /**
     * Set EMailBCC value
     * This property is removable from request (nillable=true+minOccurs=0), therefore
     * if the value assigned to this property is null, it is removed from this object
     * @param string $eMailBCC
     * @return \StructType\DocumentosCompraERP
     */
    public function setEMailBCC($eMailBCC = null)
    {
        // validation for constraint: string
        if (!is_null($eMailBCC) && !is_string($eMailBCC)) {
            throw new \InvalidArgumentException(sprintf('Invalid value, please provide a string, "%s" given', gettype($eMailBCC)), __LINE__);
        }
        if (is_null($eMailBCC) || (is_array($eMailBCC) && empty($eMailBCC))) {
            unset($this->EMailBCC);
        } else {
            $this->EMailBCC = $eMailBCC;
        }
        return $this;
    }
    /**
     * Get EMailCC value
     * An additional test has been added (isset) before returning the property value as
     * this property may have been unset before, due to the fact that this property is
     * removable from the request (nillable=true+minOccurs=0)
     * @return string|null
     */
    public function getEMailCC()
    {
        return isset($this->EMailCC) ? $this->EMailCC : null;
    }
    /**
     * Set EMailCC value
     * This property is removable from request (nillable=true+minOccurs=0), therefore
     * if the value assigned to this property is null, it is removed from this object
     * @param string $eMailCC
     * @return \StructType\DocumentosCompraERP
     */
    public function setEMailCC($eMailCC = null)
    {
        // validation for constraint: string
        if (!is_null($eMailCC) && !is_string($eMailCC)) {
            throw new \InvalidArgumentException(sprintf('Invalid value, please provide a string, "%s" given', gettype($eMailCC)), __LINE__);
        }
        if (is_null($eMailCC) || (is_array($eMailCC) && empty($eMailCC))) {
            unset($this->EMailCC);
        } else {
            $this->EMailCC = $eMailCC;
        }
        return $this;
    }
    /**
     * Get EMailConfirmar value
     * An additional test has been added (isset) before returning the property value as
     * this property may have been unset before, due to the fact that this property is
     * removable from the request (nillable=true+minOccurs=0)
     * @return bool|null
     */
    public function getEMailConfirmar()
    {
        return isset($this->EMailConfirmar) ? $this->EMailConfirmar : null;
    }
    /**
     * Set EMailConfirmar value
     * This property is removable from request (nillable=true+minOccurs=0), therefore
     * if the value assigned to this property is null, it is removed from this object
     * @param bool $eMailConfirmar
     * @return \StructType\DocumentosCompraERP
     */
    public function setEMailConfirmar($eMailConfirmar = null)
    {
        // validation for constraint: boolean
        if (!is_null($eMailConfirmar) && !is_bool($eMailConfirmar)) {
            throw new \InvalidArgumentException(sprintf('Invalid value, please provide a bool, "%s" given', gettype($eMailConfirmar)), __LINE__);
        }
        if (is_null($eMailConfirmar) || (is_array($eMailConfirmar) && empty($eMailConfirmar))) {
            unset($this->EMailConfirmar);
        } else {
            $this->EMailConfirmar = $eMailConfirmar;
        }
        return $this;
    }
    /**
     * Get EMailTexto value
     * An additional test has been added (isset) before returning the property value as
     * this property may have been unset before, due to the fact that this property is
     * removable from the request (nillable=true+minOccurs=0)
     * @return string|null
     */
    public function getEMailTexto()
    {
        return isset($this->EMailTexto) ? $this->EMailTexto : null;
    }
    /**
     * Set EMailTexto value
     * This property is removable from request (nillable=true+minOccurs=0), therefore
     * if the value assigned to this property is null, it is removed from this object
     * @param string $eMailTexto
     * @return \StructType\DocumentosCompraERP
     */
    public function setEMailTexto($eMailTexto = null)
    {
        // validation for constraint: string
        if (!is_null($eMailTexto) && !is_string($eMailTexto)) {
            throw new \InvalidArgumentException(sprintf('Invalid value, please provide a string, "%s" given', gettype($eMailTexto)), __LINE__);
        }
        if (is_null($eMailTexto) || (is_array($eMailTexto) && empty($eMailTexto))) {
            unset($this->EMailTexto);
        } else {
            $this->EMailTexto = $eMailTexto;
        }
        return $this;
    }
    /**
     * Get EMailVisualizar value
     * An additional test has been added (isset) before returning the property value as
     * this property may have been unset before, due to the fact that this property is
     * removable from the request (nillable=true+minOccurs=0)
     * @return bool|null
     */
    public function getEMailVisualizar()
    {
        return isset($this->EMailVisualizar) ? $this->EMailVisualizar : null;
    }
    /**
     * Set EMailVisualizar value
     * This property is removable from request (nillable=true+minOccurs=0), therefore
     * if the value assigned to this property is null, it is removed from this object
     * @param bool $eMailVisualizar
     * @return \StructType\DocumentosCompraERP
     */
    public function setEMailVisualizar($eMailVisualizar = null)
    {
        // validation for constraint: boolean
        if (!is_null($eMailVisualizar) && !is_bool($eMailVisualizar)) {
            throw new \InvalidArgumentException(sprintf('Invalid value, please provide a bool, "%s" given', gettype($eMailVisualizar)), __LINE__);
        }
        if (is_null($eMailVisualizar) || (is_array($eMailVisualizar) && empty($eMailVisualizar))) {
            unset($this->EMailVisualizar);
        } else {
            $this->EMailVisualizar = $eMailVisualizar;
        }
        return $this;
    }
    /**
     * Get EconomicaCBL value
     * An additional test has been added (isset) before returning the property value as
     * this property may have been unset before, due to the fact that this property is
     * removable from the request (nillable=true+minOccurs=0)
     * @return string|null
     */
    public function getEconomicaCBL()
    {
        return isset($this->EconomicaCBL) ? $this->EconomicaCBL : null;
    }
    /**
     * Set EconomicaCBL value
     * This property is removable from request (nillable=true+minOccurs=0), therefore
     * if the value assigned to this property is null, it is removed from this object
     * @param string $economicaCBL
     * @return \StructType\DocumentosCompraERP
     */
    public function setEconomicaCBL($economicaCBL = null)
    {
        // validation for constraint: string
        if (!is_null($economicaCBL) && !is_string($economicaCBL)) {
            throw new \InvalidArgumentException(sprintf('Invalid value, please provide a string, "%s" given', gettype($economicaCBL)), __LINE__);
        }
        if (is_null($economicaCBL) || (is_array($economicaCBL) && empty($economicaCBL))) {
            unset($this->EconomicaCBL);
        } else {
            $this->EconomicaCBL = $economicaCBL;
        }
        return $this;
    }
    /**
     * Get EmailFixo value
     * An additional test has been added (isset) before returning the property value as
     * this property may have been unset before, due to the fact that this property is
     * removable from the request (nillable=true+minOccurs=0)
     * @return bool|null
     */
    public function getEmailFixo()
    {
        return isset($this->EmailFixo) ? $this->EmailFixo : null;
    }
    /**
     * Set EmailFixo value
     * This property is removable from request (nillable=true+minOccurs=0), therefore
     * if the value assigned to this property is null, it is removed from this object
     * @param bool $emailFixo
     * @return \StructType\DocumentosCompraERP
     */
    public function setEmailFixo($emailFixo = null)
    {
        // validation for constraint: boolean
        if (!is_null($emailFixo) && !is_bool($emailFixo)) {
            throw new \InvalidArgumentException(sprintf('Invalid value, please provide a bool, "%s" given', gettype($emailFixo)), __LINE__);
        }
        if (is_null($emailFixo) || (is_array($emailFixo) && empty($emailFixo))) {
            unset($this->EmailFixo);
        } else {
            $this->EmailFixo = $emailFixo;
        }
        return $this;
    }
    /**
     * Get EmailTo value
     * An additional test has been added (isset) before returning the property value as
     * this property may have been unset before, due to the fact that this property is
     * removable from the request (nillable=true+minOccurs=0)
     * @return string|null
     */
    public function getEmailTo()
    {
        return isset($this->EmailTo) ? $this->EmailTo : null;
    }
    /**
     * Set EmailTo value
     * This property is removable from request (nillable=true+minOccurs=0), therefore
     * if the value assigned to this property is null, it is removed from this object
     * @param string $emailTo
     * @return \StructType\DocumentosCompraERP
     */
    public function setEmailTo($emailTo = null)
    {
        // validation for constraint: string
        if (!is_null($emailTo) && !is_string($emailTo)) {
            throw new \InvalidArgumentException(sprintf('Invalid value, please provide a string, "%s" given', gettype($emailTo)), __LINE__);
        }
        if (is_null($emailTo) || (is_array($emailTo) && empty($emailTo))) {
            unset($this->EmailTo);
        } else {
            $this->EmailTo = $emailTo;
        }
        return $this;
    }
    /**
     * Get EnviaEmail value
     * An additional test has been added (isset) before returning the property value as
     * this property may have been unset before, due to the fact that this property is
     * removable from the request (nillable=true+minOccurs=0)
     * @return bool|null
     */
    public function getEnviaEmail()
    {
        return isset($this->EnviaEmail) ? $this->EnviaEmail : null;
    }
    /**
     * Set EnviaEmail value
     * This property is removable from request (nillable=true+minOccurs=0), therefore
     * if the value assigned to this property is null, it is removed from this object
     * @param bool $enviaEmail
     * @return \StructType\DocumentosCompraERP
     */
    public function setEnviaEmail($enviaEmail = null)
    {
        // validation for constraint: boolean
        if (!is_null($enviaEmail) && !is_bool($enviaEmail)) {
            throw new \InvalidArgumentException(sprintf('Invalid value, please provide a bool, "%s" given', gettype($enviaEmail)), __LINE__);
        }
        if (is_null($enviaEmail) || (is_array($enviaEmail) && empty($enviaEmail))) {
            unset($this->EnviaEmail);
        } else {
            $this->EnviaEmail = $enviaEmail;
        }
        return $this;
    }
    /**
     * Get Estado value
     * An additional test has been added (isset) before returning the property value as
     * this property may have been unset before, due to the fact that this property is
     * removable from the request (nillable=true+minOccurs=0)
     * @return string|null
     */
    public function getEstado()
    {
        return isset($this->Estado) ? $this->Estado : null;
    }
    /**
     * Set Estado value
     * This property is removable from request (nillable=true+minOccurs=0), therefore
     * if the value assigned to this property is null, it is removed from this object
     * @param string $estado
     * @return \StructType\DocumentosCompraERP
     */
    public function setEstado($estado = null)
    {
        // validation for constraint: string
        if (!is_null($estado) && !is_string($estado)) {
            throw new \InvalidArgumentException(sprintf('Invalid value, please provide a string, "%s" given', gettype($estado)), __LINE__);
        }
        if (is_null($estado) || (is_array($estado) && empty($estado))) {
            unset($this->Estado);
        } else {
            $this->Estado = $estado;
        }
        return $this;
    }
    /**
     * Get EstadoLiqAut value
     * An additional test has been added (isset) before returning the property value as
     * this property may have been unset before, due to the fact that this property is
     * removable from the request (nillable=true+minOccurs=0)
     * @return string|null
     */
    public function getEstadoLiqAut()
    {
        return isset($this->EstadoLiqAut) ? $this->EstadoLiqAut : null;
    }
    /**
     * Set EstadoLiqAut value
     * This property is removable from request (nillable=true+minOccurs=0), therefore
     * if the value assigned to this property is null, it is removed from this object
     * @param string $estadoLiqAut
     * @return \StructType\DocumentosCompraERP
     */
    public function setEstadoLiqAut($estadoLiqAut = null)
    {
        // validation for constraint: string
        if (!is_null($estadoLiqAut) && !is_string($estadoLiqAut)) {
            throw new \InvalidArgumentException(sprintf('Invalid value, please provide a string, "%s" given', gettype($estadoLiqAut)), __LINE__);
        }
        if (is_null($estadoLiqAut) || (is_array($estadoLiqAut) && empty($estadoLiqAut))) {
            unset($this->EstadoLiqAut);
        } else {
            $this->EstadoLiqAut = $estadoLiqAut;
        }
        return $this;
    }
    /**
     * Get EstadoProcesso value
     * An additional test has been added (isset) before returning the property value as
     * this property may have been unset before, due to the fact that this property is
     * removable from the request (nillable=true+minOccurs=0)
     * @return string|null
     */
    public function getEstadoProcesso()
    {
        return isset($this->EstadoProcesso) ? $this->EstadoProcesso : null;
    }
    /**
     * Set EstadoProcesso value
     * This property is removable from request (nillable=true+minOccurs=0), therefore
     * if the value assigned to this property is null, it is removed from this object
     * @param string $estadoProcesso
     * @return \StructType\DocumentosCompraERP
     */
    public function setEstadoProcesso($estadoProcesso = null)
    {
        // validation for constraint: string
        if (!is_null($estadoProcesso) && !is_string($estadoProcesso)) {
            throw new \InvalidArgumentException(sprintf('Invalid value, please provide a string, "%s" given', gettype($estadoProcesso)), __LINE__);
        }
        if (is_null($estadoProcesso) || (is_array($estadoProcesso) && empty($estadoProcesso))) {
            unset($this->EstadoProcesso);
        } else {
            $this->EstadoProcesso = $estadoProcesso;
        }
        return $this;
    }
    /**
     * Get EstadoTransitar value
     * An additional test has been added (isset) before returning the property value as
     * this property may have been unset before, due to the fact that this property is
     * removable from the request (nillable=true+minOccurs=0)
     * @return string|null
     */
    public function getEstadoTransitar()
    {
        return isset($this->EstadoTransitar) ? $this->EstadoTransitar : null;
    }
    /**
     * Set EstadoTransitar value
     * This property is removable from request (nillable=true+minOccurs=0), therefore
     * if the value assigned to this property is null, it is removed from this object
     * @param string $estadoTransitar
     * @return \StructType\DocumentosCompraERP
     */
    public function setEstadoTransitar($estadoTransitar = null)
    {
        // validation for constraint: string
        if (!is_null($estadoTransitar) && !is_string($estadoTransitar)) {
            throw new \InvalidArgumentException(sprintf('Invalid value, please provide a string, "%s" given', gettype($estadoTransitar)), __LINE__);
        }
        if (is_null($estadoTransitar) || (is_array($estadoTransitar) && empty($estadoTransitar))) {
            unset($this->EstadoTransitar);
        } else {
            $this->EstadoTransitar = $estadoTransitar;
        }
        return $this;
    }
    /**
     * Get Fluxo value
     * An additional test has been added (isset) before returning the property value as
     * this property may have been unset before, due to the fact that this property is
     * removable from the request (nillable=true+minOccurs=0)
     * @return string|null
     */
    public function getFluxo()
    {
        return isset($this->Fluxo) ? $this->Fluxo : null;
    }
    /**
     * Set Fluxo value
     * This property is removable from request (nillable=true+minOccurs=0), therefore
     * if the value assigned to this property is null, it is removed from this object
     * @param string $fluxo
     * @return \StructType\DocumentosCompraERP
     */
    public function setFluxo($fluxo = null)
    {
        // validation for constraint: string
        if (!is_null($fluxo) && !is_string($fluxo)) {
            throw new \InvalidArgumentException(sprintf('Invalid value, please provide a string, "%s" given', gettype($fluxo)), __LINE__);
        }
        if (is_null($fluxo) || (is_array($fluxo) && empty($fluxo))) {
            unset($this->Fluxo);
        } else {
            $this->Fluxo = $fluxo;
        }
        return $this;
    }
    /**
     * Get FornIndiferenciado value
     * An additional test has been added (isset) before returning the property value as
     * this property may have been unset before, due to the fact that this property is
     * removable from the request (nillable=true+minOccurs=0)
     * @return bool|null
     */
    public function getFornIndiferenciado()
    {
        return isset($this->FornIndiferenciado) ? $this->FornIndiferenciado : null;
    }
    /**
     * Set FornIndiferenciado value
     * This property is removable from request (nillable=true+minOccurs=0), therefore
     * if the value assigned to this property is null, it is removed from this object
     * @param bool $fornIndiferenciado
     * @return \StructType\DocumentosCompraERP
     */
    public function setFornIndiferenciado($fornIndiferenciado = null)
    {
        // validation for constraint: boolean
        if (!is_null($fornIndiferenciado) && !is_bool($fornIndiferenciado)) {
            throw new \InvalidArgumentException(sprintf('Invalid value, please provide a bool, "%s" given', gettype($fornIndiferenciado)), __LINE__);
        }
        if (is_null($fornIndiferenciado) || (is_array($fornIndiferenciado) && empty($fornIndiferenciado))) {
            unset($this->FornIndiferenciado);
        } else {
            $this->FornIndiferenciado = $fornIndiferenciado;
        }
        return $this;
    }
    /**
     * Get Fornecedores value
     * An additional test has been added (isset) before returning the property value as
     * this property may have been unset before, due to the fact that this property is
     * removable from the request (nillable=true+minOccurs=0)
     * @return bool|null
     */
    public function getFornecedores()
    {
        return isset($this->Fornecedores) ? $this->Fornecedores : null;
    }
    /**
     * Set Fornecedores value
     * This property is removable from request (nillable=true+minOccurs=0), therefore
     * if the value assigned to this property is null, it is removed from this object
     * @param bool $fornecedores
     * @return \StructType\DocumentosCompraERP
     */
    public function setFornecedores($fornecedores = null)
    {
        // validation for constraint: boolean
        if (!is_null($fornecedores) && !is_bool($fornecedores)) {
            throw new \InvalidArgumentException(sprintf('Invalid value, please provide a bool, "%s" given', gettype($fornecedores)), __LINE__);
        }
        if (is_null($fornecedores) || (is_array($fornecedores) && empty($fornecedores))) {
            unset($this->Fornecedores);
        } else {
            $this->Fornecedores = $fornecedores;
        }
        return $this;
    }
    /**
     * Get FuncionalCBL value
     * An additional test has been added (isset) before returning the property value as
     * this property may have been unset before, due to the fact that this property is
     * removable from the request (nillable=true+minOccurs=0)
     * @return string|null
     */
    public function getFuncionalCBL()
    {
        return isset($this->FuncionalCBL) ? $this->FuncionalCBL : null;
    }
    /**
     * Set FuncionalCBL value
     * This property is removable from request (nillable=true+minOccurs=0), therefore
     * if the value assigned to this property is null, it is removed from this object
     * @param string $funcionalCBL
     * @return \StructType\DocumentosCompraERP
     */
    public function setFuncionalCBL($funcionalCBL = null)
    {
        // validation for constraint: string
        if (!is_null($funcionalCBL) && !is_string($funcionalCBL)) {
            throw new \InvalidArgumentException(sprintf('Invalid value, please provide a string, "%s" given', gettype($funcionalCBL)), __LINE__);
        }
        if (is_null($funcionalCBL) || (is_array($funcionalCBL) && empty($funcionalCBL))) {
            unset($this->FuncionalCBL);
        } else {
            $this->FuncionalCBL = $funcionalCBL;
        }
        return $this;
    }
    /**
     * Get FuncoesCBL value
     * An additional test has been added (isset) before returning the property value as
     * this property may have been unset before, due to the fact that this property is
     * removable from the request (nillable=true+minOccurs=0)
     * @return bool|null
     */
    public function getFuncoesCBL()
    {
        return isset($this->FuncoesCBL) ? $this->FuncoesCBL : null;
    }
    /**
     * Set FuncoesCBL value
     * This property is removable from request (nillable=true+minOccurs=0), therefore
     * if the value assigned to this property is null, it is removed from this object
     * @param bool $funcoesCBL
     * @return \StructType\DocumentosCompraERP
     */
    public function setFuncoesCBL($funcoesCBL = null)
    {
        // validation for constraint: boolean
        if (!is_null($funcoesCBL) && !is_bool($funcoesCBL)) {
            throw new \InvalidArgumentException(sprintf('Invalid value, please provide a bool, "%s" given', gettype($funcoesCBL)), __LINE__);
        }
        if (is_null($funcoesCBL) || (is_array($funcoesCBL) && empty($funcoesCBL))) {
            unset($this->FuncoesCBL);
        } else {
            $this->FuncoesCBL = $funcoesCBL;
        }
        return $this;
    }
    /**
     * Get IntrastatCondEnt value
     * An additional test has been added (isset) before returning the property value as
     * this property may have been unset before, due to the fact that this property is
     * removable from the request (nillable=true+minOccurs=0)
     * @return string|null
     */
    public function getIntrastatCondEnt()
    {
        return isset($this->IntrastatCondEnt) ? $this->IntrastatCondEnt : null;
    }
    /**
     * Set IntrastatCondEnt value
     * This property is removable from request (nillable=true+minOccurs=0), therefore
     * if the value assigned to this property is null, it is removed from this object
     * @param string $intrastatCondEnt
     * @return \StructType\DocumentosCompraERP
     */
    public function setIntrastatCondEnt($intrastatCondEnt = null)
    {
        // validation for constraint: string
        if (!is_null($intrastatCondEnt) && !is_string($intrastatCondEnt)) {
            throw new \InvalidArgumentException(sprintf('Invalid value, please provide a string, "%s" given', gettype($intrastatCondEnt)), __LINE__);
        }
        if (is_null($intrastatCondEnt) || (is_array($intrastatCondEnt) && empty($intrastatCondEnt))) {
            unset($this->IntrastatCondEnt);
        } else {
            $this->IntrastatCondEnt = $intrastatCondEnt;
        }
        return $this;
    }
    /**
     * Get IntrastatDoc value
     * An additional test has been added (isset) before returning the property value as
     * this property may have been unset before, due to the fact that this property is
     * removable from the request (nillable=true+minOccurs=0)
     * @return bool|null
     */
    public function getIntrastatDoc()
    {
        return isset($this->IntrastatDoc) ? $this->IntrastatDoc : null;
    }
    /**
     * Set IntrastatDoc value
     * This property is removable from request (nillable=true+minOccurs=0), therefore
     * if the value assigned to this property is null, it is removed from this object
     * @param bool $intrastatDoc
     * @return \StructType\DocumentosCompraERP
     */
    public function setIntrastatDoc($intrastatDoc = null)
    {
        // validation for constraint: boolean
        if (!is_null($intrastatDoc) && !is_bool($intrastatDoc)) {
            throw new \InvalidArgumentException(sprintf('Invalid value, please provide a bool, "%s" given', gettype($intrastatDoc)), __LINE__);
        }
        if (is_null($intrastatDoc) || (is_array($intrastatDoc) && empty($intrastatDoc))) {
            unset($this->IntrastatDoc);
        } else {
            $this->IntrastatDoc = $intrastatDoc;
        }
        return $this;
    }
    /**
     * Get LigaBNC value
     * An additional test has been added (isset) before returning the property value as
     * this property may have been unset before, due to the fact that this property is
     * removable from the request (nillable=true+minOccurs=0)
     * @return bool|null
     */
    public function getLigaBNC()
    {
        return isset($this->LigaBNC) ? $this->LigaBNC : null;
    }
    /**
     * Set LigaBNC value
     * This property is removable from request (nillable=true+minOccurs=0), therefore
     * if the value assigned to this property is null, it is removed from this object
     * @param bool $ligaBNC
     * @return \StructType\DocumentosCompraERP
     */
    public function setLigaBNC($ligaBNC = null)
    {
        // validation for constraint: boolean
        if (!is_null($ligaBNC) && !is_bool($ligaBNC)) {
            throw new \InvalidArgumentException(sprintf('Invalid value, please provide a bool, "%s" given', gettype($ligaBNC)), __LINE__);
        }
        if (is_null($ligaBNC) || (is_array($ligaBNC) && empty($ligaBNC))) {
            unset($this->LigaBNC);
        } else {
            $this->LigaBNC = $ligaBNC;
        }
        return $this;
    }
    /**
     * Get LigaCC value
     * An additional test has been added (isset) before returning the property value as
     * this property may have been unset before, due to the fact that this property is
     * removable from the request (nillable=true+minOccurs=0)
     * @return bool|null
     */
    public function getLigaCC()
    {
        return isset($this->LigaCC) ? $this->LigaCC : null;
    }
    /**
     * Set LigaCC value
     * This property is removable from request (nillable=true+minOccurs=0), therefore
     * if the value assigned to this property is null, it is removed from this object
     * @param bool $ligaCC
     * @return \StructType\DocumentosCompraERP
     */
    public function setLigaCC($ligaCC = null)
    {
        // validation for constraint: boolean
        if (!is_null($ligaCC) && !is_bool($ligaCC)) {
            throw new \InvalidArgumentException(sprintf('Invalid value, please provide a bool, "%s" given', gettype($ligaCC)), __LINE__);
        }
        if (is_null($ligaCC) || (is_array($ligaCC) && empty($ligaCC))) {
            unset($this->LigaCC);
        } else {
            $this->LigaCC = $ligaCC;
        }
        return $this;
    }
    /**
     * Get LigaContab value
     * An additional test has been added (isset) before returning the property value as
     * this property may have been unset before, due to the fact that this property is
     * removable from the request (nillable=true+minOccurs=0)
     * @return bool|null
     */
    public function getLigaContab()
    {
        return isset($this->LigaContab) ? $this->LigaContab : null;
    }
    /**
     * Set LigaContab value
     * This property is removable from request (nillable=true+minOccurs=0), therefore
     * if the value assigned to this property is null, it is removed from this object
     * @param bool $ligaContab
     * @return \StructType\DocumentosCompraERP
     */
    public function setLigaContab($ligaContab = null)
    {
        // validation for constraint: boolean
        if (!is_null($ligaContab) && !is_bool($ligaContab)) {
            throw new \InvalidArgumentException(sprintf('Invalid value, please provide a bool, "%s" given', gettype($ligaContab)), __LINE__);
        }
        if (is_null($ligaContab) || (is_array($ligaContab) && empty($ligaContab))) {
            unset($this->LigaContab);
        } else {
            $this->LigaContab = $ligaContab;
        }
        return $this;
    }
    /**
     * Get LigaContabMovSTK value
     * An additional test has been added (isset) before returning the property value as
     * this property may have been unset before, due to the fact that this property is
     * removable from the request (nillable=true+minOccurs=0)
     * @return bool|null
     */
    public function getLigaContabMovSTK()
    {
        return isset($this->LigaContabMovSTK) ? $this->LigaContabMovSTK : null;
    }
    /**
     * Set LigaContabMovSTK value
     * This property is removable from request (nillable=true+minOccurs=0), therefore
     * if the value assigned to this property is null, it is removed from this object
     * @param bool $ligaContabMovSTK
     * @return \StructType\DocumentosCompraERP
     */
    public function setLigaContabMovSTK($ligaContabMovSTK = null)
    {
        // validation for constraint: boolean
        if (!is_null($ligaContabMovSTK) && !is_bool($ligaContabMovSTK)) {
            throw new \InvalidArgumentException(sprintf('Invalid value, please provide a bool, "%s" given', gettype($ligaContabMovSTK)), __LINE__);
        }
        if (is_null($ligaContabMovSTK) || (is_array($ligaContabMovSTK) && empty($ligaContabMovSTK))) {
            unset($this->LigaContabMovSTK);
        } else {
            $this->LigaContabMovSTK = $ligaContabMovSTK;
        }
        return $this;
    }
    /**
     * Get LigaProcessos value
     * An additional test has been added (isset) before returning the property value as
     * this property may have been unset before, due to the fact that this property is
     * removable from the request (nillable=true+minOccurs=0)
     * @return bool|null
     */
    public function getLigaProcessos()
    {
        return isset($this->LigaProcessos) ? $this->LigaProcessos : null;
    }
    /**
     * Set LigaProcessos value
     * This property is removable from request (nillable=true+minOccurs=0), therefore
     * if the value assigned to this property is null, it is removed from this object
     * @param bool $ligaProcessos
     * @return \StructType\DocumentosCompraERP
     */
    public function setLigaProcessos($ligaProcessos = null)
    {
        // validation for constraint: boolean
        if (!is_null($ligaProcessos) && !is_bool($ligaProcessos)) {
            throw new \InvalidArgumentException(sprintf('Invalid value, please provide a bool, "%s" given', gettype($ligaProcessos)), __LINE__);
        }
        if (is_null($ligaProcessos) || (is_array($ligaProcessos) && empty($ligaProcessos))) {
            unset($this->LigaProcessos);
        } else {
            $this->LigaProcessos = $ligaProcessos;
        }
        return $this;
    }
    /**
     * Get LigaSTP value
     * An additional test has been added (isset) before returning the property value as
     * this property may have been unset before, due to the fact that this property is
     * removable from the request (nillable=true+minOccurs=0)
     * @return bool|null
     */
    public function getLigaSTP()
    {
        return isset($this->LigaSTP) ? $this->LigaSTP : null;
    }
    /**
     * Set LigaSTP value
     * This property is removable from request (nillable=true+minOccurs=0), therefore
     * if the value assigned to this property is null, it is removed from this object
     * @param bool $ligaSTP
     * @return \StructType\DocumentosCompraERP
     */
    public function setLigaSTP($ligaSTP = null)
    {
        // validation for constraint: boolean
        if (!is_null($ligaSTP) && !is_bool($ligaSTP)) {
            throw new \InvalidArgumentException(sprintf('Invalid value, please provide a bool, "%s" given', gettype($ligaSTP)), __LINE__);
        }
        if (is_null($ligaSTP) || (is_array($ligaSTP) && empty($ligaSTP))) {
            unset($this->LigaSTP);
        } else {
            $this->LigaSTP = $ligaSTP;
        }
        return $this;
    }
    /**
     * Get LigaStocks value
     * An additional test has been added (isset) before returning the property value as
     * this property may have been unset before, due to the fact that this property is
     * removable from the request (nillable=true+minOccurs=0)
     * @return bool|null
     */
    public function getLigaStocks()
    {
        return isset($this->LigaStocks) ? $this->LigaStocks : null;
    }
    /**
     * Set LigaStocks value
     * This property is removable from request (nillable=true+minOccurs=0), therefore
     * if the value assigned to this property is null, it is removed from this object
     * @param bool $ligaStocks
     * @return \StructType\DocumentosCompraERP
     */
    public function setLigaStocks($ligaStocks = null)
    {
        // validation for constraint: boolean
        if (!is_null($ligaStocks) && !is_bool($ligaStocks)) {
            throw new \InvalidArgumentException(sprintf('Invalid value, please provide a bool, "%s" given', gettype($ligaStocks)), __LINE__);
        }
        if (is_null($ligaStocks) || (is_array($ligaStocks) && empty($ligaStocks))) {
            unset($this->LigaStocks);
        } else {
            $this->LigaStocks = $ligaStocks;
        }
        return $this;
    }
    /**
     * Get LigacaoCBLOnLine value
     * An additional test has been added (isset) before returning the property value as
     * this property may have been unset before, due to the fact that this property is
     * removable from the request (nillable=true+minOccurs=0)
     * @return bool|null
     */
    public function getLigacaoCBLOnLine()
    {
        return isset($this->LigacaoCBLOnLine) ? $this->LigacaoCBLOnLine : null;
    }
    /**
     * Set LigacaoCBLOnLine value
     * This property is removable from request (nillable=true+minOccurs=0), therefore
     * if the value assigned to this property is null, it is removed from this object
     * @param bool $ligacaoCBLOnLine
     * @return \StructType\DocumentosCompraERP
     */
    public function setLigacaoCBLOnLine($ligacaoCBLOnLine = null)
    {
        // validation for constraint: boolean
        if (!is_null($ligacaoCBLOnLine) && !is_bool($ligacaoCBLOnLine)) {
            throw new \InvalidArgumentException(sprintf('Invalid value, please provide a bool, "%s" given', gettype($ligacaoCBLOnLine)), __LINE__);
        }
        if (is_null($ligacaoCBLOnLine) || (is_array($ligacaoCBLOnLine) && empty($ligacaoCBLOnLine))) {
            unset($this->LigacaoCBLOnLine);
        } else {
            $this->LigacaoCBLOnLine = $ligacaoCBLOnLine;
        }
        return $this;
    }
    /**
     * Get LigacaoTesouraria value
     * An additional test has been added (isset) before returning the property value as
     * this property may have been unset before, due to the fact that this property is
     * removable from the request (nillable=true+minOccurs=0)
     * @return bool|null
     */
    public function getLigacaoTesouraria()
    {
        return isset($this->LigacaoTesouraria) ? $this->LigacaoTesouraria : null;
    }
    /**
     * Set LigacaoTesouraria value
     * This property is removable from request (nillable=true+minOccurs=0), therefore
     * if the value assigned to this property is null, it is removed from this object
     * @param bool $ligacaoTesouraria
     * @return \StructType\DocumentosCompraERP
     */
    public function setLigacaoTesouraria($ligacaoTesouraria = null)
    {
        // validation for constraint: boolean
        if (!is_null($ligacaoTesouraria) && !is_bool($ligacaoTesouraria)) {
            throw new \InvalidArgumentException(sprintf('Invalid value, please provide a bool, "%s" given', gettype($ligacaoTesouraria)), __LINE__);
        }
        if (is_null($ligacaoTesouraria) || (is_array($ligacaoTesouraria) && empty($ligacaoTesouraria))) {
            unset($this->LigacaoTesouraria);
        } else {
            $this->LigacaoTesouraria = $ligacaoTesouraria;
        }
        return $this;
    }
    /**
     * Get LimiteCredito value
     * An additional test has been added (isset) before returning the property value as
     * this property may have been unset before, due to the fact that this property is
     * removable from the request (nillable=true+minOccurs=0)
     * @return bool|null
     */
    public function getLimiteCredito()
    {
        return isset($this->LimiteCredito) ? $this->LimiteCredito : null;
    }
    /**
     * Set LimiteCredito value
     * This property is removable from request (nillable=true+minOccurs=0), therefore
     * if the value assigned to this property is null, it is removed from this object
     * @param bool $limiteCredito
     * @return \StructType\DocumentosCompraERP
     */
    public function setLimiteCredito($limiteCredito = null)
    {
        // validation for constraint: boolean
        if (!is_null($limiteCredito) && !is_bool($limiteCredito)) {
            throw new \InvalidArgumentException(sprintf('Invalid value, please provide a bool, "%s" given', gettype($limiteCredito)), __LINE__);
        }
        if (is_null($limiteCredito) || (is_array($limiteCredito) && empty($limiteCredito))) {
            unset($this->LimiteCredito);
        } else {
            $this->LimiteCredito = $limiteCredito;
        }
        return $this;
    }
    /**
     * Get LiqRetGarantiaIntroducao value
     * An additional test has been added (isset) before returning the property value as
     * this property may have been unset before, due to the fact that this property is
     * removable from the request (nillable=true+minOccurs=0)
     * @return bool|null
     */
    public function getLiqRetGarantiaIntroducao()
    {
        return isset($this->LiqRetGarantiaIntroducao) ? $this->LiqRetGarantiaIntroducao : null;
    }
    /**
     * Set LiqRetGarantiaIntroducao value
     * This property is removable from request (nillable=true+minOccurs=0), therefore
     * if the value assigned to this property is null, it is removed from this object
     * @param bool $liqRetGarantiaIntroducao
     * @return \StructType\DocumentosCompraERP
     */
    public function setLiqRetGarantiaIntroducao($liqRetGarantiaIntroducao = null)
    {
        // validation for constraint: boolean
        if (!is_null($liqRetGarantiaIntroducao) && !is_bool($liqRetGarantiaIntroducao)) {
            throw new \InvalidArgumentException(sprintf('Invalid value, please provide a bool, "%s" given', gettype($liqRetGarantiaIntroducao)), __LINE__);
        }
        if (is_null($liqRetGarantiaIntroducao) || (is_array($liqRetGarantiaIntroducao) && empty($liqRetGarantiaIntroducao))) {
            unset($this->LiqRetGarantiaIntroducao);
        } else {
            $this->LiqRetGarantiaIntroducao = $liqRetGarantiaIntroducao;
        }
        return $this;
    }
    /**
     * Get LiqRetIntroducao value
     * An additional test has been added (isset) before returning the property value as
     * this property may have been unset before, due to the fact that this property is
     * removable from the request (nillable=true+minOccurs=0)
     * @return bool|null
     */
    public function getLiqRetIntroducao()
    {
        return isset($this->LiqRetIntroducao) ? $this->LiqRetIntroducao : null;
    }
    /**
     * Set LiqRetIntroducao value
     * This property is removable from request (nillable=true+minOccurs=0), therefore
     * if the value assigned to this property is null, it is removed from this object
     * @param bool $liqRetIntroducao
     * @return \StructType\DocumentosCompraERP
     */
    public function setLiqRetIntroducao($liqRetIntroducao = null)
    {
        // validation for constraint: boolean
        if (!is_null($liqRetIntroducao) && !is_bool($liqRetIntroducao)) {
            throw new \InvalidArgumentException(sprintf('Invalid value, please provide a bool, "%s" given', gettype($liqRetIntroducao)), __LINE__);
        }
        if (is_null($liqRetIntroducao) || (is_array($liqRetIntroducao) && empty($liqRetIntroducao))) {
            unset($this->LiqRetIntroducao);
        } else {
            $this->LiqRetIntroducao = $liqRetIntroducao;
        }
        return $this;
    }
    /**
     * Get LiquidacaoAutomatica value
     * An additional test has been added (isset) before returning the property value as
     * this property may have been unset before, due to the fact that this property is
     * removable from the request (nillable=true+minOccurs=0)
     * @return bool|null
     */
    public function getLiquidacaoAutomatica()
    {
        return isset($this->LiquidacaoAutomatica) ? $this->LiquidacaoAutomatica : null;
    }
    /**
     * Set LiquidacaoAutomatica value
     * This property is removable from request (nillable=true+minOccurs=0), therefore
     * if the value assigned to this property is null, it is removed from this object
     * @param bool $liquidacaoAutomatica
     * @return \StructType\DocumentosCompraERP
     */
    public function setLiquidacaoAutomatica($liquidacaoAutomatica = null)
    {
        // validation for constraint: boolean
        if (!is_null($liquidacaoAutomatica) && !is_bool($liquidacaoAutomatica)) {
            throw new \InvalidArgumentException(sprintf('Invalid value, please provide a bool, "%s" given', gettype($liquidacaoAutomatica)), __LINE__);
        }
        if (is_null($liquidacaoAutomatica) || (is_array($liquidacaoAutomatica) && empty($liquidacaoAutomatica))) {
            unset($this->LiquidacaoAutomatica);
        } else {
            $this->LiquidacaoAutomatica = $liquidacaoAutomatica;
        }
        return $this;
    }
    /**
     * Get MovimentaEstados value
     * An additional test has been added (isset) before returning the property value as
     * this property may have been unset before, due to the fact that this property is
     * removable from the request (nillable=true+minOccurs=0)
     * @return bool|null
     */
    public function getMovimentaEstados()
    {
        return isset($this->MovimentaEstados) ? $this->MovimentaEstados : null;
    }
    /**
     * Set MovimentaEstados value
     * This property is removable from request (nillable=true+minOccurs=0), therefore
     * if the value assigned to this property is null, it is removed from this object
     * @param bool $movimentaEstados
     * @return \StructType\DocumentosCompraERP
     */
    public function setMovimentaEstados($movimentaEstados = null)
    {
        // validation for constraint: boolean
        if (!is_null($movimentaEstados) && !is_bool($movimentaEstados)) {
            throw new \InvalidArgumentException(sprintf('Invalid value, please provide a bool, "%s" given', gettype($movimentaEstados)), __LINE__);
        }
        if (is_null($movimentaEstados) || (is_array($movimentaEstados) && empty($movimentaEstados))) {
            unset($this->MovimentaEstados);
        } else {
            $this->MovimentaEstados = $movimentaEstados;
        }
        return $this;
    }
    /**
     * Get NActualizaPCM value
     * @return bool|null
     */
    public function getNActualizaPCM()
    {
        return $this->NActualizaPCM;
    }
    /**
     * Set NActualizaPCM value
     * @param bool $nActualizaPCM
     * @return \StructType\DocumentosCompraERP
     */
    public function setNActualizaPCM($nActualizaPCM = null)
    {
        // validation for constraint: boolean
        if (!is_null($nActualizaPCM) && !is_bool($nActualizaPCM)) {
            throw new \InvalidArgumentException(sprintf('Invalid value, please provide a bool, "%s" given', gettype($nActualizaPCM)), __LINE__);
        }
        $this->NActualizaPCM = $nActualizaPCM;
        return $this;
    }
    /**
     * Get NActualizaPCU value
     * @return bool|null
     */
    public function getNActualizaPCU()
    {
        return $this->NActualizaPCU;
    }
    /**
     * Set NActualizaPCU value
     * @param bool $nActualizaPCU
     * @return \StructType\DocumentosCompraERP
     */
    public function setNActualizaPCU($nActualizaPCU = null)
    {
        // validation for constraint: boolean
        if (!is_null($nActualizaPCU) && !is_bool($nActualizaPCU)) {
            throw new \InvalidArgumentException(sprintf('Invalid value, please provide a bool, "%s" given', gettype($nActualizaPCU)), __LINE__);
        }
        $this->NActualizaPCU = $nActualizaPCU;
        return $this;
    }
    /**
     * Get NActualizaUltimaEntrada value
     * @return bool|null
     */
    public function getNActualizaUltimaEntrada()
    {
        return $this->NActualizaUltimaEntrada;
    }
    /**
     * Set NActualizaUltimaEntrada value
     * @param bool $nActualizaUltimaEntrada
     * @return \StructType\DocumentosCompraERP
     */
    public function setNActualizaUltimaEntrada($nActualizaUltimaEntrada = null)
    {
        // validation for constraint: boolean
        if (!is_null($nActualizaUltimaEntrada) && !is_bool($nActualizaUltimaEntrada)) {
            throw new \InvalidArgumentException(sprintf('Invalid value, please provide a bool, "%s" given', gettype($nActualizaUltimaEntrada)), __LINE__);
        }
        $this->NActualizaUltimaEntrada = $nActualizaUltimaEntrada;
        return $this;
    }
    /**
     * Get NActualizaUltimaSaida value
     * @return bool|null
     */
    public function getNActualizaUltimaSaida()
    {
        return $this->NActualizaUltimaSaida;
    }
    /**
     * Set NActualizaUltimaSaida value
     * @param bool $nActualizaUltimaSaida
     * @return \StructType\DocumentosCompraERP
     */
    public function setNActualizaUltimaSaida($nActualizaUltimaSaida = null)
    {
        // validation for constraint: boolean
        if (!is_null($nActualizaUltimaSaida) && !is_bool($nActualizaUltimaSaida)) {
            throw new \InvalidArgumentException(sprintf('Invalid value, please provide a bool, "%s" given', gettype($nActualizaUltimaSaida)), __LINE__);
        }
        $this->NActualizaUltimaSaida = $nActualizaUltimaSaida;
        return $this;
    }
    /**
     * Get NTipoMovStk value
     * An additional test has been added (isset) before returning the property value as
     * this property may have been unset before, due to the fact that this property is
     * removable from the request (nillable=true+minOccurs=0)
     * @return string|null
     */
    public function getNTipoMovStk()
    {
        return isset($this->NTipoMovStk) ? $this->NTipoMovStk : null;
    }
    /**
     * Set NTipoMovStk value
     * This property is removable from request (nillable=true+minOccurs=0), therefore
     * if the value assigned to this property is null, it is removed from this object
     * @param string $nTipoMovStk
     * @return \StructType\DocumentosCompraERP
     */
    public function setNTipoMovStk($nTipoMovStk = null)
    {
        // validation for constraint: string
        if (!is_null($nTipoMovStk) && !is_string($nTipoMovStk)) {
            throw new \InvalidArgumentException(sprintf('Invalid value, please provide a string, "%s" given', gettype($nTipoMovStk)), __LINE__);
        }
        if (is_null($nTipoMovStk) || (is_array($nTipoMovStk) && empty($nTipoMovStk))) {
            unset($this->NTipoMovStk);
        } else {
            $this->NTipoMovStk = $nTipoMovStk;
        }
        return $this;
    }
    /**
     * Get NaturezaCCOP value
     * An additional test has been added (isset) before returning the property value as
     * this property may have been unset before, due to the fact that this property is
     * removable from the request (nillable=true+minOccurs=0)
     * @return string|null
     */
    public function getNaturezaCCOP()
    {
        return isset($this->NaturezaCCOP) ? $this->NaturezaCCOP : null;
    }
    /**
     * Set NaturezaCCOP value
     * This property is removable from request (nillable=true+minOccurs=0), therefore
     * if the value assigned to this property is null, it is removed from this object
     * @param string $naturezaCCOP
     * @return \StructType\DocumentosCompraERP
     */
    public function setNaturezaCCOP($naturezaCCOP = null)
    {
        // validation for constraint: string
        if (!is_null($naturezaCCOP) && !is_string($naturezaCCOP)) {
            throw new \InvalidArgumentException(sprintf('Invalid value, please provide a string, "%s" given', gettype($naturezaCCOP)), __LINE__);
        }
        if (is_null($naturezaCCOP) || (is_array($naturezaCCOP) && empty($naturezaCCOP))) {
            unset($this->NaturezaCCOP);
        } else {
            $this->NaturezaCCOP = $naturezaCCOP;
        }
        return $this;
    }
    /**
     * Get OperacaoControlaQtdSatisfeita value
     * @return int|null
     */
    public function getOperacaoControlaQtdSatisfeita()
    {
        return $this->OperacaoControlaQtdSatisfeita;
    }
    /**
     * Set OperacaoControlaQtdSatisfeita value
     * @param int $operacaoControlaQtdSatisfeita
     * @return \StructType\DocumentosCompraERP
     */
    public function setOperacaoControlaQtdSatisfeita($operacaoControlaQtdSatisfeita = null)
    {
        // validation for constraint: int
        if (!is_null($operacaoControlaQtdSatisfeita) && !is_numeric($operacaoControlaQtdSatisfeita)) {
            throw new \InvalidArgumentException(sprintf('Invalid value, please provide a numeric value, "%s" given', gettype($operacaoControlaQtdSatisfeita)), __LINE__);
        }
        $this->OperacaoControlaQtdSatisfeita = $operacaoControlaQtdSatisfeita;
        return $this;
    }
    /**
     * Get OrganicaCBL value
     * An additional test has been added (isset) before returning the property value as
     * this property may have been unset before, due to the fact that this property is
     * removable from the request (nillable=true+minOccurs=0)
     * @return string|null
     */
    public function getOrganicaCBL()
    {
        return isset($this->OrganicaCBL) ? $this->OrganicaCBL : null;
    }
    /**
     * Set OrganicaCBL value
     * This property is removable from request (nillable=true+minOccurs=0), therefore
     * if the value assigned to this property is null, it is removed from this object
     * @param string $organicaCBL
     * @return \StructType\DocumentosCompraERP
     */
    public function setOrganicaCBL($organicaCBL = null)
    {
        // validation for constraint: string
        if (!is_null($organicaCBL) && !is_string($organicaCBL)) {
            throw new \InvalidArgumentException(sprintf('Invalid value, please provide a string, "%s" given', gettype($organicaCBL)), __LINE__);
        }
        if (is_null($organicaCBL) || (is_array($organicaCBL) && empty($organicaCBL))) {
            unset($this->OrganicaCBL);
        } else {
            $this->OrganicaCBL = $organicaCBL;
        }
        return $this;
    }
    /**
     * Get OutrosCredores value
     * An additional test has been added (isset) before returning the property value as
     * this property may have been unset before, due to the fact that this property is
     * removable from the request (nillable=true+minOccurs=0)
     * @return bool|null
     */
    public function getOutrosCredores()
    {
        return isset($this->OutrosCredores) ? $this->OutrosCredores : null;
    }
    /**
     * Set OutrosCredores value
     * This property is removable from request (nillable=true+minOccurs=0), therefore
     * if the value assigned to this property is null, it is removed from this object
     * @param bool $outrosCredores
     * @return \StructType\DocumentosCompraERP
     */
    public function setOutrosCredores($outrosCredores = null)
    {
        // validation for constraint: boolean
        if (!is_null($outrosCredores) && !is_bool($outrosCredores)) {
            throw new \InvalidArgumentException(sprintf('Invalid value, please provide a bool, "%s" given', gettype($outrosCredores)), __LINE__);
        }
        if (is_null($outrosCredores) || (is_array($outrosCredores) && empty($outrosCredores))) {
            unset($this->OutrosCredores);
        } else {
            $this->OutrosCredores = $outrosCredores;
        }
        return $this;
    }
    /**
     * Get PagarReceber value
     * An additional test has been added (isset) before returning the property value as
     * this property may have been unset before, due to the fact that this property is
     * removable from the request (nillable=true+minOccurs=0)
     * @return string|null
     */
    public function getPagarReceber()
    {
        return isset($this->PagarReceber) ? $this->PagarReceber : null;
    }
    /**
     * Set PagarReceber value
     * This property is removable from request (nillable=true+minOccurs=0), therefore
     * if the value assigned to this property is null, it is removed from this object
     * @param string $pagarReceber
     * @return \StructType\DocumentosCompraERP
     */
    public function setPagarReceber($pagarReceber = null)
    {
        // validation for constraint: string
        if (!is_null($pagarReceber) && !is_string($pagarReceber)) {
            throw new \InvalidArgumentException(sprintf('Invalid value, please provide a string, "%s" given', gettype($pagarReceber)), __LINE__);
        }
        if (is_null($pagarReceber) || (is_array($pagarReceber) && empty($pagarReceber))) {
            unset($this->PagarReceber);
        } else {
            $this->PagarReceber = $pagarReceber;
        }
        return $this;
    }
    /**
     * Get PendentePorLinha value
     * @return bool|null
     */
    public function getPendentePorLinha()
    {
        return $this->PendentePorLinha;
    }
    /**
     * Set PendentePorLinha value
     * @param bool $pendentePorLinha
     * @return \StructType\DocumentosCompraERP
     */
    public function setPendentePorLinha($pendentePorLinha = null)
    {
        // validation for constraint: boolean
        if (!is_null($pendentePorLinha) && !is_bool($pendentePorLinha)) {
            throw new \InvalidArgumentException(sprintf('Invalid value, please provide a bool, "%s" given', gettype($pendentePorLinha)), __LINE__);
        }
        $this->PendentePorLinha = $pendentePorLinha;
        return $this;
    }
    /**
     * Get PermiteAltAposExp value
     * @return bool|null
     */
    public function getPermiteAltAposExp()
    {
        return $this->PermiteAltAposExp;
    }
    /**
     * Set PermiteAltAposExp value
     * @param bool $permiteAltAposExp
     * @return \StructType\DocumentosCompraERP
     */
    public function setPermiteAltAposExp($permiteAltAposExp = null)
    {
        // validation for constraint: boolean
        if (!is_null($permiteAltAposExp) && !is_bool($permiteAltAposExp)) {
            throw new \InvalidArgumentException(sprintf('Invalid value, please provide a bool, "%s" given', gettype($permiteAltAposExp)), __LINE__);
        }
        $this->PermiteAltAposExp = $permiteAltAposExp;
        return $this;
    }
    /**
     * Get PermiteDocNegativo value
     * @return bool|null
     */
    public function getPermiteDocNegativo()
    {
        return $this->PermiteDocNegativo;
    }
    /**
     * Set PermiteDocNegativo value
     * @param bool $permiteDocNegativo
     * @return \StructType\DocumentosCompraERP
     */
    public function setPermiteDocNegativo($permiteDocNegativo = null)
    {
        // validation for constraint: boolean
        if (!is_null($permiteDocNegativo) && !is_bool($permiteDocNegativo)) {
            throw new \InvalidArgumentException(sprintf('Invalid value, please provide a bool, "%s" given', gettype($permiteDocNegativo)), __LINE__);
        }
        $this->PermiteDocNegativo = $permiteDocNegativo;
        return $this;
    }
    /**
     * Get PermiteEstorno value
     * @return bool|null
     */
    public function getPermiteEstorno()
    {
        return $this->PermiteEstorno;
    }
    /**
     * Set PermiteEstorno value
     * @param bool $permiteEstorno
     * @return \StructType\DocumentosCompraERP
     */
    public function setPermiteEstorno($permiteEstorno = null)
    {
        // validation for constraint: boolean
        if (!is_null($permiteEstorno) && !is_bool($permiteEstorno)) {
            throw new \InvalidArgumentException(sprintf('Invalid value, please provide a bool, "%s" given', gettype($permiteEstorno)), __LINE__);
        }
        $this->PermiteEstorno = $permiteEstorno;
        return $this;
    }
    /**
     * Get PermiteLinhasNegativas value
     * @return bool|null
     */
    public function getPermiteLinhasNegativas()
    {
        return $this->PermiteLinhasNegativas;
    }
    /**
     * Set PermiteLinhasNegativas value
     * @param bool $permiteLinhasNegativas
     * @return \StructType\DocumentosCompraERP
     */
    public function setPermiteLinhasNegativas($permiteLinhasNegativas = null)
    {
        // validation for constraint: boolean
        if (!is_null($permiteLinhasNegativas) && !is_bool($permiteLinhasNegativas)) {
            throw new \InvalidArgumentException(sprintf('Invalid value, please provide a bool, "%s" given', gettype($permiteLinhasNegativas)), __LINE__);
        }
        $this->PermiteLinhasNegativas = $permiteLinhasNegativas;
        return $this;
    }
    /**
     * Get Protegida value
     * @return bool|null
     */
    public function getProtegida()
    {
        return $this->Protegida;
    }
    /**
     * Set Protegida value
     * @param bool $protegida
     * @return \StructType\DocumentosCompraERP
     */
    public function setProtegida($protegida = null)
    {
        // validation for constraint: boolean
        if (!is_null($protegida) && !is_bool($protegida)) {
            throw new \InvalidArgumentException(sprintf('Invalid value, please provide a bool, "%s" given', gettype($protegida)), __LINE__);
        }
        $this->Protegida = $protegida;
        return $this;
    }
    /**
     * Get Recapitulativos value
     * An additional test has been added (isset) before returning the property value as
     * this property may have been unset before, due to the fact that this property is
     * removable from the request (nillable=true+minOccurs=0)
     * @return bool|null
     */
    public function getRecapitulativos()
    {
        return isset($this->Recapitulativos) ? $this->Recapitulativos : null;
    }
    /**
     * Set Recapitulativos value
     * This property is removable from request (nillable=true+minOccurs=0), therefore
     * if the value assigned to this property is null, it is removed from this object
     * @param bool $recapitulativos
     * @return \StructType\DocumentosCompraERP
     */
    public function setRecapitulativos($recapitulativos = null)
    {
        // validation for constraint: boolean
        if (!is_null($recapitulativos) && !is_bool($recapitulativos)) {
            throw new \InvalidArgumentException(sprintf('Invalid value, please provide a bool, "%s" given', gettype($recapitulativos)), __LINE__);
        }
        if (is_null($recapitulativos) || (is_array($recapitulativos) && empty($recapitulativos))) {
            unset($this->Recapitulativos);
        } else {
            $this->Recapitulativos = $recapitulativos;
        }
        return $this;
    }
    /**
     * Get RecolhaDE_IL value
     * @return bool|null
     */
    public function getRecolhaDE_IL()
    {
        return $this->RecolhaDE_IL;
    }
    /**
     * Set RecolhaDE_IL value
     * @param bool $recolhaDE_IL
     * @return \StructType\DocumentosCompraERP
     */
    public function setRecolhaDE_IL($recolhaDE_IL = null)
    {
        // validation for constraint: boolean
        if (!is_null($recolhaDE_IL) && !is_bool($recolhaDE_IL)) {
            throw new \InvalidArgumentException(sprintf('Invalid value, please provide a bool, "%s" given', gettype($recolhaDE_IL)), __LINE__);
        }
        $this->RecolhaDE_IL = $recolhaDE_IL;
        return $this;
    }
    /**
     * Get RequerProcessoSTP value
     * An additional test has been added (isset) before returning the property value as
     * this property may have been unset before, due to the fact that this property is
     * removable from the request (nillable=true+minOccurs=0)
     * @return bool|null
     */
    public function getRequerProcessoSTP()
    {
        return isset($this->RequerProcessoSTP) ? $this->RequerProcessoSTP : null;
    }
    /**
     * Set RequerProcessoSTP value
     * This property is removable from request (nillable=true+minOccurs=0), therefore
     * if the value assigned to this property is null, it is removed from this object
     * @param bool $requerProcessoSTP
     * @return \StructType\DocumentosCompraERP
     */
    public function setRequerProcessoSTP($requerProcessoSTP = null)
    {
        // validation for constraint: boolean
        if (!is_null($requerProcessoSTP) && !is_bool($requerProcessoSTP)) {
            throw new \InvalidArgumentException(sprintf('Invalid value, please provide a bool, "%s" given', gettype($requerProcessoSTP)), __LINE__);
        }
        if (is_null($requerProcessoSTP) || (is_array($requerProcessoSTP) && empty($requerProcessoSTP))) {
            unset($this->RequerProcessoSTP);
        } else {
            $this->RequerProcessoSTP = $requerProcessoSTP;
        }
        return $this;
    }
    /**
     * Get RubricaTesouraria value
     * An additional test has been added (isset) before returning the property value as
     * this property may have been unset before, due to the fact that this property is
     * removable from the request (nillable=true+minOccurs=0)
     * @return string|null
     */
    public function getRubricaTesouraria()
    {
        return isset($this->RubricaTesouraria) ? $this->RubricaTesouraria : null;
    }
    /**
     * Set RubricaTesouraria value
     * This property is removable from request (nillable=true+minOccurs=0), therefore
     * if the value assigned to this property is null, it is removed from this object
     * @param string $rubricaTesouraria
     * @return \StructType\DocumentosCompraERP
     */
    public function setRubricaTesouraria($rubricaTesouraria = null)
    {
        // validation for constraint: string
        if (!is_null($rubricaTesouraria) && !is_string($rubricaTesouraria)) {
            throw new \InvalidArgumentException(sprintf('Invalid value, please provide a string, "%s" given', gettype($rubricaTesouraria)), __LINE__);
        }
        if (is_null($rubricaTesouraria) || (is_array($rubricaTesouraria) && empty($rubricaTesouraria))) {
            unset($this->RubricaTesouraria);
        } else {
            $this->RubricaTesouraria = $rubricaTesouraria;
        }
        return $this;
    }
    /**
     * Get SAFTTipoDocumento value
     * An additional test has been added (isset) before returning the property value as
     * this property may have been unset before, due to the fact that this property is
     * removable from the request (nillable=true+minOccurs=0)
     * @return string|null
     */
    public function getSAFTTipoDocumento()
    {
        return isset($this->SAFTTipoDocumento) ? $this->SAFTTipoDocumento : null;
    }
    /**
     * Set SAFTTipoDocumento value
     * This property is removable from request (nillable=true+minOccurs=0), therefore
     * if the value assigned to this property is null, it is removed from this object
     * @param string $sAFTTipoDocumento
     * @return \StructType\DocumentosCompraERP
     */
    public function setSAFTTipoDocumento($sAFTTipoDocumento = null)
    {
        // validation for constraint: string
        if (!is_null($sAFTTipoDocumento) && !is_string($sAFTTipoDocumento)) {
            throw new \InvalidArgumentException(sprintf('Invalid value, please provide a string, "%s" given', gettype($sAFTTipoDocumento)), __LINE__);
        }
        if (is_null($sAFTTipoDocumento) || (is_array($sAFTTipoDocumento) && empty($sAFTTipoDocumento))) {
            unset($this->SAFTTipoDocumento);
        } else {
            $this->SAFTTipoDocumento = $sAFTTipoDocumento;
        }
        return $this;
    }
    /**
     * Get SeparaControloQtdSatisfeita value
     * @return bool|null
     */
    public function getSeparaControloQtdSatisfeita()
    {
        return $this->SeparaControloQtdSatisfeita;
    }
    /**
     * Set SeparaControloQtdSatisfeita value
     * @param bool $separaControloQtdSatisfeita
     * @return \StructType\DocumentosCompraERP
     */
    public function setSeparaControloQtdSatisfeita($separaControloQtdSatisfeita = null)
    {
        // validation for constraint: boolean
        if (!is_null($separaControloQtdSatisfeita) && !is_bool($separaControloQtdSatisfeita)) {
            throw new \InvalidArgumentException(sprintf('Invalid value, please provide a bool, "%s" given', gettype($separaControloQtdSatisfeita)), __LINE__);
        }
        $this->SeparaControloQtdSatisfeita = $separaControloQtdSatisfeita;
        return $this;
    }
    /**
     * Get SerieDocEstorno value
     * An additional test has been added (isset) before returning the property value as
     * this property may have been unset before, due to the fact that this property is
     * removable from the request (nillable=true+minOccurs=0)
     * @return string|null
     */
    public function getSerieDocEstorno()
    {
        return isset($this->SerieDocEstorno) ? $this->SerieDocEstorno : null;
    }
    /**
     * Set SerieDocEstorno value
     * This property is removable from request (nillable=true+minOccurs=0), therefore
     * if the value assigned to this property is null, it is removed from this object
     * @param string $serieDocEstorno
     * @return \StructType\DocumentosCompraERP
     */
    public function setSerieDocEstorno($serieDocEstorno = null)
    {
        // validation for constraint: string
        if (!is_null($serieDocEstorno) && !is_string($serieDocEstorno)) {
            throw new \InvalidArgumentException(sprintf('Invalid value, please provide a string, "%s" given', gettype($serieDocEstorno)), __LINE__);
        }
        if (is_null($serieDocEstorno) || (is_array($serieDocEstorno) && empty($serieDocEstorno))) {
            unset($this->SerieDocEstorno);
        } else {
            $this->SerieDocEstorno = $serieDocEstorno;
        }
        return $this;
    }
    /**
     * Get SerieDocRetificacao value
     * An additional test has been added (isset) before returning the property value as
     * this property may have been unset before, due to the fact that this property is
     * removable from the request (nillable=true+minOccurs=0)
     * @return string|null
     */
    public function getSerieDocRetificacao()
    {
        return isset($this->SerieDocRetificacao) ? $this->SerieDocRetificacao : null;
    }
    /**
     * Set SerieDocRetificacao value
     * This property is removable from request (nillable=true+minOccurs=0), therefore
     * if the value assigned to this property is null, it is removed from this object
     * @param string $serieDocRetificacao
     * @return \StructType\DocumentosCompraERP
     */
    public function setSerieDocRetificacao($serieDocRetificacao = null)
    {
        // validation for constraint: string
        if (!is_null($serieDocRetificacao) && !is_string($serieDocRetificacao)) {
            throw new \InvalidArgumentException(sprintf('Invalid value, please provide a string, "%s" given', gettype($serieDocRetificacao)), __LINE__);
        }
        if (is_null($serieDocRetificacao) || (is_array($serieDocRetificacao) && empty($serieDocRetificacao))) {
            unset($this->SerieDocRetificacao);
        } else {
            $this->SerieDocRetificacao = $serieDocRetificacao;
        }
        return $this;
    }
    /**
     * Get SugereCodProcesso value
     * An additional test has been added (isset) before returning the property value as
     * this property may have been unset before, due to the fact that this property is
     * removable from the request (nillable=true+minOccurs=0)
     * @return bool|null
     */
    public function getSugereCodProcesso()
    {
        return isset($this->SugereCodProcesso) ? $this->SugereCodProcesso : null;
    }
    /**
     * Set SugereCodProcesso value
     * This property is removable from request (nillable=true+minOccurs=0), therefore
     * if the value assigned to this property is null, it is removed from this object
     * @param bool $sugereCodProcesso
     * @return \StructType\DocumentosCompraERP
     */
    public function setSugereCodProcesso($sugereCodProcesso = null)
    {
        // validation for constraint: boolean
        if (!is_null($sugereCodProcesso) && !is_bool($sugereCodProcesso)) {
            throw new \InvalidArgumentException(sprintf('Invalid value, please provide a bool, "%s" given', gettype($sugereCodProcesso)), __LINE__);
        }
        if (is_null($sugereCodProcesso) || (is_array($sugereCodProcesso) && empty($sugereCodProcesso))) {
            unset($this->SugereCodProcesso);
        } else {
            $this->SugereCodProcesso = $sugereCodProcesso;
        }
        return $this;
    }
    /**
     * Get SugereCondPag value
     * An additional test has been added (isset) before returning the property value as
     * this property may have been unset before, due to the fact that this property is
     * removable from the request (nillable=true+minOccurs=0)
     * @return bool|null
     */
    public function getSugereCondPag()
    {
        return isset($this->SugereCondPag) ? $this->SugereCondPag : null;
    }
    /**
     * Set SugereCondPag value
     * This property is removable from request (nillable=true+minOccurs=0), therefore
     * if the value assigned to this property is null, it is removed from this object
     * @param bool $sugereCondPag
     * @return \StructType\DocumentosCompraERP
     */
    public function setSugereCondPag($sugereCondPag = null)
    {
        // validation for constraint: boolean
        if (!is_null($sugereCondPag) && !is_bool($sugereCondPag)) {
            throw new \InvalidArgumentException(sprintf('Invalid value, please provide a bool, "%s" given', gettype($sugereCondPag)), __LINE__);
        }
        if (is_null($sugereCondPag) || (is_array($sugereCondPag) && empty($sugereCondPag))) {
            unset($this->SugereCondPag);
        } else {
            $this->SugereCondPag = $sugereCondPag;
        }
        return $this;
    }
    /**
     * Get SugestaoEstat value
     * An additional test has been added (isset) before returning the property value as
     * this property may have been unset before, due to the fact that this property is
     * removable from the request (nillable=true+minOccurs=0)
     * @return bool|null
     */
    public function getSugestaoEstat()
    {
        return isset($this->SugestaoEstat) ? $this->SugestaoEstat : null;
    }
    /**
     * Set SugestaoEstat value
     * This property is removable from request (nillable=true+minOccurs=0), therefore
     * if the value assigned to this property is null, it is removed from this object
     * @param bool $sugestaoEstat
     * @return \StructType\DocumentosCompraERP
     */
    public function setSugestaoEstat($sugestaoEstat = null)
    {
        // validation for constraint: boolean
        if (!is_null($sugestaoEstat) && !is_bool($sugestaoEstat)) {
            throw new \InvalidArgumentException(sprintf('Invalid value, please provide a bool, "%s" given', gettype($sugestaoEstat)), __LINE__);
        }
        if (is_null($sugestaoEstat) || (is_array($sugestaoEstat) && empty($sugestaoEstat))) {
            unset($this->SugestaoEstat);
        } else {
            $this->SugestaoEstat = $sugestaoEstat;
        }
        return $this;
    }
    /**
     * Get SujeitoAProvisoes value
     * An additional test has been added (isset) before returning the property value as
     * this property may have been unset before, due to the fact that this property is
     * removable from the request (nillable=true+minOccurs=0)
     * @return bool|null
     */
    public function getSujeitoAProvisoes()
    {
        return isset($this->SujeitoAProvisoes) ? $this->SujeitoAProvisoes : null;
    }
    /**
     * Set SujeitoAProvisoes value
     * This property is removable from request (nillable=true+minOccurs=0), therefore
     * if the value assigned to this property is null, it is removed from this object
     * @param bool $sujeitoAProvisoes
     * @return \StructType\DocumentosCompraERP
     */
    public function setSujeitoAProvisoes($sujeitoAProvisoes = null)
    {
        // validation for constraint: boolean
        if (!is_null($sujeitoAProvisoes) && !is_bool($sujeitoAProvisoes)) {
            throw new \InvalidArgumentException(sprintf('Invalid value, please provide a bool, "%s" given', gettype($sujeitoAProvisoes)), __LINE__);
        }
        if (is_null($sujeitoAProvisoes) || (is_array($sujeitoAProvisoes) && empty($sujeitoAProvisoes))) {
            unset($this->SujeitoAProvisoes);
        } else {
            $this->SujeitoAProvisoes = $sujeitoAProvisoes;
        }
        return $this;
    }
    /**
     * Get SujeitoConferencia value
     * An additional test has been added (isset) before returning the property value as
     * this property may have been unset before, due to the fact that this property is
     * removable from the request (nillable=true+minOccurs=0)
     * @return bool|null
     */
    public function getSujeitoConferencia()
    {
        return isset($this->SujeitoConferencia) ? $this->SujeitoConferencia : null;
    }
    /**
     * Set SujeitoConferencia value
     * This property is removable from request (nillable=true+minOccurs=0), therefore
     * if the value assigned to this property is null, it is removed from this object
     * @param bool $sujeitoConferencia
     * @return \StructType\DocumentosCompraERP
     */
    public function setSujeitoConferencia($sujeitoConferencia = null)
    {
        // validation for constraint: boolean
        if (!is_null($sujeitoConferencia) && !is_bool($sujeitoConferencia)) {
            throw new \InvalidArgumentException(sprintf('Invalid value, please provide a bool, "%s" given', gettype($sujeitoConferencia)), __LINE__);
        }
        if (is_null($sujeitoConferencia) || (is_array($sujeitoConferencia) && empty($sujeitoConferencia))) {
            unset($this->SujeitoConferencia);
        } else {
            $this->SujeitoConferencia = $sujeitoConferencia;
        }
        return $this;
    }
    /**
     * Get SujeitoConversao value
     * An additional test has been added (isset) before returning the property value as
     * this property may have been unset before, due to the fact that this property is
     * removable from the request (nillable=true+minOccurs=0)
     * @return bool|null
     */
    public function getSujeitoConversao()
    {
        return isset($this->SujeitoConversao) ? $this->SujeitoConversao : null;
    }
    /**
     * Set SujeitoConversao value
     * This property is removable from request (nillable=true+minOccurs=0), therefore
     * if the value assigned to this property is null, it is removed from this object
     * @param bool $sujeitoConversao
     * @return \StructType\DocumentosCompraERP
     */
    public function setSujeitoConversao($sujeitoConversao = null)
    {
        // validation for constraint: boolean
        if (!is_null($sujeitoConversao) && !is_bool($sujeitoConversao)) {
            throw new \InvalidArgumentException(sprintf('Invalid value, please provide a bool, "%s" given', gettype($sujeitoConversao)), __LINE__);
        }
        if (is_null($sujeitoConversao) || (is_array($sujeitoConversao) && empty($sujeitoConversao))) {
            unset($this->SujeitoConversao);
        } else {
            $this->SujeitoConversao = $sujeitoConversao;
        }
        return $this;
    }
    /**
     * Get SujeitoLiberacao value
     * An additional test has been added (isset) before returning the property value as
     * this property may have been unset before, due to the fact that this property is
     * removable from the request (nillable=true+minOccurs=0)
     * @return bool|null
     */
    public function getSujeitoLiberacao()
    {
        return isset($this->SujeitoLiberacao) ? $this->SujeitoLiberacao : null;
    }
    /**
     * Set SujeitoLiberacao value
     * This property is removable from request (nillable=true+minOccurs=0), therefore
     * if the value assigned to this property is null, it is removed from this object
     * @param bool $sujeitoLiberacao
     * @return \StructType\DocumentosCompraERP
     */
    public function setSujeitoLiberacao($sujeitoLiberacao = null)
    {
        // validation for constraint: boolean
        if (!is_null($sujeitoLiberacao) && !is_bool($sujeitoLiberacao)) {
            throw new \InvalidArgumentException(sprintf('Invalid value, please provide a bool, "%s" given', gettype($sujeitoLiberacao)), __LINE__);
        }
        if (is_null($sujeitoLiberacao) || (is_array($sujeitoLiberacao) && empty($sujeitoLiberacao))) {
            unset($this->SujeitoLiberacao);
        } else {
            $this->SujeitoLiberacao = $sujeitoLiberacao;
        }
        return $this;
    }
    /**
     * Get SujeitoRetencaoGarantia value
     * An additional test has been added (isset) before returning the property value as
     * this property may have been unset before, due to the fact that this property is
     * removable from the request (nillable=true+minOccurs=0)
     * @return bool|null
     */
    public function getSujeitoRetencaoGarantia()
    {
        return isset($this->SujeitoRetencaoGarantia) ? $this->SujeitoRetencaoGarantia : null;
    }
    /**
     * Set SujeitoRetencaoGarantia value
     * This property is removable from request (nillable=true+minOccurs=0), therefore
     * if the value assigned to this property is null, it is removed from this object
     * @param bool $sujeitoRetencaoGarantia
     * @return \StructType\DocumentosCompraERP
     */
    public function setSujeitoRetencaoGarantia($sujeitoRetencaoGarantia = null)
    {
        // validation for constraint: boolean
        if (!is_null($sujeitoRetencaoGarantia) && !is_bool($sujeitoRetencaoGarantia)) {
            throw new \InvalidArgumentException(sprintf('Invalid value, please provide a bool, "%s" given', gettype($sujeitoRetencaoGarantia)), __LINE__);
        }
        if (is_null($sujeitoRetencaoGarantia) || (is_array($sujeitoRetencaoGarantia) && empty($sujeitoRetencaoGarantia))) {
            unset($this->SujeitoRetencaoGarantia);
        } else {
            $this->SujeitoRetencaoGarantia = $sujeitoRetencaoGarantia;
        }
        return $this;
    }
    /**
     * Get TipoConta value
     * An additional test has been added (isset) before returning the property value as
     * this property may have been unset before, due to the fact that this property is
     * removable from the request (nillable=true+minOccurs=0)
     * @return string|null
     */
    public function getTipoConta()
    {
        return isset($this->TipoConta) ? $this->TipoConta : null;
    }
    /**
     * Set TipoConta value
     * This property is removable from request (nillable=true+minOccurs=0), therefore
     * if the value assigned to this property is null, it is removed from this object
     * @param string $tipoConta
     * @return \StructType\DocumentosCompraERP
     */
    public function setTipoConta($tipoConta = null)
    {
        // validation for constraint: string
        if (!is_null($tipoConta) && !is_string($tipoConta)) {
            throw new \InvalidArgumentException(sprintf('Invalid value, please provide a string, "%s" given', gettype($tipoConta)), __LINE__);
        }
        if (is_null($tipoConta) || (is_array($tipoConta) && empty($tipoConta))) {
            unset($this->TipoConta);
        } else {
            $this->TipoConta = $tipoConta;
        }
        return $this;
    }
    /**
     * Get TipoDocCC value
     * An additional test has been added (isset) before returning the property value as
     * this property may have been unset before, due to the fact that this property is
     * removable from the request (nillable=true+minOccurs=0)
     * @return string|null
     */
    public function getTipoDocCC()
    {
        return isset($this->TipoDocCC) ? $this->TipoDocCC : null;
    }
    /**
     * Set TipoDocCC value
     * This property is removable from request (nillable=true+minOccurs=0), therefore
     * if the value assigned to this property is null, it is removed from this object
     * @param string $tipoDocCC
     * @return \StructType\DocumentosCompraERP
     */
    public function setTipoDocCC($tipoDocCC = null)
    {
        // validation for constraint: string
        if (!is_null($tipoDocCC) && !is_string($tipoDocCC)) {
            throw new \InvalidArgumentException(sprintf('Invalid value, please provide a string, "%s" given', gettype($tipoDocCC)), __LINE__);
        }
        if (is_null($tipoDocCC) || (is_array($tipoDocCC) && empty($tipoDocCC))) {
            unset($this->TipoDocCC);
        } else {
            $this->TipoDocCC = $tipoDocCC;
        }
        return $this;
    }
    /**
     * Get TipoDocSTK value
     * An additional test has been added (isset) before returning the property value as
     * this property may have been unset before, due to the fact that this property is
     * removable from the request (nillable=true+minOccurs=0)
     * @return string|null
     */
    public function getTipoDocSTK()
    {
        return isset($this->TipoDocSTK) ? $this->TipoDocSTK : null;
    }
    /**
     * Set TipoDocSTK value
     * This property is removable from request (nillable=true+minOccurs=0), therefore
     * if the value assigned to this property is null, it is removed from this object
     * @param string $tipoDocSTK
     * @return \StructType\DocumentosCompraERP
     */
    public function setTipoDocSTK($tipoDocSTK = null)
    {
        // validation for constraint: string
        if (!is_null($tipoDocSTK) && !is_string($tipoDocSTK)) {
            throw new \InvalidArgumentException(sprintf('Invalid value, please provide a string, "%s" given', gettype($tipoDocSTK)), __LINE__);
        }
        if (is_null($tipoDocSTK) || (is_array($tipoDocSTK) && empty($tipoDocSTK))) {
            unset($this->TipoDocSTK);
        } else {
            $this->TipoDocSTK = $tipoDocSTK;
        }
        return $this;
    }
    /**
     * Get TipoDocumento value
     * An additional test has been added (isset) before returning the property value as
     * this property may have been unset before, due to the fact that this property is
     * removable from the request (nillable=true+minOccurs=0)
     * @return string|null
     */
    public function getTipoDocumento()
    {
        return isset($this->TipoDocumento) ? $this->TipoDocumento : null;
    }
    /**
     * Set TipoDocumento value
     * This property is removable from request (nillable=true+minOccurs=0), therefore
     * if the value assigned to this property is null, it is removed from this object
     * @param string $tipoDocumento
     * @return \StructType\DocumentosCompraERP
     */
    public function setTipoDocumento($tipoDocumento = null)
    {
        // validation for constraint: string
        if (!is_null($tipoDocumento) && !is_string($tipoDocumento)) {
            throw new \InvalidArgumentException(sprintf('Invalid value, please provide a string, "%s" given', gettype($tipoDocumento)), __LINE__);
        }
        if (is_null($tipoDocumento) || (is_array($tipoDocumento) && empty($tipoDocumento))) {
            unset($this->TipoDocumento);
        } else {
            $this->TipoDocumento = $tipoDocumento;
        }
        return $this;
    }
    /**
     * Get TipoIntervencaoSTP value
     * An additional test has been added (isset) before returning the property value as
     * this property may have been unset before, due to the fact that this property is
     * removable from the request (nillable=true+minOccurs=0)
     * @return string|null
     */
    public function getTipoIntervencaoSTP()
    {
        return isset($this->TipoIntervencaoSTP) ? $this->TipoIntervencaoSTP : null;
    }
    /**
     * Set TipoIntervencaoSTP value
     * This property is removable from request (nillable=true+minOccurs=0), therefore
     * if the value assigned to this property is null, it is removed from this object
     * @param string $tipoIntervencaoSTP
     * @return \StructType\DocumentosCompraERP
     */
    public function setTipoIntervencaoSTP($tipoIntervencaoSTP = null)
    {
        // validation for constraint: string
        if (!is_null($tipoIntervencaoSTP) && !is_string($tipoIntervencaoSTP)) {
            throw new \InvalidArgumentException(sprintf('Invalid value, please provide a string, "%s" given', gettype($tipoIntervencaoSTP)), __LINE__);
        }
        if (is_null($tipoIntervencaoSTP) || (is_array($tipoIntervencaoSTP) && empty($tipoIntervencaoSTP))) {
            unset($this->TipoIntervencaoSTP);
        } else {
            $this->TipoIntervencaoSTP = $tipoIntervencaoSTP;
        }
        return $this;
    }
    /**
     * Get TipoLigacaoBNC value
     * An additional test has been added (isset) before returning the property value as
     * this property may have been unset before, due to the fact that this property is
     * removable from the request (nillable=true+minOccurs=0)
     * @return bool|null
     */
    public function getTipoLigacaoBNC()
    {
        return isset($this->TipoLigacaoBNC) ? $this->TipoLigacaoBNC : null;
    }
    /**
     * Set TipoLigacaoBNC value
     * This property is removable from request (nillable=true+minOccurs=0), therefore
     * if the value assigned to this property is null, it is removed from this object
     * @param bool $tipoLigacaoBNC
     * @return \StructType\DocumentosCompraERP
     */
    public function setTipoLigacaoBNC($tipoLigacaoBNC = null)
    {
        // validation for constraint: boolean
        if (!is_null($tipoLigacaoBNC) && !is_bool($tipoLigacaoBNC)) {
            throw new \InvalidArgumentException(sprintf('Invalid value, please provide a bool, "%s" given', gettype($tipoLigacaoBNC)), __LINE__);
        }
        if (is_null($tipoLigacaoBNC) || (is_array($tipoLigacaoBNC) && empty($tipoLigacaoBNC))) {
            unset($this->TipoLigacaoBNC);
        } else {
            $this->TipoLigacaoBNC = $tipoLigacaoBNC;
        }
        return $this;
    }
    /**
     * Get TransitaEstado value
     * An additional test has been added (isset) before returning the property value as
     * this property may have been unset before, due to the fact that this property is
     * removable from the request (nillable=true+minOccurs=0)
     * @return bool|null
     */
    public function getTransitaEstado()
    {
        return isset($this->TransitaEstado) ? $this->TransitaEstado : null;
    }
    /**
     * Set TransitaEstado value
     * This property is removable from request (nillable=true+minOccurs=0), therefore
     * if the value assigned to this property is null, it is removed from this object
     * @param bool $transitaEstado
     * @return \StructType\DocumentosCompraERP
     */
    public function setTransitaEstado($transitaEstado = null)
    {
        // validation for constraint: boolean
        if (!is_null($transitaEstado) && !is_bool($transitaEstado)) {
            throw new \InvalidArgumentException(sprintf('Invalid value, please provide a bool, "%s" given', gettype($transitaEstado)), __LINE__);
        }
        if (is_null($transitaEstado) || (is_array($transitaEstado) && empty($transitaEstado))) {
            unset($this->TransitaEstado);
        } else {
            $this->TransitaEstado = $transitaEstado;
        }
        return $this;
    }
    /**
     * Get ValidaDocExt value
     * An additional test has been added (isset) before returning the property value as
     * this property may have been unset before, due to the fact that this property is
     * removable from the request (nillable=true+minOccurs=0)
     * @return int|null
     */
    public function getValidaDocExt()
    {
        return isset($this->ValidaDocExt) ? $this->ValidaDocExt : null;
    }
    /**
     * Set ValidaDocExt value
     * This property is removable from request (nillable=true+minOccurs=0), therefore
     * if the value assigned to this property is null, it is removed from this object
     * @param int $validaDocExt
     * @return \StructType\DocumentosCompraERP
     */
    public function setValidaDocExt($validaDocExt = null)
    {
        // validation for constraint: int
        if (!is_null($validaDocExt) && !is_numeric($validaDocExt)) {
            throw new \InvalidArgumentException(sprintf('Invalid value, please provide a numeric value, "%s" given', gettype($validaDocExt)), __LINE__);
        }
        if (is_null($validaDocExt) || (is_array($validaDocExt) && empty($validaDocExt))) {
            unset($this->ValidaDocExt);
        } else {
            $this->ValidaDocExt = $validaDocExt;
        }
        return $this;
    }
    /**
     * Get VerDescFornecedor value
     * An additional test has been added (isset) before returning the property value as
     * this property may have been unset before, due to the fact that this property is
     * removable from the request (nillable=true+minOccurs=0)
     * @return bool|null
     */
    public function getVerDescFornecedor()
    {
        return isset($this->VerDescFornecedor) ? $this->VerDescFornecedor : null;
    }
    /**
     * Set VerDescFornecedor value
     * This property is removable from request (nillable=true+minOccurs=0), therefore
     * if the value assigned to this property is null, it is removed from this object
     * @param bool $verDescFornecedor
     * @return \StructType\DocumentosCompraERP
     */
    public function setVerDescFornecedor($verDescFornecedor = null)
    {
        // validation for constraint: boolean
        if (!is_null($verDescFornecedor) && !is_bool($verDescFornecedor)) {
            throw new \InvalidArgumentException(sprintf('Invalid value, please provide a bool, "%s" given', gettype($verDescFornecedor)), __LINE__);
        }
        if (is_null($verDescFornecedor) || (is_array($verDescFornecedor) && empty($verDescFornecedor))) {
            unset($this->VerDescFornecedor);
        } else {
            $this->VerDescFornecedor = $verDescFornecedor;
        }
        return $this;
    }
    /**
     * Get VersaoUltAct value
     * @return string|null
     */
    public function getVersaoUltAct()
    {
        return $this->VersaoUltAct;
    }
    /**
     * Set VersaoUltAct value
     * @param string $versaoUltAct
     * @return \StructType\DocumentosCompraERP
     */
    public function setVersaoUltAct($versaoUltAct = null)
    {
        // validation for constraint: string
        if (!is_null($versaoUltAct) && !is_string($versaoUltAct)) {
            throw new \InvalidArgumentException(sprintf('Invalid value, please provide a string, "%s" given', gettype($versaoUltAct)), __LINE__);
        }
        $this->VersaoUltAct = $versaoUltAct;
        return $this;
    }
    /**
     * Get VisualizarLigacaoCBL value
     * An additional test has been added (isset) before returning the property value as
     * this property may have been unset before, due to the fact that this property is
     * removable from the request (nillable=true+minOccurs=0)
     * @return bool|null
     */
    public function getVisualizarLigacaoCBL()
    {
        return isset($this->VisualizarLigacaoCBL) ? $this->VisualizarLigacaoCBL : null;
    }
    /**
     * Set VisualizarLigacaoCBL value
     * This property is removable from request (nillable=true+minOccurs=0), therefore
     * if the value assigned to this property is null, it is removed from this object
     * @param bool $visualizarLigacaoCBL
     * @return \StructType\DocumentosCompraERP
     */
    public function setVisualizarLigacaoCBL($visualizarLigacaoCBL = null)
    {
        // validation for constraint: boolean
        if (!is_null($visualizarLigacaoCBL) && !is_bool($visualizarLigacaoCBL)) {
            throw new \InvalidArgumentException(sprintf('Invalid value, please provide a bool, "%s" given', gettype($visualizarLigacaoCBL)), __LINE__);
        }
        if (is_null($visualizarLigacaoCBL) || (is_array($visualizarLigacaoCBL) && empty($visualizarLigacaoCBL))) {
            unset($this->VisualizarLigacaoCBL);
        } else {
            $this->VisualizarLigacaoCBL = $visualizarLigacaoCBL;
        }
        return $this;
    }
    /**
     * Method called when an object has been exported with var_export() functions
     * It allows to return an object instantiated with the values
     * @see AbstractStructBase::__set_state()
     * @uses AbstractStructBase::__set_state()
     * @param array $array the exported values
     * @return \StructType\DocumentosCompraERP
     */
    public static function __set_state(array $array)
    {
        return parent::__set_state($array);
    }
    /**
     * Method returning the class name
     * @return string __CLASS__
     */
    public function __toString()
    {
        return __CLASS__;
    }
}
