<?php

namespace StructType;

use \WsdlToPhp\PackageBase\AbstractStructBase;

/**
 * This class stands for OutrosTerceirosERP StructType
 * Meta informations extracted from the WSDL
 * - nillable: true
 * - type: tns:OutrosTerceirosERP
 * @subpackage Structs
 */
class OutrosTerceirosERP extends AbstractStructBase
{
    /**
     * The ActividadeEmpresarial
     * Meta informations extracted from the WSDL
     * - minOccurs: 0
     * @var bool
     */
    public $ActividadeEmpresarial;
    /**
     * The ActualizacaoCloud
     * Meta informations extracted from the WSDL
     * - minOccurs: 0
     * - nillable: true
     * @var string
     */
    public $ActualizacaoCloud;
    /**
     * The ActualizacaoERP
     * Meta informations extracted from the WSDL
     * - minOccurs: 0
     * - nillable: true
     * @var string
     */
    public $ActualizacaoERP;
    /**
     * The Anulado
     * Meta informations extracted from the WSDL
     * - minOccurs: 0
     * - nillable: true
     * @var bool
     */
    public $Anulado;
    /**
     * The AvisosVenc
     * Meta informations extracted from the WSDL
     * - minOccurs: 0
     * - nillable: true
     * @var bool
     */
    public $AvisosVenc;
    /**
     * The B2BCertificado
     * Meta informations extracted from the WSDL
     * - minOccurs: 0
     * - nillable: true
     * @var string
     */
    public $B2BCertificado;
    /**
     * The B2BDocDownload
     * Meta informations extracted from the WSDL
     * - minOccurs: 0
     * - nillable: true
     * @var bool
     */
    public $B2BDocDownload;
    /**
     * The B2BEnderecoEnvio
     * Meta informations extracted from the WSDL
     * - minOccurs: 0
     * - nillable: true
     * @var string
     */
    public $B2BEnderecoEnvio;
    /**
     * The B2BEnderecoMail
     * Meta informations extracted from the WSDL
     * - minOccurs: 0
     * - nillable: true
     * @var string
     */
    public $B2BEnderecoMail;
    /**
     * The B2BEnvioNaGravacao
     * Meta informations extracted from the WSDL
     * - minOccurs: 0
     * - nillable: true
     * @var bool
     */
    public $B2BEnvioNaGravacao;
    /**
     * The B2BEnvioParceiro
     * Meta informations extracted from the WSDL
     * - minOccurs: 0
     * - nillable: true
     * @var string
     */
    public $B2BEnvioParceiro;
    /**
     * The B2BIgnoraEnvioParceiro
     * Meta informations extracted from the WSDL
     * - minOccurs: 0
     * - nillable: true
     * @var bool
     */
    public $B2BIgnoraEnvioParceiro;
    /**
     * The B2BIgnoraTransaccoes
     * Meta informations extracted from the WSDL
     * - minOccurs: 0
     * - nillable: true
     * @var bool
     */
    public $B2BIgnoraTransaccoes;
    /**
     * The B2BTransaccoes
     * Meta informations extracted from the WSDL
     * - minOccurs: 0
     * - nillable: true
     * @var string
     */
    public $B2BTransaccoes;
    /**
     * The B2BTrataTrans
     * Meta informations extracted from the WSDL
     * - minOccurs: 0
     * - nillable: true
     * @var bool
     */
    public $B2BTrataTrans;
    /**
     * The B2BUtilArtigosParceiro
     * Meta informations extracted from the WSDL
     * - minOccurs: 0
     * - nillable: true
     * @var bool
     */
    public $B2BUtilArtigosParceiro;
    /**
     * The CDU_ExtensaoFoto
     * Meta informations extracted from the WSDL
     * - minOccurs: 0
     * - nillable: true
     * @var string
     */
    public $CDU_ExtensaoFoto;
    /**
     * The CDU_Foto
     * Meta informations extracted from the WSDL
     * - minOccurs: 0
     * - nillable: true
     * @var string
     */
    public $CDU_Foto;
    /**
     * The CDU_NomeFoto
     * Meta informations extracted from the WSDL
     * - minOccurs: 0
     * - nillable: true
     * @var string
     */
    public $CDU_NomeFoto;
    /**
     * The CambioADataDoc
     * Meta informations extracted from the WSDL
     * - minOccurs: 0
     * @var bool
     */
    public $CambioADataDoc;
    /**
     * The CodigoGLN
     * Meta informations extracted from the WSDL
     * - minOccurs: 0
     * - nillable: true
     * @var string
     */
    public $CodigoGLN;
    /**
     * The CodigoLocal
     * Meta informations extracted from the WSDL
     * - minOccurs: 0
     * - nillable: true
     * @var string
     */
    public $CodigoLocal;
    /**
     * The ComissaoLetras
     * Meta informations extracted from the WSDL
     * - minOccurs: 0
     * - nillable: true
     * @var float
     */
    public $ComissaoLetras;
    /**
     * The ComissaoLetrasPercent
     * Meta informations extracted from the WSDL
     * - minOccurs: 0
     * - nillable: true
     * @var bool
     */
    public $ComissaoLetrasPercent;
    /**
     * The ComprasVendasNaoConvertidas
     * Meta informations extracted from the WSDL
     * - minOccurs: 0
     * @var float
     */
    public $ComprasVendasNaoConvertidas;
    /**
     * The CondDebitoLetrasParticular
     * Meta informations extracted from the WSDL
     * - minOccurs: 0
     * - nillable: true
     * @var bool
     */
    public $CondDebitoLetrasParticular;
    /**
     * The CondPag
     * Meta informations extracted from the WSDL
     * - minOccurs: 0
     * - nillable: true
     * @var string
     */
    public $CondPag;
    /**
     * The ContribuinteNaoResidente
     * Meta informations extracted from the WSDL
     * - minOccurs: 0
     * - nillable: true
     * @var string
     */
    public $ContribuinteNaoResidente;
    /**
     * The Cp
     * Meta informations extracted from the WSDL
     * - minOccurs: 0
     * - nillable: true
     * @var string
     */
    public $Cp;
    /**
     * The CpLoc
     * Meta informations extracted from the WSDL
     * - minOccurs: 0
     * - nillable: true
     * @var string
     */
    public $CpLoc;
    /**
     * The DataCriacao
     * Meta informations extracted from the WSDL
     * - minOccurs: 0
     * - nillable: true
     * @var string
     */
    public $DataCriacao;
    /**
     * The DataUltimaActualizacao
     * Meta informations extracted from the WSDL
     * - minOccurs: 0
     * - nillable: true
     * @var string
     */
    public $DataUltimaActualizacao;
    /**
     * The DebitoLetrasNovas
     * Meta informations extracted from the WSDL
     * - minOccurs: 0
     * - nillable: true
     * @var bool
     */
    public $DebitoLetrasNovas;
    /**
     * The DebitoLetrasReformadas
     * Meta informations extracted from the WSDL
     * - minOccurs: 0
     * - nillable: true
     * @var bool
     */
    public $DebitoLetrasReformadas;
    /**
     * The Descricao
     * Meta informations extracted from the WSDL
     * - minOccurs: 0
     * - nillable: true
     * @var string
     */
    public $Descricao;
    /**
     * The DevCred
     * Meta informations extracted from the WSDL
     * - minOccurs: 0
     * - nillable: true
     * @var string
     */
    public $DevCred;
    /**
     * The DiaFinPerNaoPag1
     * Meta informations extracted from the WSDL
     * - minOccurs: 0
     * - nillable: true
     * @var string
     */
    public $DiaFinPerNaoPag1;
    /**
     * The DiaFinPerNaoPag2
     * Meta informations extracted from the WSDL
     * - minOccurs: 0
     * - nillable: true
     * @var string
     */
    public $DiaFinPerNaoPag2;
    /**
     * The DiaInicPerNaoPag1
     * Meta informations extracted from the WSDL
     * - minOccurs: 0
     * - nillable: true
     * @var string
     */
    public $DiaInicPerNaoPag1;
    /**
     * The DiaInicPerNaoPag2
     * Meta informations extracted from the WSDL
     * - minOccurs: 0
     * - nillable: true
     * @var string
     */
    public $DiaInicPerNaoPag2;
    /**
     * The DiaPagamento1
     * Meta informations extracted from the WSDL
     * - minOccurs: 0
     * - nillable: true
     * @var string
     */
    public $DiaPagamento1;
    /**
     * The DiaPagamento2
     * Meta informations extracted from the WSDL
     * - minOccurs: 0
     * - nillable: true
     * @var string
     */
    public $DiaPagamento2;
    /**
     * The DiaPagamento3
     * Meta informations extracted from the WSDL
     * - minOccurs: 0
     * - nillable: true
     * @var string
     */
    public $DiaPagamento3;
    /**
     * The Distrito
     * Meta informations extracted from the WSDL
     * - minOccurs: 0
     * - nillable: true
     * @var string
     */
    public $Distrito;
    /**
     * The EfectuaOutrasRetencoes
     * Meta informations extracted from the WSDL
     * - minOccurs: 0
     * - nillable: true
     * @var bool
     */
    public $EfectuaOutrasRetencoes;
    /**
     * The EfectuaRetencao
     * Meta informations extracted from the WSDL
     * - minOccurs: 0
     * - nillable: true
     * @var bool
     */
    public $EfectuaRetencao;
    /**
     * The EncomendasPendentes
     * Meta informations extracted from the WSDL
     * - minOccurs: 0
     * @var float
     */
    public $EncomendasPendentes;
    /**
     * The EnderecoWeb
     * Meta informations extracted from the WSDL
     * - minOccurs: 0
     * - nillable: true
     * @var string
     */
    public $EnderecoWeb;
    /**
     * The EntidadeFinanceira
     * Meta informations extracted from the WSDL
     * - minOccurs: 0
     * - nillable: true
     * @var bool
     */
    public $EntidadeFinanceira;
    /**
     * The ExcluirRecap
     * Meta informations extracted from the WSDL
     * - minOccurs: 0
     * - nillable: true
     * @var bool
     */
    public $ExcluirRecap;
    /**
     * The Factoring
     * Meta informations extracted from the WSDL
     * - minOccurs: 0
     * @var bool
     */
    public $Factoring;
    /**
     * The Fax
     * Meta informations extracted from the WSDL
     * - minOccurs: 0
     * - nillable: true
     * @var string
     */
    public $Fax;
    /**
     * The GestaoDiasPag
     * Meta informations extracted from the WSDL
     * - minOccurs: 0
     * - nillable: true
     * @var bool
     */
    public $GestaoDiasPag;
    /**
     * The IDB2BFormato
     * Meta informations extracted from the WSDL
     * - minOccurs: 0
     * - nillable: true
     * @var string
     */
    public $IDB2BFormato;
    /**
     * The IdGDOC
     * Meta informations extracted from the WSDL
     * - minOccurs: 0
     * - nillable: true | true
     * - pattern: [\da-fA-F]{8}-[\da-fA-F]{4}-[\da-fA-F]{4}-[\da-fA-F]{4}-[\da-fA-F]{12}
     * - type: tns:guid
     * @var string
     */
    public $IdGDOC;
    /**
     * The IntegraCessaoFactoring
     * Meta informations extracted from the WSDL
     * - minOccurs: 0
     * - nillable: true
     * @var bool
     */
    public $IntegraCessaoFactoring;
    /**
     * The JuroLetras
     * Meta informations extracted from the WSDL
     * - minOccurs: 0
     * - nillable: true
     * @var float
     */
    public $JuroLetras;
    /**
     * The JuroLetrasPostecipado
     * Meta informations extracted from the WSDL
     * - minOccurs: 0
     * - nillable: true
     * @var bool
     */
    public $JuroLetrasPostecipado;
    /**
     * The LimiteCred
     * Meta informations extracted from the WSDL
     * - minOccurs: 0
     * - nillable: true
     * @var float
     */
    public $LimiteCred;
    /**
     * The LimiteCredIdade
     * Meta informations extracted from the WSDL
     * - minOccurs: 0
     * - nillable: true
     * @var bool
     */
    public $LimiteCredIdade;
    /**
     * The LimiteCredValor
     * Meta informations extracted from the WSDL
     * - minOccurs: 0
     * - nillable: true
     * @var bool
     */
    public $LimiteCredValor;
    /**
     * The LimiteIdadeSaldo
     * Meta informations extracted from the WSDL
     * - minOccurs: 0
     * - nillable: true
     * @var int
     */
    public $LimiteIdadeSaldo;
    /**
     * The LimiteValorSaldo
     * Meta informations extracted from the WSDL
     * - minOccurs: 0
     * - nillable: true
     * @var float
     */
    public $LimiteValorSaldo;
    /**
     * The Local
     * Meta informations extracted from the WSDL
     * - minOccurs: 0
     * - nillable: true
     * @var string
     */
    public $Local;
    /**
     * The LocalOperacao
     * Meta informations extracted from the WSDL
     * - minOccurs: 0
     * - nillable: true
     * @var string
     */
    public $LocalOperacao;
    /**
     * The ModoPag
     * Meta informations extracted from the WSDL
     * - minOccurs: 0
     * - nillable: true
     * @var string
     */
    public $ModoPag;
    /**
     * The ModoRec
     * Meta informations extracted from the WSDL
     * - minOccurs: 0
     * - nillable: true
     * @var string
     */
    public $ModoRec;
    /**
     * The Moeda
     * Meta informations extracted from the WSDL
     * - minOccurs: 0
     * - nillable: true
     * @var string
     */
    public $Moeda;
    /**
     * The Morada
     * Meta informations extracted from the WSDL
     * - minOccurs: 0
     * - nillable: true
     * @var string
     */
    public $Morada;
    /**
     * The Morada1
     * Meta informations extracted from the WSDL
     * - minOccurs: 0
     * - nillable: true
     * @var string
     */
    public $Morada1;
    /**
     * The Morada2
     * Meta informations extracted from the WSDL
     * - minOccurs: 0
     * - nillable: true
     * @var string
     */
    public $Morada2;
    /**
     * The Nome
     * Meta informations extracted from the WSDL
     * - minOccurs: 0
     * - nillable: true
     * @var string
     */
    public $Nome;
    /**
     * The NomeFiscal
     * Meta informations extracted from the WSDL
     * - minOccurs: 0
     * - nillable: true
     * @var string
     */
    public $NomeFiscal;
    /**
     * The Notas
     * Meta informations extracted from the WSDL
     * - minOccurs: 0
     * - nillable: true
     * @var string
     */
    public $Notas;
    /**
     * The NumContrib
     * Meta informations extracted from the WSDL
     * - minOccurs: 0
     * - nillable: true
     * @var string
     */
    public $NumContrib;
    /**
     * The NumDiasRetrocesso
     * Meta informations extracted from the WSDL
     * - minOccurs: 0
     * - nillable: true
     * @var string
     */
    public $NumDiasRetrocesso;
    /**
     * The NumViasDoc
     * Meta informations extracted from the WSDL
     * - minOccurs: 0
     * - nillable: true
     * @var int
     */
    public $NumViasDoc;
    /**
     * The Pais
     * Meta informations extracted from the WSDL
     * - minOccurs: 0
     * - nillable: true
     * @var string
     */
    public $Pais;
    /**
     * The PessoaSingular
     * Meta informations extracted from the WSDL
     * - minOccurs: 0
     * @var bool
     */
    public $PessoaSingular;
    /**
     * The PortesLetras
     * Meta informations extracted from the WSDL
     * - minOccurs: 0
     * - nillable: true
     * @var float
     */
    public $PortesLetras;
    /**
     * The Protegida
     * Meta informations extracted from the WSDL
     * - minOccurs: 0
     * @var bool
     */
    public $Protegida;
    /**
     * The RegimeIvaReembolsos
     * Meta informations extracted from the WSDL
     * - minOccurs: 0
     * @var int
     */
    public $RegimeIvaReembolsos;
    /**
     * The RubricaPagamentos
     * Meta informations extracted from the WSDL
     * - minOccurs: 0
     * - nillable: true
     * @var string
     */
    public $RubricaPagamentos;
    /**
     * The RubricaRecebimentos
     * Meta informations extracted from the WSDL
     * - minOccurs: 0
     * - nillable: true
     * @var string
     */
    public $RubricaRecebimentos;
    /**
     * The SegmentoTerceiro
     * Meta informations extracted from the WSDL
     * - minOccurs: 0
     * - nillable: true
     * @var string
     */
    public $SegmentoTerceiro;
    /**
     * The SujeitoRecargo
     * Meta informations extracted from the WSDL
     * - minOccurs: 0
     * - nillable: true
     * @var bool
     */
    public $SujeitoRecargo;
    /**
     * The Tel
     * Meta informations extracted from the WSDL
     * - minOccurs: 0
     * - nillable: true
     * @var string
     */
    public $Tel;
    /**
     * The Terceiro
     * Meta informations extracted from the WSDL
     * - minOccurs: 0
     * - nillable: true
     * @var string
     */
    public $Terceiro;
    /**
     * The TextoExcepcaoRetencao
     * Meta informations extracted from the WSDL
     * - minOccurs: 0
     * - nillable: true
     * @var string
     */
    public $TextoExcepcaoRetencao;
    /**
     * The TipoEntidade
     * Meta informations extracted from the WSDL
     * - minOccurs: 0
     * - nillable: true
     * @var string
     */
    public $TipoEntidade;
    /**
     * The TipoRemetente
     * Meta informations extracted from the WSDL
     * - minOccurs: 0
     * - nillable: true
     * @var string
     */
    public $TipoRemetente;
    /**
     * The TipoRendimento
     * Meta informations extracted from the WSDL
     * - minOccurs: 0
     * - nillable: true
     * @var string
     */
    public $TipoRendimento;
    /**
     * The TipoTerc
     * Meta informations extracted from the WSDL
     * - minOccurs: 0
     * - nillable: true
     * @var string
     */
    public $TipoTerc;
    /**
     * The TipoTerceiro
     * Meta informations extracted from the WSDL
     * - minOccurs: 0
     * - nillable: true
     * @var string
     */
    public $TipoTerceiro;
    /**
     * The TotalDeb
     * Meta informations extracted from the WSDL
     * - minOccurs: 0
     * - nillable: true
     * @var float
     */
    public $TotalDeb;
    /**
     * The TrataIvaCaixa
     * Meta informations extracted from the WSDL
     * - minOccurs: 0
     * @var bool
     */
    public $TrataIvaCaixa;
    /**
     * The ValorRetencao
     * Meta informations extracted from the WSDL
     * - minOccurs: 0
     * - nillable: true
     * @var float
     */
    public $ValorRetencao;
    /**
     * The Vendedor
     * Meta informations extracted from the WSDL
     * - minOccurs: 0
     * - nillable: true
     * @var string
     */
    public $Vendedor;
    /**
     * The VersaoCloud
     * Meta informations extracted from the WSDL
     * - minOccurs: 0
     * - nillable: true
     * @var int
     */
    public $VersaoCloud;
    /**
     * The VersaoUltAct
     * Meta informations extracted from the WSDL
     * - minOccurs: 0
     * @var string
     */
    public $VersaoUltAct;
    /**
     * The eGAR_CodigoAPA
     * Meta informations extracted from the WSDL
     * - minOccurs: 0
     * - nillable: true
     * @var string
     */
    public $eGAR_CodigoAPA;
    /**
     * The eGAR_Isenta
     * Meta informations extracted from the WSDL
     * - minOccurs: 0
     * @var bool
     */
    public $eGAR_Isenta;
    /**
     * The eGAR_NumPGL
     * Meta informations extracted from the WSDL
     * - minOccurs: 0
     * - nillable: true
     * @var string
     */
    public $eGAR_NumPGL;
    /**
     * The eGAR_TipoProdutor
     * Meta informations extracted from the WSDL
     * - minOccurs: 0
     * - nillable: true
     * @var string
     */
    public $eGAR_TipoProdutor;
    /**
     * Constructor method for OutrosTerceirosERP
     * @uses OutrosTerceirosERP::setActividadeEmpresarial()
     * @uses OutrosTerceirosERP::setActualizacaoCloud()
     * @uses OutrosTerceirosERP::setActualizacaoERP()
     * @uses OutrosTerceirosERP::setAnulado()
     * @uses OutrosTerceirosERP::setAvisosVenc()
     * @uses OutrosTerceirosERP::setB2BCertificado()
     * @uses OutrosTerceirosERP::setB2BDocDownload()
     * @uses OutrosTerceirosERP::setB2BEnderecoEnvio()
     * @uses OutrosTerceirosERP::setB2BEnderecoMail()
     * @uses OutrosTerceirosERP::setB2BEnvioNaGravacao()
     * @uses OutrosTerceirosERP::setB2BEnvioParceiro()
     * @uses OutrosTerceirosERP::setB2BIgnoraEnvioParceiro()
     * @uses OutrosTerceirosERP::setB2BIgnoraTransaccoes()
     * @uses OutrosTerceirosERP::setB2BTransaccoes()
     * @uses OutrosTerceirosERP::setB2BTrataTrans()
     * @uses OutrosTerceirosERP::setB2BUtilArtigosParceiro()
     * @uses OutrosTerceirosERP::setCDU_ExtensaoFoto()
     * @uses OutrosTerceirosERP::setCDU_Foto()
     * @uses OutrosTerceirosERP::setCDU_NomeFoto()
     * @uses OutrosTerceirosERP::setCambioADataDoc()
     * @uses OutrosTerceirosERP::setCodigoGLN()
     * @uses OutrosTerceirosERP::setCodigoLocal()
     * @uses OutrosTerceirosERP::setComissaoLetras()
     * @uses OutrosTerceirosERP::setComissaoLetrasPercent()
     * @uses OutrosTerceirosERP::setComprasVendasNaoConvertidas()
     * @uses OutrosTerceirosERP::setCondDebitoLetrasParticular()
     * @uses OutrosTerceirosERP::setCondPag()
     * @uses OutrosTerceirosERP::setContribuinteNaoResidente()
     * @uses OutrosTerceirosERP::setCp()
     * @uses OutrosTerceirosERP::setCpLoc()
     * @uses OutrosTerceirosERP::setDataCriacao()
     * @uses OutrosTerceirosERP::setDataUltimaActualizacao()
     * @uses OutrosTerceirosERP::setDebitoLetrasNovas()
     * @uses OutrosTerceirosERP::setDebitoLetrasReformadas()
     * @uses OutrosTerceirosERP::setDescricao()
     * @uses OutrosTerceirosERP::setDevCred()
     * @uses OutrosTerceirosERP::setDiaFinPerNaoPag1()
     * @uses OutrosTerceirosERP::setDiaFinPerNaoPag2()
     * @uses OutrosTerceirosERP::setDiaInicPerNaoPag1()
     * @uses OutrosTerceirosERP::setDiaInicPerNaoPag2()
     * @uses OutrosTerceirosERP::setDiaPagamento1()
     * @uses OutrosTerceirosERP::setDiaPagamento2()
     * @uses OutrosTerceirosERP::setDiaPagamento3()
     * @uses OutrosTerceirosERP::setDistrito()
     * @uses OutrosTerceirosERP::setEfectuaOutrasRetencoes()
     * @uses OutrosTerceirosERP::setEfectuaRetencao()
     * @uses OutrosTerceirosERP::setEncomendasPendentes()
     * @uses OutrosTerceirosERP::setEnderecoWeb()
     * @uses OutrosTerceirosERP::setEntidadeFinanceira()
     * @uses OutrosTerceirosERP::setExcluirRecap()
     * @uses OutrosTerceirosERP::setFactoring()
     * @uses OutrosTerceirosERP::setFax()
     * @uses OutrosTerceirosERP::setGestaoDiasPag()
     * @uses OutrosTerceirosERP::setIDB2BFormato()
     * @uses OutrosTerceirosERP::setIdGDOC()
     * @uses OutrosTerceirosERP::setIntegraCessaoFactoring()
     * @uses OutrosTerceirosERP::setJuroLetras()
     * @uses OutrosTerceirosERP::setJuroLetrasPostecipado()
     * @uses OutrosTerceirosERP::setLimiteCred()
     * @uses OutrosTerceirosERP::setLimiteCredIdade()
     * @uses OutrosTerceirosERP::setLimiteCredValor()
     * @uses OutrosTerceirosERP::setLimiteIdadeSaldo()
     * @uses OutrosTerceirosERP::setLimiteValorSaldo()
     * @uses OutrosTerceirosERP::setLocal()
     * @uses OutrosTerceirosERP::setLocalOperacao()
     * @uses OutrosTerceirosERP::setModoPag()
     * @uses OutrosTerceirosERP::setModoRec()
     * @uses OutrosTerceirosERP::setMoeda()
     * @uses OutrosTerceirosERP::setMorada()
     * @uses OutrosTerceirosERP::setMorada1()
     * @uses OutrosTerceirosERP::setMorada2()
     * @uses OutrosTerceirosERP::setNome()
     * @uses OutrosTerceirosERP::setNomeFiscal()
     * @uses OutrosTerceirosERP::setNotas()
     * @uses OutrosTerceirosERP::setNumContrib()
     * @uses OutrosTerceirosERP::setNumDiasRetrocesso()
     * @uses OutrosTerceirosERP::setNumViasDoc()
     * @uses OutrosTerceirosERP::setPais()
     * @uses OutrosTerceirosERP::setPessoaSingular()
     * @uses OutrosTerceirosERP::setPortesLetras()
     * @uses OutrosTerceirosERP::setProtegida()
     * @uses OutrosTerceirosERP::setRegimeIvaReembolsos()
     * @uses OutrosTerceirosERP::setRubricaPagamentos()
     * @uses OutrosTerceirosERP::setRubricaRecebimentos()
     * @uses OutrosTerceirosERP::setSegmentoTerceiro()
     * @uses OutrosTerceirosERP::setSujeitoRecargo()
     * @uses OutrosTerceirosERP::setTel()
     * @uses OutrosTerceirosERP::setTerceiro()
     * @uses OutrosTerceirosERP::setTextoExcepcaoRetencao()
     * @uses OutrosTerceirosERP::setTipoEntidade()
     * @uses OutrosTerceirosERP::setTipoRemetente()
     * @uses OutrosTerceirosERP::setTipoRendimento()
     * @uses OutrosTerceirosERP::setTipoTerc()
     * @uses OutrosTerceirosERP::setTipoTerceiro()
     * @uses OutrosTerceirosERP::setTotalDeb()
     * @uses OutrosTerceirosERP::setTrataIvaCaixa()
     * @uses OutrosTerceirosERP::setValorRetencao()
     * @uses OutrosTerceirosERP::setVendedor()
     * @uses OutrosTerceirosERP::setVersaoCloud()
     * @uses OutrosTerceirosERP::setVersaoUltAct()
     * @uses OutrosTerceirosERP::setEGAR_CodigoAPA()
     * @uses OutrosTerceirosERP::setEGAR_Isenta()
     * @uses OutrosTerceirosERP::setEGAR_NumPGL()
     * @uses OutrosTerceirosERP::setEGAR_TipoProdutor()
     * @param bool $actividadeEmpresarial
     * @param string $actualizacaoCloud
     * @param string $actualizacaoERP
     * @param bool $anulado
     * @param bool $avisosVenc
     * @param string $b2BCertificado
     * @param bool $b2BDocDownload
     * @param string $b2BEnderecoEnvio
     * @param string $b2BEnderecoMail
     * @param bool $b2BEnvioNaGravacao
     * @param string $b2BEnvioParceiro
     * @param bool $b2BIgnoraEnvioParceiro
     * @param bool $b2BIgnoraTransaccoes
     * @param string $b2BTransaccoes
     * @param bool $b2BTrataTrans
     * @param bool $b2BUtilArtigosParceiro
     * @param string $cDU_ExtensaoFoto
     * @param string $cDU_Foto
     * @param string $cDU_NomeFoto
     * @param bool $cambioADataDoc
     * @param string $codigoGLN
     * @param string $codigoLocal
     * @param float $comissaoLetras
     * @param bool $comissaoLetrasPercent
     * @param float $comprasVendasNaoConvertidas
     * @param bool $condDebitoLetrasParticular
     * @param string $condPag
     * @param string $contribuinteNaoResidente
     * @param string $cp
     * @param string $cpLoc
     * @param string $dataCriacao
     * @param string $dataUltimaActualizacao
     * @param bool $debitoLetrasNovas
     * @param bool $debitoLetrasReformadas
     * @param string $descricao
     * @param string $devCred
     * @param string $diaFinPerNaoPag1
     * @param string $diaFinPerNaoPag2
     * @param string $diaInicPerNaoPag1
     * @param string $diaInicPerNaoPag2
     * @param string $diaPagamento1
     * @param string $diaPagamento2
     * @param string $diaPagamento3
     * @param string $distrito
     * @param bool $efectuaOutrasRetencoes
     * @param bool $efectuaRetencao
     * @param float $encomendasPendentes
     * @param string $enderecoWeb
     * @param bool $entidadeFinanceira
     * @param bool $excluirRecap
     * @param bool $factoring
     * @param string $fax
     * @param bool $gestaoDiasPag
     * @param string $iDB2BFormato
     * @param string $idGDOC
     * @param bool $integraCessaoFactoring
     * @param float $juroLetras
     * @param bool $juroLetrasPostecipado
     * @param float $limiteCred
     * @param bool $limiteCredIdade
     * @param bool $limiteCredValor
     * @param int $limiteIdadeSaldo
     * @param float $limiteValorSaldo
     * @param string $local
     * @param string $localOperacao
     * @param string $modoPag
     * @param string $modoRec
     * @param string $moeda
     * @param string $morada
     * @param string $morada1
     * @param string $morada2
     * @param string $nome
     * @param string $nomeFiscal
     * @param string $notas
     * @param string $numContrib
     * @param string $numDiasRetrocesso
     * @param int $numViasDoc
     * @param string $pais
     * @param bool $pessoaSingular
     * @param float $portesLetras
     * @param bool $protegida
     * @param int $regimeIvaReembolsos
     * @param string $rubricaPagamentos
     * @param string $rubricaRecebimentos
     * @param string $segmentoTerceiro
     * @param bool $sujeitoRecargo
     * @param string $tel
     * @param string $terceiro
     * @param string $textoExcepcaoRetencao
     * @param string $tipoEntidade
     * @param string $tipoRemetente
     * @param string $tipoRendimento
     * @param string $tipoTerc
     * @param string $tipoTerceiro
     * @param float $totalDeb
     * @param bool $trataIvaCaixa
     * @param float $valorRetencao
     * @param string $vendedor
     * @param int $versaoCloud
     * @param string $versaoUltAct
     * @param string $eGAR_CodigoAPA
     * @param bool $eGAR_Isenta
     * @param string $eGAR_NumPGL
     * @param string $eGAR_TipoProdutor
     */
    public function __construct($actividadeEmpresarial = null, $actualizacaoCloud = null, $actualizacaoERP = null, $anulado = null, $avisosVenc = null, $b2BCertificado = null, $b2BDocDownload = null, $b2BEnderecoEnvio = null, $b2BEnderecoMail = null, $b2BEnvioNaGravacao = null, $b2BEnvioParceiro = null, $b2BIgnoraEnvioParceiro = null, $b2BIgnoraTransaccoes = null, $b2BTransaccoes = null, $b2BTrataTrans = null, $b2BUtilArtigosParceiro = null, $cDU_ExtensaoFoto = null, $cDU_Foto = null, $cDU_NomeFoto = null, $cambioADataDoc = null, $codigoGLN = null, $codigoLocal = null, $comissaoLetras = null, $comissaoLetrasPercent = null, $comprasVendasNaoConvertidas = null, $condDebitoLetrasParticular = null, $condPag = null, $contribuinteNaoResidente = null, $cp = null, $cpLoc = null, $dataCriacao = null, $dataUltimaActualizacao = null, $debitoLetrasNovas = null, $debitoLetrasReformadas = null, $descricao = null, $devCred = null, $diaFinPerNaoPag1 = null, $diaFinPerNaoPag2 = null, $diaInicPerNaoPag1 = null, $diaInicPerNaoPag2 = null, $diaPagamento1 = null, $diaPagamento2 = null, $diaPagamento3 = null, $distrito = null, $efectuaOutrasRetencoes = null, $efectuaRetencao = null, $encomendasPendentes = null, $enderecoWeb = null, $entidadeFinanceira = null, $excluirRecap = null, $factoring = null, $fax = null, $gestaoDiasPag = null, $iDB2BFormato = null, $idGDOC = null, $integraCessaoFactoring = null, $juroLetras = null, $juroLetrasPostecipado = null, $limiteCred = null, $limiteCredIdade = null, $limiteCredValor = null, $limiteIdadeSaldo = null, $limiteValorSaldo = null, $local = null, $localOperacao = null, $modoPag = null, $modoRec = null, $moeda = null, $morada = null, $morada1 = null, $morada2 = null, $nome = null, $nomeFiscal = null, $notas = null, $numContrib = null, $numDiasRetrocesso = null, $numViasDoc = null, $pais = null, $pessoaSingular = null, $portesLetras = null, $protegida = null, $regimeIvaReembolsos = null, $rubricaPagamentos = null, $rubricaRecebimentos = null, $segmentoTerceiro = null, $sujeitoRecargo = null, $tel = null, $terceiro = null, $textoExcepcaoRetencao = null, $tipoEntidade = null, $tipoRemetente = null, $tipoRendimento = null, $tipoTerc = null, $tipoTerceiro = null, $totalDeb = null, $trataIvaCaixa = null, $valorRetencao = null, $vendedor = null, $versaoCloud = null, $versaoUltAct = null, $eGAR_CodigoAPA = null, $eGAR_Isenta = null, $eGAR_NumPGL = null, $eGAR_TipoProdutor = null)
    {
        $this
            ->setActividadeEmpresarial($actividadeEmpresarial)
            ->setActualizacaoCloud($actualizacaoCloud)
            ->setActualizacaoERP($actualizacaoERP)
            ->setAnulado($anulado)
            ->setAvisosVenc($avisosVenc)
            ->setB2BCertificado($b2BCertificado)
            ->setB2BDocDownload($b2BDocDownload)
            ->setB2BEnderecoEnvio($b2BEnderecoEnvio)
            ->setB2BEnderecoMail($b2BEnderecoMail)
            ->setB2BEnvioNaGravacao($b2BEnvioNaGravacao)
            ->setB2BEnvioParceiro($b2BEnvioParceiro)
            ->setB2BIgnoraEnvioParceiro($b2BIgnoraEnvioParceiro)
            ->setB2BIgnoraTransaccoes($b2BIgnoraTransaccoes)
            ->setB2BTransaccoes($b2BTransaccoes)
            ->setB2BTrataTrans($b2BTrataTrans)
            ->setB2BUtilArtigosParceiro($b2BUtilArtigosParceiro)
            ->setCDU_ExtensaoFoto($cDU_ExtensaoFoto)
            ->setCDU_Foto($cDU_Foto)
            ->setCDU_NomeFoto($cDU_NomeFoto)
            ->setCambioADataDoc($cambioADataDoc)
            ->setCodigoGLN($codigoGLN)
            ->setCodigoLocal($codigoLocal)
            ->setComissaoLetras($comissaoLetras)
            ->setComissaoLetrasPercent($comissaoLetrasPercent)
            ->setComprasVendasNaoConvertidas($comprasVendasNaoConvertidas)
            ->setCondDebitoLetrasParticular($condDebitoLetrasParticular)
            ->setCondPag($condPag)
            ->setContribuinteNaoResidente($contribuinteNaoResidente)
            ->setCp($cp)
            ->setCpLoc($cpLoc)
            ->setDataCriacao($dataCriacao)
            ->setDataUltimaActualizacao($dataUltimaActualizacao)
            ->setDebitoLetrasNovas($debitoLetrasNovas)
            ->setDebitoLetrasReformadas($debitoLetrasReformadas)
            ->setDescricao($descricao)
            ->setDevCred($devCred)
            ->setDiaFinPerNaoPag1($diaFinPerNaoPag1)
            ->setDiaFinPerNaoPag2($diaFinPerNaoPag2)
            ->setDiaInicPerNaoPag1($diaInicPerNaoPag1)
            ->setDiaInicPerNaoPag2($diaInicPerNaoPag2)
            ->setDiaPagamento1($diaPagamento1)
            ->setDiaPagamento2($diaPagamento2)
            ->setDiaPagamento3($diaPagamento3)
            ->setDistrito($distrito)
            ->setEfectuaOutrasRetencoes($efectuaOutrasRetencoes)
            ->setEfectuaRetencao($efectuaRetencao)
            ->setEncomendasPendentes($encomendasPendentes)
            ->setEnderecoWeb($enderecoWeb)
            ->setEntidadeFinanceira($entidadeFinanceira)
            ->setExcluirRecap($excluirRecap)
            ->setFactoring($factoring)
            ->setFax($fax)
            ->setGestaoDiasPag($gestaoDiasPag)
            ->setIDB2BFormato($iDB2BFormato)
            ->setIdGDOC($idGDOC)
            ->setIntegraCessaoFactoring($integraCessaoFactoring)
            ->setJuroLetras($juroLetras)
            ->setJuroLetrasPostecipado($juroLetrasPostecipado)
            ->setLimiteCred($limiteCred)
            ->setLimiteCredIdade($limiteCredIdade)
            ->setLimiteCredValor($limiteCredValor)
            ->setLimiteIdadeSaldo($limiteIdadeSaldo)
            ->setLimiteValorSaldo($limiteValorSaldo)
            ->setLocal($local)
            ->setLocalOperacao($localOperacao)
            ->setModoPag($modoPag)
            ->setModoRec($modoRec)
            ->setMoeda($moeda)
            ->setMorada($morada)
            ->setMorada1($morada1)
            ->setMorada2($morada2)
            ->setNome($nome)
            ->setNomeFiscal($nomeFiscal)
            ->setNotas($notas)
            ->setNumContrib($numContrib)
            ->setNumDiasRetrocesso($numDiasRetrocesso)
            ->setNumViasDoc($numViasDoc)
            ->setPais($pais)
            ->setPessoaSingular($pessoaSingular)
            ->setPortesLetras($portesLetras)
            ->setProtegida($protegida)
            ->setRegimeIvaReembolsos($regimeIvaReembolsos)
            ->setRubricaPagamentos($rubricaPagamentos)
            ->setRubricaRecebimentos($rubricaRecebimentos)
            ->setSegmentoTerceiro($segmentoTerceiro)
            ->setSujeitoRecargo($sujeitoRecargo)
            ->setTel($tel)
            ->setTerceiro($terceiro)
            ->setTextoExcepcaoRetencao($textoExcepcaoRetencao)
            ->setTipoEntidade($tipoEntidade)
            ->setTipoRemetente($tipoRemetente)
            ->setTipoRendimento($tipoRendimento)
            ->setTipoTerc($tipoTerc)
            ->setTipoTerceiro($tipoTerceiro)
            ->setTotalDeb($totalDeb)
            ->setTrataIvaCaixa($trataIvaCaixa)
            ->setValorRetencao($valorRetencao)
            ->setVendedor($vendedor)
            ->setVersaoCloud($versaoCloud)
            ->setVersaoUltAct($versaoUltAct)
            ->setEGAR_CodigoAPA($eGAR_CodigoAPA)
            ->setEGAR_Isenta($eGAR_Isenta)
            ->setEGAR_NumPGL($eGAR_NumPGL)
            ->setEGAR_TipoProdutor($eGAR_TipoProdutor);
    }
    /**
     * Get ActividadeEmpresarial value
     * @return bool|null
     */
    public function getActividadeEmpresarial()
    {
        return $this->ActividadeEmpresarial;
    }
    /**
     * Set ActividadeEmpresarial value
     * @param bool $actividadeEmpresarial
     * @return \StructType\OutrosTerceirosERP
     */
    public function setActividadeEmpresarial($actividadeEmpresarial = null)
    {
        // validation for constraint: boolean
        if (!is_null($actividadeEmpresarial) && !is_bool($actividadeEmpresarial)) {
            throw new \InvalidArgumentException(sprintf('Invalid value, please provide a bool, "%s" given', gettype($actividadeEmpresarial)), __LINE__);
        }
        $this->ActividadeEmpresarial = $actividadeEmpresarial;
        return $this;
    }
    /**
     * Get ActualizacaoCloud 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 getActualizacaoCloud()
    {
        return isset($this->ActualizacaoCloud) ? $this->ActualizacaoCloud : null;
    }
    /**
     * Set ActualizacaoCloud 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 $actualizacaoCloud
     * @return \StructType\OutrosTerceirosERP
     */
    public function setActualizacaoCloud($actualizacaoCloud = null)
    {
        // validation for constraint: string
        if (!is_null($actualizacaoCloud) && !is_string($actualizacaoCloud)) {
            throw new \InvalidArgumentException(sprintf('Invalid value, please provide a string, "%s" given', gettype($actualizacaoCloud)), __LINE__);
        }
        if (is_null($actualizacaoCloud) || (is_array($actualizacaoCloud) && empty($actualizacaoCloud))) {
            unset($this->ActualizacaoCloud);
        } else {
            $this->ActualizacaoCloud = $actualizacaoCloud;
        }
        return $this;
    }
    /**
     * Get ActualizacaoERP 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 getActualizacaoERP()
    {
        return isset($this->ActualizacaoERP) ? $this->ActualizacaoERP : null;
    }
    /**
     * Set ActualizacaoERP 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 $actualizacaoERP
     * @return \StructType\OutrosTerceirosERP
     */
    public function setActualizacaoERP($actualizacaoERP = null)
    {
        // validation for constraint: string
        if (!is_null($actualizacaoERP) && !is_string($actualizacaoERP)) {
            throw new \InvalidArgumentException(sprintf('Invalid value, please provide a string, "%s" given', gettype($actualizacaoERP)), __LINE__);
        }
        if (is_null($actualizacaoERP) || (is_array($actualizacaoERP) && empty($actualizacaoERP))) {
            unset($this->ActualizacaoERP);
        } else {
            $this->ActualizacaoERP = $actualizacaoERP;
        }
        return $this;
    }
    /**
     * Get Anulado 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 getAnulado()
    {
        return isset($this->Anulado) ? $this->Anulado : null;
    }
    /**
     * Set Anulado 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 $anulado
     * @return \StructType\OutrosTerceirosERP
     */
    public function setAnulado($anulado = null)
    {
        // validation for constraint: boolean
        if (!is_null($anulado) && !is_bool($anulado)) {
            throw new \InvalidArgumentException(sprintf('Invalid value, please provide a bool, "%s" given', gettype($anulado)), __LINE__);
        }
        if (is_null($anulado) || (is_array($anulado) && empty($anulado))) {
            unset($this->Anulado);
        } else {
            $this->Anulado = $anulado;
        }
        return $this;
    }
    /**
     * Get AvisosVenc 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 getAvisosVenc()
    {
        return isset($this->AvisosVenc) ? $this->AvisosVenc : null;
    }
    /**
     * Set AvisosVenc 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 $avisosVenc
     * @return \StructType\OutrosTerceirosERP
     */
    public function setAvisosVenc($avisosVenc = null)
    {
        // validation for constraint: boolean
        if (!is_null($avisosVenc) && !is_bool($avisosVenc)) {
            throw new \InvalidArgumentException(sprintf('Invalid value, please provide a bool, "%s" given', gettype($avisosVenc)), __LINE__);
        }
        if (is_null($avisosVenc) || (is_array($avisosVenc) && empty($avisosVenc))) {
            unset($this->AvisosVenc);
        } else {
            $this->AvisosVenc = $avisosVenc;
        }
        return $this;
    }
    /**
     * Get B2BCertificado 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 getB2BCertificado()
    {
        return isset($this->B2BCertificado) ? $this->B2BCertificado : null;
    }
    /**
     * Set B2BCertificado 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 $b2BCertificado
     * @return \StructType\OutrosTerceirosERP
     */
    public function setB2BCertificado($b2BCertificado = null)
    {
        // validation for constraint: string
        if (!is_null($b2BCertificado) && !is_string($b2BCertificado)) {
            throw new \InvalidArgumentException(sprintf('Invalid value, please provide a string, "%s" given', gettype($b2BCertificado)), __LINE__);
        }
        if (is_null($b2BCertificado) || (is_array($b2BCertificado) && empty($b2BCertificado))) {
            unset($this->B2BCertificado);
        } else {
            $this->B2BCertificado = $b2BCertificado;
        }
        return $this;
    }
    /**
     * Get B2BDocDownload 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 getB2BDocDownload()
    {
        return isset($this->B2BDocDownload) ? $this->B2BDocDownload : null;
    }
    /**
     * Set B2BDocDownload 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 $b2BDocDownload
     * @return \StructType\OutrosTerceirosERP
     */
    public function setB2BDocDownload($b2BDocDownload = null)
    {
        // validation for constraint: boolean
        if (!is_null($b2BDocDownload) && !is_bool($b2BDocDownload)) {
            throw new \InvalidArgumentException(sprintf('Invalid value, please provide a bool, "%s" given', gettype($b2BDocDownload)), __LINE__);
        }
        if (is_null($b2BDocDownload) || (is_array($b2BDocDownload) && empty($b2BDocDownload))) {
            unset($this->B2BDocDownload);
        } else {
            $this->B2BDocDownload = $b2BDocDownload;
        }
        return $this;
    }
    /**
     * Get B2BEnderecoEnvio 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 getB2BEnderecoEnvio()
    {
        return isset($this->B2BEnderecoEnvio) ? $this->B2BEnderecoEnvio : null;
    }
    /**
     * Set B2BEnderecoEnvio 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 $b2BEnderecoEnvio
     * @return \StructType\OutrosTerceirosERP
     */
    public function setB2BEnderecoEnvio($b2BEnderecoEnvio = null)
    {
        // validation for constraint: string
        if (!is_null($b2BEnderecoEnvio) && !is_string($b2BEnderecoEnvio)) {
            throw new \InvalidArgumentException(sprintf('Invalid value, please provide a string, "%s" given', gettype($b2BEnderecoEnvio)), __LINE__);
        }
        if (is_null($b2BEnderecoEnvio) || (is_array($b2BEnderecoEnvio) && empty($b2BEnderecoEnvio))) {
            unset($this->B2BEnderecoEnvio);
        } else {
            $this->B2BEnderecoEnvio = $b2BEnderecoEnvio;
        }
        return $this;
    }
    /**
     * Get B2BEnderecoMail 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 getB2BEnderecoMail()
    {
        return isset($this->B2BEnderecoMail) ? $this->B2BEnderecoMail : null;
    }
    /**
     * Set B2BEnderecoMail 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 $b2BEnderecoMail
     * @return \StructType\OutrosTerceirosERP
     */
    public function setB2BEnderecoMail($b2BEnderecoMail = null)
    {
        // validation for constraint: string
        if (!is_null($b2BEnderecoMail) && !is_string($b2BEnderecoMail)) {
            throw new \InvalidArgumentException(sprintf('Invalid value, please provide a string, "%s" given', gettype($b2BEnderecoMail)), __LINE__);
        }
        if (is_null($b2BEnderecoMail) || (is_array($b2BEnderecoMail) && empty($b2BEnderecoMail))) {
            unset($this->B2BEnderecoMail);
        } else {
            $this->B2BEnderecoMail = $b2BEnderecoMail;
        }
        return $this;
    }
    /**
     * Get B2BEnvioNaGravacao 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 getB2BEnvioNaGravacao()
    {
        return isset($this->B2BEnvioNaGravacao) ? $this->B2BEnvioNaGravacao : null;
    }
    /**
     * Set B2BEnvioNaGravacao 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 $b2BEnvioNaGravacao
     * @return \StructType\OutrosTerceirosERP
     */
    public function setB2BEnvioNaGravacao($b2BEnvioNaGravacao = null)
    {
        // validation for constraint: boolean
        if (!is_null($b2BEnvioNaGravacao) && !is_bool($b2BEnvioNaGravacao)) {
            throw new \InvalidArgumentException(sprintf('Invalid value, please provide a bool, "%s" given', gettype($b2BEnvioNaGravacao)), __LINE__);
        }
        if (is_null($b2BEnvioNaGravacao) || (is_array($b2BEnvioNaGravacao) && empty($b2BEnvioNaGravacao))) {
            unset($this->B2BEnvioNaGravacao);
        } else {
            $this->B2BEnvioNaGravacao = $b2BEnvioNaGravacao;
        }
        return $this;
    }
    /**
     * Get B2BEnvioParceiro 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 getB2BEnvioParceiro()
    {
        return isset($this->B2BEnvioParceiro) ? $this->B2BEnvioParceiro : null;
    }
    /**
     * Set B2BEnvioParceiro 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 $b2BEnvioParceiro
     * @return \StructType\OutrosTerceirosERP
     */
    public function setB2BEnvioParceiro($b2BEnvioParceiro = null)
    {
        // validation for constraint: string
        if (!is_null($b2BEnvioParceiro) && !is_string($b2BEnvioParceiro)) {
            throw new \InvalidArgumentException(sprintf('Invalid value, please provide a string, "%s" given', gettype($b2BEnvioParceiro)), __LINE__);
        }
        if (is_null($b2BEnvioParceiro) || (is_array($b2BEnvioParceiro) && empty($b2BEnvioParceiro))) {
            unset($this->B2BEnvioParceiro);
        } else {
            $this->B2BEnvioParceiro = $b2BEnvioParceiro;
        }
        return $this;
    }
    /**
     * Get B2BIgnoraEnvioParceiro 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 getB2BIgnoraEnvioParceiro()
    {
        return isset($this->B2BIgnoraEnvioParceiro) ? $this->B2BIgnoraEnvioParceiro : null;
    }
    /**
     * Set B2BIgnoraEnvioParceiro 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 $b2BIgnoraEnvioParceiro
     * @return \StructType\OutrosTerceirosERP
     */
    public function setB2BIgnoraEnvioParceiro($b2BIgnoraEnvioParceiro = null)
    {
        // validation for constraint: boolean
        if (!is_null($b2BIgnoraEnvioParceiro) && !is_bool($b2BIgnoraEnvioParceiro)) {
            throw new \InvalidArgumentException(sprintf('Invalid value, please provide a bool, "%s" given', gettype($b2BIgnoraEnvioParceiro)), __LINE__);
        }
        if (is_null($b2BIgnoraEnvioParceiro) || (is_array($b2BIgnoraEnvioParceiro) && empty($b2BIgnoraEnvioParceiro))) {
            unset($this->B2BIgnoraEnvioParceiro);
        } else {
            $this->B2BIgnoraEnvioParceiro = $b2BIgnoraEnvioParceiro;
        }
        return $this;
    }
    /**
     * Get B2BIgnoraTransaccoes 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 getB2BIgnoraTransaccoes()
    {
        return isset($this->B2BIgnoraTransaccoes) ? $this->B2BIgnoraTransaccoes : null;
    }
    /**
     * Set B2BIgnoraTransaccoes 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 $b2BIgnoraTransaccoes
     * @return \StructType\OutrosTerceirosERP
     */
    public function setB2BIgnoraTransaccoes($b2BIgnoraTransaccoes = null)
    {
        // validation for constraint: boolean
        if (!is_null($b2BIgnoraTransaccoes) && !is_bool($b2BIgnoraTransaccoes)) {
            throw new \InvalidArgumentException(sprintf('Invalid value, please provide a bool, "%s" given', gettype($b2BIgnoraTransaccoes)), __LINE__);
        }
        if (is_null($b2BIgnoraTransaccoes) || (is_array($b2BIgnoraTransaccoes) && empty($b2BIgnoraTransaccoes))) {
            unset($this->B2BIgnoraTransaccoes);
        } else {
            $this->B2BIgnoraTransaccoes = $b2BIgnoraTransaccoes;
        }
        return $this;
    }
    /**
     * Get B2BTransaccoes 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 getB2BTransaccoes()
    {
        return isset($this->B2BTransaccoes) ? $this->B2BTransaccoes : null;
    }
    /**
     * Set B2BTransaccoes 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 $b2BTransaccoes
     * @return \StructType\OutrosTerceirosERP
     */
    public function setB2BTransaccoes($b2BTransaccoes = null)
    {
        // validation for constraint: string
        if (!is_null($b2BTransaccoes) && !is_string($b2BTransaccoes)) {
            throw new \InvalidArgumentException(sprintf('Invalid value, please provide a string, "%s" given', gettype($b2BTransaccoes)), __LINE__);
        }
        if (is_null($b2BTransaccoes) || (is_array($b2BTransaccoes) && empty($b2BTransaccoes))) {
            unset($this->B2BTransaccoes);
        } else {
            $this->B2BTransaccoes = $b2BTransaccoes;
        }
        return $this;
    }
    /**
     * Get B2BTrataTrans 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 getB2BTrataTrans()
    {
        return isset($this->B2BTrataTrans) ? $this->B2BTrataTrans : null;
    }
    /**
     * Set B2BTrataTrans 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 $b2BTrataTrans
     * @return \StructType\OutrosTerceirosERP
     */
    public function setB2BTrataTrans($b2BTrataTrans = null)
    {
        // validation for constraint: boolean
        if (!is_null($b2BTrataTrans) && !is_bool($b2BTrataTrans)) {
            throw new \InvalidArgumentException(sprintf('Invalid value, please provide a bool, "%s" given', gettype($b2BTrataTrans)), __LINE__);
        }
        if (is_null($b2BTrataTrans) || (is_array($b2BTrataTrans) && empty($b2BTrataTrans))) {
            unset($this->B2BTrataTrans);
        } else {
            $this->B2BTrataTrans = $b2BTrataTrans;
        }
        return $this;
    }
    /**
     * Get B2BUtilArtigosParceiro 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 getB2BUtilArtigosParceiro()
    {
        return isset($this->B2BUtilArtigosParceiro) ? $this->B2BUtilArtigosParceiro : null;
    }
    /**
     * Set B2BUtilArtigosParceiro 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 $b2BUtilArtigosParceiro
     * @return \StructType\OutrosTerceirosERP
     */
    public function setB2BUtilArtigosParceiro($b2BUtilArtigosParceiro = null)
    {
        // validation for constraint: boolean
        if (!is_null($b2BUtilArtigosParceiro) && !is_bool($b2BUtilArtigosParceiro)) {
            throw new \InvalidArgumentException(sprintf('Invalid value, please provide a bool, "%s" given', gettype($b2BUtilArtigosParceiro)), __LINE__);
        }
        if (is_null($b2BUtilArtigosParceiro) || (is_array($b2BUtilArtigosParceiro) && empty($b2BUtilArtigosParceiro))) {
            unset($this->B2BUtilArtigosParceiro);
        } else {
            $this->B2BUtilArtigosParceiro = $b2BUtilArtigosParceiro;
        }
        return $this;
    }
    /**
     * Get CDU_ExtensaoFoto 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 getCDU_ExtensaoFoto()
    {
        return isset($this->CDU_ExtensaoFoto) ? $this->CDU_ExtensaoFoto : null;
    }
    /**
     * Set CDU_ExtensaoFoto 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 $cDU_ExtensaoFoto
     * @return \StructType\OutrosTerceirosERP
     */
    public function setCDU_ExtensaoFoto($cDU_ExtensaoFoto = null)
    {
        // validation for constraint: string
        if (!is_null($cDU_ExtensaoFoto) && !is_string($cDU_ExtensaoFoto)) {
            throw new \InvalidArgumentException(sprintf('Invalid value, please provide a string, "%s" given', gettype($cDU_ExtensaoFoto)), __LINE__);
        }
        if (is_null($cDU_ExtensaoFoto) || (is_array($cDU_ExtensaoFoto) && empty($cDU_ExtensaoFoto))) {
            unset($this->CDU_ExtensaoFoto);
        } else {
            $this->CDU_ExtensaoFoto = $cDU_ExtensaoFoto;
        }
        return $this;
    }
    /**
     * Get CDU_Foto 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 getCDU_Foto()
    {
        return isset($this->CDU_Foto) ? $this->CDU_Foto : null;
    }
    /**
     * Set CDU_Foto 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 $cDU_Foto
     * @return \StructType\OutrosTerceirosERP
     */
    public function setCDU_Foto($cDU_Foto = null)
    {
        // validation for constraint: string
        if (!is_null($cDU_Foto) && !is_string($cDU_Foto)) {
            throw new \InvalidArgumentException(sprintf('Invalid value, please provide a string, "%s" given', gettype($cDU_Foto)), __LINE__);
        }
        if (is_null($cDU_Foto) || (is_array($cDU_Foto) && empty($cDU_Foto))) {
            unset($this->CDU_Foto);
        } else {
            $this->CDU_Foto = $cDU_Foto;
        }
        return $this;
    }
    /**
     * Get CDU_NomeFoto 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 getCDU_NomeFoto()
    {
        return isset($this->CDU_NomeFoto) ? $this->CDU_NomeFoto : null;
    }
    /**
     * Set CDU_NomeFoto 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 $cDU_NomeFoto
     * @return \StructType\OutrosTerceirosERP
     */
    public function setCDU_NomeFoto($cDU_NomeFoto = null)
    {
        // validation for constraint: string
        if (!is_null($cDU_NomeFoto) && !is_string($cDU_NomeFoto)) {
            throw new \InvalidArgumentException(sprintf('Invalid value, please provide a string, "%s" given', gettype($cDU_NomeFoto)), __LINE__);
        }
        if (is_null($cDU_NomeFoto) || (is_array($cDU_NomeFoto) && empty($cDU_NomeFoto))) {
            unset($this->CDU_NomeFoto);
        } else {
            $this->CDU_NomeFoto = $cDU_NomeFoto;
        }
        return $this;
    }
    /**
     * Get CambioADataDoc value
     * @return bool|null
     */
    public function getCambioADataDoc()
    {
        return $this->CambioADataDoc;
    }
    /**
     * Set CambioADataDoc value
     * @param bool $cambioADataDoc
     * @return \StructType\OutrosTerceirosERP
     */
    public function setCambioADataDoc($cambioADataDoc = null)
    {
        // validation for constraint: boolean
        if (!is_null($cambioADataDoc) && !is_bool($cambioADataDoc)) {
            throw new \InvalidArgumentException(sprintf('Invalid value, please provide a bool, "%s" given', gettype($cambioADataDoc)), __LINE__);
        }
        $this->CambioADataDoc = $cambioADataDoc;
        return $this;
    }
    /**
     * Get CodigoGLN 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 getCodigoGLN()
    {
        return isset($this->CodigoGLN) ? $this->CodigoGLN : null;
    }
    /**
     * Set CodigoGLN 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 $codigoGLN
     * @return \StructType\OutrosTerceirosERP
     */
    public function setCodigoGLN($codigoGLN = null)
    {
        // validation for constraint: string
        if (!is_null($codigoGLN) && !is_string($codigoGLN)) {
            throw new \InvalidArgumentException(sprintf('Invalid value, please provide a string, "%s" given', gettype($codigoGLN)), __LINE__);
        }
        if (is_null($codigoGLN) || (is_array($codigoGLN) && empty($codigoGLN))) {
            unset($this->CodigoGLN);
        } else {
            $this->CodigoGLN = $codigoGLN;
        }
        return $this;
    }
    /**
     * Get CodigoLocal 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 getCodigoLocal()
    {
        return isset($this->CodigoLocal) ? $this->CodigoLocal : null;
    }
    /**
     * Set CodigoLocal 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 $codigoLocal
     * @return \StructType\OutrosTerceirosERP
     */
    public function setCodigoLocal($codigoLocal = null)
    {
        // validation for constraint: string
        if (!is_null($codigoLocal) && !is_string($codigoLocal)) {
            throw new \InvalidArgumentException(sprintf('Invalid value, please provide a string, "%s" given', gettype($codigoLocal)), __LINE__);
        }
        if (is_null($codigoLocal) || (is_array($codigoLocal) && empty($codigoLocal))) {
            unset($this->CodigoLocal);
        } else {
            $this->CodigoLocal = $codigoLocal;
        }
        return $this;
    }
    /**
     * Get ComissaoLetras 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 float|null
     */
    public function getComissaoLetras()
    {
        return isset($this->ComissaoLetras) ? $this->ComissaoLetras : null;
    }
    /**
     * Set ComissaoLetras 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 float $comissaoLetras
     * @return \StructType\OutrosTerceirosERP
     */
    public function setComissaoLetras($comissaoLetras = null)
    {
        if (is_null($comissaoLetras) || (is_array($comissaoLetras) && empty($comissaoLetras))) {
            unset($this->ComissaoLetras);
        } else {
            $this->ComissaoLetras = $comissaoLetras;
        }
        return $this;
    }
    /**
     * Get ComissaoLetrasPercent 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 getComissaoLetrasPercent()
    {
        return isset($this->ComissaoLetrasPercent) ? $this->ComissaoLetrasPercent : null;
    }
    /**
     * Set ComissaoLetrasPercent 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 $comissaoLetrasPercent
     * @return \StructType\OutrosTerceirosERP
     */
    public function setComissaoLetrasPercent($comissaoLetrasPercent = null)
    {
        // validation for constraint: boolean
        if (!is_null($comissaoLetrasPercent) && !is_bool($comissaoLetrasPercent)) {
            throw new \InvalidArgumentException(sprintf('Invalid value, please provide a bool, "%s" given', gettype($comissaoLetrasPercent)), __LINE__);
        }
        if (is_null($comissaoLetrasPercent) || (is_array($comissaoLetrasPercent) && empty($comissaoLetrasPercent))) {
            unset($this->ComissaoLetrasPercent);
        } else {
            $this->ComissaoLetrasPercent = $comissaoLetrasPercent;
        }
        return $this;
    }
    /**
     * Get ComprasVendasNaoConvertidas value
     * @return float|null
     */
    public function getComprasVendasNaoConvertidas()
    {
        return $this->ComprasVendasNaoConvertidas;
    }
    /**
     * Set ComprasVendasNaoConvertidas value
     * @param float $comprasVendasNaoConvertidas
     * @return \StructType\OutrosTerceirosERP
     */
    public function setComprasVendasNaoConvertidas($comprasVendasNaoConvertidas = null)
    {
        $this->ComprasVendasNaoConvertidas = $comprasVendasNaoConvertidas;
        return $this;
    }
    /**
     * Get CondDebitoLetrasParticular 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 getCondDebitoLetrasParticular()
    {
        return isset($this->CondDebitoLetrasParticular) ? $this->CondDebitoLetrasParticular : null;
    }
    /**
     * Set CondDebitoLetrasParticular 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 $condDebitoLetrasParticular
     * @return \StructType\OutrosTerceirosERP
     */
    public function setCondDebitoLetrasParticular($condDebitoLetrasParticular = null)
    {
        // validation for constraint: boolean
        if (!is_null($condDebitoLetrasParticular) && !is_bool($condDebitoLetrasParticular)) {
            throw new \InvalidArgumentException(sprintf('Invalid value, please provide a bool, "%s" given', gettype($condDebitoLetrasParticular)), __LINE__);
        }
        if (is_null($condDebitoLetrasParticular) || (is_array($condDebitoLetrasParticular) && empty($condDebitoLetrasParticular))) {
            unset($this->CondDebitoLetrasParticular);
        } else {
            $this->CondDebitoLetrasParticular = $condDebitoLetrasParticular;
        }
        return $this;
    }
    /**
     * Get CondPag 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 getCondPag()
    {
        return isset($this->CondPag) ? $this->CondPag : null;
    }
    /**
     * Set CondPag 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 $condPag
     * @return \StructType\OutrosTerceirosERP
     */
    public function setCondPag($condPag = null)
    {
        // validation for constraint: string
        if (!is_null($condPag) && !is_string($condPag)) {
            throw new \InvalidArgumentException(sprintf('Invalid value, please provide a string, "%s" given', gettype($condPag)), __LINE__);
        }
        if (is_null($condPag) || (is_array($condPag) && empty($condPag))) {
            unset($this->CondPag);
        } else {
            $this->CondPag = $condPag;
        }
        return $this;
    }
    /**
     * Get ContribuinteNaoResidente 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 getContribuinteNaoResidente()
    {
        return isset($this->ContribuinteNaoResidente) ? $this->ContribuinteNaoResidente : null;
    }
    /**
     * Set ContribuinteNaoResidente 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 $contribuinteNaoResidente
     * @return \StructType\OutrosTerceirosERP
     */
    public function setContribuinteNaoResidente($contribuinteNaoResidente = null)
    {
        // validation for constraint: string
        if (!is_null($contribuinteNaoResidente) && !is_string($contribuinteNaoResidente)) {
            throw new \InvalidArgumentException(sprintf('Invalid value, please provide a string, "%s" given', gettype($contribuinteNaoResidente)), __LINE__);
        }
        if (is_null($contribuinteNaoResidente) || (is_array($contribuinteNaoResidente) && empty($contribuinteNaoResidente))) {
            unset($this->ContribuinteNaoResidente);
        } else {
            $this->ContribuinteNaoResidente = $contribuinteNaoResidente;
        }
        return $this;
    }
    /**
     * Get Cp 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 getCp()
    {
        return isset($this->Cp) ? $this->Cp : null;
    }
    /**
     * Set Cp 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 $cp
     * @return \StructType\OutrosTerceirosERP
     */
    public function setCp($cp = null)
    {
        // validation for constraint: string
        if (!is_null($cp) && !is_string($cp)) {
            throw new \InvalidArgumentException(sprintf('Invalid value, please provide a string, "%s" given', gettype($cp)), __LINE__);
        }
        if (is_null($cp) || (is_array($cp) && empty($cp))) {
            unset($this->Cp);
        } else {
            $this->Cp = $cp;
        }
        return $this;
    }
    /**
     * Get CpLoc 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 getCpLoc()
    {
        return isset($this->CpLoc) ? $this->CpLoc : null;
    }
    /**
     * Set CpLoc 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 $cpLoc
     * @return \StructType\OutrosTerceirosERP
     */
    public function setCpLoc($cpLoc = null)
    {
        // validation for constraint: string
        if (!is_null($cpLoc) && !is_string($cpLoc)) {
            throw new \InvalidArgumentException(sprintf('Invalid value, please provide a string, "%s" given', gettype($cpLoc)), __LINE__);
        }
        if (is_null($cpLoc) || (is_array($cpLoc) && empty($cpLoc))) {
            unset($this->CpLoc);
        } else {
            $this->CpLoc = $cpLoc;
        }
        return $this;
    }
    /**
     * Get DataCriacao 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 getDataCriacao()
    {
        return isset($this->DataCriacao) ? $this->DataCriacao : null;
    }
    /**
     * Set DataCriacao 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 $dataCriacao
     * @return \StructType\OutrosTerceirosERP
     */
    public function setDataCriacao($dataCriacao = null)
    {
        // validation for constraint: string
        if (!is_null($dataCriacao) && !is_string($dataCriacao)) {
            throw new \InvalidArgumentException(sprintf('Invalid value, please provide a string, "%s" given', gettype($dataCriacao)), __LINE__);
        }
        if (is_null($dataCriacao) || (is_array($dataCriacao) && empty($dataCriacao))) {
            unset($this->DataCriacao);
        } else {
            $this->DataCriacao = $dataCriacao;
        }
        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\OutrosTerceirosERP
     */
    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 DebitoLetrasNovas 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 getDebitoLetrasNovas()
    {
        return isset($this->DebitoLetrasNovas) ? $this->DebitoLetrasNovas : null;
    }
    /**
     * Set DebitoLetrasNovas 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 $debitoLetrasNovas
     * @return \StructType\OutrosTerceirosERP
     */
    public function setDebitoLetrasNovas($debitoLetrasNovas = null)
    {
        // validation for constraint: boolean
        if (!is_null($debitoLetrasNovas) && !is_bool($debitoLetrasNovas)) {
            throw new \InvalidArgumentException(sprintf('Invalid value, please provide a bool, "%s" given', gettype($debitoLetrasNovas)), __LINE__);
        }
        if (is_null($debitoLetrasNovas) || (is_array($debitoLetrasNovas) && empty($debitoLetrasNovas))) {
            unset($this->DebitoLetrasNovas);
        } else {
            $this->DebitoLetrasNovas = $debitoLetrasNovas;
        }
        return $this;
    }
    /**
     * Get DebitoLetrasReformadas 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 getDebitoLetrasReformadas()
    {
        return isset($this->DebitoLetrasReformadas) ? $this->DebitoLetrasReformadas : null;
    }
    /**
     * Set DebitoLetrasReformadas 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 $debitoLetrasReformadas
     * @return \StructType\OutrosTerceirosERP
     */
    public function setDebitoLetrasReformadas($debitoLetrasReformadas = null)
    {
        // validation for constraint: boolean
        if (!is_null($debitoLetrasReformadas) && !is_bool($debitoLetrasReformadas)) {
            throw new \InvalidArgumentException(sprintf('Invalid value, please provide a bool, "%s" given', gettype($debitoLetrasReformadas)), __LINE__);
        }
        if (is_null($debitoLetrasReformadas) || (is_array($debitoLetrasReformadas) && empty($debitoLetrasReformadas))) {
            unset($this->DebitoLetrasReformadas);
        } else {
            $this->DebitoLetrasReformadas = $debitoLetrasReformadas;
        }
        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\OutrosTerceirosERP
     */
    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 DevCred 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 getDevCred()
    {
        return isset($this->DevCred) ? $this->DevCred : null;
    }
    /**
     * Set DevCred 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 $devCred
     * @return \StructType\OutrosTerceirosERP
     */
    public function setDevCred($devCred = null)
    {
        // validation for constraint: string
        if (!is_null($devCred) && !is_string($devCred)) {
            throw new \InvalidArgumentException(sprintf('Invalid value, please provide a string, "%s" given', gettype($devCred)), __LINE__);
        }
        if (is_null($devCred) || (is_array($devCred) && empty($devCred))) {
            unset($this->DevCred);
        } else {
            $this->DevCred = $devCred;
        }
        return $this;
    }
    /**
     * Get DiaFinPerNaoPag1 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 getDiaFinPerNaoPag1()
    {
        return isset($this->DiaFinPerNaoPag1) ? $this->DiaFinPerNaoPag1 : null;
    }
    /**
     * Set DiaFinPerNaoPag1 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 $diaFinPerNaoPag1
     * @return \StructType\OutrosTerceirosERP
     */
    public function setDiaFinPerNaoPag1($diaFinPerNaoPag1 = null)
    {
        // validation for constraint: string
        if (!is_null($diaFinPerNaoPag1) && !is_string($diaFinPerNaoPag1)) {
            throw new \InvalidArgumentException(sprintf('Invalid value, please provide a string, "%s" given', gettype($diaFinPerNaoPag1)), __LINE__);
        }
        if (is_null($diaFinPerNaoPag1) || (is_array($diaFinPerNaoPag1) && empty($diaFinPerNaoPag1))) {
            unset($this->DiaFinPerNaoPag1);
        } else {
            $this->DiaFinPerNaoPag1 = $diaFinPerNaoPag1;
        }
        return $this;
    }
    /**
     * Get DiaFinPerNaoPag2 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 getDiaFinPerNaoPag2()
    {
        return isset($this->DiaFinPerNaoPag2) ? $this->DiaFinPerNaoPag2 : null;
    }
    /**
     * Set DiaFinPerNaoPag2 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 $diaFinPerNaoPag2
     * @return \StructType\OutrosTerceirosERP
     */
    public function setDiaFinPerNaoPag2($diaFinPerNaoPag2 = null)
    {
        // validation for constraint: string
        if (!is_null($diaFinPerNaoPag2) && !is_string($diaFinPerNaoPag2)) {
            throw new \InvalidArgumentException(sprintf('Invalid value, please provide a string, "%s" given', gettype($diaFinPerNaoPag2)), __LINE__);
        }
        if (is_null($diaFinPerNaoPag2) || (is_array($diaFinPerNaoPag2) && empty($diaFinPerNaoPag2))) {
            unset($this->DiaFinPerNaoPag2);
        } else {
            $this->DiaFinPerNaoPag2 = $diaFinPerNaoPag2;
        }
        return $this;
    }
    /**
     * Get DiaInicPerNaoPag1 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 getDiaInicPerNaoPag1()
    {
        return isset($this->DiaInicPerNaoPag1) ? $this->DiaInicPerNaoPag1 : null;
    }
    /**
     * Set DiaInicPerNaoPag1 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 $diaInicPerNaoPag1
     * @return \StructType\OutrosTerceirosERP
     */
    public function setDiaInicPerNaoPag1($diaInicPerNaoPag1 = null)
    {
        // validation for constraint: string
        if (!is_null($diaInicPerNaoPag1) && !is_string($diaInicPerNaoPag1)) {
            throw new \InvalidArgumentException(sprintf('Invalid value, please provide a string, "%s" given', gettype($diaInicPerNaoPag1)), __LINE__);
        }
        if (is_null($diaInicPerNaoPag1) || (is_array($diaInicPerNaoPag1) && empty($diaInicPerNaoPag1))) {
            unset($this->DiaInicPerNaoPag1);
        } else {
            $this->DiaInicPerNaoPag1 = $diaInicPerNaoPag1;
        }
        return $this;
    }
    /**
     * Get DiaInicPerNaoPag2 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 getDiaInicPerNaoPag2()
    {
        return isset($this->DiaInicPerNaoPag2) ? $this->DiaInicPerNaoPag2 : null;
    }
    /**
     * Set DiaInicPerNaoPag2 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 $diaInicPerNaoPag2
     * @return \StructType\OutrosTerceirosERP
     */
    public function setDiaInicPerNaoPag2($diaInicPerNaoPag2 = null)
    {
        // validation for constraint: string
        if (!is_null($diaInicPerNaoPag2) && !is_string($diaInicPerNaoPag2)) {
            throw new \InvalidArgumentException(sprintf('Invalid value, please provide a string, "%s" given', gettype($diaInicPerNaoPag2)), __LINE__);
        }
        if (is_null($diaInicPerNaoPag2) || (is_array($diaInicPerNaoPag2) && empty($diaInicPerNaoPag2))) {
            unset($this->DiaInicPerNaoPag2);
        } else {
            $this->DiaInicPerNaoPag2 = $diaInicPerNaoPag2;
        }
        return $this;
    }
    /**
     * Get DiaPagamento1 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 getDiaPagamento1()
    {
        return isset($this->DiaPagamento1) ? $this->DiaPagamento1 : null;
    }
    /**
     * Set DiaPagamento1 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 $diaPagamento1
     * @return \StructType\OutrosTerceirosERP
     */
    public function setDiaPagamento1($diaPagamento1 = null)
    {
        // validation for constraint: string
        if (!is_null($diaPagamento1) && !is_string($diaPagamento1)) {
            throw new \InvalidArgumentException(sprintf('Invalid value, please provide a string, "%s" given', gettype($diaPagamento1)), __LINE__);
        }
        if (is_null($diaPagamento1) || (is_array($diaPagamento1) && empty($diaPagamento1))) {
            unset($this->DiaPagamento1);
        } else {
            $this->DiaPagamento1 = $diaPagamento1;
        }
        return $this;
    }
    /**
     * Get DiaPagamento2 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 getDiaPagamento2()
    {
        return isset($this->DiaPagamento2) ? $this->DiaPagamento2 : null;
    }
    /**
     * Set DiaPagamento2 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 $diaPagamento2
     * @return \StructType\OutrosTerceirosERP
     */
    public function setDiaPagamento2($diaPagamento2 = null)
    {
        // validation for constraint: string
        if (!is_null($diaPagamento2) && !is_string($diaPagamento2)) {
            throw new \InvalidArgumentException(sprintf('Invalid value, please provide a string, "%s" given', gettype($diaPagamento2)), __LINE__);
        }
        if (is_null($diaPagamento2) || (is_array($diaPagamento2) && empty($diaPagamento2))) {
            unset($this->DiaPagamento2);
        } else {
            $this->DiaPagamento2 = $diaPagamento2;
        }
        return $this;
    }
    /**
     * Get DiaPagamento3 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 getDiaPagamento3()
    {
        return isset($this->DiaPagamento3) ? $this->DiaPagamento3 : null;
    }
    /**
     * Set DiaPagamento3 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 $diaPagamento3
     * @return \StructType\OutrosTerceirosERP
     */
    public function setDiaPagamento3($diaPagamento3 = null)
    {
        // validation for constraint: string
        if (!is_null($diaPagamento3) && !is_string($diaPagamento3)) {
            throw new \InvalidArgumentException(sprintf('Invalid value, please provide a string, "%s" given', gettype($diaPagamento3)), __LINE__);
        }
        if (is_null($diaPagamento3) || (is_array($diaPagamento3) && empty($diaPagamento3))) {
            unset($this->DiaPagamento3);
        } else {
            $this->DiaPagamento3 = $diaPagamento3;
        }
        return $this;
    }
    /**
     * Get Distrito 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 getDistrito()
    {
        return isset($this->Distrito) ? $this->Distrito : null;
    }
    /**
     * Set Distrito 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 $distrito
     * @return \StructType\OutrosTerceirosERP
     */
    public function setDistrito($distrito = null)
    {
        // validation for constraint: string
        if (!is_null($distrito) && !is_string($distrito)) {
            throw new \InvalidArgumentException(sprintf('Invalid value, please provide a string, "%s" given', gettype($distrito)), __LINE__);
        }
        if (is_null($distrito) || (is_array($distrito) && empty($distrito))) {
            unset($this->Distrito);
        } else {
            $this->Distrito = $distrito;
        }
        return $this;
    }
    /**
     * Get EfectuaOutrasRetencoes 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 getEfectuaOutrasRetencoes()
    {
        return isset($this->EfectuaOutrasRetencoes) ? $this->EfectuaOutrasRetencoes : null;
    }
    /**
     * Set EfectuaOutrasRetencoes 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 $efectuaOutrasRetencoes
     * @return \StructType\OutrosTerceirosERP
     */
    public function setEfectuaOutrasRetencoes($efectuaOutrasRetencoes = null)
    {
        // validation for constraint: boolean
        if (!is_null($efectuaOutrasRetencoes) && !is_bool($efectuaOutrasRetencoes)) {
            throw new \InvalidArgumentException(sprintf('Invalid value, please provide a bool, "%s" given', gettype($efectuaOutrasRetencoes)), __LINE__);
        }
        if (is_null($efectuaOutrasRetencoes) || (is_array($efectuaOutrasRetencoes) && empty($efectuaOutrasRetencoes))) {
            unset($this->EfectuaOutrasRetencoes);
        } else {
            $this->EfectuaOutrasRetencoes = $efectuaOutrasRetencoes;
        }
        return $this;
    }
    /**
     * Get EfectuaRetencao 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 getEfectuaRetencao()
    {
        return isset($this->EfectuaRetencao) ? $this->EfectuaRetencao : null;
    }
    /**
     * Set EfectuaRetencao 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 $efectuaRetencao
     * @return \StructType\OutrosTerceirosERP
     */
    public function setEfectuaRetencao($efectuaRetencao = null)
    {
        // validation for constraint: boolean
        if (!is_null($efectuaRetencao) && !is_bool($efectuaRetencao)) {
            throw new \InvalidArgumentException(sprintf('Invalid value, please provide a bool, "%s" given', gettype($efectuaRetencao)), __LINE__);
        }
        if (is_null($efectuaRetencao) || (is_array($efectuaRetencao) && empty($efectuaRetencao))) {
            unset($this->EfectuaRetencao);
        } else {
            $this->EfectuaRetencao = $efectuaRetencao;
        }
        return $this;
    }
    /**
     * Get EncomendasPendentes value
     * @return float|null
     */
    public function getEncomendasPendentes()
    {
        return $this->EncomendasPendentes;
    }
    /**
     * Set EncomendasPendentes value
     * @param float $encomendasPendentes
     * @return \StructType\OutrosTerceirosERP
     */
    public function setEncomendasPendentes($encomendasPendentes = null)
    {
        $this->EncomendasPendentes = $encomendasPendentes;
        return $this;
    }
    /**
     * Get EnderecoWeb 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 getEnderecoWeb()
    {
        return isset($this->EnderecoWeb) ? $this->EnderecoWeb : null;
    }
    /**
     * Set EnderecoWeb 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 $enderecoWeb
     * @return \StructType\OutrosTerceirosERP
     */
    public function setEnderecoWeb($enderecoWeb = null)
    {
        // validation for constraint: string
        if (!is_null($enderecoWeb) && !is_string($enderecoWeb)) {
            throw new \InvalidArgumentException(sprintf('Invalid value, please provide a string, "%s" given', gettype($enderecoWeb)), __LINE__);
        }
        if (is_null($enderecoWeb) || (is_array($enderecoWeb) && empty($enderecoWeb))) {
            unset($this->EnderecoWeb);
        } else {
            $this->EnderecoWeb = $enderecoWeb;
        }
        return $this;
    }
    /**
     * Get EntidadeFinanceira 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 getEntidadeFinanceira()
    {
        return isset($this->EntidadeFinanceira) ? $this->EntidadeFinanceira : null;
    }
    /**
     * Set EntidadeFinanceira 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 $entidadeFinanceira
     * @return \StructType\OutrosTerceirosERP
     */
    public function setEntidadeFinanceira($entidadeFinanceira = null)
    {
        // validation for constraint: boolean
        if (!is_null($entidadeFinanceira) && !is_bool($entidadeFinanceira)) {
            throw new \InvalidArgumentException(sprintf('Invalid value, please provide a bool, "%s" given', gettype($entidadeFinanceira)), __LINE__);
        }
        if (is_null($entidadeFinanceira) || (is_array($entidadeFinanceira) && empty($entidadeFinanceira))) {
            unset($this->EntidadeFinanceira);
        } else {
            $this->EntidadeFinanceira = $entidadeFinanceira;
        }
        return $this;
    }
    /**
     * Get ExcluirRecap 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 getExcluirRecap()
    {
        return isset($this->ExcluirRecap) ? $this->ExcluirRecap : null;
    }
    /**
     * Set ExcluirRecap 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 $excluirRecap
     * @return \StructType\OutrosTerceirosERP
     */
    public function setExcluirRecap($excluirRecap = null)
    {
        // validation for constraint: boolean
        if (!is_null($excluirRecap) && !is_bool($excluirRecap)) {
            throw new \InvalidArgumentException(sprintf('Invalid value, please provide a bool, "%s" given', gettype($excluirRecap)), __LINE__);
        }
        if (is_null($excluirRecap) || (is_array($excluirRecap) && empty($excluirRecap))) {
            unset($this->ExcluirRecap);
        } else {
            $this->ExcluirRecap = $excluirRecap;
        }
        return $this;
    }
    /**
     * Get Factoring value
     * @return bool|null
     */
    public function getFactoring()
    {
        return $this->Factoring;
    }
    /**
     * Set Factoring value
     * @param bool $factoring
     * @return \StructType\OutrosTerceirosERP
     */
    public function setFactoring($factoring = null)
    {
        // validation for constraint: boolean
        if (!is_null($factoring) && !is_bool($factoring)) {
            throw new \InvalidArgumentException(sprintf('Invalid value, please provide a bool, "%s" given', gettype($factoring)), __LINE__);
        }
        $this->Factoring = $factoring;
        return $this;
    }
    /**
     * Get Fax 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 getFax()
    {
        return isset($this->Fax) ? $this->Fax : null;
    }
    /**
     * Set Fax 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 $fax
     * @return \StructType\OutrosTerceirosERP
     */
    public function setFax($fax = null)
    {
        // validation for constraint: string
        if (!is_null($fax) && !is_string($fax)) {
            throw new \InvalidArgumentException(sprintf('Invalid value, please provide a string, "%s" given', gettype($fax)), __LINE__);
        }
        if (is_null($fax) || (is_array($fax) && empty($fax))) {
            unset($this->Fax);
        } else {
            $this->Fax = $fax;
        }
        return $this;
    }
    /**
     * Get GestaoDiasPag 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 getGestaoDiasPag()
    {
        return isset($this->GestaoDiasPag) ? $this->GestaoDiasPag : null;
    }
    /**
     * Set GestaoDiasPag 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 $gestaoDiasPag
     * @return \StructType\OutrosTerceirosERP
     */
    public function setGestaoDiasPag($gestaoDiasPag = null)
    {
        // validation for constraint: boolean
        if (!is_null($gestaoDiasPag) && !is_bool($gestaoDiasPag)) {
            throw new \InvalidArgumentException(sprintf('Invalid value, please provide a bool, "%s" given', gettype($gestaoDiasPag)), __LINE__);
        }
        if (is_null($gestaoDiasPag) || (is_array($gestaoDiasPag) && empty($gestaoDiasPag))) {
            unset($this->GestaoDiasPag);
        } else {
            $this->GestaoDiasPag = $gestaoDiasPag;
        }
        return $this;
    }
    /**
     * Get IDB2BFormato 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 getIDB2BFormato()
    {
        return isset($this->IDB2BFormato) ? $this->IDB2BFormato : null;
    }
    /**
     * Set IDB2BFormato 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 $iDB2BFormato
     * @return \StructType\OutrosTerceirosERP
     */
    public function setIDB2BFormato($iDB2BFormato = null)
    {
        // validation for constraint: string
        if (!is_null($iDB2BFormato) && !is_string($iDB2BFormato)) {
            throw new \InvalidArgumentException(sprintf('Invalid value, please provide a string, "%s" given', gettype($iDB2BFormato)), __LINE__);
        }
        if (is_null($iDB2BFormato) || (is_array($iDB2BFormato) && empty($iDB2BFormato))) {
            unset($this->IDB2BFormato);
        } else {
            $this->IDB2BFormato = $iDB2BFormato;
        }
        return $this;
    }
    /**
     * Get IdGDOC 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 getIdGDOC()
    {
        return isset($this->IdGDOC) ? $this->IdGDOC : null;
    }
    /**
     * Set IdGDOC 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 $idGDOC
     * @return \StructType\OutrosTerceirosERP
     */
    public function setIdGDOC($idGDOC = null)
    {
        // validation for constraint: pattern
        if (is_scalar($idGDOC) && !preg_match('/[\\da-fA-F]{8}-[\\da-fA-F]{4}-[\\da-fA-F]{4}-[\\da-fA-F]{4}-[\\da-fA-F]{12}/', $idGDOC)) {
            throw new \InvalidArgumentException(sprintf('Invalid value, please provide a scalar value that matches "[\da-fA-F]{8}-[\da-fA-F]{4}-[\da-fA-F]{4}-[\da-fA-F]{4}-[\da-fA-F]{12}", "%s" given', var_export($idGDOC, true)), __LINE__);
        }
        // validation for constraint: string
        if (!is_null($idGDOC) && !is_string($idGDOC)) {
            throw new \InvalidArgumentException(sprintf('Invalid value, please provide a string, "%s" given', gettype($idGDOC)), __LINE__);
        }
        if (is_null($idGDOC) || (is_array($idGDOC) && empty($idGDOC))) {
            unset($this->IdGDOC);
        } else {
            $this->IdGDOC = $idGDOC;
        }
        return $this;
    }
    /**
     * Get IntegraCessaoFactoring 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 getIntegraCessaoFactoring()
    {
        return isset($this->IntegraCessaoFactoring) ? $this->IntegraCessaoFactoring : null;
    }
    /**
     * Set IntegraCessaoFactoring 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 $integraCessaoFactoring
     * @return \StructType\OutrosTerceirosERP
     */
    public function setIntegraCessaoFactoring($integraCessaoFactoring = null)
    {
        // validation for constraint: boolean
        if (!is_null($integraCessaoFactoring) && !is_bool($integraCessaoFactoring)) {
            throw new \InvalidArgumentException(sprintf('Invalid value, please provide a bool, "%s" given', gettype($integraCessaoFactoring)), __LINE__);
        }
        if (is_null($integraCessaoFactoring) || (is_array($integraCessaoFactoring) && empty($integraCessaoFactoring))) {
            unset($this->IntegraCessaoFactoring);
        } else {
            $this->IntegraCessaoFactoring = $integraCessaoFactoring;
        }
        return $this;
    }
    /**
     * Get JuroLetras 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 float|null
     */
    public function getJuroLetras()
    {
        return isset($this->JuroLetras) ? $this->JuroLetras : null;
    }
    /**
     * Set JuroLetras 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 float $juroLetras
     * @return \StructType\OutrosTerceirosERP
     */
    public function setJuroLetras($juroLetras = null)
    {
        if (is_null($juroLetras) || (is_array($juroLetras) && empty($juroLetras))) {
            unset($this->JuroLetras);
        } else {
            $this->JuroLetras = $juroLetras;
        }
        return $this;
    }
    /**
     * Get JuroLetrasPostecipado 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 getJuroLetrasPostecipado()
    {
        return isset($this->JuroLetrasPostecipado) ? $this->JuroLetrasPostecipado : null;
    }
    /**
     * Set JuroLetrasPostecipado 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 $juroLetrasPostecipado
     * @return \StructType\OutrosTerceirosERP
     */
    public function setJuroLetrasPostecipado($juroLetrasPostecipado = null)
    {
        // validation for constraint: boolean
        if (!is_null($juroLetrasPostecipado) && !is_bool($juroLetrasPostecipado)) {
            throw new \InvalidArgumentException(sprintf('Invalid value, please provide a bool, "%s" given', gettype($juroLetrasPostecipado)), __LINE__);
        }
        if (is_null($juroLetrasPostecipado) || (is_array($juroLetrasPostecipado) && empty($juroLetrasPostecipado))) {
            unset($this->JuroLetrasPostecipado);
        } else {
            $this->JuroLetrasPostecipado = $juroLetrasPostecipado;
        }
        return $this;
    }
    /**
     * Get LimiteCred 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 float|null
     */
    public function getLimiteCred()
    {
        return isset($this->LimiteCred) ? $this->LimiteCred : null;
    }
    /**
     * Set LimiteCred 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 float $limiteCred
     * @return \StructType\OutrosTerceirosERP
     */
    public function setLimiteCred($limiteCred = null)
    {
        if (is_null($limiteCred) || (is_array($limiteCred) && empty($limiteCred))) {
            unset($this->LimiteCred);
        } else {
            $this->LimiteCred = $limiteCred;
        }
        return $this;
    }
    /**
     * Get LimiteCredIdade 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 getLimiteCredIdade()
    {
        return isset($this->LimiteCredIdade) ? $this->LimiteCredIdade : null;
    }
    /**
     * Set LimiteCredIdade 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 $limiteCredIdade
     * @return \StructType\OutrosTerceirosERP
     */
    public function setLimiteCredIdade($limiteCredIdade = null)
    {
        // validation for constraint: boolean
        if (!is_null($limiteCredIdade) && !is_bool($limiteCredIdade)) {
            throw new \InvalidArgumentException(sprintf('Invalid value, please provide a bool, "%s" given', gettype($limiteCredIdade)), __LINE__);
        }
        if (is_null($limiteCredIdade) || (is_array($limiteCredIdade) && empty($limiteCredIdade))) {
            unset($this->LimiteCredIdade);
        } else {
            $this->LimiteCredIdade = $limiteCredIdade;
        }
        return $this;
    }
    /**
     * Get LimiteCredValor 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 getLimiteCredValor()
    {
        return isset($this->LimiteCredValor) ? $this->LimiteCredValor : null;
    }
    /**
     * Set LimiteCredValor 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 $limiteCredValor
     * @return \StructType\OutrosTerceirosERP
     */
    public function setLimiteCredValor($limiteCredValor = null)
    {
        // validation for constraint: boolean
        if (!is_null($limiteCredValor) && !is_bool($limiteCredValor)) {
            throw new \InvalidArgumentException(sprintf('Invalid value, please provide a bool, "%s" given', gettype($limiteCredValor)), __LINE__);
        }
        if (is_null($limiteCredValor) || (is_array($limiteCredValor) && empty($limiteCredValor))) {
            unset($this->LimiteCredValor);
        } else {
            $this->LimiteCredValor = $limiteCredValor;
        }
        return $this;
    }
    /**
     * Get LimiteIdadeSaldo 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 getLimiteIdadeSaldo()
    {
        return isset($this->LimiteIdadeSaldo) ? $this->LimiteIdadeSaldo : null;
    }
    /**
     * Set LimiteIdadeSaldo 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 $limiteIdadeSaldo
     * @return \StructType\OutrosTerceirosERP
     */
    public function setLimiteIdadeSaldo($limiteIdadeSaldo = null)
    {
        // validation for constraint: int
        if (!is_null($limiteIdadeSaldo) && !is_numeric($limiteIdadeSaldo)) {
            throw new \InvalidArgumentException(sprintf('Invalid value, please provide a numeric value, "%s" given', gettype($limiteIdadeSaldo)), __LINE__);
        }
        if (is_null($limiteIdadeSaldo) || (is_array($limiteIdadeSaldo) && empty($limiteIdadeSaldo))) {
            unset($this->LimiteIdadeSaldo);
        } else {
            $this->LimiteIdadeSaldo = $limiteIdadeSaldo;
        }
        return $this;
    }
    /**
     * Get LimiteValorSaldo 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 float|null
     */
    public function getLimiteValorSaldo()
    {
        return isset($this->LimiteValorSaldo) ? $this->LimiteValorSaldo : null;
    }
    /**
     * Set LimiteValorSaldo 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 float $limiteValorSaldo
     * @return \StructType\OutrosTerceirosERP
     */
    public function setLimiteValorSaldo($limiteValorSaldo = null)
    {
        if (is_null($limiteValorSaldo) || (is_array($limiteValorSaldo) && empty($limiteValorSaldo))) {
            unset($this->LimiteValorSaldo);
        } else {
            $this->LimiteValorSaldo = $limiteValorSaldo;
        }
        return $this;
    }
    /**
     * Get Local 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 getLocal()
    {
        return isset($this->Local) ? $this->Local : null;
    }
    /**
     * Set Local 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 $local
     * @return \StructType\OutrosTerceirosERP
     */
    public function setLocal($local = null)
    {
        // validation for constraint: string
        if (!is_null($local) && !is_string($local)) {
            throw new \InvalidArgumentException(sprintf('Invalid value, please provide a string, "%s" given', gettype($local)), __LINE__);
        }
        if (is_null($local) || (is_array($local) && empty($local))) {
            unset($this->Local);
        } else {
            $this->Local = $local;
        }
        return $this;
    }
    /**
     * Get LocalOperacao 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 getLocalOperacao()
    {
        return isset($this->LocalOperacao) ? $this->LocalOperacao : null;
    }
    /**
     * Set LocalOperacao 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 $localOperacao
     * @return \StructType\OutrosTerceirosERP
     */
    public function setLocalOperacao($localOperacao = null)
    {
        // validation for constraint: string
        if (!is_null($localOperacao) && !is_string($localOperacao)) {
            throw new \InvalidArgumentException(sprintf('Invalid value, please provide a string, "%s" given', gettype($localOperacao)), __LINE__);
        }
        if (is_null($localOperacao) || (is_array($localOperacao) && empty($localOperacao))) {
            unset($this->LocalOperacao);
        } else {
            $this->LocalOperacao = $localOperacao;
        }
        return $this;
    }
    /**
     * Get ModoPag 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 getModoPag()
    {
        return isset($this->ModoPag) ? $this->ModoPag : null;
    }
    /**
     * Set ModoPag 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 $modoPag
     * @return \StructType\OutrosTerceirosERP
     */
    public function setModoPag($modoPag = null)
    {
        // validation for constraint: string
        if (!is_null($modoPag) && !is_string($modoPag)) {
            throw new \InvalidArgumentException(sprintf('Invalid value, please provide a string, "%s" given', gettype($modoPag)), __LINE__);
        }
        if (is_null($modoPag) || (is_array($modoPag) && empty($modoPag))) {
            unset($this->ModoPag);
        } else {
            $this->ModoPag = $modoPag;
        }
        return $this;
    }
    /**
     * Get ModoRec 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 getModoRec()
    {
        return isset($this->ModoRec) ? $this->ModoRec : null;
    }
    /**
     * Set ModoRec 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 $modoRec
     * @return \StructType\OutrosTerceirosERP
     */
    public function setModoRec($modoRec = null)
    {
        // validation for constraint: string
        if (!is_null($modoRec) && !is_string($modoRec)) {
            throw new \InvalidArgumentException(sprintf('Invalid value, please provide a string, "%s" given', gettype($modoRec)), __LINE__);
        }
        if (is_null($modoRec) || (is_array($modoRec) && empty($modoRec))) {
            unset($this->ModoRec);
        } else {
            $this->ModoRec = $modoRec;
        }
        return $this;
    }
    /**
     * Get Moeda 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 getMoeda()
    {
        return isset($this->Moeda) ? $this->Moeda : null;
    }
    /**
     * Set Moeda 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 $moeda
     * @return \StructType\OutrosTerceirosERP
     */
    public function setMoeda($moeda = null)
    {
        // validation for constraint: string
        if (!is_null($moeda) && !is_string($moeda)) {
            throw new \InvalidArgumentException(sprintf('Invalid value, please provide a string, "%s" given', gettype($moeda)), __LINE__);
        }
        if (is_null($moeda) || (is_array($moeda) && empty($moeda))) {
            unset($this->Moeda);
        } else {
            $this->Moeda = $moeda;
        }
        return $this;
    }
    /**
     * Get Morada 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 getMorada()
    {
        return isset($this->Morada) ? $this->Morada : null;
    }
    /**
     * Set Morada 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 $morada
     * @return \StructType\OutrosTerceirosERP
     */
    public function setMorada($morada = null)
    {
        // validation for constraint: string
        if (!is_null($morada) && !is_string($morada)) {
            throw new \InvalidArgumentException(sprintf('Invalid value, please provide a string, "%s" given', gettype($morada)), __LINE__);
        }
        if (is_null($morada) || (is_array($morada) && empty($morada))) {
            unset($this->Morada);
        } else {
            $this->Morada = $morada;
        }
        return $this;
    }
    /**
     * Get Morada1 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 getMorada1()
    {
        return isset($this->Morada1) ? $this->Morada1 : null;
    }
    /**
     * Set Morada1 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 $morada1
     * @return \StructType\OutrosTerceirosERP
     */
    public function setMorada1($morada1 = null)
    {
        // validation for constraint: string
        if (!is_null($morada1) && !is_string($morada1)) {
            throw new \InvalidArgumentException(sprintf('Invalid value, please provide a string, "%s" given', gettype($morada1)), __LINE__);
        }
        if (is_null($morada1) || (is_array($morada1) && empty($morada1))) {
            unset($this->Morada1);
        } else {
            $this->Morada1 = $morada1;
        }
        return $this;
    }
    /**
     * Get Morada2 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 getMorada2()
    {
        return isset($this->Morada2) ? $this->Morada2 : null;
    }
    /**
     * Set Morada2 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 $morada2
     * @return \StructType\OutrosTerceirosERP
     */
    public function setMorada2($morada2 = null)
    {
        // validation for constraint: string
        if (!is_null($morada2) && !is_string($morada2)) {
            throw new \InvalidArgumentException(sprintf('Invalid value, please provide a string, "%s" given', gettype($morada2)), __LINE__);
        }
        if (is_null($morada2) || (is_array($morada2) && empty($morada2))) {
            unset($this->Morada2);
        } else {
            $this->Morada2 = $morada2;
        }
        return $this;
    }
    /**
     * Get Nome 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 getNome()
    {
        return isset($this->Nome) ? $this->Nome : null;
    }
    /**
     * Set Nome 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 $nome
     * @return \StructType\OutrosTerceirosERP
     */
    public function setNome($nome = null)
    {
        // validation for constraint: string
        if (!is_null($nome) && !is_string($nome)) {
            throw new \InvalidArgumentException(sprintf('Invalid value, please provide a string, "%s" given', gettype($nome)), __LINE__);
        }
        if (is_null($nome) || (is_array($nome) && empty($nome))) {
            unset($this->Nome);
        } else {
            $this->Nome = $nome;
        }
        return $this;
    }
    /**
     * Get NomeFiscal 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 getNomeFiscal()
    {
        return isset($this->NomeFiscal) ? $this->NomeFiscal : null;
    }
    /**
     * Set NomeFiscal 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 $nomeFiscal
     * @return \StructType\OutrosTerceirosERP
     */
    public function setNomeFiscal($nomeFiscal = null)
    {
        // validation for constraint: string
        if (!is_null($nomeFiscal) && !is_string($nomeFiscal)) {
            throw new \InvalidArgumentException(sprintf('Invalid value, please provide a string, "%s" given', gettype($nomeFiscal)), __LINE__);
        }
        if (is_null($nomeFiscal) || (is_array($nomeFiscal) && empty($nomeFiscal))) {
            unset($this->NomeFiscal);
        } else {
            $this->NomeFiscal = $nomeFiscal;
        }
        return $this;
    }
    /**
     * Get Notas 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 getNotas()
    {
        return isset($this->Notas) ? $this->Notas : null;
    }
    /**
     * Set Notas 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 $notas
     * @return \StructType\OutrosTerceirosERP
     */
    public function setNotas($notas = null)
    {
        // validation for constraint: string
        if (!is_null($notas) && !is_string($notas)) {
            throw new \InvalidArgumentException(sprintf('Invalid value, please provide a string, "%s" given', gettype($notas)), __LINE__);
        }
        if (is_null($notas) || (is_array($notas) && empty($notas))) {
            unset($this->Notas);
        } else {
            $this->Notas = $notas;
        }
        return $this;
    }
    /**
     * Get NumContrib 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 getNumContrib()
    {
        return isset($this->NumContrib) ? $this->NumContrib : null;
    }
    /**
     * Set NumContrib 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 $numContrib
     * @return \StructType\OutrosTerceirosERP
     */
    public function setNumContrib($numContrib = null)
    {
        // validation for constraint: string
        if (!is_null($numContrib) && !is_string($numContrib)) {
            throw new \InvalidArgumentException(sprintf('Invalid value, please provide a string, "%s" given', gettype($numContrib)), __LINE__);
        }
        if (is_null($numContrib) || (is_array($numContrib) && empty($numContrib))) {
            unset($this->NumContrib);
        } else {
            $this->NumContrib = $numContrib;
        }
        return $this;
    }
    /**
     * Get NumDiasRetrocesso 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 getNumDiasRetrocesso()
    {
        return isset($this->NumDiasRetrocesso) ? $this->NumDiasRetrocesso : null;
    }
    /**
     * Set NumDiasRetrocesso 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 $numDiasRetrocesso
     * @return \StructType\OutrosTerceirosERP
     */
    public function setNumDiasRetrocesso($numDiasRetrocesso = null)
    {
        // validation for constraint: string
        if (!is_null($numDiasRetrocesso) && !is_string($numDiasRetrocesso)) {
            throw new \InvalidArgumentException(sprintf('Invalid value, please provide a string, "%s" given', gettype($numDiasRetrocesso)), __LINE__);
        }
        if (is_null($numDiasRetrocesso) || (is_array($numDiasRetrocesso) && empty($numDiasRetrocesso))) {
            unset($this->NumDiasRetrocesso);
        } else {
            $this->NumDiasRetrocesso = $numDiasRetrocesso;
        }
        return $this;
    }
    /**
     * Get NumViasDoc 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 getNumViasDoc()
    {
        return isset($this->NumViasDoc) ? $this->NumViasDoc : null;
    }
    /**
     * Set NumViasDoc 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 $numViasDoc
     * @return \StructType\OutrosTerceirosERP
     */
    public function setNumViasDoc($numViasDoc = null)
    {
        // validation for constraint: int
        if (!is_null($numViasDoc) && !is_numeric($numViasDoc)) {
            throw new \InvalidArgumentException(sprintf('Invalid value, please provide a numeric value, "%s" given', gettype($numViasDoc)), __LINE__);
        }
        if (is_null($numViasDoc) || (is_array($numViasDoc) && empty($numViasDoc))) {
            unset($this->NumViasDoc);
        } else {
            $this->NumViasDoc = $numViasDoc;
        }
        return $this;
    }
    /**
     * Get Pais 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 getPais()
    {
        return isset($this->Pais) ? $this->Pais : null;
    }
    /**
     * Set Pais 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 $pais
     * @return \StructType\OutrosTerceirosERP
     */
    public function setPais($pais = null)
    {
        // validation for constraint: string
        if (!is_null($pais) && !is_string($pais)) {
            throw new \InvalidArgumentException(sprintf('Invalid value, please provide a string, "%s" given', gettype($pais)), __LINE__);
        }
        if (is_null($pais) || (is_array($pais) && empty($pais))) {
            unset($this->Pais);
        } else {
            $this->Pais = $pais;
        }
        return $this;
    }
    /**
     * Get PessoaSingular value
     * @return bool|null
     */
    public function getPessoaSingular()
    {
        return $this->PessoaSingular;
    }
    /**
     * Set PessoaSingular value
     * @param bool $pessoaSingular
     * @return \StructType\OutrosTerceirosERP
     */
    public function setPessoaSingular($pessoaSingular = null)
    {
        // validation for constraint: boolean
        if (!is_null($pessoaSingular) && !is_bool($pessoaSingular)) {
            throw new \InvalidArgumentException(sprintf('Invalid value, please provide a bool, "%s" given', gettype($pessoaSingular)), __LINE__);
        }
        $this->PessoaSingular = $pessoaSingular;
        return $this;
    }
    /**
     * Get PortesLetras 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 float|null
     */
    public function getPortesLetras()
    {
        return isset($this->PortesLetras) ? $this->PortesLetras : null;
    }
    /**
     * Set PortesLetras 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 float $portesLetras
     * @return \StructType\OutrosTerceirosERP
     */
    public function setPortesLetras($portesLetras = null)
    {
        if (is_null($portesLetras) || (is_array($portesLetras) && empty($portesLetras))) {
            unset($this->PortesLetras);
        } else {
            $this->PortesLetras = $portesLetras;
        }
        return $this;
    }
    /**
     * Get Protegida value
     * @return bool|null
     */
    public function getProtegida()
    {
        return $this->Protegida;
    }
    /**
     * Set Protegida value
     * @param bool $protegida
     * @return \StructType\OutrosTerceirosERP
     */
    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 RegimeIvaReembolsos value
     * @return int|null
     */
    public function getRegimeIvaReembolsos()
    {
        return $this->RegimeIvaReembolsos;
    }
    /**
     * Set RegimeIvaReembolsos value
     * @param int $regimeIvaReembolsos
     * @return \StructType\OutrosTerceirosERP
     */
    public function setRegimeIvaReembolsos($regimeIvaReembolsos = null)
    {
        // validation for constraint: int
        if (!is_null($regimeIvaReembolsos) && !is_numeric($regimeIvaReembolsos)) {
            throw new \InvalidArgumentException(sprintf('Invalid value, please provide a numeric value, "%s" given', gettype($regimeIvaReembolsos)), __LINE__);
        }
        $this->RegimeIvaReembolsos = $regimeIvaReembolsos;
        return $this;
    }
    /**
     * Get RubricaPagamentos 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 getRubricaPagamentos()
    {
        return isset($this->RubricaPagamentos) ? $this->RubricaPagamentos : null;
    }
    /**
     * Set RubricaPagamentos 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 $rubricaPagamentos
     * @return \StructType\OutrosTerceirosERP
     */
    public function setRubricaPagamentos($rubricaPagamentos = null)
    {
        // validation for constraint: string
        if (!is_null($rubricaPagamentos) && !is_string($rubricaPagamentos)) {
            throw new \InvalidArgumentException(sprintf('Invalid value, please provide a string, "%s" given', gettype($rubricaPagamentos)), __LINE__);
        }
        if (is_null($rubricaPagamentos) || (is_array($rubricaPagamentos) && empty($rubricaPagamentos))) {
            unset($this->RubricaPagamentos);
        } else {
            $this->RubricaPagamentos = $rubricaPagamentos;
        }
        return $this;
    }
    /**
     * Get RubricaRecebimentos 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 getRubricaRecebimentos()
    {
        return isset($this->RubricaRecebimentos) ? $this->RubricaRecebimentos : null;
    }
    /**
     * Set RubricaRecebimentos 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 $rubricaRecebimentos
     * @return \StructType\OutrosTerceirosERP
     */
    public function setRubricaRecebimentos($rubricaRecebimentos = null)
    {
        // validation for constraint: string
        if (!is_null($rubricaRecebimentos) && !is_string($rubricaRecebimentos)) {
            throw new \InvalidArgumentException(sprintf('Invalid value, please provide a string, "%s" given', gettype($rubricaRecebimentos)), __LINE__);
        }
        if (is_null($rubricaRecebimentos) || (is_array($rubricaRecebimentos) && empty($rubricaRecebimentos))) {
            unset($this->RubricaRecebimentos);
        } else {
            $this->RubricaRecebimentos = $rubricaRecebimentos;
        }
        return $this;
    }
    /**
     * Get SegmentoTerceiro 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 getSegmentoTerceiro()
    {
        return isset($this->SegmentoTerceiro) ? $this->SegmentoTerceiro : null;
    }
    /**
     * Set SegmentoTerceiro 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 $segmentoTerceiro
     * @return \StructType\OutrosTerceirosERP
     */
    public function setSegmentoTerceiro($segmentoTerceiro = null)
    {
        // validation for constraint: string
        if (!is_null($segmentoTerceiro) && !is_string($segmentoTerceiro)) {
            throw new \InvalidArgumentException(sprintf('Invalid value, please provide a string, "%s" given', gettype($segmentoTerceiro)), __LINE__);
        }
        if (is_null($segmentoTerceiro) || (is_array($segmentoTerceiro) && empty($segmentoTerceiro))) {
            unset($this->SegmentoTerceiro);
        } else {
            $this->SegmentoTerceiro = $segmentoTerceiro;
        }
        return $this;
    }
    /**
     * Get SujeitoRecargo 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 getSujeitoRecargo()
    {
        return isset($this->SujeitoRecargo) ? $this->SujeitoRecargo : null;
    }
    /**
     * Set SujeitoRecargo 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 $sujeitoRecargo
     * @return \StructType\OutrosTerceirosERP
     */
    public function setSujeitoRecargo($sujeitoRecargo = null)
    {
        // validation for constraint: boolean
        if (!is_null($sujeitoRecargo) && !is_bool($sujeitoRecargo)) {
            throw new \InvalidArgumentException(sprintf('Invalid value, please provide a bool, "%s" given', gettype($sujeitoRecargo)), __LINE__);
        }
        if (is_null($sujeitoRecargo) || (is_array($sujeitoRecargo) && empty($sujeitoRecargo))) {
            unset($this->SujeitoRecargo);
        } else {
            $this->SujeitoRecargo = $sujeitoRecargo;
        }
        return $this;
    }
    /**
     * Get Tel 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 getTel()
    {
        return isset($this->Tel) ? $this->Tel : null;
    }
    /**
     * Set Tel 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 $tel
     * @return \StructType\OutrosTerceirosERP
     */
    public function setTel($tel = null)
    {
        // validation for constraint: string
        if (!is_null($tel) && !is_string($tel)) {
            throw new \InvalidArgumentException(sprintf('Invalid value, please provide a string, "%s" given', gettype($tel)), __LINE__);
        }
        if (is_null($tel) || (is_array($tel) && empty($tel))) {
            unset($this->Tel);
        } else {
            $this->Tel = $tel;
        }
        return $this;
    }
    /**
     * Get Terceiro 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 getTerceiro()
    {
        return isset($this->Terceiro) ? $this->Terceiro : null;
    }
    /**
     * Set Terceiro 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 $terceiro
     * @return \StructType\OutrosTerceirosERP
     */
    public function setTerceiro($terceiro = null)
    {
        // validation for constraint: string
        if (!is_null($terceiro) && !is_string($terceiro)) {
            throw new \InvalidArgumentException(sprintf('Invalid value, please provide a string, "%s" given', gettype($terceiro)), __LINE__);
        }
        if (is_null($terceiro) || (is_array($terceiro) && empty($terceiro))) {
            unset($this->Terceiro);
        } else {
            $this->Terceiro = $terceiro;
        }
        return $this;
    }
    /**
     * Get TextoExcepcaoRetencao 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 getTextoExcepcaoRetencao()
    {
        return isset($this->TextoExcepcaoRetencao) ? $this->TextoExcepcaoRetencao : null;
    }
    /**
     * Set TextoExcepcaoRetencao 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 $textoExcepcaoRetencao
     * @return \StructType\OutrosTerceirosERP
     */
    public function setTextoExcepcaoRetencao($textoExcepcaoRetencao = null)
    {
        // validation for constraint: string
        if (!is_null($textoExcepcaoRetencao) && !is_string($textoExcepcaoRetencao)) {
            throw new \InvalidArgumentException(sprintf('Invalid value, please provide a string, "%s" given', gettype($textoExcepcaoRetencao)), __LINE__);
        }
        if (is_null($textoExcepcaoRetencao) || (is_array($textoExcepcaoRetencao) && empty($textoExcepcaoRetencao))) {
            unset($this->TextoExcepcaoRetencao);
        } else {
            $this->TextoExcepcaoRetencao = $textoExcepcaoRetencao;
        }
        return $this;
    }
    /**
     * Get TipoEntidade 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 getTipoEntidade()
    {
        return isset($this->TipoEntidade) ? $this->TipoEntidade : null;
    }
    /**
     * Set TipoEntidade 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 $tipoEntidade
     * @return \StructType\OutrosTerceirosERP
     */
    public function setTipoEntidade($tipoEntidade = null)
    {
        // validation for constraint: string
        if (!is_null($tipoEntidade) && !is_string($tipoEntidade)) {
            throw new \InvalidArgumentException(sprintf('Invalid value, please provide a string, "%s" given', gettype($tipoEntidade)), __LINE__);
        }
        if (is_null($tipoEntidade) || (is_array($tipoEntidade) && empty($tipoEntidade))) {
            unset($this->TipoEntidade);
        } else {
            $this->TipoEntidade = $tipoEntidade;
        }
        return $this;
    }
    /**
     * Get TipoRemetente 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 getTipoRemetente()
    {
        return isset($this->TipoRemetente) ? $this->TipoRemetente : null;
    }
    /**
     * Set TipoRemetente 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 $tipoRemetente
     * @return \StructType\OutrosTerceirosERP
     */
    public function setTipoRemetente($tipoRemetente = null)
    {
        // validation for constraint: string
        if (!is_null($tipoRemetente) && !is_string($tipoRemetente)) {
            throw new \InvalidArgumentException(sprintf('Invalid value, please provide a string, "%s" given', gettype($tipoRemetente)), __LINE__);
        }
        if (is_null($tipoRemetente) || (is_array($tipoRemetente) && empty($tipoRemetente))) {
            unset($this->TipoRemetente);
        } else {
            $this->TipoRemetente = $tipoRemetente;
        }
        return $this;
    }
    /**
     * Get TipoRendimento 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 getTipoRendimento()
    {
        return isset($this->TipoRendimento) ? $this->TipoRendimento : null;
    }
    /**
     * Set TipoRendimento 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 $tipoRendimento
     * @return \StructType\OutrosTerceirosERP
     */
    public function setTipoRendimento($tipoRendimento = null)
    {
        // validation for constraint: string
        if (!is_null($tipoRendimento) && !is_string($tipoRendimento)) {
            throw new \InvalidArgumentException(sprintf('Invalid value, please provide a string, "%s" given', gettype($tipoRendimento)), __LINE__);
        }
        if (is_null($tipoRendimento) || (is_array($tipoRendimento) && empty($tipoRendimento))) {
            unset($this->TipoRendimento);
        } else {
            $this->TipoRendimento = $tipoRendimento;
        }
        return $this;
    }
    /**
     * Get TipoTerc 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 getTipoTerc()
    {
        return isset($this->TipoTerc) ? $this->TipoTerc : null;
    }
    /**
     * Set TipoTerc 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 $tipoTerc
     * @return \StructType\OutrosTerceirosERP
     */
    public function setTipoTerc($tipoTerc = null)
    {
        // validation for constraint: string
        if (!is_null($tipoTerc) && !is_string($tipoTerc)) {
            throw new \InvalidArgumentException(sprintf('Invalid value, please provide a string, "%s" given', gettype($tipoTerc)), __LINE__);
        }
        if (is_null($tipoTerc) || (is_array($tipoTerc) && empty($tipoTerc))) {
            unset($this->TipoTerc);
        } else {
            $this->TipoTerc = $tipoTerc;
        }
        return $this;
    }
    /**
     * Get TipoTerceiro 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 getTipoTerceiro()
    {
        return isset($this->TipoTerceiro) ? $this->TipoTerceiro : null;
    }
    /**
     * Set TipoTerceiro 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 $tipoTerceiro
     * @return \StructType\OutrosTerceirosERP
     */
    public function setTipoTerceiro($tipoTerceiro = null)
    {
        // validation for constraint: string
        if (!is_null($tipoTerceiro) && !is_string($tipoTerceiro)) {
            throw new \InvalidArgumentException(sprintf('Invalid value, please provide a string, "%s" given', gettype($tipoTerceiro)), __LINE__);
        }
        if (is_null($tipoTerceiro) || (is_array($tipoTerceiro) && empty($tipoTerceiro))) {
            unset($this->TipoTerceiro);
        } else {
            $this->TipoTerceiro = $tipoTerceiro;
        }
        return $this;
    }
    /**
     * Get TotalDeb 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 float|null
     */
    public function getTotalDeb()
    {
        return isset($this->TotalDeb) ? $this->TotalDeb : null;
    }
    /**
     * Set TotalDeb 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 float $totalDeb
     * @return \StructType\OutrosTerceirosERP
     */
    public function setTotalDeb($totalDeb = null)
    {
        if (is_null($totalDeb) || (is_array($totalDeb) && empty($totalDeb))) {
            unset($this->TotalDeb);
        } else {
            $this->TotalDeb = $totalDeb;
        }
        return $this;
    }
    /**
     * Get TrataIvaCaixa value
     * @return bool|null
     */
    public function getTrataIvaCaixa()
    {
        return $this->TrataIvaCaixa;
    }
    /**
     * Set TrataIvaCaixa value
     * @param bool $trataIvaCaixa
     * @return \StructType\OutrosTerceirosERP
     */
    public function setTrataIvaCaixa($trataIvaCaixa = null)
    {
        // validation for constraint: boolean
        if (!is_null($trataIvaCaixa) && !is_bool($trataIvaCaixa)) {
            throw new \InvalidArgumentException(sprintf('Invalid value, please provide a bool, "%s" given', gettype($trataIvaCaixa)), __LINE__);
        }
        $this->TrataIvaCaixa = $trataIvaCaixa;
        return $this;
    }
    /**
     * Get ValorRetencao 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 float|null
     */
    public function getValorRetencao()
    {
        return isset($this->ValorRetencao) ? $this->ValorRetencao : null;
    }
    /**
     * Set ValorRetencao 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 float $valorRetencao
     * @return \StructType\OutrosTerceirosERP
     */
    public function setValorRetencao($valorRetencao = null)
    {
        if (is_null($valorRetencao) || (is_array($valorRetencao) && empty($valorRetencao))) {
            unset($this->ValorRetencao);
        } else {
            $this->ValorRetencao = $valorRetencao;
        }
        return $this;
    }
    /**
     * Get Vendedor 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 getVendedor()
    {
        return isset($this->Vendedor) ? $this->Vendedor : null;
    }
    /**
     * Set Vendedor 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 $vendedor
     * @return \StructType\OutrosTerceirosERP
     */
    public function setVendedor($vendedor = null)
    {
        // validation for constraint: string
        if (!is_null($vendedor) && !is_string($vendedor)) {
            throw new \InvalidArgumentException(sprintf('Invalid value, please provide a string, "%s" given', gettype($vendedor)), __LINE__);
        }
        if (is_null($vendedor) || (is_array($vendedor) && empty($vendedor))) {
            unset($this->Vendedor);
        } else {
            $this->Vendedor = $vendedor;
        }
        return $this;
    }
    /**
     * Get VersaoCloud 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 getVersaoCloud()
    {
        return isset($this->VersaoCloud) ? $this->VersaoCloud : null;
    }
    /**
     * Set VersaoCloud 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 $versaoCloud
     * @return \StructType\OutrosTerceirosERP
     */
    public function setVersaoCloud($versaoCloud = null)
    {
        // validation for constraint: int
        if (!is_null($versaoCloud) && !is_numeric($versaoCloud)) {
            throw new \InvalidArgumentException(sprintf('Invalid value, please provide a numeric value, "%s" given', gettype($versaoCloud)), __LINE__);
        }
        if (is_null($versaoCloud) || (is_array($versaoCloud) && empty($versaoCloud))) {
            unset($this->VersaoCloud);
        } else {
            $this->VersaoCloud = $versaoCloud;
        }
        return $this;
    }
    /**
     * Get VersaoUltAct value
     * @return string|null
     */
    public function getVersaoUltAct()
    {
        return $this->VersaoUltAct;
    }
    /**
     * Set VersaoUltAct value
     * @param string $versaoUltAct
     * @return \StructType\OutrosTerceirosERP
     */
    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 eGAR_CodigoAPA 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 getEGAR_CodigoAPA()
    {
        return isset($this->eGAR_CodigoAPA) ? $this->eGAR_CodigoAPA : null;
    }
    /**
     * Set eGAR_CodigoAPA 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 $eGAR_CodigoAPA
     * @return \StructType\OutrosTerceirosERP
     */
    public function setEGAR_CodigoAPA($eGAR_CodigoAPA = null)
    {
        // validation for constraint: string
        if (!is_null($eGAR_CodigoAPA) && !is_string($eGAR_CodigoAPA)) {
            throw new \InvalidArgumentException(sprintf('Invalid value, please provide a string, "%s" given', gettype($eGAR_CodigoAPA)), __LINE__);
        }
        if (is_null($eGAR_CodigoAPA) || (is_array($eGAR_CodigoAPA) && empty($eGAR_CodigoAPA))) {
            unset($this->eGAR_CodigoAPA);
        } else {
            $this->eGAR_CodigoAPA = $eGAR_CodigoAPA;
        }
        return $this;
    }
    /**
     * Get eGAR_Isenta value
     * @return bool|null
     */
    public function getEGAR_Isenta()
    {
        return $this->eGAR_Isenta;
    }
    /**
     * Set eGAR_Isenta value
     * @param bool $eGAR_Isenta
     * @return \StructType\OutrosTerceirosERP
     */
    public function setEGAR_Isenta($eGAR_Isenta = null)
    {
        // validation for constraint: boolean
        if (!is_null($eGAR_Isenta) && !is_bool($eGAR_Isenta)) {
            throw new \InvalidArgumentException(sprintf('Invalid value, please provide a bool, "%s" given', gettype($eGAR_Isenta)), __LINE__);
        }
        $this->eGAR_Isenta = $eGAR_Isenta;
        return $this;
    }
    /**
     * Get eGAR_NumPGL 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 getEGAR_NumPGL()
    {
        return isset($this->eGAR_NumPGL) ? $this->eGAR_NumPGL : null;
    }
    /**
     * Set eGAR_NumPGL 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 $eGAR_NumPGL
     * @return \StructType\OutrosTerceirosERP
     */
    public function setEGAR_NumPGL($eGAR_NumPGL = null)
    {
        // validation for constraint: string
        if (!is_null($eGAR_NumPGL) && !is_string($eGAR_NumPGL)) {
            throw new \InvalidArgumentException(sprintf('Invalid value, please provide a string, "%s" given', gettype($eGAR_NumPGL)), __LINE__);
        }
        if (is_null($eGAR_NumPGL) || (is_array($eGAR_NumPGL) && empty($eGAR_NumPGL))) {
            unset($this->eGAR_NumPGL);
        } else {
            $this->eGAR_NumPGL = $eGAR_NumPGL;
        }
        return $this;
    }
    /**
     * Get eGAR_TipoProdutor 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 getEGAR_TipoProdutor()
    {
        return isset($this->eGAR_TipoProdutor) ? $this->eGAR_TipoProdutor : null;
    }
    /**
     * Set eGAR_TipoProdutor 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 $eGAR_TipoProdutor
     * @return \StructType\OutrosTerceirosERP
     */
    public function setEGAR_TipoProdutor($eGAR_TipoProdutor = null)
    {
        // validation for constraint: string
        if (!is_null($eGAR_TipoProdutor) && !is_string($eGAR_TipoProdutor)) {
            throw new \InvalidArgumentException(sprintf('Invalid value, please provide a string, "%s" given', gettype($eGAR_TipoProdutor)), __LINE__);
        }
        if (is_null($eGAR_TipoProdutor) || (is_array($eGAR_TipoProdutor) && empty($eGAR_TipoProdutor))) {
            unset($this->eGAR_TipoProdutor);
        } else {
            $this->eGAR_TipoProdutor = $eGAR_TipoProdutor;
        }
        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\OutrosTerceirosERP
     */
    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__;
    }
}
