<?php

namespace StructType;

use \WsdlToPhp\PackageBase\AbstractStructBase;

/**
 * This class stands for FornecedoresERP StructType
 * Meta informations extracted from the WSDL
 * - nillable: true
 * - type: tns:FornecedoresERP
 * @subpackage Structs
 */
class FornecedoresERP 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 AutoFacturacao
     * Meta informations extracted from the WSDL
     * - minOccurs: 0
     * @var bool
     */
    public $AutoFacturacao;
    /**
     * The B2BArtigosParceiro
     * Meta informations extracted from the WSDL
     * - minOccurs: 0
     * - nillable: true
     * @var string
     */
    public $B2BArtigosParceiro;
    /**
     * 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 B2BUnidadesParceiro
     * Meta informations extracted from the WSDL
     * - minOccurs: 0
     * - nillable: true
     * @var string
     */
    public $B2BUnidadesParceiro;
    /**
     * The B2BUtilArtigosParceiro
     * Meta informations extracted from the WSDL
     * - minOccurs: 0
     * - nillable: true
     * @var bool
     */
    public $B2BUtilArtigosParceiro;
    /**
     * The B2BUtilUnidadesParceiro
     * Meta informations extracted from the WSDL
     * - minOccurs: 0
     * - nillable: true
     * @var bool
     */
    public $B2BUtilUnidadesParceiro;
    /**
     * The CDU_AplicaDescComercIntegracao
     * Meta informations extracted from the WSDL
     * - minOccurs: 0
     * - nillable: true
     * @var bool
     */
    public $CDU_AplicaDescComercIntegracao;
    /**
     * The CDU_Contrato
     * Meta informations extracted from the WSDL
     * - minOccurs: 0
     * - nillable: true
     * @var string
     */
    public $CDU_Contrato;
    /**
     * The CDU_DebitoDireto
     * Meta informations extracted from the WSDL
     * - minOccurs: 0
     * - nillable: true
     * @var bool
     */
    public $CDU_DebitoDireto;
    /**
     * The CDU_Email
     * Meta informations extracted from the WSDL
     * - minOccurs: 0
     * - nillable: true
     * @var string
     */
    public $CDU_Email;
    /**
     * The CDU_ExtensaoFoto
     * Meta informations extracted from the WSDL
     * - minOccurs: 0
     * - nillable: true
     * @var string
     */
    public $CDU_ExtensaoFoto;
    /**
     * The CDU_FacebookToken
     * Meta informations extracted from the WSDL
     * - minOccurs: 0
     * - nillable: true
     * @var string
     */
    public $CDU_FacebookToken;
    /**
     * The CDU_FaturacaoEletronica
     * Meta informations extracted from the WSDL
     * - minOccurs: 0
     * - nillable: true
     * @var bool
     */
    public $CDU_FaturacaoEletronica;
    /**
     * The CDU_Foto
     * Meta informations extracted from the WSDL
     * - minOccurs: 0
     * - nillable: true
     * @var string
     */
    public $CDU_Foto;
    /**
     * The CDU_GoogleToken
     * Meta informations extracted from the WSDL
     * - minOccurs: 0
     * - nillable: true
     * @var string
     */
    public $CDU_GoogleToken;
    /**
     * The CDU_Iban
     * Meta informations extracted from the WSDL
     * - minOccurs: 0
     * - nillable: true
     * @var string
     */
    public $CDU_Iban;
    /**
     * The CDU_IdTerceiro
     * Meta informations extracted from the WSDL
     * - minOccurs: 0
     * - nillable: true
     * @var string
     */
    public $CDU_IdTerceiro;
    /**
     * The CDU_IgnoraDescArtB2B
     * Meta informations extracted from the WSDL
     * - minOccurs: 0
     * - nillable: true
     * @var bool
     */
    public $CDU_IgnoraDescArtB2B;
    /**
     * The CDU_IgnoraElemFin
     * Meta informations extracted from the WSDL
     * - minOccurs: 0
     * - nillable: true
     * @var bool
     */
    public $CDU_IgnoraElemFin;
    /**
     * The CDU_Newsletter
     * Meta informations extracted from the WSDL
     * - minOccurs: 0
     * - nillable: true
     * @var bool
     */
    public $CDU_Newsletter;
    /**
     * The CDU_NomeFoto
     * Meta informations extracted from the WSDL
     * - minOccurs: 0
     * - nillable: true
     * @var string
     */
    public $CDU_NomeFoto;
    /**
     * The CDU_PagamentoSEPA
     * Meta informations extracted from the WSDL
     * - minOccurs: 0
     * - nillable: true
     * @var bool
     */
    public $CDU_PagamentoSEPA;
    /**
     * The CDU_Password
     * Meta informations extracted from the WSDL
     * - minOccurs: 0
     * - nillable: true
     * @var string
     */
    public $CDU_Password;
    /**
     * The CDU_PontosCartao
     * Meta informations extracted from the WSDL
     * - minOccurs: 0
     * - nillable: true
     * @var int
     */
    public $CDU_PontosCartao;
    /**
     * The CDU_Role
     * Meta informations extracted from the WSDL
     * - minOccurs: 0
     * - nillable: true
     * @var string
     */
    public $CDU_Role;
    /**
     * The CDU_Swift
     * Meta informations extracted from the WSDL
     * - minOccurs: 0
     * - nillable: true
     * @var string
     */
    public $CDU_Swift;
    /**
     * The CDU_Telemovel
     * Meta informations extracted from the WSDL
     * - minOccurs: 0
     * - nillable: true
     * @var string
     */
    public $CDU_Telemovel;
    /**
     * The CDU_Username
     * Meta informations extracted from the WSDL
     * - minOccurs: 0
     * - nillable: true
     * @var string
     */
    public $CDU_Username;
    /**
     * The CambioADataDoc
     * Meta informations extracted from the WSDL
     * - minOccurs: 0
     * @var bool
     */
    public $CambioADataDoc;
    /**
     * The CapitalSocial
     * Meta informations extracted from the WSDL
     * - minOccurs: 0
     * - nillable: true
     * @var float
     */
    public $CapitalSocial;
    /**
     * The CodigoGLN
     * Meta informations extracted from the WSDL
     * - minOccurs: 0
     * - nillable: true
     * @var string
     */
    public $CodigoGLN;
    /**
     * The CodigoIEC
     * Meta informations extracted from the WSDL
     * - minOccurs: 0
     * - nillable: true
     * @var string
     */
    public $CodigoIEC;
    /**
     * The CodigoIsencaoIEC
     * Meta informations extracted from the WSDL
     * - minOccurs: 0
     * - nillable: true
     * @var string
     */
    public $CodigoIsencaoIEC;
    /**
     * The CodigoLocal
     * Meta informations extracted from the WSDL
     * - minOccurs: 0
     * - nillable: true
     * @var string
     */
    public $CodigoLocal;
    /**
     * The ComprasNaoConvertidas
     * Meta informations extracted from the WSDL
     * - minOccurs: 0
     * - nillable: true
     * @var float
     */
    public $ComprasNaoConvertidas;
    /**
     * The CondPag
     * Meta informations extracted from the WSDL
     * - minOccurs: 0
     * - nillable: true
     * @var string
     */
    public $CondPag;
    /**
     * The Conservatoria
     * Meta informations extracted from the WSDL
     * - minOccurs: 0
     * - nillable: true
     * @var string
     */
    public $Conservatoria;
    /**
     * 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 CriacaoAutomatica
     * Meta informations extracted from the WSDL
     * - minOccurs: 0
     * - nillable: true
     * @var bool
     */
    public $CriacaoAutomatica;
    /**
     * 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 Desconto
     * Meta informations extracted from the WSDL
     * - minOccurs: 0
     * - nillable: true
     * @var float
     */
    public $Desconto;
    /**
     * The Descricao
     * Meta informations extracted from the WSDL
     * - minOccurs: 0
     * - nillable: true
     * @var string
     */
    public $Descricao;
    /**
     * 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
     * - nillable: true
     * @var float
     */
    public $EncomendasPendentes;
    /**
     * The EnderecoWeb
     * Meta informations extracted from the WSDL
     * - minOccurs: 0
     * - nillable: true
     * @var string
     */
    public $EnderecoWeb;
    /**
     * The ExcluirRecap
     * Meta informations extracted from the WSDL
     * - minOccurs: 0
     * - nillable: true
     * @var bool
     */
    public $ExcluirRecap;
    /**
     * The Fax
     * Meta informations extracted from the WSDL
     * - minOccurs: 0
     * - nillable: true
     * @var string
     */
    public $Fax;
    /**
     * The Fornecedor
     * Meta informations extracted from the WSDL
     * - minOccurs: 0
     * - nillable: true
     * @var string
     */
    public $Fornecedor;
    /**
     * The FornecedorAnulado
     * Meta informations extracted from the WSDL
     * - minOccurs: 0
     * - nillable: true
     * @var bool
     */
    public $FornecedorAnulado;
    /**
     * 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 Idioma
     * Meta informations extracted from the WSDL
     * - minOccurs: 0
     * - nillable: true
     * @var string
     */
    public $Idioma;
    /**
     * The IntrastatFornecedor
     * Meta informations extracted from the WSDL
     * - minOccurs: 0
     * - nillable: true
     * @var bool
     */
    public $IntrastatFornecedor;
    /**
     * The IntrastatPorto
     * Meta informations extracted from the WSDL
     * - minOccurs: 0
     * - nillable: true
     * @var string
     */
    public $IntrastatPorto;
    /**
     * The IsentoIEC
     * Meta informations extracted from the WSDL
     * - minOccurs: 0
     * - nillable: true
     * @var bool
     */
    public $IsentoIEC;
    /**
     * 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 Matricula
     * Meta informations extracted from the WSDL
     * - minOccurs: 0
     * - nillable: true
     * @var string
     */
    public $Matricula;
    /**
     * The ModoExp
     * Meta informations extracted from the WSDL
     * - minOccurs: 0
     * - nillable: true
     * @var string
     */
    public $ModoExp;
    /**
     * 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 PosCustosBalSoc
     * Meta informations extracted from the WSDL
     * - minOccurs: 0
     * - nillable: true
     * @var string
     */
    public $PosCustosBalSoc;
    /**
     * The PrazoEnt
     * Meta informations extracted from the WSDL
     * - minOccurs: 0
     * - nillable: true
     * @var string
     */
    public $PrazoEnt;
    /**
     * The Protegida
     * Meta informations extracted from the WSDL
     * - minOccurs: 0
     * @var bool
     */
    public $Protegida;
    /**
     * The RegimeEspecial
     * Meta informations extracted from the WSDL
     * - minOccurs: 0
     * - nillable: true
     * @var bool
     */
    public $RegimeEspecial;
    /**
     * 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 SenhaSubUtilizadorAT
     * Meta informations extracted from the WSDL
     * - minOccurs: 0
     * - nillable: true
     * @var string
     */
    public $SenhaSubUtilizadorAT;
    /**
     * The SubUtilizadorAT
     * Meta informations extracted from the WSDL
     * - minOccurs: 0
     * - nillable: true
     * @var string
     */
    public $SubUtilizadorAT;
    /**
     * The Tel
     * Meta informations extracted from the WSDL
     * - minOccurs: 0
     * - nillable: true
     * @var string
     */
    public $Tel;
    /**
     * The TextoExcepcaoRetencao
     * Meta informations extracted from the WSDL
     * - minOccurs: 0
     * - nillable: true
     * @var string
     */
    public $TextoExcepcaoRetencao;
    /**
     * The TipoFor
     * Meta informations extracted from the WSDL
     * - minOccurs: 0
     * - nillable: true
     * @var string
     */
    public $TipoFor;
    /**
     * 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 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 UtilizaIdioma
     * Meta informations extracted from the WSDL
     * - minOccurs: 0
     * - nillable: true
     * @var bool
     */
    public $UtilizaIdioma;
    /**
     * The ValorRetencao
     * Meta informations extracted from the WSDL
     * - minOccurs: 0
     * - nillable: true
     * @var float
     */
    public $ValorRetencao;
    /**
     * 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 FornecedoresERP
     * @uses FornecedoresERP::setActividadeEmpresarial()
     * @uses FornecedoresERP::setActualizacaoCloud()
     * @uses FornecedoresERP::setActualizacaoERP()
     * @uses FornecedoresERP::setAutoFacturacao()
     * @uses FornecedoresERP::setB2BArtigosParceiro()
     * @uses FornecedoresERP::setB2BCertificado()
     * @uses FornecedoresERP::setB2BDocDownload()
     * @uses FornecedoresERP::setB2BEnderecoEnvio()
     * @uses FornecedoresERP::setB2BEnderecoMail()
     * @uses FornecedoresERP::setB2BEnvioNaGravacao()
     * @uses FornecedoresERP::setB2BEnvioParceiro()
     * @uses FornecedoresERP::setB2BIgnoraEnvioParceiro()
     * @uses FornecedoresERP::setB2BIgnoraTransaccoes()
     * @uses FornecedoresERP::setB2BTransaccoes()
     * @uses FornecedoresERP::setB2BTrataTrans()
     * @uses FornecedoresERP::setB2BUnidadesParceiro()
     * @uses FornecedoresERP::setB2BUtilArtigosParceiro()
     * @uses FornecedoresERP::setB2BUtilUnidadesParceiro()
     * @uses FornecedoresERP::setCDU_AplicaDescComercIntegracao()
     * @uses FornecedoresERP::setCDU_Contrato()
     * @uses FornecedoresERP::setCDU_DebitoDireto()
     * @uses FornecedoresERP::setCDU_Email()
     * @uses FornecedoresERP::setCDU_ExtensaoFoto()
     * @uses FornecedoresERP::setCDU_FacebookToken()
     * @uses FornecedoresERP::setCDU_FaturacaoEletronica()
     * @uses FornecedoresERP::setCDU_Foto()
     * @uses FornecedoresERP::setCDU_GoogleToken()
     * @uses FornecedoresERP::setCDU_Iban()
     * @uses FornecedoresERP::setCDU_IdTerceiro()
     * @uses FornecedoresERP::setCDU_IgnoraDescArtB2B()
     * @uses FornecedoresERP::setCDU_IgnoraElemFin()
     * @uses FornecedoresERP::setCDU_Newsletter()
     * @uses FornecedoresERP::setCDU_NomeFoto()
     * @uses FornecedoresERP::setCDU_PagamentoSEPA()
     * @uses FornecedoresERP::setCDU_Password()
     * @uses FornecedoresERP::setCDU_PontosCartao()
     * @uses FornecedoresERP::setCDU_Role()
     * @uses FornecedoresERP::setCDU_Swift()
     * @uses FornecedoresERP::setCDU_Telemovel()
     * @uses FornecedoresERP::setCDU_Username()
     * @uses FornecedoresERP::setCambioADataDoc()
     * @uses FornecedoresERP::setCapitalSocial()
     * @uses FornecedoresERP::setCodigoGLN()
     * @uses FornecedoresERP::setCodigoIEC()
     * @uses FornecedoresERP::setCodigoIsencaoIEC()
     * @uses FornecedoresERP::setCodigoLocal()
     * @uses FornecedoresERP::setComprasNaoConvertidas()
     * @uses FornecedoresERP::setCondPag()
     * @uses FornecedoresERP::setConservatoria()
     * @uses FornecedoresERP::setContribuinteNaoResidente()
     * @uses FornecedoresERP::setCp()
     * @uses FornecedoresERP::setCpLoc()
     * @uses FornecedoresERP::setCriacaoAutomatica()
     * @uses FornecedoresERP::setDataCriacao()
     * @uses FornecedoresERP::setDataUltimaActualizacao()
     * @uses FornecedoresERP::setDesconto()
     * @uses FornecedoresERP::setDescricao()
     * @uses FornecedoresERP::setDiaPagamento1()
     * @uses FornecedoresERP::setDiaPagamento2()
     * @uses FornecedoresERP::setDiaPagamento3()
     * @uses FornecedoresERP::setDistrito()
     * @uses FornecedoresERP::setEfectuaOutrasRetencoes()
     * @uses FornecedoresERP::setEfectuaRetencao()
     * @uses FornecedoresERP::setEncomendasPendentes()
     * @uses FornecedoresERP::setEnderecoWeb()
     * @uses FornecedoresERP::setExcluirRecap()
     * @uses FornecedoresERP::setFax()
     * @uses FornecedoresERP::setFornecedor()
     * @uses FornecedoresERP::setFornecedorAnulado()
     * @uses FornecedoresERP::setGestaoDiasPag()
     * @uses FornecedoresERP::setIDB2BFormato()
     * @uses FornecedoresERP::setIdGDOC()
     * @uses FornecedoresERP::setIdioma()
     * @uses FornecedoresERP::setIntrastatFornecedor()
     * @uses FornecedoresERP::setIntrastatPorto()
     * @uses FornecedoresERP::setIsentoIEC()
     * @uses FornecedoresERP::setLimiteCred()
     * @uses FornecedoresERP::setLimiteCredIdade()
     * @uses FornecedoresERP::setLimiteCredValor()
     * @uses FornecedoresERP::setLimiteIdadeSaldo()
     * @uses FornecedoresERP::setLimiteValorSaldo()
     * @uses FornecedoresERP::setLocal()
     * @uses FornecedoresERP::setLocalOperacao()
     * @uses FornecedoresERP::setMatricula()
     * @uses FornecedoresERP::setModoExp()
     * @uses FornecedoresERP::setModoPag()
     * @uses FornecedoresERP::setModoRec()
     * @uses FornecedoresERP::setMoeda()
     * @uses FornecedoresERP::setMorada()
     * @uses FornecedoresERP::setMorada1()
     * @uses FornecedoresERP::setMorada2()
     * @uses FornecedoresERP::setNome()
     * @uses FornecedoresERP::setNomeFiscal()
     * @uses FornecedoresERP::setNotas()
     * @uses FornecedoresERP::setNumContrib()
     * @uses FornecedoresERP::setNumDiasRetrocesso()
     * @uses FornecedoresERP::setNumViasDoc()
     * @uses FornecedoresERP::setPais()
     * @uses FornecedoresERP::setPessoaSingular()
     * @uses FornecedoresERP::setPosCustosBalSoc()
     * @uses FornecedoresERP::setPrazoEnt()
     * @uses FornecedoresERP::setProtegida()
     * @uses FornecedoresERP::setRegimeEspecial()
     * @uses FornecedoresERP::setRegimeIvaReembolsos()
     * @uses FornecedoresERP::setRubricaPagamentos()
     * @uses FornecedoresERP::setRubricaRecebimentos()
     * @uses FornecedoresERP::setSegmentoTerceiro()
     * @uses FornecedoresERP::setSenhaSubUtilizadorAT()
     * @uses FornecedoresERP::setSubUtilizadorAT()
     * @uses FornecedoresERP::setTel()
     * @uses FornecedoresERP::setTextoExcepcaoRetencao()
     * @uses FornecedoresERP::setTipoFor()
     * @uses FornecedoresERP::setTipoRemetente()
     * @uses FornecedoresERP::setTipoRendimento()
     * @uses FornecedoresERP::setTipoTerceiro()
     * @uses FornecedoresERP::setTotalDeb()
     * @uses FornecedoresERP::setTrataIvaCaixa()
     * @uses FornecedoresERP::setUtilizaIdioma()
     * @uses FornecedoresERP::setValorRetencao()
     * @uses FornecedoresERP::setVersaoCloud()
     * @uses FornecedoresERP::setVersaoUltAct()
     * @uses FornecedoresERP::setEGAR_CodigoAPA()
     * @uses FornecedoresERP::setEGAR_Isenta()
     * @uses FornecedoresERP::setEGAR_NumPGL()
     * @uses FornecedoresERP::setEGAR_TipoProdutor()
     * @param bool $actividadeEmpresarial
     * @param string $actualizacaoCloud
     * @param string $actualizacaoERP
     * @param bool $autoFacturacao
     * @param string $b2BArtigosParceiro
     * @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 string $b2BUnidadesParceiro
     * @param bool $b2BUtilArtigosParceiro
     * @param bool $b2BUtilUnidadesParceiro
     * @param bool $cDU_AplicaDescComercIntegracao
     * @param string $cDU_Contrato
     * @param bool $cDU_DebitoDireto
     * @param string $cDU_Email
     * @param string $cDU_ExtensaoFoto
     * @param string $cDU_FacebookToken
     * @param bool $cDU_FaturacaoEletronica
     * @param string $cDU_Foto
     * @param string $cDU_GoogleToken
     * @param string $cDU_Iban
     * @param string $cDU_IdTerceiro
     * @param bool $cDU_IgnoraDescArtB2B
     * @param bool $cDU_IgnoraElemFin
     * @param bool $cDU_Newsletter
     * @param string $cDU_NomeFoto
     * @param bool $cDU_PagamentoSEPA
     * @param string $cDU_Password
     * @param int $cDU_PontosCartao
     * @param string $cDU_Role
     * @param string $cDU_Swift
     * @param string $cDU_Telemovel
     * @param string $cDU_Username
     * @param bool $cambioADataDoc
     * @param float $capitalSocial
     * @param string $codigoGLN
     * @param string $codigoIEC
     * @param string $codigoIsencaoIEC
     * @param string $codigoLocal
     * @param float $comprasNaoConvertidas
     * @param string $condPag
     * @param string $conservatoria
     * @param string $contribuinteNaoResidente
     * @param string $cp
     * @param string $cpLoc
     * @param bool $criacaoAutomatica
     * @param string $dataCriacao
     * @param string $dataUltimaActualizacao
     * @param float $desconto
     * @param string $descricao
     * @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 $excluirRecap
     * @param string $fax
     * @param string $fornecedor
     * @param bool $fornecedorAnulado
     * @param bool $gestaoDiasPag
     * @param string $iDB2BFormato
     * @param string $idGDOC
     * @param string $idioma
     * @param bool $intrastatFornecedor
     * @param string $intrastatPorto
     * @param bool $isentoIEC
     * @param float $limiteCred
     * @param bool $limiteCredIdade
     * @param bool $limiteCredValor
     * @param int $limiteIdadeSaldo
     * @param float $limiteValorSaldo
     * @param string $local
     * @param string $localOperacao
     * @param string $matricula
     * @param string $modoExp
     * @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 string $posCustosBalSoc
     * @param string $prazoEnt
     * @param bool $protegida
     * @param bool $regimeEspecial
     * @param int $regimeIvaReembolsos
     * @param string $rubricaPagamentos
     * @param string $rubricaRecebimentos
     * @param string $segmentoTerceiro
     * @param string $senhaSubUtilizadorAT
     * @param string $subUtilizadorAT
     * @param string $tel
     * @param string $textoExcepcaoRetencao
     * @param string $tipoFor
     * @param string $tipoRemetente
     * @param string $tipoRendimento
     * @param string $tipoTerceiro
     * @param float $totalDeb
     * @param bool $trataIvaCaixa
     * @param bool $utilizaIdioma
     * @param float $valorRetencao
     * @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, $autoFacturacao = null, $b2BArtigosParceiro = null, $b2BCertificado = null, $b2BDocDownload = null, $b2BEnderecoEnvio = null, $b2BEnderecoMail = null, $b2BEnvioNaGravacao = null, $b2BEnvioParceiro = null, $b2BIgnoraEnvioParceiro = null, $b2BIgnoraTransaccoes = null, $b2BTransaccoes = null, $b2BTrataTrans = null, $b2BUnidadesParceiro = null, $b2BUtilArtigosParceiro = null, $b2BUtilUnidadesParceiro = null, $cDU_AplicaDescComercIntegracao = null, $cDU_Contrato = null, $cDU_DebitoDireto = null, $cDU_Email = null, $cDU_ExtensaoFoto = null, $cDU_FacebookToken = null, $cDU_FaturacaoEletronica = null, $cDU_Foto = null, $cDU_GoogleToken = null, $cDU_Iban = null, $cDU_IdTerceiro = null, $cDU_IgnoraDescArtB2B = null, $cDU_IgnoraElemFin = null, $cDU_Newsletter = null, $cDU_NomeFoto = null, $cDU_PagamentoSEPA = null, $cDU_Password = null, $cDU_PontosCartao = null, $cDU_Role = null, $cDU_Swift = null, $cDU_Telemovel = null, $cDU_Username = null, $cambioADataDoc = null, $capitalSocial = null, $codigoGLN = null, $codigoIEC = null, $codigoIsencaoIEC = null, $codigoLocal = null, $comprasNaoConvertidas = null, $condPag = null, $conservatoria = null, $contribuinteNaoResidente = null, $cp = null, $cpLoc = null, $criacaoAutomatica = null, $dataCriacao = null, $dataUltimaActualizacao = null, $desconto = null, $descricao = null, $diaPagamento1 = null, $diaPagamento2 = null, $diaPagamento3 = null, $distrito = null, $efectuaOutrasRetencoes = null, $efectuaRetencao = null, $encomendasPendentes = null, $enderecoWeb = null, $excluirRecap = null, $fax = null, $fornecedor = null, $fornecedorAnulado = null, $gestaoDiasPag = null, $iDB2BFormato = null, $idGDOC = null, $idioma = null, $intrastatFornecedor = null, $intrastatPorto = null, $isentoIEC = null, $limiteCred = null, $limiteCredIdade = null, $limiteCredValor = null, $limiteIdadeSaldo = null, $limiteValorSaldo = null, $local = null, $localOperacao = null, $matricula = null, $modoExp = 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, $posCustosBalSoc = null, $prazoEnt = null, $protegida = null, $regimeEspecial = null, $regimeIvaReembolsos = null, $rubricaPagamentos = null, $rubricaRecebimentos = null, $segmentoTerceiro = null, $senhaSubUtilizadorAT = null, $subUtilizadorAT = null, $tel = null, $textoExcepcaoRetencao = null, $tipoFor = null, $tipoRemetente = null, $tipoRendimento = null, $tipoTerceiro = null, $totalDeb = null, $trataIvaCaixa = null, $utilizaIdioma = null, $valorRetencao = null, $versaoCloud = null, $versaoUltAct = null, $eGAR_CodigoAPA = null, $eGAR_Isenta = null, $eGAR_NumPGL = null, $eGAR_TipoProdutor = null)
    {
        $this
            ->setActividadeEmpresarial($actividadeEmpresarial)
            ->setActualizacaoCloud($actualizacaoCloud)
            ->setActualizacaoERP($actualizacaoERP)
            ->setAutoFacturacao($autoFacturacao)
            ->setB2BArtigosParceiro($b2BArtigosParceiro)
            ->setB2BCertificado($b2BCertificado)
            ->setB2BDocDownload($b2BDocDownload)
            ->setB2BEnderecoEnvio($b2BEnderecoEnvio)
            ->setB2BEnderecoMail($b2BEnderecoMail)
            ->setB2BEnvioNaGravacao($b2BEnvioNaGravacao)
            ->setB2BEnvioParceiro($b2BEnvioParceiro)
            ->setB2BIgnoraEnvioParceiro($b2BIgnoraEnvioParceiro)
            ->setB2BIgnoraTransaccoes($b2BIgnoraTransaccoes)
            ->setB2BTransaccoes($b2BTransaccoes)
            ->setB2BTrataTrans($b2BTrataTrans)
            ->setB2BUnidadesParceiro($b2BUnidadesParceiro)
            ->setB2BUtilArtigosParceiro($b2BUtilArtigosParceiro)
            ->setB2BUtilUnidadesParceiro($b2BUtilUnidadesParceiro)
            ->setCDU_AplicaDescComercIntegracao($cDU_AplicaDescComercIntegracao)
            ->setCDU_Contrato($cDU_Contrato)
            ->setCDU_DebitoDireto($cDU_DebitoDireto)
            ->setCDU_Email($cDU_Email)
            ->setCDU_ExtensaoFoto($cDU_ExtensaoFoto)
            ->setCDU_FacebookToken($cDU_FacebookToken)
            ->setCDU_FaturacaoEletronica($cDU_FaturacaoEletronica)
            ->setCDU_Foto($cDU_Foto)
            ->setCDU_GoogleToken($cDU_GoogleToken)
            ->setCDU_Iban($cDU_Iban)
            ->setCDU_IdTerceiro($cDU_IdTerceiro)
            ->setCDU_IgnoraDescArtB2B($cDU_IgnoraDescArtB2B)
            ->setCDU_IgnoraElemFin($cDU_IgnoraElemFin)
            ->setCDU_Newsletter($cDU_Newsletter)
            ->setCDU_NomeFoto($cDU_NomeFoto)
            ->setCDU_PagamentoSEPA($cDU_PagamentoSEPA)
            ->setCDU_Password($cDU_Password)
            ->setCDU_PontosCartao($cDU_PontosCartao)
            ->setCDU_Role($cDU_Role)
            ->setCDU_Swift($cDU_Swift)
            ->setCDU_Telemovel($cDU_Telemovel)
            ->setCDU_Username($cDU_Username)
            ->setCambioADataDoc($cambioADataDoc)
            ->setCapitalSocial($capitalSocial)
            ->setCodigoGLN($codigoGLN)
            ->setCodigoIEC($codigoIEC)
            ->setCodigoIsencaoIEC($codigoIsencaoIEC)
            ->setCodigoLocal($codigoLocal)
            ->setComprasNaoConvertidas($comprasNaoConvertidas)
            ->setCondPag($condPag)
            ->setConservatoria($conservatoria)
            ->setContribuinteNaoResidente($contribuinteNaoResidente)
            ->setCp($cp)
            ->setCpLoc($cpLoc)
            ->setCriacaoAutomatica($criacaoAutomatica)
            ->setDataCriacao($dataCriacao)
            ->setDataUltimaActualizacao($dataUltimaActualizacao)
            ->setDesconto($desconto)
            ->setDescricao($descricao)
            ->setDiaPagamento1($diaPagamento1)
            ->setDiaPagamento2($diaPagamento2)
            ->setDiaPagamento3($diaPagamento3)
            ->setDistrito($distrito)
            ->setEfectuaOutrasRetencoes($efectuaOutrasRetencoes)
            ->setEfectuaRetencao($efectuaRetencao)
            ->setEncomendasPendentes($encomendasPendentes)
            ->setEnderecoWeb($enderecoWeb)
            ->setExcluirRecap($excluirRecap)
            ->setFax($fax)
            ->setFornecedor($fornecedor)
            ->setFornecedorAnulado($fornecedorAnulado)
            ->setGestaoDiasPag($gestaoDiasPag)
            ->setIDB2BFormato($iDB2BFormato)
            ->setIdGDOC($idGDOC)
            ->setIdioma($idioma)
            ->setIntrastatFornecedor($intrastatFornecedor)
            ->setIntrastatPorto($intrastatPorto)
            ->setIsentoIEC($isentoIEC)
            ->setLimiteCred($limiteCred)
            ->setLimiteCredIdade($limiteCredIdade)
            ->setLimiteCredValor($limiteCredValor)
            ->setLimiteIdadeSaldo($limiteIdadeSaldo)
            ->setLimiteValorSaldo($limiteValorSaldo)
            ->setLocal($local)
            ->setLocalOperacao($localOperacao)
            ->setMatricula($matricula)
            ->setModoExp($modoExp)
            ->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)
            ->setPosCustosBalSoc($posCustosBalSoc)
            ->setPrazoEnt($prazoEnt)
            ->setProtegida($protegida)
            ->setRegimeEspecial($regimeEspecial)
            ->setRegimeIvaReembolsos($regimeIvaReembolsos)
            ->setRubricaPagamentos($rubricaPagamentos)
            ->setRubricaRecebimentos($rubricaRecebimentos)
            ->setSegmentoTerceiro($segmentoTerceiro)
            ->setSenhaSubUtilizadorAT($senhaSubUtilizadorAT)
            ->setSubUtilizadorAT($subUtilizadorAT)
            ->setTel($tel)
            ->setTextoExcepcaoRetencao($textoExcepcaoRetencao)
            ->setTipoFor($tipoFor)
            ->setTipoRemetente($tipoRemetente)
            ->setTipoRendimento($tipoRendimento)
            ->setTipoTerceiro($tipoTerceiro)
            ->setTotalDeb($totalDeb)
            ->setTrataIvaCaixa($trataIvaCaixa)
            ->setUtilizaIdioma($utilizaIdioma)
            ->setValorRetencao($valorRetencao)
            ->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\FornecedoresERP
     */
    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\FornecedoresERP
     */
    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\FornecedoresERP
     */
    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 AutoFacturacao value
     * @return bool|null
     */
    public function getAutoFacturacao()
    {
        return $this->AutoFacturacao;
    }
    /**
     * Set AutoFacturacao value
     * @param bool $autoFacturacao
     * @return \StructType\FornecedoresERP
     */
    public function setAutoFacturacao($autoFacturacao = null)
    {
        // validation for constraint: boolean
        if (!is_null($autoFacturacao) && !is_bool($autoFacturacao)) {
            throw new \InvalidArgumentException(sprintf('Invalid value, please provide a bool, "%s" given', gettype($autoFacturacao)), __LINE__);
        }
        $this->AutoFacturacao = $autoFacturacao;
        return $this;
    }
    /**
     * Get B2BArtigosParceiro 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 getB2BArtigosParceiro()
    {
        return isset($this->B2BArtigosParceiro) ? $this->B2BArtigosParceiro : null;
    }
    /**
     * Set B2BArtigosParceiro 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 $b2BArtigosParceiro
     * @return \StructType\FornecedoresERP
     */
    public function setB2BArtigosParceiro($b2BArtigosParceiro = null)
    {
        // validation for constraint: string
        if (!is_null($b2BArtigosParceiro) && !is_string($b2BArtigosParceiro)) {
            throw new \InvalidArgumentException(sprintf('Invalid value, please provide a string, "%s" given', gettype($b2BArtigosParceiro)), __LINE__);
        }
        if (is_null($b2BArtigosParceiro) || (is_array($b2BArtigosParceiro) && empty($b2BArtigosParceiro))) {
            unset($this->B2BArtigosParceiro);
        } else {
            $this->B2BArtigosParceiro = $b2BArtigosParceiro;
        }
        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\FornecedoresERP
     */
    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\FornecedoresERP
     */
    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\FornecedoresERP
     */
    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\FornecedoresERP
     */
    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\FornecedoresERP
     */
    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\FornecedoresERP
     */
    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\FornecedoresERP
     */
    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\FornecedoresERP
     */
    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\FornecedoresERP
     */
    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\FornecedoresERP
     */
    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 B2BUnidadesParceiro 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 getB2BUnidadesParceiro()
    {
        return isset($this->B2BUnidadesParceiro) ? $this->B2BUnidadesParceiro : null;
    }
    /**
     * Set B2BUnidadesParceiro 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 $b2BUnidadesParceiro
     * @return \StructType\FornecedoresERP
     */
    public function setB2BUnidadesParceiro($b2BUnidadesParceiro = null)
    {
        // validation for constraint: string
        if (!is_null($b2BUnidadesParceiro) && !is_string($b2BUnidadesParceiro)) {
            throw new \InvalidArgumentException(sprintf('Invalid value, please provide a string, "%s" given', gettype($b2BUnidadesParceiro)), __LINE__);
        }
        if (is_null($b2BUnidadesParceiro) || (is_array($b2BUnidadesParceiro) && empty($b2BUnidadesParceiro))) {
            unset($this->B2BUnidadesParceiro);
        } else {
            $this->B2BUnidadesParceiro = $b2BUnidadesParceiro;
        }
        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\FornecedoresERP
     */
    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 B2BUtilUnidadesParceiro 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 getB2BUtilUnidadesParceiro()
    {
        return isset($this->B2BUtilUnidadesParceiro) ? $this->B2BUtilUnidadesParceiro : null;
    }
    /**
     * Set B2BUtilUnidadesParceiro 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 $b2BUtilUnidadesParceiro
     * @return \StructType\FornecedoresERP
     */
    public function setB2BUtilUnidadesParceiro($b2BUtilUnidadesParceiro = null)
    {
        // validation for constraint: boolean
        if (!is_null($b2BUtilUnidadesParceiro) && !is_bool($b2BUtilUnidadesParceiro)) {
            throw new \InvalidArgumentException(sprintf('Invalid value, please provide a bool, "%s" given', gettype($b2BUtilUnidadesParceiro)), __LINE__);
        }
        if (is_null($b2BUtilUnidadesParceiro) || (is_array($b2BUtilUnidadesParceiro) && empty($b2BUtilUnidadesParceiro))) {
            unset($this->B2BUtilUnidadesParceiro);
        } else {
            $this->B2BUtilUnidadesParceiro = $b2BUtilUnidadesParceiro;
        }
        return $this;
    }
    /**
     * Get CDU_AplicaDescComercIntegracao 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 getCDU_AplicaDescComercIntegracao()
    {
        return isset($this->CDU_AplicaDescComercIntegracao) ? $this->CDU_AplicaDescComercIntegracao : null;
    }
    /**
     * Set CDU_AplicaDescComercIntegracao 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 $cDU_AplicaDescComercIntegracao
     * @return \StructType\FornecedoresERP
     */
    public function setCDU_AplicaDescComercIntegracao($cDU_AplicaDescComercIntegracao = null)
    {
        // validation for constraint: boolean
        if (!is_null($cDU_AplicaDescComercIntegracao) && !is_bool($cDU_AplicaDescComercIntegracao)) {
            throw new \InvalidArgumentException(sprintf('Invalid value, please provide a bool, "%s" given', gettype($cDU_AplicaDescComercIntegracao)), __LINE__);
        }
        if (is_null($cDU_AplicaDescComercIntegracao) || (is_array($cDU_AplicaDescComercIntegracao) && empty($cDU_AplicaDescComercIntegracao))) {
            unset($this->CDU_AplicaDescComercIntegracao);
        } else {
            $this->CDU_AplicaDescComercIntegracao = $cDU_AplicaDescComercIntegracao;
        }
        return $this;
    }
    /**
     * Get CDU_Contrato 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_Contrato()
    {
        return isset($this->CDU_Contrato) ? $this->CDU_Contrato : null;
    }
    /**
     * Set CDU_Contrato 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_Contrato
     * @return \StructType\FornecedoresERP
     */
    public function setCDU_Contrato($cDU_Contrato = null)
    {
        // validation for constraint: string
        if (!is_null($cDU_Contrato) && !is_string($cDU_Contrato)) {
            throw new \InvalidArgumentException(sprintf('Invalid value, please provide a string, "%s" given', gettype($cDU_Contrato)), __LINE__);
        }
        if (is_null($cDU_Contrato) || (is_array($cDU_Contrato) && empty($cDU_Contrato))) {
            unset($this->CDU_Contrato);
        } else {
            $this->CDU_Contrato = $cDU_Contrato;
        }
        return $this;
    }
    /**
     * Get CDU_DebitoDireto 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 getCDU_DebitoDireto()
    {
        return isset($this->CDU_DebitoDireto) ? $this->CDU_DebitoDireto : null;
    }
    /**
     * Set CDU_DebitoDireto 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 $cDU_DebitoDireto
     * @return \StructType\FornecedoresERP
     */
    public function setCDU_DebitoDireto($cDU_DebitoDireto = null)
    {
        // validation for constraint: boolean
        if (!is_null($cDU_DebitoDireto) && !is_bool($cDU_DebitoDireto)) {
            throw new \InvalidArgumentException(sprintf('Invalid value, please provide a bool, "%s" given', gettype($cDU_DebitoDireto)), __LINE__);
        }
        if (is_null($cDU_DebitoDireto) || (is_array($cDU_DebitoDireto) && empty($cDU_DebitoDireto))) {
            unset($this->CDU_DebitoDireto);
        } else {
            $this->CDU_DebitoDireto = $cDU_DebitoDireto;
        }
        return $this;
    }
    /**
     * Get CDU_Email 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_Email()
    {
        return isset($this->CDU_Email) ? $this->CDU_Email : null;
    }
    /**
     * Set CDU_Email 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_Email
     * @return \StructType\FornecedoresERP
     */
    public function setCDU_Email($cDU_Email = null)
    {
        // validation for constraint: string
        if (!is_null($cDU_Email) && !is_string($cDU_Email)) {
            throw new \InvalidArgumentException(sprintf('Invalid value, please provide a string, "%s" given', gettype($cDU_Email)), __LINE__);
        }
        if (is_null($cDU_Email) || (is_array($cDU_Email) && empty($cDU_Email))) {
            unset($this->CDU_Email);
        } else {
            $this->CDU_Email = $cDU_Email;
        }
        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\FornecedoresERP
     */
    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_FacebookToken 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_FacebookToken()
    {
        return isset($this->CDU_FacebookToken) ? $this->CDU_FacebookToken : null;
    }
    /**
     * Set CDU_FacebookToken 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_FacebookToken
     * @return \StructType\FornecedoresERP
     */
    public function setCDU_FacebookToken($cDU_FacebookToken = null)
    {
        // validation for constraint: string
        if (!is_null($cDU_FacebookToken) && !is_string($cDU_FacebookToken)) {
            throw new \InvalidArgumentException(sprintf('Invalid value, please provide a string, "%s" given', gettype($cDU_FacebookToken)), __LINE__);
        }
        if (is_null($cDU_FacebookToken) || (is_array($cDU_FacebookToken) && empty($cDU_FacebookToken))) {
            unset($this->CDU_FacebookToken);
        } else {
            $this->CDU_FacebookToken = $cDU_FacebookToken;
        }
        return $this;
    }
    /**
     * Get CDU_FaturacaoEletronica 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 getCDU_FaturacaoEletronica()
    {
        return isset($this->CDU_FaturacaoEletronica) ? $this->CDU_FaturacaoEletronica : null;
    }
    /**
     * Set CDU_FaturacaoEletronica 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 $cDU_FaturacaoEletronica
     * @return \StructType\FornecedoresERP
     */
    public function setCDU_FaturacaoEletronica($cDU_FaturacaoEletronica = null)
    {
        // validation for constraint: boolean
        if (!is_null($cDU_FaturacaoEletronica) && !is_bool($cDU_FaturacaoEletronica)) {
            throw new \InvalidArgumentException(sprintf('Invalid value, please provide a bool, "%s" given', gettype($cDU_FaturacaoEletronica)), __LINE__);
        }
        if (is_null($cDU_FaturacaoEletronica) || (is_array($cDU_FaturacaoEletronica) && empty($cDU_FaturacaoEletronica))) {
            unset($this->CDU_FaturacaoEletronica);
        } else {
            $this->CDU_FaturacaoEletronica = $cDU_FaturacaoEletronica;
        }
        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\FornecedoresERP
     */
    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_GoogleToken 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_GoogleToken()
    {
        return isset($this->CDU_GoogleToken) ? $this->CDU_GoogleToken : null;
    }
    /**
     * Set CDU_GoogleToken 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_GoogleToken
     * @return \StructType\FornecedoresERP
     */
    public function setCDU_GoogleToken($cDU_GoogleToken = null)
    {
        // validation for constraint: string
        if (!is_null($cDU_GoogleToken) && !is_string($cDU_GoogleToken)) {
            throw new \InvalidArgumentException(sprintf('Invalid value, please provide a string, "%s" given', gettype($cDU_GoogleToken)), __LINE__);
        }
        if (is_null($cDU_GoogleToken) || (is_array($cDU_GoogleToken) && empty($cDU_GoogleToken))) {
            unset($this->CDU_GoogleToken);
        } else {
            $this->CDU_GoogleToken = $cDU_GoogleToken;
        }
        return $this;
    }
    /**
     * Get CDU_Iban 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_Iban()
    {
        return isset($this->CDU_Iban) ? $this->CDU_Iban : null;
    }
    /**
     * Set CDU_Iban 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_Iban
     * @return \StructType\FornecedoresERP
     */
    public function setCDU_Iban($cDU_Iban = null)
    {
        // validation for constraint: string
        if (!is_null($cDU_Iban) && !is_string($cDU_Iban)) {
            throw new \InvalidArgumentException(sprintf('Invalid value, please provide a string, "%s" given', gettype($cDU_Iban)), __LINE__);
        }
        if (is_null($cDU_Iban) || (is_array($cDU_Iban) && empty($cDU_Iban))) {
            unset($this->CDU_Iban);
        } else {
            $this->CDU_Iban = $cDU_Iban;
        }
        return $this;
    }
    /**
     * Get CDU_IdTerceiro 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_IdTerceiro()
    {
        return isset($this->CDU_IdTerceiro) ? $this->CDU_IdTerceiro : null;
    }
    /**
     * Set CDU_IdTerceiro 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_IdTerceiro
     * @return \StructType\FornecedoresERP
     */
    public function setCDU_IdTerceiro($cDU_IdTerceiro = null)
    {
        // validation for constraint: string
        if (!is_null($cDU_IdTerceiro) && !is_string($cDU_IdTerceiro)) {
            throw new \InvalidArgumentException(sprintf('Invalid value, please provide a string, "%s" given', gettype($cDU_IdTerceiro)), __LINE__);
        }
        if (is_null($cDU_IdTerceiro) || (is_array($cDU_IdTerceiro) && empty($cDU_IdTerceiro))) {
            unset($this->CDU_IdTerceiro);
        } else {
            $this->CDU_IdTerceiro = $cDU_IdTerceiro;
        }
        return $this;
    }
    /**
     * Get CDU_IgnoraDescArtB2B 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 getCDU_IgnoraDescArtB2B()
    {
        return isset($this->CDU_IgnoraDescArtB2B) ? $this->CDU_IgnoraDescArtB2B : null;
    }
    /**
     * Set CDU_IgnoraDescArtB2B 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 $cDU_IgnoraDescArtB2B
     * @return \StructType\FornecedoresERP
     */
    public function setCDU_IgnoraDescArtB2B($cDU_IgnoraDescArtB2B = null)
    {
        // validation for constraint: boolean
        if (!is_null($cDU_IgnoraDescArtB2B) && !is_bool($cDU_IgnoraDescArtB2B)) {
            throw new \InvalidArgumentException(sprintf('Invalid value, please provide a bool, "%s" given', gettype($cDU_IgnoraDescArtB2B)), __LINE__);
        }
        if (is_null($cDU_IgnoraDescArtB2B) || (is_array($cDU_IgnoraDescArtB2B) && empty($cDU_IgnoraDescArtB2B))) {
            unset($this->CDU_IgnoraDescArtB2B);
        } else {
            $this->CDU_IgnoraDescArtB2B = $cDU_IgnoraDescArtB2B;
        }
        return $this;
    }
    /**
     * Get CDU_IgnoraElemFin 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 getCDU_IgnoraElemFin()
    {
        return isset($this->CDU_IgnoraElemFin) ? $this->CDU_IgnoraElemFin : null;
    }
    /**
     * Set CDU_IgnoraElemFin 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 $cDU_IgnoraElemFin
     * @return \StructType\FornecedoresERP
     */
    public function setCDU_IgnoraElemFin($cDU_IgnoraElemFin = null)
    {
        // validation for constraint: boolean
        if (!is_null($cDU_IgnoraElemFin) && !is_bool($cDU_IgnoraElemFin)) {
            throw new \InvalidArgumentException(sprintf('Invalid value, please provide a bool, "%s" given', gettype($cDU_IgnoraElemFin)), __LINE__);
        }
        if (is_null($cDU_IgnoraElemFin) || (is_array($cDU_IgnoraElemFin) && empty($cDU_IgnoraElemFin))) {
            unset($this->CDU_IgnoraElemFin);
        } else {
            $this->CDU_IgnoraElemFin = $cDU_IgnoraElemFin;
        }
        return $this;
    }
    /**
     * Get CDU_Newsletter 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 getCDU_Newsletter()
    {
        return isset($this->CDU_Newsletter) ? $this->CDU_Newsletter : null;
    }
    /**
     * Set CDU_Newsletter 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 $cDU_Newsletter
     * @return \StructType\FornecedoresERP
     */
    public function setCDU_Newsletter($cDU_Newsletter = null)
    {
        // validation for constraint: boolean
        if (!is_null($cDU_Newsletter) && !is_bool($cDU_Newsletter)) {
            throw new \InvalidArgumentException(sprintf('Invalid value, please provide a bool, "%s" given', gettype($cDU_Newsletter)), __LINE__);
        }
        if (is_null($cDU_Newsletter) || (is_array($cDU_Newsletter) && empty($cDU_Newsletter))) {
            unset($this->CDU_Newsletter);
        } else {
            $this->CDU_Newsletter = $cDU_Newsletter;
        }
        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\FornecedoresERP
     */
    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 CDU_PagamentoSEPA 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 getCDU_PagamentoSEPA()
    {
        return isset($this->CDU_PagamentoSEPA) ? $this->CDU_PagamentoSEPA : null;
    }
    /**
     * Set CDU_PagamentoSEPA 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 $cDU_PagamentoSEPA
     * @return \StructType\FornecedoresERP
     */
    public function setCDU_PagamentoSEPA($cDU_PagamentoSEPA = null)
    {
        // validation for constraint: boolean
        if (!is_null($cDU_PagamentoSEPA) && !is_bool($cDU_PagamentoSEPA)) {
            throw new \InvalidArgumentException(sprintf('Invalid value, please provide a bool, "%s" given', gettype($cDU_PagamentoSEPA)), __LINE__);
        }
        if (is_null($cDU_PagamentoSEPA) || (is_array($cDU_PagamentoSEPA) && empty($cDU_PagamentoSEPA))) {
            unset($this->CDU_PagamentoSEPA);
        } else {
            $this->CDU_PagamentoSEPA = $cDU_PagamentoSEPA;
        }
        return $this;
    }
    /**
     * Get CDU_Password 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_Password()
    {
        return isset($this->CDU_Password) ? $this->CDU_Password : null;
    }
    /**
     * Set CDU_Password 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_Password
     * @return \StructType\FornecedoresERP
     */
    public function setCDU_Password($cDU_Password = null)
    {
        // validation for constraint: string
        if (!is_null($cDU_Password) && !is_string($cDU_Password)) {
            throw new \InvalidArgumentException(sprintf('Invalid value, please provide a string, "%s" given', gettype($cDU_Password)), __LINE__);
        }
        if (is_null($cDU_Password) || (is_array($cDU_Password) && empty($cDU_Password))) {
            unset($this->CDU_Password);
        } else {
            $this->CDU_Password = $cDU_Password;
        }
        return $this;
    }
    /**
     * Get CDU_PontosCartao 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 getCDU_PontosCartao()
    {
        return isset($this->CDU_PontosCartao) ? $this->CDU_PontosCartao : null;
    }
    /**
     * Set CDU_PontosCartao 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 $cDU_PontosCartao
     * @return \StructType\FornecedoresERP
     */
    public function setCDU_PontosCartao($cDU_PontosCartao = null)
    {
        // validation for constraint: int
        if (!is_null($cDU_PontosCartao) && !is_numeric($cDU_PontosCartao)) {
            throw new \InvalidArgumentException(sprintf('Invalid value, please provide a numeric value, "%s" given', gettype($cDU_PontosCartao)), __LINE__);
        }
        if (is_null($cDU_PontosCartao) || (is_array($cDU_PontosCartao) && empty($cDU_PontosCartao))) {
            unset($this->CDU_PontosCartao);
        } else {
            $this->CDU_PontosCartao = $cDU_PontosCartao;
        }
        return $this;
    }
    /**
     * Get CDU_Role 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_Role()
    {
        return isset($this->CDU_Role) ? $this->CDU_Role : null;
    }
    /**
     * Set CDU_Role 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_Role
     * @return \StructType\FornecedoresERP
     */
    public function setCDU_Role($cDU_Role = null)
    {
        // validation for constraint: string
        if (!is_null($cDU_Role) && !is_string($cDU_Role)) {
            throw new \InvalidArgumentException(sprintf('Invalid value, please provide a string, "%s" given', gettype($cDU_Role)), __LINE__);
        }
        if (is_null($cDU_Role) || (is_array($cDU_Role) && empty($cDU_Role))) {
            unset($this->CDU_Role);
        } else {
            $this->CDU_Role = $cDU_Role;
        }
        return $this;
    }
    /**
     * Get CDU_Swift 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_Swift()
    {
        return isset($this->CDU_Swift) ? $this->CDU_Swift : null;
    }
    /**
     * Set CDU_Swift 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_Swift
     * @return \StructType\FornecedoresERP
     */
    public function setCDU_Swift($cDU_Swift = null)
    {
        // validation for constraint: string
        if (!is_null($cDU_Swift) && !is_string($cDU_Swift)) {
            throw new \InvalidArgumentException(sprintf('Invalid value, please provide a string, "%s" given', gettype($cDU_Swift)), __LINE__);
        }
        if (is_null($cDU_Swift) || (is_array($cDU_Swift) && empty($cDU_Swift))) {
            unset($this->CDU_Swift);
        } else {
            $this->CDU_Swift = $cDU_Swift;
        }
        return $this;
    }
    /**
     * Get CDU_Telemovel 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_Telemovel()
    {
        return isset($this->CDU_Telemovel) ? $this->CDU_Telemovel : null;
    }
    /**
     * Set CDU_Telemovel 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_Telemovel
     * @return \StructType\FornecedoresERP
     */
    public function setCDU_Telemovel($cDU_Telemovel = null)
    {
        // validation for constraint: string
        if (!is_null($cDU_Telemovel) && !is_string($cDU_Telemovel)) {
            throw new \InvalidArgumentException(sprintf('Invalid value, please provide a string, "%s" given', gettype($cDU_Telemovel)), __LINE__);
        }
        if (is_null($cDU_Telemovel) || (is_array($cDU_Telemovel) && empty($cDU_Telemovel))) {
            unset($this->CDU_Telemovel);
        } else {
            $this->CDU_Telemovel = $cDU_Telemovel;
        }
        return $this;
    }
    /**
     * Get CDU_Username 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_Username()
    {
        return isset($this->CDU_Username) ? $this->CDU_Username : null;
    }
    /**
     * Set CDU_Username 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_Username
     * @return \StructType\FornecedoresERP
     */
    public function setCDU_Username($cDU_Username = null)
    {
        // validation for constraint: string
        if (!is_null($cDU_Username) && !is_string($cDU_Username)) {
            throw new \InvalidArgumentException(sprintf('Invalid value, please provide a string, "%s" given', gettype($cDU_Username)), __LINE__);
        }
        if (is_null($cDU_Username) || (is_array($cDU_Username) && empty($cDU_Username))) {
            unset($this->CDU_Username);
        } else {
            $this->CDU_Username = $cDU_Username;
        }
        return $this;
    }
    /**
     * Get CambioADataDoc value
     * @return bool|null
     */
    public function getCambioADataDoc()
    {
        return $this->CambioADataDoc;
    }
    /**
     * Set CambioADataDoc value
     * @param bool $cambioADataDoc
     * @return \StructType\FornecedoresERP
     */
    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 CapitalSocial 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 getCapitalSocial()
    {
        return isset($this->CapitalSocial) ? $this->CapitalSocial : null;
    }
    /**
     * Set CapitalSocial 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 $capitalSocial
     * @return \StructType\FornecedoresERP
     */
    public function setCapitalSocial($capitalSocial = null)
    {
        if (is_null($capitalSocial) || (is_array($capitalSocial) && empty($capitalSocial))) {
            unset($this->CapitalSocial);
        } else {
            $this->CapitalSocial = $capitalSocial;
        }
        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\FornecedoresERP
     */
    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 CodigoIEC 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 getCodigoIEC()
    {
        return isset($this->CodigoIEC) ? $this->CodigoIEC : null;
    }
    /**
     * Set CodigoIEC 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 $codigoIEC
     * @return \StructType\FornecedoresERP
     */
    public function setCodigoIEC($codigoIEC = null)
    {
        // validation for constraint: string
        if (!is_null($codigoIEC) && !is_string($codigoIEC)) {
            throw new \InvalidArgumentException(sprintf('Invalid value, please provide a string, "%s" given', gettype($codigoIEC)), __LINE__);
        }
        if (is_null($codigoIEC) || (is_array($codigoIEC) && empty($codigoIEC))) {
            unset($this->CodigoIEC);
        } else {
            $this->CodigoIEC = $codigoIEC;
        }
        return $this;
    }
    /**
     * Get CodigoIsencaoIEC 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 getCodigoIsencaoIEC()
    {
        return isset($this->CodigoIsencaoIEC) ? $this->CodigoIsencaoIEC : null;
    }
    /**
     * Set CodigoIsencaoIEC 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 $codigoIsencaoIEC
     * @return \StructType\FornecedoresERP
     */
    public function setCodigoIsencaoIEC($codigoIsencaoIEC = null)
    {
        // validation for constraint: string
        if (!is_null($codigoIsencaoIEC) && !is_string($codigoIsencaoIEC)) {
            throw new \InvalidArgumentException(sprintf('Invalid value, please provide a string, "%s" given', gettype($codigoIsencaoIEC)), __LINE__);
        }
        if (is_null($codigoIsencaoIEC) || (is_array($codigoIsencaoIEC) && empty($codigoIsencaoIEC))) {
            unset($this->CodigoIsencaoIEC);
        } else {
            $this->CodigoIsencaoIEC = $codigoIsencaoIEC;
        }
        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\FornecedoresERP
     */
    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 ComprasNaoConvertidas 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 getComprasNaoConvertidas()
    {
        return isset($this->ComprasNaoConvertidas) ? $this->ComprasNaoConvertidas : null;
    }
    /**
     * Set ComprasNaoConvertidas 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 $comprasNaoConvertidas
     * @return \StructType\FornecedoresERP
     */
    public function setComprasNaoConvertidas($comprasNaoConvertidas = null)
    {
        if (is_null($comprasNaoConvertidas) || (is_array($comprasNaoConvertidas) && empty($comprasNaoConvertidas))) {
            unset($this->ComprasNaoConvertidas);
        } else {
            $this->ComprasNaoConvertidas = $comprasNaoConvertidas;
        }
        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\FornecedoresERP
     */
    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 Conservatoria 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 getConservatoria()
    {
        return isset($this->Conservatoria) ? $this->Conservatoria : null;
    }
    /**
     * Set Conservatoria 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 $conservatoria
     * @return \StructType\FornecedoresERP
     */
    public function setConservatoria($conservatoria = null)
    {
        // validation for constraint: string
        if (!is_null($conservatoria) && !is_string($conservatoria)) {
            throw new \InvalidArgumentException(sprintf('Invalid value, please provide a string, "%s" given', gettype($conservatoria)), __LINE__);
        }
        if (is_null($conservatoria) || (is_array($conservatoria) && empty($conservatoria))) {
            unset($this->Conservatoria);
        } else {
            $this->Conservatoria = $conservatoria;
        }
        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\FornecedoresERP
     */
    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\FornecedoresERP
     */
    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\FornecedoresERP
     */
    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 CriacaoAutomatica 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 getCriacaoAutomatica()
    {
        return isset($this->CriacaoAutomatica) ? $this->CriacaoAutomatica : null;
    }
    /**
     * Set CriacaoAutomatica 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 $criacaoAutomatica
     * @return \StructType\FornecedoresERP
     */
    public function setCriacaoAutomatica($criacaoAutomatica = null)
    {
        // validation for constraint: boolean
        if (!is_null($criacaoAutomatica) && !is_bool($criacaoAutomatica)) {
            throw new \InvalidArgumentException(sprintf('Invalid value, please provide a bool, "%s" given', gettype($criacaoAutomatica)), __LINE__);
        }
        if (is_null($criacaoAutomatica) || (is_array($criacaoAutomatica) && empty($criacaoAutomatica))) {
            unset($this->CriacaoAutomatica);
        } else {
            $this->CriacaoAutomatica = $criacaoAutomatica;
        }
        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\FornecedoresERP
     */
    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\FornecedoresERP
     */
    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 Desconto 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 getDesconto()
    {
        return isset($this->Desconto) ? $this->Desconto : null;
    }
    /**
     * Set Desconto 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 $desconto
     * @return \StructType\FornecedoresERP
     */
    public function setDesconto($desconto = null)
    {
        if (is_null($desconto) || (is_array($desconto) && empty($desconto))) {
            unset($this->Desconto);
        } else {
            $this->Desconto = $desconto;
        }
        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\FornecedoresERP
     */
    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 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\FornecedoresERP
     */
    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\FornecedoresERP
     */
    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\FornecedoresERP
     */
    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\FornecedoresERP
     */
    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\FornecedoresERP
     */
    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\FornecedoresERP
     */
    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
     * 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 getEncomendasPendentes()
    {
        return isset($this->EncomendasPendentes) ? $this->EncomendasPendentes : null;
    }
    /**
     * Set EncomendasPendentes 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 $encomendasPendentes
     * @return \StructType\FornecedoresERP
     */
    public function setEncomendasPendentes($encomendasPendentes = null)
    {
        if (is_null($encomendasPendentes) || (is_array($encomendasPendentes) && empty($encomendasPendentes))) {
            unset($this->EncomendasPendentes);
        } else {
            $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\FornecedoresERP
     */
    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 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\FornecedoresERP
     */
    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 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\FornecedoresERP
     */
    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 Fornecedor 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 getFornecedor()
    {
        return isset($this->Fornecedor) ? $this->Fornecedor : null;
    }
    /**
     * Set Fornecedor 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 $fornecedor
     * @return \StructType\FornecedoresERP
     */
    public function setFornecedor($fornecedor = null)
    {
        // validation for constraint: string
        if (!is_null($fornecedor) && !is_string($fornecedor)) {
            throw new \InvalidArgumentException(sprintf('Invalid value, please provide a string, "%s" given', gettype($fornecedor)), __LINE__);
        }
        if (is_null($fornecedor) || (is_array($fornecedor) && empty($fornecedor))) {
            unset($this->Fornecedor);
        } else {
            $this->Fornecedor = $fornecedor;
        }
        return $this;
    }
    /**
     * Get FornecedorAnulado 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 getFornecedorAnulado()
    {
        return isset($this->FornecedorAnulado) ? $this->FornecedorAnulado : null;
    }
    /**
     * Set FornecedorAnulado 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 $fornecedorAnulado
     * @return \StructType\FornecedoresERP
     */
    public function setFornecedorAnulado($fornecedorAnulado = null)
    {
        // validation for constraint: boolean
        if (!is_null($fornecedorAnulado) && !is_bool($fornecedorAnulado)) {
            throw new \InvalidArgumentException(sprintf('Invalid value, please provide a bool, "%s" given', gettype($fornecedorAnulado)), __LINE__);
        }
        if (is_null($fornecedorAnulado) || (is_array($fornecedorAnulado) && empty($fornecedorAnulado))) {
            unset($this->FornecedorAnulado);
        } else {
            $this->FornecedorAnulado = $fornecedorAnulado;
        }
        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\FornecedoresERP
     */
    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\FornecedoresERP
     */
    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\FornecedoresERP
     */
    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 Idioma 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 getIdioma()
    {
        return isset($this->Idioma) ? $this->Idioma : null;
    }
    /**
     * Set Idioma 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 $idioma
     * @return \StructType\FornecedoresERP
     */
    public function setIdioma($idioma = null)
    {
        // validation for constraint: string
        if (!is_null($idioma) && !is_string($idioma)) {
            throw new \InvalidArgumentException(sprintf('Invalid value, please provide a string, "%s" given', gettype($idioma)), __LINE__);
        }
        if (is_null($idioma) || (is_array($idioma) && empty($idioma))) {
            unset($this->Idioma);
        } else {
            $this->Idioma = $idioma;
        }
        return $this;
    }
    /**
     * Get IntrastatFornecedor 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 getIntrastatFornecedor()
    {
        return isset($this->IntrastatFornecedor) ? $this->IntrastatFornecedor : null;
    }
    /**
     * Set IntrastatFornecedor 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 $intrastatFornecedor
     * @return \StructType\FornecedoresERP
     */
    public function setIntrastatFornecedor($intrastatFornecedor = null)
    {
        // validation for constraint: boolean
        if (!is_null($intrastatFornecedor) && !is_bool($intrastatFornecedor)) {
            throw new \InvalidArgumentException(sprintf('Invalid value, please provide a bool, "%s" given', gettype($intrastatFornecedor)), __LINE__);
        }
        if (is_null($intrastatFornecedor) || (is_array($intrastatFornecedor) && empty($intrastatFornecedor))) {
            unset($this->IntrastatFornecedor);
        } else {
            $this->IntrastatFornecedor = $intrastatFornecedor;
        }
        return $this;
    }
    /**
     * Get IntrastatPorto 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 getIntrastatPorto()
    {
        return isset($this->IntrastatPorto) ? $this->IntrastatPorto : null;
    }
    /**
     * Set IntrastatPorto 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 $intrastatPorto
     * @return \StructType\FornecedoresERP
     */
    public function setIntrastatPorto($intrastatPorto = null)
    {
        // validation for constraint: string
        if (!is_null($intrastatPorto) && !is_string($intrastatPorto)) {
            throw new \InvalidArgumentException(sprintf('Invalid value, please provide a string, "%s" given', gettype($intrastatPorto)), __LINE__);
        }
        if (is_null($intrastatPorto) || (is_array($intrastatPorto) && empty($intrastatPorto))) {
            unset($this->IntrastatPorto);
        } else {
            $this->IntrastatPorto = $intrastatPorto;
        }
        return $this;
    }
    /**
     * Get IsentoIEC 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 getIsentoIEC()
    {
        return isset($this->IsentoIEC) ? $this->IsentoIEC : null;
    }
    /**
     * Set IsentoIEC 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 $isentoIEC
     * @return \StructType\FornecedoresERP
     */
    public function setIsentoIEC($isentoIEC = null)
    {
        // validation for constraint: boolean
        if (!is_null($isentoIEC) && !is_bool($isentoIEC)) {
            throw new \InvalidArgumentException(sprintf('Invalid value, please provide a bool, "%s" given', gettype($isentoIEC)), __LINE__);
        }
        if (is_null($isentoIEC) || (is_array($isentoIEC) && empty($isentoIEC))) {
            unset($this->IsentoIEC);
        } else {
            $this->IsentoIEC = $isentoIEC;
        }
        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\FornecedoresERP
     */
    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\FornecedoresERP
     */
    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\FornecedoresERP
     */
    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\FornecedoresERP
     */
    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\FornecedoresERP
     */
    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\FornecedoresERP
     */
    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\FornecedoresERP
     */
    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 Matricula 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 getMatricula()
    {
        return isset($this->Matricula) ? $this->Matricula : null;
    }
    /**
     * Set Matricula 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 $matricula
     * @return \StructType\FornecedoresERP
     */
    public function setMatricula($matricula = null)
    {
        // validation for constraint: string
        if (!is_null($matricula) && !is_string($matricula)) {
            throw new \InvalidArgumentException(sprintf('Invalid value, please provide a string, "%s" given', gettype($matricula)), __LINE__);
        }
        if (is_null($matricula) || (is_array($matricula) && empty($matricula))) {
            unset($this->Matricula);
        } else {
            $this->Matricula = $matricula;
        }
        return $this;
    }
    /**
     * Get ModoExp 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 getModoExp()
    {
        return isset($this->ModoExp) ? $this->ModoExp : null;
    }
    /**
     * Set ModoExp 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 $modoExp
     * @return \StructType\FornecedoresERP
     */
    public function setModoExp($modoExp = null)
    {
        // validation for constraint: string
        if (!is_null($modoExp) && !is_string($modoExp)) {
            throw new \InvalidArgumentException(sprintf('Invalid value, please provide a string, "%s" given', gettype($modoExp)), __LINE__);
        }
        if (is_null($modoExp) || (is_array($modoExp) && empty($modoExp))) {
            unset($this->ModoExp);
        } else {
            $this->ModoExp = $modoExp;
        }
        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\FornecedoresERP
     */
    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\FornecedoresERP
     */
    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\FornecedoresERP
     */
    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\FornecedoresERP
     */
    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\FornecedoresERP
     */
    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\FornecedoresERP
     */
    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\FornecedoresERP
     */
    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\FornecedoresERP
     */
    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\FornecedoresERP
     */
    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\FornecedoresERP
     */
    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\FornecedoresERP
     */
    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\FornecedoresERP
     */
    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\FornecedoresERP
     */
    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\FornecedoresERP
     */
    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 PosCustosBalSoc 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 getPosCustosBalSoc()
    {
        return isset($this->PosCustosBalSoc) ? $this->PosCustosBalSoc : null;
    }
    /**
     * Set PosCustosBalSoc 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 $posCustosBalSoc
     * @return \StructType\FornecedoresERP
     */
    public function setPosCustosBalSoc($posCustosBalSoc = null)
    {
        // validation for constraint: string
        if (!is_null($posCustosBalSoc) && !is_string($posCustosBalSoc)) {
            throw new \InvalidArgumentException(sprintf('Invalid value, please provide a string, "%s" given', gettype($posCustosBalSoc)), __LINE__);
        }
        if (is_null($posCustosBalSoc) || (is_array($posCustosBalSoc) && empty($posCustosBalSoc))) {
            unset($this->PosCustosBalSoc);
        } else {
            $this->PosCustosBalSoc = $posCustosBalSoc;
        }
        return $this;
    }
    /**
     * Get PrazoEnt 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 getPrazoEnt()
    {
        return isset($this->PrazoEnt) ? $this->PrazoEnt : null;
    }
    /**
     * Set PrazoEnt 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 $prazoEnt
     * @return \StructType\FornecedoresERP
     */
    public function setPrazoEnt($prazoEnt = null)
    {
        // validation for constraint: string
        if (!is_null($prazoEnt) && !is_string($prazoEnt)) {
            throw new \InvalidArgumentException(sprintf('Invalid value, please provide a string, "%s" given', gettype($prazoEnt)), __LINE__);
        }
        if (is_null($prazoEnt) || (is_array($prazoEnt) && empty($prazoEnt))) {
            unset($this->PrazoEnt);
        } else {
            $this->PrazoEnt = $prazoEnt;
        }
        return $this;
    }
    /**
     * Get Protegida value
     * @return bool|null
     */
    public function getProtegida()
    {
        return $this->Protegida;
    }
    /**
     * Set Protegida value
     * @param bool $protegida
     * @return \StructType\FornecedoresERP
     */
    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 RegimeEspecial 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 getRegimeEspecial()
    {
        return isset($this->RegimeEspecial) ? $this->RegimeEspecial : null;
    }
    /**
     * Set RegimeEspecial 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 $regimeEspecial
     * @return \StructType\FornecedoresERP
     */
    public function setRegimeEspecial($regimeEspecial = null)
    {
        // validation for constraint: boolean
        if (!is_null($regimeEspecial) && !is_bool($regimeEspecial)) {
            throw new \InvalidArgumentException(sprintf('Invalid value, please provide a bool, "%s" given', gettype($regimeEspecial)), __LINE__);
        }
        if (is_null($regimeEspecial) || (is_array($regimeEspecial) && empty($regimeEspecial))) {
            unset($this->RegimeEspecial);
        } else {
            $this->RegimeEspecial = $regimeEspecial;
        }
        return $this;
    }
    /**
     * Get RegimeIvaReembolsos value
     * @return int|null
     */
    public function getRegimeIvaReembolsos()
    {
        return $this->RegimeIvaReembolsos;
    }
    /**
     * Set RegimeIvaReembolsos value
     * @param int $regimeIvaReembolsos
     * @return \StructType\FornecedoresERP
     */
    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\FornecedoresERP
     */
    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\FornecedoresERP
     */
    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\FornecedoresERP
     */
    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 SenhaSubUtilizadorAT 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 getSenhaSubUtilizadorAT()
    {
        return isset($this->SenhaSubUtilizadorAT) ? $this->SenhaSubUtilizadorAT : null;
    }
    /**
     * Set SenhaSubUtilizadorAT 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 $senhaSubUtilizadorAT
     * @return \StructType\FornecedoresERP
     */
    public function setSenhaSubUtilizadorAT($senhaSubUtilizadorAT = null)
    {
        // validation for constraint: string
        if (!is_null($senhaSubUtilizadorAT) && !is_string($senhaSubUtilizadorAT)) {
            throw new \InvalidArgumentException(sprintf('Invalid value, please provide a string, "%s" given', gettype($senhaSubUtilizadorAT)), __LINE__);
        }
        if (is_null($senhaSubUtilizadorAT) || (is_array($senhaSubUtilizadorAT) && empty($senhaSubUtilizadorAT))) {
            unset($this->SenhaSubUtilizadorAT);
        } else {
            $this->SenhaSubUtilizadorAT = $senhaSubUtilizadorAT;
        }
        return $this;
    }
    /**
     * Get SubUtilizadorAT 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 getSubUtilizadorAT()
    {
        return isset($this->SubUtilizadorAT) ? $this->SubUtilizadorAT : null;
    }
    /**
     * Set SubUtilizadorAT 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 $subUtilizadorAT
     * @return \StructType\FornecedoresERP
     */
    public function setSubUtilizadorAT($subUtilizadorAT = null)
    {
        // validation for constraint: string
        if (!is_null($subUtilizadorAT) && !is_string($subUtilizadorAT)) {
            throw new \InvalidArgumentException(sprintf('Invalid value, please provide a string, "%s" given', gettype($subUtilizadorAT)), __LINE__);
        }
        if (is_null($subUtilizadorAT) || (is_array($subUtilizadorAT) && empty($subUtilizadorAT))) {
            unset($this->SubUtilizadorAT);
        } else {
            $this->SubUtilizadorAT = $subUtilizadorAT;
        }
        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\FornecedoresERP
     */
    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 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\FornecedoresERP
     */
    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 TipoFor 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 getTipoFor()
    {
        return isset($this->TipoFor) ? $this->TipoFor : null;
    }
    /**
     * Set TipoFor 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 $tipoFor
     * @return \StructType\FornecedoresERP
     */
    public function setTipoFor($tipoFor = null)
    {
        // validation for constraint: string
        if (!is_null($tipoFor) && !is_string($tipoFor)) {
            throw new \InvalidArgumentException(sprintf('Invalid value, please provide a string, "%s" given', gettype($tipoFor)), __LINE__);
        }
        if (is_null($tipoFor) || (is_array($tipoFor) && empty($tipoFor))) {
            unset($this->TipoFor);
        } else {
            $this->TipoFor = $tipoFor;
        }
        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\FornecedoresERP
     */
    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\FornecedoresERP
     */
    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 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\FornecedoresERP
     */
    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\FornecedoresERP
     */
    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\FornecedoresERP
     */
    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 UtilizaIdioma 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 getUtilizaIdioma()
    {
        return isset($this->UtilizaIdioma) ? $this->UtilizaIdioma : null;
    }
    /**
     * Set UtilizaIdioma 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 $utilizaIdioma
     * @return \StructType\FornecedoresERP
     */
    public function setUtilizaIdioma($utilizaIdioma = null)
    {
        // validation for constraint: boolean
        if (!is_null($utilizaIdioma) && !is_bool($utilizaIdioma)) {
            throw new \InvalidArgumentException(sprintf('Invalid value, please provide a bool, "%s" given', gettype($utilizaIdioma)), __LINE__);
        }
        if (is_null($utilizaIdioma) || (is_array($utilizaIdioma) && empty($utilizaIdioma))) {
            unset($this->UtilizaIdioma);
        } else {
            $this->UtilizaIdioma = $utilizaIdioma;
        }
        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\FornecedoresERP
     */
    public function setValorRetencao($valorRetencao = null)
    {
        if (is_null($valorRetencao) || (is_array($valorRetencao) && empty($valorRetencao))) {
            unset($this->ValorRetencao);
        } else {
            $this->ValorRetencao = $valorRetencao;
        }
        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\FornecedoresERP
     */
    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\FornecedoresERP
     */
    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\FornecedoresERP
     */
    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\FornecedoresERP
     */
    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\FornecedoresERP
     */
    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\FornecedoresERP
     */
    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\FornecedoresERP
     */
    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__;
    }
}
