<?php

namespace StructType;

use \WsdlToPhp\PackageBase\AbstractStructBase;

/**
 * This class stands for LinhasInternosERP StructType
 * Meta informations extracted from the WSDL
 * - nillable: true
 * - type: tns:LinhasInternosERP
 * @subpackage Structs
 */
class LinhasInternosERP extends AbstractStructBase
{
    /**
     * The AlternativaGPR
     * Meta informations extracted from the WSDL
     * - minOccurs: 0
     * - nillable: true
     * @var string
     */
    public $AlternativaGPR;
    /**
     * The AnaliticaCBL
     * Meta informations extracted from the WSDL
     * - minOccurs: 0
     * - nillable: true
     * @var string
     */
    public $AnaliticaCBL;
    /**
     * The Anulado
     * Meta informations extracted from the WSDL
     * - minOccurs: 0
     * - nillable: true
     * @var bool
     */
    public $Anulado;
    /**
     * The Armazem
     * Meta informations extracted from the WSDL
     * - minOccurs: 0
     * - nillable: true
     * @var string
     */
    public $Armazem;
    /**
     * The ArredFConv
     * Meta informations extracted from the WSDL
     * - minOccurs: 0
     * - nillable: true
     * @var int
     */
    public $ArredFConv;
    /**
     * The Artigo
     * Meta informations extracted from the WSDL
     * - minOccurs: 0
     * - nillable: true
     * @var string
     */
    public $Artigo;
    /**
     * The ArtigoDaEntidade
     * Meta informations extracted from the WSDL
     * - minOccurs: 0
     * - nillable: true
     * @var string
     */
    public $ArtigoDaEntidade;
    /**
     * The BaseCalculoIncidencia
     * Meta informations extracted from the WSDL
     * - minOccurs: 0
     * @var float
     */
    public $BaseCalculoIncidencia;
    /**
     * The BaseIncidencia
     * Meta informations extracted from the WSDL
     * - minOccurs: 0
     * @var float
     */
    public $BaseIncidencia;
    /**
     * The CCustoCBL
     * Meta informations extracted from the WSDL
     * - minOccurs: 0
     * - nillable: true
     * @var string
     */
    public $CCustoCBL;
    /**
     * The CategoriaId
     * Meta informations extracted from the WSDL
     * - minOccurs: 0
     * - nillable: true
     * @var int
     */
    public $CategoriaId;
    /**
     * The ClasseId
     * Meta informations extracted from the WSDL
     * - minOccurs: 0
     * - nillable: true
     * @var int
     */
    public $ClasseId;
    /**
     * The CodIva
     * Meta informations extracted from the WSDL
     * - minOccurs: 0
     * - nillable: true
     * @var string
     */
    public $CodIva;
    /**
     * The CodIvaEcotaxa
     * Meta informations extracted from the WSDL
     * - minOccurs: 0
     * - nillable: true
     * @var string
     */
    public $CodIvaEcotaxa;
    /**
     * The ContaCBL
     * Meta informations extracted from the WSDL
     * - minOccurs: 0
     * - nillable: true
     * @var string
     */
    public $ContaCBL;
    /**
     * The ContabilizaTotais
     * Meta informations extracted from the WSDL
     * - minOccurs: 0
     * @var bool
     */
    public $ContabilizaTotais;
    /**
     * The CustoPrevisto
     * Meta informations extracted from the WSDL
     * - minOccurs: 0
     * @var float
     */
    public $CustoPrevisto;
    /**
     * The Data
     * Meta informations extracted from the WSDL
     * - minOccurs: 0
     * - nillable: true
     * @var string
     */
    public $Data;
    /**
     * The DataDocStk
     * Meta informations extracted from the WSDL
     * - minOccurs: 0
     * - nillable: true
     * @var string
     */
    public $DataDocStk;
    /**
     * The DataEntrega
     * Meta informations extracted from the WSDL
     * - minOccurs: 0
     * - nillable: true
     * @var string
     */
    public $DataEntrega;
    /**
     * The DescArtigoDaEntidade
     * Meta informations extracted from the WSDL
     * - minOccurs: 0
     * - nillable: true
     * @var string
     */
    public $DescArtigoDaEntidade;
    /**
     * The Desconto1
     * Meta informations extracted from the WSDL
     * - minOccurs: 0
     * - nillable: true
     * @var float
     */
    public $Desconto1;
    /**
     * The Desconto2
     * Meta informations extracted from the WSDL
     * - minOccurs: 0
     * - nillable: true
     * @var float
     */
    public $Desconto2;
    /**
     * The Desconto3
     * Meta informations extracted from the WSDL
     * - minOccurs: 0
     * - nillable: true
     * @var float
     */
    public $Desconto3;
    /**
     * The DescontoComercial
     * Meta informations extracted from the WSDL
     * - minOccurs: 0
     * - nillable: true
     * @var float
     */
    public $DescontoComercial;
    /**
     * The Descricao
     * Meta informations extracted from the WSDL
     * - minOccurs: 0
     * - nillable: true
     * @var string
     */
    public $Descricao;
    /**
     * The Ecotaxa
     * Meta informations extracted from the WSDL
     * - minOccurs: 0
     * @var float
     */
    public $Ecotaxa;
    /**
     * The Entidade
     * Meta informations extracted from the WSDL
     * - minOccurs: 0
     * - nillable: true
     * @var string
     */
    public $Entidade;
    /**
     * The Estado
     * Meta informations extracted from the WSDL
     * - minOccurs: 0
     * - nillable: true
     * @var string
     */
    public $Estado;
    /**
     * The FactorConv
     * Meta informations extracted from the WSDL
     * - minOccurs: 0
     * - nillable: true
     * @var float
     */
    public $FactorConv;
    /**
     * The Fechado
     * Meta informations extracted from the WSDL
     * - minOccurs: 0
     * - nillable: true
     * @var bool
     */
    public $Fechado;
    /**
     * The Formula
     * Meta informations extracted from the WSDL
     * - minOccurs: 0
     * - nillable: true
     * @var string
     */
    public $Formula;
    /**
     * The FuncionalCBL
     * Meta informations extracted from the WSDL
     * - minOccurs: 0
     * - nillable: true
     * @var string
     */
    public $FuncionalCBL;
    /**
     * The IDLinhaEstorno
     * 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 $IDLinhaEstorno;
    /**
     * The IDLinhaSubstituicao
     * 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 $IDLinhaSubstituicao;
    /**
     * The Id
     * Meta informations extracted from the WSDL
     * - minOccurs: 0
     * - nillable: 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 $Id;
    /**
     * The IdCabecInternos
     * Meta informations extracted from the WSDL
     * - minOccurs: 0
     * - nillable: 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 $IdCabecInternos;
    /**
     * The IdLinhaOrigemCopia
     * 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 $IdLinhaOrigemCopia;
    /**
     * The IdLinhaPai
     * 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 $IdLinhaPai;
    /**
     * The IdLinhaReqInterna
     * 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 $IdLinhaReqInterna;
    /**
     * The ItemCod
     * Meta informations extracted from the WSDL
     * - minOccurs: 0
     * - nillable: true
     * @var string
     */
    public $ItemCod;
    /**
     * The ItemDesc
     * Meta informations extracted from the WSDL
     * - minOccurs: 0
     * - nillable: true
     * @var string
     */
    public $ItemDesc;
    /**
     * The ItemId
     * Meta informations extracted from the WSDL
     * - minOccurs: 0
     * - nillable: true
     * @var int
     */
    public $ItemId;
    /**
     * The IvaNaoDedutivel
     * Meta informations extracted from the WSDL
     * - minOccurs: 0
     * @var float
     */
    public $IvaNaoDedutivel;
    /**
     * The IvaRegraCalculo
     * Meta informations extracted from the WSDL
     * - minOccurs: 0
     * @var int
     */
    public $IvaRegraCalculo;
    /**
     * The Localizacao
     * Meta informations extracted from the WSDL
     * - minOccurs: 0
     * - nillable: true
     * @var string
     */
    public $Localizacao;
    /**
     * The Lote
     * Meta informations extracted from the WSDL
     * - minOccurs: 0
     * - nillable: true
     * @var string
     */
    public $Lote;
    /**
     * The Margem
     * Meta informations extracted from the WSDL
     * - minOccurs: 0
     * - nillable: true
     * @var float
     */
    public $Margem;
    /**
     * The ModuloOrigemCopia
     * Meta informations extracted from the WSDL
     * - minOccurs: 0
     * - nillable: true
     * @var string
     */
    public $ModuloOrigemCopia;
    /**
     * The MotivoEstorno
     * Meta informations extracted from the WSDL
     * - minOccurs: 0
     * - nillable: true
     * @var string
     */
    public $MotivoEstorno;
    /**
     * The MovStk
     * Meta informations extracted from the WSDL
     * - minOccurs: 0
     * - nillable: true
     * @var bool
     */
    public $MovStk;
    /**
     * The NumLinha
     * Meta informations extracted from the WSDL
     * - minOccurs: 0
     * @var int
     */
    public $NumLinha;
    /**
     * The NumLinhaStkGerada
     * Meta informations extracted from the WSDL
     * - minOccurs: 0
     * - nillable: true
     * @var int
     */
    public $NumLinhaStkGerada;
    /**
     * The ObraId
     * 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 $ObraId;
    /**
     * The PCPadrao
     * Meta informations extracted from the WSDL
     * - minOccurs: 0
     * - nillable: true
     * @var float
     */
    public $PCPadrao;
    /**
     * The PercIncidenciaIVA
     * Meta informations extracted from the WSDL
     * - minOccurs: 0
     * - nillable: true
     * @var float
     */
    public $PercIncidenciaIVA;
    /**
     * The PercIvaDedutivel
     * Meta informations extracted from the WSDL
     * - minOccurs: 0
     * @var float
     */
    public $PercIvaDedutivel;
    /**
     * The PercentagemMargem
     * Meta informations extracted from the WSDL
     * - minOccurs: 0
     * - nillable: true
     * @var float
     */
    public $PercentagemMargem;
    /**
     * The PrecUnit
     * Meta informations extracted from the WSDL
     * - minOccurs: 0
     * - nillable: true
     * @var float
     */
    public $PrecUnit;
    /**
     * The PrecoLiquido
     * Meta informations extracted from the WSDL
     * - minOccurs: 0
     * - nillable: true
     * @var float
     */
    public $PrecoLiquido;
    /**
     * The ProcessoID
     * 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 $ProcessoID;
    /**
     * The Protegida
     * Meta informations extracted from the WSDL
     * - minOccurs: 0
     * @var bool
     */
    public $Protegida;
    /**
     * The QntFormula
     * Meta informations extracted from the WSDL
     * - minOccurs: 0
     * - nillable: true
     * @var float
     */
    public $QntFormula;
    /**
     * The QntSatisfeita
     * Meta informations extracted from the WSDL
     * - minOccurs: 0
     * - nillable: true
     * @var float
     */
    public $QntSatisfeita;
    /**
     * The Quantidade
     * Meta informations extracted from the WSDL
     * - minOccurs: 0
     * - nillable: true
     * @var float
     */
    public $Quantidade;
    /**
     * The RegimeIva
     * Meta informations extracted from the WSDL
     * - minOccurs: 0
     * - nillable: true
     * @var string
     */
    public $RegimeIva;
    /**
     * The RegraCalculoIncidencia
     * Meta informations extracted from the WSDL
     * - minOccurs: 0
     * @var string
     */
    public $RegraCalculoIncidencia;
    /**
     * The SubEmpId
     * Meta informations extracted from the WSDL
     * - minOccurs: 0
     * - nillable: true
     * @var int
     */
    public $SubEmpId;
    /**
     * The TaxaIva
     * Meta informations extracted from the WSDL
     * - minOccurs: 0
     * - nillable: true
     * @var float
     */
    public $TaxaIva;
    /**
     * The TaxaIvaEcotaxa
     * Meta informations extracted from the WSDL
     * - minOccurs: 0
     * - nillable: true
     * @var float
     */
    public $TaxaIvaEcotaxa;
    /**
     * The TaxaProRata
     * Meta informations extracted from the WSDL
     * - minOccurs: 0
     * @var float
     */
    public $TaxaProRata;
    /**
     * The TaxaRecargo
     * Meta informations extracted from the WSDL
     * - minOccurs: 0
     * - nillable: true
     * @var float
     */
    public $TaxaRecargo;
    /**
     * The TipoCustoPrevisto
     * Meta informations extracted from the WSDL
     * - minOccurs: 0
     * @var string
     */
    public $TipoCustoPrevisto;
    /**
     * The TipoEntidade
     * Meta informations extracted from the WSDL
     * - minOccurs: 0
     * - nillable: true
     * @var string
     */
    public $TipoEntidade;
    /**
     * The TipoLinha
     * Meta informations extracted from the WSDL
     * - minOccurs: 0
     * - nillable: true
     * @var string
     */
    public $TipoLinha;
    /**
     * The TipoOperacao
     * Meta informations extracted from the WSDL
     * - minOccurs: 0
     * - nillable: true
     * @var string
     */
    public $TipoOperacao;
    /**
     * The TotalDA
     * Meta informations extracted from the WSDL
     * - minOccurs: 0
     * - nillable: true
     * @var float
     */
    public $TotalDA;
    /**
     * The TotalDC
     * Meta informations extracted from the WSDL
     * - minOccurs: 0
     * - nillable: true
     * @var float
     */
    public $TotalDC;
    /**
     * The TotalDF
     * Meta informations extracted from the WSDL
     * - minOccurs: 0
     * - nillable: true
     * @var float
     */
    public $TotalDF;
    /**
     * The TotalEcotaxa
     * Meta informations extracted from the WSDL
     * - minOccurs: 0
     * @var float
     */
    public $TotalEcotaxa;
    /**
     * The TotalIliquido
     * Meta informations extracted from the WSDL
     * - minOccurs: 0
     * - nillable: true
     * @var float
     */
    public $TotalIliquido;
    /**
     * The TotalIva
     * Meta informations extracted from the WSDL
     * - minOccurs: 0
     * - nillable: true
     * @var float
     */
    public $TotalIva;
    /**
     * The TotalRecargo
     * Meta informations extracted from the WSDL
     * - minOccurs: 0
     * - nillable: true
     * @var float
     */
    public $TotalRecargo;
    /**
     * The Unidade
     * Meta informations extracted from the WSDL
     * - minOccurs: 0
     * - nillable: true
     * @var string
     */
    public $Unidade;
    /**
     * The VariavelA
     * Meta informations extracted from the WSDL
     * - minOccurs: 0
     * - nillable: true
     * @var float
     */
    public $VariavelA;
    /**
     * The VariavelB
     * Meta informations extracted from the WSDL
     * - minOccurs: 0
     * - nillable: true
     * @var float
     */
    public $VariavelB;
    /**
     * The VariavelC
     * Meta informations extracted from the WSDL
     * - minOccurs: 0
     * - nillable: true
     * @var float
     */
    public $VariavelC;
    /**
     * The VersaoUltAct
     * Meta informations extracted from the WSDL
     * - minOccurs: 0
     * @var string
     */
    public $VersaoUltAct;
    /**
     * The WBSItem
     * Meta informations extracted from the WSDL
     * - minOccurs: 0
     * - nillable: true
     * @var string
     */
    public $WBSItem;
    /**
     * Constructor method for LinhasInternosERP
     * @uses LinhasInternosERP::setAlternativaGPR()
     * @uses LinhasInternosERP::setAnaliticaCBL()
     * @uses LinhasInternosERP::setAnulado()
     * @uses LinhasInternosERP::setArmazem()
     * @uses LinhasInternosERP::setArredFConv()
     * @uses LinhasInternosERP::setArtigo()
     * @uses LinhasInternosERP::setArtigoDaEntidade()
     * @uses LinhasInternosERP::setBaseCalculoIncidencia()
     * @uses LinhasInternosERP::setBaseIncidencia()
     * @uses LinhasInternosERP::setCCustoCBL()
     * @uses LinhasInternosERP::setCategoriaId()
     * @uses LinhasInternosERP::setClasseId()
     * @uses LinhasInternosERP::setCodIva()
     * @uses LinhasInternosERP::setCodIvaEcotaxa()
     * @uses LinhasInternosERP::setContaCBL()
     * @uses LinhasInternosERP::setContabilizaTotais()
     * @uses LinhasInternosERP::setCustoPrevisto()
     * @uses LinhasInternosERP::setData()
     * @uses LinhasInternosERP::setDataDocStk()
     * @uses LinhasInternosERP::setDataEntrega()
     * @uses LinhasInternosERP::setDescArtigoDaEntidade()
     * @uses LinhasInternosERP::setDesconto1()
     * @uses LinhasInternosERP::setDesconto2()
     * @uses LinhasInternosERP::setDesconto3()
     * @uses LinhasInternosERP::setDescontoComercial()
     * @uses LinhasInternosERP::setDescricao()
     * @uses LinhasInternosERP::setEcotaxa()
     * @uses LinhasInternosERP::setEntidade()
     * @uses LinhasInternosERP::setEstado()
     * @uses LinhasInternosERP::setFactorConv()
     * @uses LinhasInternosERP::setFechado()
     * @uses LinhasInternosERP::setFormula()
     * @uses LinhasInternosERP::setFuncionalCBL()
     * @uses LinhasInternosERP::setIDLinhaEstorno()
     * @uses LinhasInternosERP::setIDLinhaSubstituicao()
     * @uses LinhasInternosERP::setId()
     * @uses LinhasInternosERP::setIdCabecInternos()
     * @uses LinhasInternosERP::setIdLinhaOrigemCopia()
     * @uses LinhasInternosERP::setIdLinhaPai()
     * @uses LinhasInternosERP::setIdLinhaReqInterna()
     * @uses LinhasInternosERP::setItemCod()
     * @uses LinhasInternosERP::setItemDesc()
     * @uses LinhasInternosERP::setItemId()
     * @uses LinhasInternosERP::setIvaNaoDedutivel()
     * @uses LinhasInternosERP::setIvaRegraCalculo()
     * @uses LinhasInternosERP::setLocalizacao()
     * @uses LinhasInternosERP::setLote()
     * @uses LinhasInternosERP::setMargem()
     * @uses LinhasInternosERP::setModuloOrigemCopia()
     * @uses LinhasInternosERP::setMotivoEstorno()
     * @uses LinhasInternosERP::setMovStk()
     * @uses LinhasInternosERP::setNumLinha()
     * @uses LinhasInternosERP::setNumLinhaStkGerada()
     * @uses LinhasInternosERP::setObraId()
     * @uses LinhasInternosERP::setPCPadrao()
     * @uses LinhasInternosERP::setPercIncidenciaIVA()
     * @uses LinhasInternosERP::setPercIvaDedutivel()
     * @uses LinhasInternosERP::setPercentagemMargem()
     * @uses LinhasInternosERP::setPrecUnit()
     * @uses LinhasInternosERP::setPrecoLiquido()
     * @uses LinhasInternosERP::setProcessoID()
     * @uses LinhasInternosERP::setProtegida()
     * @uses LinhasInternosERP::setQntFormula()
     * @uses LinhasInternosERP::setQntSatisfeita()
     * @uses LinhasInternosERP::setQuantidade()
     * @uses LinhasInternosERP::setRegimeIva()
     * @uses LinhasInternosERP::setRegraCalculoIncidencia()
     * @uses LinhasInternosERP::setSubEmpId()
     * @uses LinhasInternosERP::setTaxaIva()
     * @uses LinhasInternosERP::setTaxaIvaEcotaxa()
     * @uses LinhasInternosERP::setTaxaProRata()
     * @uses LinhasInternosERP::setTaxaRecargo()
     * @uses LinhasInternosERP::setTipoCustoPrevisto()
     * @uses LinhasInternosERP::setTipoEntidade()
     * @uses LinhasInternosERP::setTipoLinha()
     * @uses LinhasInternosERP::setTipoOperacao()
     * @uses LinhasInternosERP::setTotalDA()
     * @uses LinhasInternosERP::setTotalDC()
     * @uses LinhasInternosERP::setTotalDF()
     * @uses LinhasInternosERP::setTotalEcotaxa()
     * @uses LinhasInternosERP::setTotalIliquido()
     * @uses LinhasInternosERP::setTotalIva()
     * @uses LinhasInternosERP::setTotalRecargo()
     * @uses LinhasInternosERP::setUnidade()
     * @uses LinhasInternosERP::setVariavelA()
     * @uses LinhasInternosERP::setVariavelB()
     * @uses LinhasInternosERP::setVariavelC()
     * @uses LinhasInternosERP::setVersaoUltAct()
     * @uses LinhasInternosERP::setWBSItem()
     * @param string $alternativaGPR
     * @param string $analiticaCBL
     * @param bool $anulado
     * @param string $armazem
     * @param int $arredFConv
     * @param string $artigo
     * @param string $artigoDaEntidade
     * @param float $baseCalculoIncidencia
     * @param float $baseIncidencia
     * @param string $cCustoCBL
     * @param int $categoriaId
     * @param int $classeId
     * @param string $codIva
     * @param string $codIvaEcotaxa
     * @param string $contaCBL
     * @param bool $contabilizaTotais
     * @param float $custoPrevisto
     * @param string $data
     * @param string $dataDocStk
     * @param string $dataEntrega
     * @param string $descArtigoDaEntidade
     * @param float $desconto1
     * @param float $desconto2
     * @param float $desconto3
     * @param float $descontoComercial
     * @param string $descricao
     * @param float $ecotaxa
     * @param string $entidade
     * @param string $estado
     * @param float $factorConv
     * @param bool $fechado
     * @param string $formula
     * @param string $funcionalCBL
     * @param string $iDLinhaEstorno
     * @param string $iDLinhaSubstituicao
     * @param string $id
     * @param string $idCabecInternos
     * @param string $idLinhaOrigemCopia
     * @param string $idLinhaPai
     * @param string $idLinhaReqInterna
     * @param string $itemCod
     * @param string $itemDesc
     * @param int $itemId
     * @param float $ivaNaoDedutivel
     * @param int $ivaRegraCalculo
     * @param string $localizacao
     * @param string $lote
     * @param float $margem
     * @param string $moduloOrigemCopia
     * @param string $motivoEstorno
     * @param bool $movStk
     * @param int $numLinha
     * @param int $numLinhaStkGerada
     * @param string $obraId
     * @param float $pCPadrao
     * @param float $percIncidenciaIVA
     * @param float $percIvaDedutivel
     * @param float $percentagemMargem
     * @param float $precUnit
     * @param float $precoLiquido
     * @param string $processoID
     * @param bool $protegida
     * @param float $qntFormula
     * @param float $qntSatisfeita
     * @param float $quantidade
     * @param string $regimeIva
     * @param string $regraCalculoIncidencia
     * @param int $subEmpId
     * @param float $taxaIva
     * @param float $taxaIvaEcotaxa
     * @param float $taxaProRata
     * @param float $taxaRecargo
     * @param string $tipoCustoPrevisto
     * @param string $tipoEntidade
     * @param string $tipoLinha
     * @param string $tipoOperacao
     * @param float $totalDA
     * @param float $totalDC
     * @param float $totalDF
     * @param float $totalEcotaxa
     * @param float $totalIliquido
     * @param float $totalIva
     * @param float $totalRecargo
     * @param string $unidade
     * @param float $variavelA
     * @param float $variavelB
     * @param float $variavelC
     * @param string $versaoUltAct
     * @param string $wBSItem
     */
    public function __construct($alternativaGPR = null, $analiticaCBL = null, $anulado = null, $armazem = null, $arredFConv = null, $artigo = null, $artigoDaEntidade = null, $baseCalculoIncidencia = null, $baseIncidencia = null, $cCustoCBL = null, $categoriaId = null, $classeId = null, $codIva = null, $codIvaEcotaxa = null, $contaCBL = null, $contabilizaTotais = null, $custoPrevisto = null, $data = null, $dataDocStk = null, $dataEntrega = null, $descArtigoDaEntidade = null, $desconto1 = null, $desconto2 = null, $desconto3 = null, $descontoComercial = null, $descricao = null, $ecotaxa = null, $entidade = null, $estado = null, $factorConv = null, $fechado = null, $formula = null, $funcionalCBL = null, $iDLinhaEstorno = null, $iDLinhaSubstituicao = null, $id = null, $idCabecInternos = null, $idLinhaOrigemCopia = null, $idLinhaPai = null, $idLinhaReqInterna = null, $itemCod = null, $itemDesc = null, $itemId = null, $ivaNaoDedutivel = null, $ivaRegraCalculo = null, $localizacao = null, $lote = null, $margem = null, $moduloOrigemCopia = null, $motivoEstorno = null, $movStk = null, $numLinha = null, $numLinhaStkGerada = null, $obraId = null, $pCPadrao = null, $percIncidenciaIVA = null, $percIvaDedutivel = null, $percentagemMargem = null, $precUnit = null, $precoLiquido = null, $processoID = null, $protegida = null, $qntFormula = null, $qntSatisfeita = null, $quantidade = null, $regimeIva = null, $regraCalculoIncidencia = null, $subEmpId = null, $taxaIva = null, $taxaIvaEcotaxa = null, $taxaProRata = null, $taxaRecargo = null, $tipoCustoPrevisto = null, $tipoEntidade = null, $tipoLinha = null, $tipoOperacao = null, $totalDA = null, $totalDC = null, $totalDF = null, $totalEcotaxa = null, $totalIliquido = null, $totalIva = null, $totalRecargo = null, $unidade = null, $variavelA = null, $variavelB = null, $variavelC = null, $versaoUltAct = null, $wBSItem = null)
    {
        $this
            ->setAlternativaGPR($alternativaGPR)
            ->setAnaliticaCBL($analiticaCBL)
            ->setAnulado($anulado)
            ->setArmazem($armazem)
            ->setArredFConv($arredFConv)
            ->setArtigo($artigo)
            ->setArtigoDaEntidade($artigoDaEntidade)
            ->setBaseCalculoIncidencia($baseCalculoIncidencia)
            ->setBaseIncidencia($baseIncidencia)
            ->setCCustoCBL($cCustoCBL)
            ->setCategoriaId($categoriaId)
            ->setClasseId($classeId)
            ->setCodIva($codIva)
            ->setCodIvaEcotaxa($codIvaEcotaxa)
            ->setContaCBL($contaCBL)
            ->setContabilizaTotais($contabilizaTotais)
            ->setCustoPrevisto($custoPrevisto)
            ->setData($data)
            ->setDataDocStk($dataDocStk)
            ->setDataEntrega($dataEntrega)
            ->setDescArtigoDaEntidade($descArtigoDaEntidade)
            ->setDesconto1($desconto1)
            ->setDesconto2($desconto2)
            ->setDesconto3($desconto3)
            ->setDescontoComercial($descontoComercial)
            ->setDescricao($descricao)
            ->setEcotaxa($ecotaxa)
            ->setEntidade($entidade)
            ->setEstado($estado)
            ->setFactorConv($factorConv)
            ->setFechado($fechado)
            ->setFormula($formula)
            ->setFuncionalCBL($funcionalCBL)
            ->setIDLinhaEstorno($iDLinhaEstorno)
            ->setIDLinhaSubstituicao($iDLinhaSubstituicao)
            ->setId($id)
            ->setIdCabecInternos($idCabecInternos)
            ->setIdLinhaOrigemCopia($idLinhaOrigemCopia)
            ->setIdLinhaPai($idLinhaPai)
            ->setIdLinhaReqInterna($idLinhaReqInterna)
            ->setItemCod($itemCod)
            ->setItemDesc($itemDesc)
            ->setItemId($itemId)
            ->setIvaNaoDedutivel($ivaNaoDedutivel)
            ->setIvaRegraCalculo($ivaRegraCalculo)
            ->setLocalizacao($localizacao)
            ->setLote($lote)
            ->setMargem($margem)
            ->setModuloOrigemCopia($moduloOrigemCopia)
            ->setMotivoEstorno($motivoEstorno)
            ->setMovStk($movStk)
            ->setNumLinha($numLinha)
            ->setNumLinhaStkGerada($numLinhaStkGerada)
            ->setObraId($obraId)
            ->setPCPadrao($pCPadrao)
            ->setPercIncidenciaIVA($percIncidenciaIVA)
            ->setPercIvaDedutivel($percIvaDedutivel)
            ->setPercentagemMargem($percentagemMargem)
            ->setPrecUnit($precUnit)
            ->setPrecoLiquido($precoLiquido)
            ->setProcessoID($processoID)
            ->setProtegida($protegida)
            ->setQntFormula($qntFormula)
            ->setQntSatisfeita($qntSatisfeita)
            ->setQuantidade($quantidade)
            ->setRegimeIva($regimeIva)
            ->setRegraCalculoIncidencia($regraCalculoIncidencia)
            ->setSubEmpId($subEmpId)
            ->setTaxaIva($taxaIva)
            ->setTaxaIvaEcotaxa($taxaIvaEcotaxa)
            ->setTaxaProRata($taxaProRata)
            ->setTaxaRecargo($taxaRecargo)
            ->setTipoCustoPrevisto($tipoCustoPrevisto)
            ->setTipoEntidade($tipoEntidade)
            ->setTipoLinha($tipoLinha)
            ->setTipoOperacao($tipoOperacao)
            ->setTotalDA($totalDA)
            ->setTotalDC($totalDC)
            ->setTotalDF($totalDF)
            ->setTotalEcotaxa($totalEcotaxa)
            ->setTotalIliquido($totalIliquido)
            ->setTotalIva($totalIva)
            ->setTotalRecargo($totalRecargo)
            ->setUnidade($unidade)
            ->setVariavelA($variavelA)
            ->setVariavelB($variavelB)
            ->setVariavelC($variavelC)
            ->setVersaoUltAct($versaoUltAct)
            ->setWBSItem($wBSItem);
    }
    /**
     * Get AlternativaGPR value
     * An additional test has been added (isset) before returning the property value as
     * 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 getAlternativaGPR()
    {
        return isset($this->AlternativaGPR) ? $this->AlternativaGPR : null;
    }
    /**
     * Set AlternativaGPR value
     * This property is 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 $alternativaGPR
     * @return \StructType\LinhasInternosERP
     */
    public function setAlternativaGPR($alternativaGPR = null)
    {
        // validation for constraint: string
        if (!is_null($alternativaGPR) && !is_string($alternativaGPR)) {
            throw new \InvalidArgumentException(sprintf('Invalid value, please provide a string, "%s" given', gettype($alternativaGPR)), __LINE__);
        }
        if (is_null($alternativaGPR) || (is_array($alternativaGPR) && empty($alternativaGPR))) {
            unset($this->AlternativaGPR);
        } else {
            $this->AlternativaGPR = $alternativaGPR;
        }
        return $this;
    }
    /**
     * Get AnaliticaCBL value
     * An additional test has been added (isset) before returning the property value as
     * this property may have been unset before, due to the fact that this property is
     * removable from the request (nillable=true+minOccurs=0)
     * @return string|null
     */
    public function getAnaliticaCBL()
    {
        return isset($this->AnaliticaCBL) ? $this->AnaliticaCBL : null;
    }
    /**
     * Set AnaliticaCBL value
     * This property is removable from request (nillable=true+minOccurs=0), therefore
     * if the value assigned to this property is null, it is removed from this object
     * @param string $analiticaCBL
     * @return \StructType\LinhasInternosERP
     */
    public function setAnaliticaCBL($analiticaCBL = null)
    {
        // validation for constraint: string
        if (!is_null($analiticaCBL) && !is_string($analiticaCBL)) {
            throw new \InvalidArgumentException(sprintf('Invalid value, please provide a string, "%s" given', gettype($analiticaCBL)), __LINE__);
        }
        if (is_null($analiticaCBL) || (is_array($analiticaCBL) && empty($analiticaCBL))) {
            unset($this->AnaliticaCBL);
        } else {
            $this->AnaliticaCBL = $analiticaCBL;
        }
        return $this;
    }
    /**
     * Get Anulado value
     * An additional test has been added (isset) before returning the property value as
     * this property may have been unset before, due to the fact that this property is
     * removable from the request (nillable=true+minOccurs=0)
     * @return bool|null
     */
    public function getAnulado()
    {
        return isset($this->Anulado) ? $this->Anulado : null;
    }
    /**
     * Set Anulado value
     * This property is removable from request (nillable=true+minOccurs=0), therefore
     * if the value assigned to this property is null, it is removed from this object
     * @param bool $anulado
     * @return \StructType\LinhasInternosERP
     */
    public function setAnulado($anulado = null)
    {
        // validation for constraint: boolean
        if (!is_null($anulado) && !is_bool($anulado)) {
            throw new \InvalidArgumentException(sprintf('Invalid value, please provide a bool, "%s" given', gettype($anulado)), __LINE__);
        }
        if (is_null($anulado) || (is_array($anulado) && empty($anulado))) {
            unset($this->Anulado);
        } else {
            $this->Anulado = $anulado;
        }
        return $this;
    }
    /**
     * Get Armazem value
     * An additional test has been added (isset) before returning the property value as
     * 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 getArmazem()
    {
        return isset($this->Armazem) ? $this->Armazem : null;
    }
    /**
     * Set Armazem value
     * This property is 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 $armazem
     * @return \StructType\LinhasInternosERP
     */
    public function setArmazem($armazem = null)
    {
        // validation for constraint: string
        if (!is_null($armazem) && !is_string($armazem)) {
            throw new \InvalidArgumentException(sprintf('Invalid value, please provide a string, "%s" given', gettype($armazem)), __LINE__);
        }
        if (is_null($armazem) || (is_array($armazem) && empty($armazem))) {
            unset($this->Armazem);
        } else {
            $this->Armazem = $armazem;
        }
        return $this;
    }
    /**
     * Get ArredFConv value
     * An additional test has been added (isset) before returning the property value as
     * 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 getArredFConv()
    {
        return isset($this->ArredFConv) ? $this->ArredFConv : null;
    }
    /**
     * Set ArredFConv value
     * This property is 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 $arredFConv
     * @return \StructType\LinhasInternosERP
     */
    public function setArredFConv($arredFConv = null)
    {
        // validation for constraint: int
        if (!is_null($arredFConv) && !is_numeric($arredFConv)) {
            throw new \InvalidArgumentException(sprintf('Invalid value, please provide a numeric value, "%s" given', gettype($arredFConv)), __LINE__);
        }
        if (is_null($arredFConv) || (is_array($arredFConv) && empty($arredFConv))) {
            unset($this->ArredFConv);
        } else {
            $this->ArredFConv = $arredFConv;
        }
        return $this;
    }
    /**
     * Get Artigo value
     * An additional test has been added (isset) before returning the property value as
     * 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 getArtigo()
    {
        return isset($this->Artigo) ? $this->Artigo : null;
    }
    /**
     * Set Artigo value
     * This property is 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 $artigo
     * @return \StructType\LinhasInternosERP
     */
    public function setArtigo($artigo = null)
    {
        // validation for constraint: string
        if (!is_null($artigo) && !is_string($artigo)) {
            throw new \InvalidArgumentException(sprintf('Invalid value, please provide a string, "%s" given', gettype($artigo)), __LINE__);
        }
        if (is_null($artigo) || (is_array($artigo) && empty($artigo))) {
            unset($this->Artigo);
        } else {
            $this->Artigo = $artigo;
        }
        return $this;
    }
    /**
     * Get ArtigoDaEntidade value
     * An additional test has been added (isset) before returning the property value as
     * 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 getArtigoDaEntidade()
    {
        return isset($this->ArtigoDaEntidade) ? $this->ArtigoDaEntidade : null;
    }
    /**
     * Set ArtigoDaEntidade value
     * This property is 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 $artigoDaEntidade
     * @return \StructType\LinhasInternosERP
     */
    public function setArtigoDaEntidade($artigoDaEntidade = null)
    {
        // validation for constraint: string
        if (!is_null($artigoDaEntidade) && !is_string($artigoDaEntidade)) {
            throw new \InvalidArgumentException(sprintf('Invalid value, please provide a string, "%s" given', gettype($artigoDaEntidade)), __LINE__);
        }
        if (is_null($artigoDaEntidade) || (is_array($artigoDaEntidade) && empty($artigoDaEntidade))) {
            unset($this->ArtigoDaEntidade);
        } else {
            $this->ArtigoDaEntidade = $artigoDaEntidade;
        }
        return $this;
    }
    /**
     * Get BaseCalculoIncidencia value
     * @return float|null
     */
    public function getBaseCalculoIncidencia()
    {
        return $this->BaseCalculoIncidencia;
    }
    /**
     * Set BaseCalculoIncidencia value
     * @param float $baseCalculoIncidencia
     * @return \StructType\LinhasInternosERP
     */
    public function setBaseCalculoIncidencia($baseCalculoIncidencia = null)
    {
        $this->BaseCalculoIncidencia = $baseCalculoIncidencia;
        return $this;
    }
    /**
     * Get BaseIncidencia value
     * @return float|null
     */
    public function getBaseIncidencia()
    {
        return $this->BaseIncidencia;
    }
    /**
     * Set BaseIncidencia value
     * @param float $baseIncidencia
     * @return \StructType\LinhasInternosERP
     */
    public function setBaseIncidencia($baseIncidencia = null)
    {
        $this->BaseIncidencia = $baseIncidencia;
        return $this;
    }
    /**
     * Get CCustoCBL value
     * An additional test has been added (isset) before returning the property value as
     * 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 getCCustoCBL()
    {
        return isset($this->CCustoCBL) ? $this->CCustoCBL : null;
    }
    /**
     * Set CCustoCBL value
     * This property is 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 $cCustoCBL
     * @return \StructType\LinhasInternosERP
     */
    public function setCCustoCBL($cCustoCBL = null)
    {
        // validation for constraint: string
        if (!is_null($cCustoCBL) && !is_string($cCustoCBL)) {
            throw new \InvalidArgumentException(sprintf('Invalid value, please provide a string, "%s" given', gettype($cCustoCBL)), __LINE__);
        }
        if (is_null($cCustoCBL) || (is_array($cCustoCBL) && empty($cCustoCBL))) {
            unset($this->CCustoCBL);
        } else {
            $this->CCustoCBL = $cCustoCBL;
        }
        return $this;
    }
    /**
     * Get CategoriaId value
     * An additional test has been added (isset) before returning the property value as
     * 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 getCategoriaId()
    {
        return isset($this->CategoriaId) ? $this->CategoriaId : null;
    }
    /**
     * Set CategoriaId value
     * This property is 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 $categoriaId
     * @return \StructType\LinhasInternosERP
     */
    public function setCategoriaId($categoriaId = null)
    {
        // validation for constraint: int
        if (!is_null($categoriaId) && !is_numeric($categoriaId)) {
            throw new \InvalidArgumentException(sprintf('Invalid value, please provide a numeric value, "%s" given', gettype($categoriaId)), __LINE__);
        }
        if (is_null($categoriaId) || (is_array($categoriaId) && empty($categoriaId))) {
            unset($this->CategoriaId);
        } else {
            $this->CategoriaId = $categoriaId;
        }
        return $this;
    }
    /**
     * Get ClasseId value
     * An additional test has been added (isset) before returning the property value as
     * 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 getClasseId()
    {
        return isset($this->ClasseId) ? $this->ClasseId : null;
    }
    /**
     * Set ClasseId value
     * This property is 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 $classeId
     * @return \StructType\LinhasInternosERP
     */
    public function setClasseId($classeId = null)
    {
        // validation for constraint: int
        if (!is_null($classeId) && !is_numeric($classeId)) {
            throw new \InvalidArgumentException(sprintf('Invalid value, please provide a numeric value, "%s" given', gettype($classeId)), __LINE__);
        }
        if (is_null($classeId) || (is_array($classeId) && empty($classeId))) {
            unset($this->ClasseId);
        } else {
            $this->ClasseId = $classeId;
        }
        return $this;
    }
    /**
     * Get CodIva value
     * An additional test has been added (isset) before returning the property value as
     * 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 getCodIva()
    {
        return isset($this->CodIva) ? $this->CodIva : null;
    }
    /**
     * Set CodIva value
     * This property is 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 $codIva
     * @return \StructType\LinhasInternosERP
     */
    public function setCodIva($codIva = null)
    {
        // validation for constraint: string
        if (!is_null($codIva) && !is_string($codIva)) {
            throw new \InvalidArgumentException(sprintf('Invalid value, please provide a string, "%s" given', gettype($codIva)), __LINE__);
        }
        if (is_null($codIva) || (is_array($codIva) && empty($codIva))) {
            unset($this->CodIva);
        } else {
            $this->CodIva = $codIva;
        }
        return $this;
    }
    /**
     * Get CodIvaEcotaxa value
     * An additional test has been added (isset) before returning the property value as
     * 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 getCodIvaEcotaxa()
    {
        return isset($this->CodIvaEcotaxa) ? $this->CodIvaEcotaxa : null;
    }
    /**
     * Set CodIvaEcotaxa value
     * This property is 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 $codIvaEcotaxa
     * @return \StructType\LinhasInternosERP
     */
    public function setCodIvaEcotaxa($codIvaEcotaxa = null)
    {
        // validation for constraint: string
        if (!is_null($codIvaEcotaxa) && !is_string($codIvaEcotaxa)) {
            throw new \InvalidArgumentException(sprintf('Invalid value, please provide a string, "%s" given', gettype($codIvaEcotaxa)), __LINE__);
        }
        if (is_null($codIvaEcotaxa) || (is_array($codIvaEcotaxa) && empty($codIvaEcotaxa))) {
            unset($this->CodIvaEcotaxa);
        } else {
            $this->CodIvaEcotaxa = $codIvaEcotaxa;
        }
        return $this;
    }
    /**
     * Get ContaCBL value
     * An additional test has been added (isset) before returning the property value as
     * 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 getContaCBL()
    {
        return isset($this->ContaCBL) ? $this->ContaCBL : null;
    }
    /**
     * Set ContaCBL value
     * This property is 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 $contaCBL
     * @return \StructType\LinhasInternosERP
     */
    public function setContaCBL($contaCBL = null)
    {
        // validation for constraint: string
        if (!is_null($contaCBL) && !is_string($contaCBL)) {
            throw new \InvalidArgumentException(sprintf('Invalid value, please provide a string, "%s" given', gettype($contaCBL)), __LINE__);
        }
        if (is_null($contaCBL) || (is_array($contaCBL) && empty($contaCBL))) {
            unset($this->ContaCBL);
        } else {
            $this->ContaCBL = $contaCBL;
        }
        return $this;
    }
    /**
     * Get ContabilizaTotais value
     * @return bool|null
     */
    public function getContabilizaTotais()
    {
        return $this->ContabilizaTotais;
    }
    /**
     * Set ContabilizaTotais value
     * @param bool $contabilizaTotais
     * @return \StructType\LinhasInternosERP
     */
    public function setContabilizaTotais($contabilizaTotais = null)
    {
        // validation for constraint: boolean
        if (!is_null($contabilizaTotais) && !is_bool($contabilizaTotais)) {
            throw new \InvalidArgumentException(sprintf('Invalid value, please provide a bool, "%s" given', gettype($contabilizaTotais)), __LINE__);
        }
        $this->ContabilizaTotais = $contabilizaTotais;
        return $this;
    }
    /**
     * Get CustoPrevisto value
     * @return float|null
     */
    public function getCustoPrevisto()
    {
        return $this->CustoPrevisto;
    }
    /**
     * Set CustoPrevisto value
     * @param float $custoPrevisto
     * @return \StructType\LinhasInternosERP
     */
    public function setCustoPrevisto($custoPrevisto = null)
    {
        $this->CustoPrevisto = $custoPrevisto;
        return $this;
    }
    /**
     * Get Data value
     * An additional test has been added (isset) before returning the property value as
     * 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 getData()
    {
        return isset($this->Data) ? $this->Data : null;
    }
    /**
     * Set Data value
     * This property is 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 $data
     * @return \StructType\LinhasInternosERP
     */
    public function setData($data = null)
    {
        // validation for constraint: string
        if (!is_null($data) && !is_string($data)) {
            throw new \InvalidArgumentException(sprintf('Invalid value, please provide a string, "%s" given', gettype($data)), __LINE__);
        }
        if (is_null($data) || (is_array($data) && empty($data))) {
            unset($this->Data);
        } else {
            $this->Data = $data;
        }
        return $this;
    }
    /**
     * Get DataDocStk value
     * An additional test has been added (isset) before returning the property value as
     * 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 getDataDocStk()
    {
        return isset($this->DataDocStk) ? $this->DataDocStk : null;
    }
    /**
     * Set DataDocStk value
     * This property is 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 $dataDocStk
     * @return \StructType\LinhasInternosERP
     */
    public function setDataDocStk($dataDocStk = null)
    {
        // validation for constraint: string
        if (!is_null($dataDocStk) && !is_string($dataDocStk)) {
            throw new \InvalidArgumentException(sprintf('Invalid value, please provide a string, "%s" given', gettype($dataDocStk)), __LINE__);
        }
        if (is_null($dataDocStk) || (is_array($dataDocStk) && empty($dataDocStk))) {
            unset($this->DataDocStk);
        } else {
            $this->DataDocStk = $dataDocStk;
        }
        return $this;
    }
    /**
     * Get DataEntrega value
     * An additional test has been added (isset) before returning the property value as
     * 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 getDataEntrega()
    {
        return isset($this->DataEntrega) ? $this->DataEntrega : null;
    }
    /**
     * Set DataEntrega value
     * This property is 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 $dataEntrega
     * @return \StructType\LinhasInternosERP
     */
    public function setDataEntrega($dataEntrega = null)
    {
        // validation for constraint: string
        if (!is_null($dataEntrega) && !is_string($dataEntrega)) {
            throw new \InvalidArgumentException(sprintf('Invalid value, please provide a string, "%s" given', gettype($dataEntrega)), __LINE__);
        }
        if (is_null($dataEntrega) || (is_array($dataEntrega) && empty($dataEntrega))) {
            unset($this->DataEntrega);
        } else {
            $this->DataEntrega = $dataEntrega;
        }
        return $this;
    }
    /**
     * Get DescArtigoDaEntidade value
     * An additional test has been added (isset) before returning the property value as
     * 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 getDescArtigoDaEntidade()
    {
        return isset($this->DescArtigoDaEntidade) ? $this->DescArtigoDaEntidade : null;
    }
    /**
     * Set DescArtigoDaEntidade value
     * This property is 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 $descArtigoDaEntidade
     * @return \StructType\LinhasInternosERP
     */
    public function setDescArtigoDaEntidade($descArtigoDaEntidade = null)
    {
        // validation for constraint: string
        if (!is_null($descArtigoDaEntidade) && !is_string($descArtigoDaEntidade)) {
            throw new \InvalidArgumentException(sprintf('Invalid value, please provide a string, "%s" given', gettype($descArtigoDaEntidade)), __LINE__);
        }
        if (is_null($descArtigoDaEntidade) || (is_array($descArtigoDaEntidade) && empty($descArtigoDaEntidade))) {
            unset($this->DescArtigoDaEntidade);
        } else {
            $this->DescArtigoDaEntidade = $descArtigoDaEntidade;
        }
        return $this;
    }
    /**
     * Get Desconto1 value
     * An additional test has been added (isset) before returning the property value as
     * 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 getDesconto1()
    {
        return isset($this->Desconto1) ? $this->Desconto1 : null;
    }
    /**
     * Set Desconto1 value
     * This property is 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 $desconto1
     * @return \StructType\LinhasInternosERP
     */
    public function setDesconto1($desconto1 = null)
    {
        if (is_null($desconto1) || (is_array($desconto1) && empty($desconto1))) {
            unset($this->Desconto1);
        } else {
            $this->Desconto1 = $desconto1;
        }
        return $this;
    }
    /**
     * Get Desconto2 value
     * An additional test has been added (isset) before returning the property value as
     * 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 getDesconto2()
    {
        return isset($this->Desconto2) ? $this->Desconto2 : null;
    }
    /**
     * Set Desconto2 value
     * This property is 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 $desconto2
     * @return \StructType\LinhasInternosERP
     */
    public function setDesconto2($desconto2 = null)
    {
        if (is_null($desconto2) || (is_array($desconto2) && empty($desconto2))) {
            unset($this->Desconto2);
        } else {
            $this->Desconto2 = $desconto2;
        }
        return $this;
    }
    /**
     * Get Desconto3 value
     * An additional test has been added (isset) before returning the property value as
     * 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 getDesconto3()
    {
        return isset($this->Desconto3) ? $this->Desconto3 : null;
    }
    /**
     * Set Desconto3 value
     * This property is 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 $desconto3
     * @return \StructType\LinhasInternosERP
     */
    public function setDesconto3($desconto3 = null)
    {
        if (is_null($desconto3) || (is_array($desconto3) && empty($desconto3))) {
            unset($this->Desconto3);
        } else {
            $this->Desconto3 = $desconto3;
        }
        return $this;
    }
    /**
     * Get DescontoComercial value
     * An additional test has been added (isset) before returning the property value as
     * 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 getDescontoComercial()
    {
        return isset($this->DescontoComercial) ? $this->DescontoComercial : null;
    }
    /**
     * Set DescontoComercial value
     * This property is 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 $descontoComercial
     * @return \StructType\LinhasInternosERP
     */
    public function setDescontoComercial($descontoComercial = null)
    {
        if (is_null($descontoComercial) || (is_array($descontoComercial) && empty($descontoComercial))) {
            unset($this->DescontoComercial);
        } else {
            $this->DescontoComercial = $descontoComercial;
        }
        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\LinhasInternosERP
     */
    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 Ecotaxa value
     * @return float|null
     */
    public function getEcotaxa()
    {
        return $this->Ecotaxa;
    }
    /**
     * Set Ecotaxa value
     * @param float $ecotaxa
     * @return \StructType\LinhasInternosERP
     */
    public function setEcotaxa($ecotaxa = null)
    {
        $this->Ecotaxa = $ecotaxa;
        return $this;
    }
    /**
     * Get Entidade value
     * An additional test has been added (isset) before returning the property value as
     * 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 getEntidade()
    {
        return isset($this->Entidade) ? $this->Entidade : null;
    }
    /**
     * Set Entidade value
     * This property is 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 $entidade
     * @return \StructType\LinhasInternosERP
     */
    public function setEntidade($entidade = null)
    {
        // validation for constraint: string
        if (!is_null($entidade) && !is_string($entidade)) {
            throw new \InvalidArgumentException(sprintf('Invalid value, please provide a string, "%s" given', gettype($entidade)), __LINE__);
        }
        if (is_null($entidade) || (is_array($entidade) && empty($entidade))) {
            unset($this->Entidade);
        } else {
            $this->Entidade = $entidade;
        }
        return $this;
    }
    /**
     * Get Estado value
     * An additional test has been added (isset) before returning the property value as
     * this property may have been unset before, due to the fact that this property is
     * removable from the request (nillable=true+minOccurs=0)
     * @return string|null
     */
    public function getEstado()
    {
        return isset($this->Estado) ? $this->Estado : null;
    }
    /**
     * Set Estado value
     * This property is removable from request (nillable=true+minOccurs=0), therefore
     * if the value assigned to this property is null, it is removed from this object
     * @param string $estado
     * @return \StructType\LinhasInternosERP
     */
    public function setEstado($estado = null)
    {
        // validation for constraint: string
        if (!is_null($estado) && !is_string($estado)) {
            throw new \InvalidArgumentException(sprintf('Invalid value, please provide a string, "%s" given', gettype($estado)), __LINE__);
        }
        if (is_null($estado) || (is_array($estado) && empty($estado))) {
            unset($this->Estado);
        } else {
            $this->Estado = $estado;
        }
        return $this;
    }
    /**
     * Get FactorConv value
     * An additional test has been added (isset) before returning the property value as
     * 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 getFactorConv()
    {
        return isset($this->FactorConv) ? $this->FactorConv : null;
    }
    /**
     * Set FactorConv value
     * This property is 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 $factorConv
     * @return \StructType\LinhasInternosERP
     */
    public function setFactorConv($factorConv = null)
    {
        if (is_null($factorConv) || (is_array($factorConv) && empty($factorConv))) {
            unset($this->FactorConv);
        } else {
            $this->FactorConv = $factorConv;
        }
        return $this;
    }
    /**
     * Get Fechado value
     * An additional test has been added (isset) before returning the property value as
     * 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 getFechado()
    {
        return isset($this->Fechado) ? $this->Fechado : null;
    }
    /**
     * Set Fechado value
     * This property is 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 $fechado
     * @return \StructType\LinhasInternosERP
     */
    public function setFechado($fechado = null)
    {
        // validation for constraint: boolean
        if (!is_null($fechado) && !is_bool($fechado)) {
            throw new \InvalidArgumentException(sprintf('Invalid value, please provide a bool, "%s" given', gettype($fechado)), __LINE__);
        }
        if (is_null($fechado) || (is_array($fechado) && empty($fechado))) {
            unset($this->Fechado);
        } else {
            $this->Fechado = $fechado;
        }
        return $this;
    }
    /**
     * Get Formula value
     * An additional test has been added (isset) before returning the property value as
     * 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 getFormula()
    {
        return isset($this->Formula) ? $this->Formula : null;
    }
    /**
     * Set Formula value
     * This property is 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 $formula
     * @return \StructType\LinhasInternosERP
     */
    public function setFormula($formula = null)
    {
        // validation for constraint: string
        if (!is_null($formula) && !is_string($formula)) {
            throw new \InvalidArgumentException(sprintf('Invalid value, please provide a string, "%s" given', gettype($formula)), __LINE__);
        }
        if (is_null($formula) || (is_array($formula) && empty($formula))) {
            unset($this->Formula);
        } else {
            $this->Formula = $formula;
        }
        return $this;
    }
    /**
     * Get FuncionalCBL value
     * An additional test has been added (isset) before returning the property value as
     * this property may have been unset before, due to the fact that this property is
     * removable from the request (nillable=true+minOccurs=0)
     * @return string|null
     */
    public function getFuncionalCBL()
    {
        return isset($this->FuncionalCBL) ? $this->FuncionalCBL : null;
    }
    /**
     * Set FuncionalCBL value
     * This property is removable from request (nillable=true+minOccurs=0), therefore
     * if the value assigned to this property is null, it is removed from this object
     * @param string $funcionalCBL
     * @return \StructType\LinhasInternosERP
     */
    public function setFuncionalCBL($funcionalCBL = null)
    {
        // validation for constraint: string
        if (!is_null($funcionalCBL) && !is_string($funcionalCBL)) {
            throw new \InvalidArgumentException(sprintf('Invalid value, please provide a string, "%s" given', gettype($funcionalCBL)), __LINE__);
        }
        if (is_null($funcionalCBL) || (is_array($funcionalCBL) && empty($funcionalCBL))) {
            unset($this->FuncionalCBL);
        } else {
            $this->FuncionalCBL = $funcionalCBL;
        }
        return $this;
    }
    /**
     * Get IDLinhaEstorno value
     * An additional test has been added (isset) before returning the property value as
     * 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 getIDLinhaEstorno()
    {
        return isset($this->IDLinhaEstorno) ? $this->IDLinhaEstorno : null;
    }
    /**
     * Set IDLinhaEstorno value
     * This property is 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 $iDLinhaEstorno
     * @return \StructType\LinhasInternosERP
     */
    public function setIDLinhaEstorno($iDLinhaEstorno = null)
    {
        // validation for constraint: pattern
        if (is_scalar($iDLinhaEstorno) && !preg_match('/[\\da-fA-F]{8}-[\\da-fA-F]{4}-[\\da-fA-F]{4}-[\\da-fA-F]{4}-[\\da-fA-F]{12}/', $iDLinhaEstorno)) {
            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($iDLinhaEstorno, true)), __LINE__);
        }
        // validation for constraint: string
        if (!is_null($iDLinhaEstorno) && !is_string($iDLinhaEstorno)) {
            throw new \InvalidArgumentException(sprintf('Invalid value, please provide a string, "%s" given', gettype($iDLinhaEstorno)), __LINE__);
        }
        if (is_null($iDLinhaEstorno) || (is_array($iDLinhaEstorno) && empty($iDLinhaEstorno))) {
            unset($this->IDLinhaEstorno);
        } else {
            $this->IDLinhaEstorno = $iDLinhaEstorno;
        }
        return $this;
    }
    /**
     * Get IDLinhaSubstituicao value
     * An additional test has been added (isset) before returning the property value as
     * 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 getIDLinhaSubstituicao()
    {
        return isset($this->IDLinhaSubstituicao) ? $this->IDLinhaSubstituicao : null;
    }
    /**
     * Set IDLinhaSubstituicao value
     * This property is 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 $iDLinhaSubstituicao
     * @return \StructType\LinhasInternosERP
     */
    public function setIDLinhaSubstituicao($iDLinhaSubstituicao = null)
    {
        // validation for constraint: pattern
        if (is_scalar($iDLinhaSubstituicao) && !preg_match('/[\\da-fA-F]{8}-[\\da-fA-F]{4}-[\\da-fA-F]{4}-[\\da-fA-F]{4}-[\\da-fA-F]{12}/', $iDLinhaSubstituicao)) {
            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($iDLinhaSubstituicao, true)), __LINE__);
        }
        // validation for constraint: string
        if (!is_null($iDLinhaSubstituicao) && !is_string($iDLinhaSubstituicao)) {
            throw new \InvalidArgumentException(sprintf('Invalid value, please provide a string, "%s" given', gettype($iDLinhaSubstituicao)), __LINE__);
        }
        if (is_null($iDLinhaSubstituicao) || (is_array($iDLinhaSubstituicao) && empty($iDLinhaSubstituicao))) {
            unset($this->IDLinhaSubstituicao);
        } else {
            $this->IDLinhaSubstituicao = $iDLinhaSubstituicao;
        }
        return $this;
    }
    /**
     * Get Id value
     * @return string|null
     */
    public function getId()
    {
        return $this->Id;
    }
    /**
     * Set Id value
     * @param string $id
     * @return \StructType\LinhasInternosERP
     */
    public function setId($id = null)
    {
        // validation for constraint: pattern
        if (is_scalar($id) && !preg_match('/[\\da-fA-F]{8}-[\\da-fA-F]{4}-[\\da-fA-F]{4}-[\\da-fA-F]{4}-[\\da-fA-F]{12}/', $id)) {
            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($id, true)), __LINE__);
        }
        // validation for constraint: string
        if (!is_null($id) && !is_string($id)) {
            throw new \InvalidArgumentException(sprintf('Invalid value, please provide a string, "%s" given', gettype($id)), __LINE__);
        }
        $this->Id = $id;
        return $this;
    }
    /**
     * Get IdCabecInternos value
     * @return string|null
     */
    public function getIdCabecInternos()
    {
        return $this->IdCabecInternos;
    }
    /**
     * Set IdCabecInternos value
     * @param string $idCabecInternos
     * @return \StructType\LinhasInternosERP
     */
    public function setIdCabecInternos($idCabecInternos = null)
    {
        // validation for constraint: pattern
        if (is_scalar($idCabecInternos) && !preg_match('/[\\da-fA-F]{8}-[\\da-fA-F]{4}-[\\da-fA-F]{4}-[\\da-fA-F]{4}-[\\da-fA-F]{12}/', $idCabecInternos)) {
            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($idCabecInternos, true)), __LINE__);
        }
        // validation for constraint: string
        if (!is_null($idCabecInternos) && !is_string($idCabecInternos)) {
            throw new \InvalidArgumentException(sprintf('Invalid value, please provide a string, "%s" given', gettype($idCabecInternos)), __LINE__);
        }
        $this->IdCabecInternos = $idCabecInternos;
        return $this;
    }
    /**
     * Get IdLinhaOrigemCopia value
     * An additional test has been added (isset) before returning the property value as
     * 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 getIdLinhaOrigemCopia()
    {
        return isset($this->IdLinhaOrigemCopia) ? $this->IdLinhaOrigemCopia : null;
    }
    /**
     * Set IdLinhaOrigemCopia value
     * This property is 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 $idLinhaOrigemCopia
     * @return \StructType\LinhasInternosERP
     */
    public function setIdLinhaOrigemCopia($idLinhaOrigemCopia = null)
    {
        // validation for constraint: pattern
        if (is_scalar($idLinhaOrigemCopia) && !preg_match('/[\\da-fA-F]{8}-[\\da-fA-F]{4}-[\\da-fA-F]{4}-[\\da-fA-F]{4}-[\\da-fA-F]{12}/', $idLinhaOrigemCopia)) {
            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($idLinhaOrigemCopia, true)), __LINE__);
        }
        // validation for constraint: string
        if (!is_null($idLinhaOrigemCopia) && !is_string($idLinhaOrigemCopia)) {
            throw new \InvalidArgumentException(sprintf('Invalid value, please provide a string, "%s" given', gettype($idLinhaOrigemCopia)), __LINE__);
        }
        if (is_null($idLinhaOrigemCopia) || (is_array($idLinhaOrigemCopia) && empty($idLinhaOrigemCopia))) {
            unset($this->IdLinhaOrigemCopia);
        } else {
            $this->IdLinhaOrigemCopia = $idLinhaOrigemCopia;
        }
        return $this;
    }
    /**
     * Get IdLinhaPai value
     * An additional test has been added (isset) before returning the property value as
     * 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 getIdLinhaPai()
    {
        return isset($this->IdLinhaPai) ? $this->IdLinhaPai : null;
    }
    /**
     * Set IdLinhaPai value
     * This property is 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 $idLinhaPai
     * @return \StructType\LinhasInternosERP
     */
    public function setIdLinhaPai($idLinhaPai = null)
    {
        // validation for constraint: pattern
        if (is_scalar($idLinhaPai) && !preg_match('/[\\da-fA-F]{8}-[\\da-fA-F]{4}-[\\da-fA-F]{4}-[\\da-fA-F]{4}-[\\da-fA-F]{12}/', $idLinhaPai)) {
            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($idLinhaPai, true)), __LINE__);
        }
        // validation for constraint: string
        if (!is_null($idLinhaPai) && !is_string($idLinhaPai)) {
            throw new \InvalidArgumentException(sprintf('Invalid value, please provide a string, "%s" given', gettype($idLinhaPai)), __LINE__);
        }
        if (is_null($idLinhaPai) || (is_array($idLinhaPai) && empty($idLinhaPai))) {
            unset($this->IdLinhaPai);
        } else {
            $this->IdLinhaPai = $idLinhaPai;
        }
        return $this;
    }
    /**
     * Get IdLinhaReqInterna value
     * An additional test has been added (isset) before returning the property value as
     * 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 getIdLinhaReqInterna()
    {
        return isset($this->IdLinhaReqInterna) ? $this->IdLinhaReqInterna : null;
    }
    /**
     * Set IdLinhaReqInterna value
     * This property is 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 $idLinhaReqInterna
     * @return \StructType\LinhasInternosERP
     */
    public function setIdLinhaReqInterna($idLinhaReqInterna = null)
    {
        // validation for constraint: pattern
        if (is_scalar($idLinhaReqInterna) && !preg_match('/[\\da-fA-F]{8}-[\\da-fA-F]{4}-[\\da-fA-F]{4}-[\\da-fA-F]{4}-[\\da-fA-F]{12}/', $idLinhaReqInterna)) {
            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($idLinhaReqInterna, true)), __LINE__);
        }
        // validation for constraint: string
        if (!is_null($idLinhaReqInterna) && !is_string($idLinhaReqInterna)) {
            throw new \InvalidArgumentException(sprintf('Invalid value, please provide a string, "%s" given', gettype($idLinhaReqInterna)), __LINE__);
        }
        if (is_null($idLinhaReqInterna) || (is_array($idLinhaReqInterna) && empty($idLinhaReqInterna))) {
            unset($this->IdLinhaReqInterna);
        } else {
            $this->IdLinhaReqInterna = $idLinhaReqInterna;
        }
        return $this;
    }
    /**
     * Get ItemCod value
     * An additional test has been added (isset) before returning the property value as
     * 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 getItemCod()
    {
        return isset($this->ItemCod) ? $this->ItemCod : null;
    }
    /**
     * Set ItemCod value
     * This property is 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 $itemCod
     * @return \StructType\LinhasInternosERP
     */
    public function setItemCod($itemCod = null)
    {
        // validation for constraint: string
        if (!is_null($itemCod) && !is_string($itemCod)) {
            throw new \InvalidArgumentException(sprintf('Invalid value, please provide a string, "%s" given', gettype($itemCod)), __LINE__);
        }
        if (is_null($itemCod) || (is_array($itemCod) && empty($itemCod))) {
            unset($this->ItemCod);
        } else {
            $this->ItemCod = $itemCod;
        }
        return $this;
    }
    /**
     * Get ItemDesc value
     * An additional test has been added (isset) before returning the property value as
     * 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 getItemDesc()
    {
        return isset($this->ItemDesc) ? $this->ItemDesc : null;
    }
    /**
     * Set ItemDesc value
     * This property is 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 $itemDesc
     * @return \StructType\LinhasInternosERP
     */
    public function setItemDesc($itemDesc = null)
    {
        // validation for constraint: string
        if (!is_null($itemDesc) && !is_string($itemDesc)) {
            throw new \InvalidArgumentException(sprintf('Invalid value, please provide a string, "%s" given', gettype($itemDesc)), __LINE__);
        }
        if (is_null($itemDesc) || (is_array($itemDesc) && empty($itemDesc))) {
            unset($this->ItemDesc);
        } else {
            $this->ItemDesc = $itemDesc;
        }
        return $this;
    }
    /**
     * Get ItemId value
     * An additional test has been added (isset) before returning the property value as
     * 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 getItemId()
    {
        return isset($this->ItemId) ? $this->ItemId : null;
    }
    /**
     * Set ItemId value
     * This property is 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 $itemId
     * @return \StructType\LinhasInternosERP
     */
    public function setItemId($itemId = null)
    {
        // validation for constraint: int
        if (!is_null($itemId) && !is_numeric($itemId)) {
            throw new \InvalidArgumentException(sprintf('Invalid value, please provide a numeric value, "%s" given', gettype($itemId)), __LINE__);
        }
        if (is_null($itemId) || (is_array($itemId) && empty($itemId))) {
            unset($this->ItemId);
        } else {
            $this->ItemId = $itemId;
        }
        return $this;
    }
    /**
     * Get IvaNaoDedutivel value
     * @return float|null
     */
    public function getIvaNaoDedutivel()
    {
        return $this->IvaNaoDedutivel;
    }
    /**
     * Set IvaNaoDedutivel value
     * @param float $ivaNaoDedutivel
     * @return \StructType\LinhasInternosERP
     */
    public function setIvaNaoDedutivel($ivaNaoDedutivel = null)
    {
        $this->IvaNaoDedutivel = $ivaNaoDedutivel;
        return $this;
    }
    /**
     * Get IvaRegraCalculo value
     * @return int|null
     */
    public function getIvaRegraCalculo()
    {
        return $this->IvaRegraCalculo;
    }
    /**
     * Set IvaRegraCalculo value
     * @param int $ivaRegraCalculo
     * @return \StructType\LinhasInternosERP
     */
    public function setIvaRegraCalculo($ivaRegraCalculo = null)
    {
        // validation for constraint: int
        if (!is_null($ivaRegraCalculo) && !is_numeric($ivaRegraCalculo)) {
            throw new \InvalidArgumentException(sprintf('Invalid value, please provide a numeric value, "%s" given', gettype($ivaRegraCalculo)), __LINE__);
        }
        $this->IvaRegraCalculo = $ivaRegraCalculo;
        return $this;
    }
    /**
     * Get Localizacao value
     * An additional test has been added (isset) before returning the property value as
     * 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 getLocalizacao()
    {
        return isset($this->Localizacao) ? $this->Localizacao : null;
    }
    /**
     * Set Localizacao value
     * This property is 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 $localizacao
     * @return \StructType\LinhasInternosERP
     */
    public function setLocalizacao($localizacao = null)
    {
        // validation for constraint: string
        if (!is_null($localizacao) && !is_string($localizacao)) {
            throw new \InvalidArgumentException(sprintf('Invalid value, please provide a string, "%s" given', gettype($localizacao)), __LINE__);
        }
        if (is_null($localizacao) || (is_array($localizacao) && empty($localizacao))) {
            unset($this->Localizacao);
        } else {
            $this->Localizacao = $localizacao;
        }
        return $this;
    }
    /**
     * Get Lote value
     * An additional test has been added (isset) before returning the property value as
     * 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 getLote()
    {
        return isset($this->Lote) ? $this->Lote : null;
    }
    /**
     * Set Lote value
     * This property is 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 $lote
     * @return \StructType\LinhasInternosERP
     */
    public function setLote($lote = null)
    {
        // validation for constraint: string
        if (!is_null($lote) && !is_string($lote)) {
            throw new \InvalidArgumentException(sprintf('Invalid value, please provide a string, "%s" given', gettype($lote)), __LINE__);
        }
        if (is_null($lote) || (is_array($lote) && empty($lote))) {
            unset($this->Lote);
        } else {
            $this->Lote = $lote;
        }
        return $this;
    }
    /**
     * Get Margem value
     * An additional test has been added (isset) before returning the property value as
     * 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 getMargem()
    {
        return isset($this->Margem) ? $this->Margem : null;
    }
    /**
     * Set Margem value
     * This property is 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 $margem
     * @return \StructType\LinhasInternosERP
     */
    public function setMargem($margem = null)
    {
        if (is_null($margem) || (is_array($margem) && empty($margem))) {
            unset($this->Margem);
        } else {
            $this->Margem = $margem;
        }
        return $this;
    }
    /**
     * Get ModuloOrigemCopia value
     * An additional test has been added (isset) before returning the property value as
     * 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 getModuloOrigemCopia()
    {
        return isset($this->ModuloOrigemCopia) ? $this->ModuloOrigemCopia : null;
    }
    /**
     * Set ModuloOrigemCopia value
     * This property is 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 $moduloOrigemCopia
     * @return \StructType\LinhasInternosERP
     */
    public function setModuloOrigemCopia($moduloOrigemCopia = null)
    {
        // validation for constraint: string
        if (!is_null($moduloOrigemCopia) && !is_string($moduloOrigemCopia)) {
            throw new \InvalidArgumentException(sprintf('Invalid value, please provide a string, "%s" given', gettype($moduloOrigemCopia)), __LINE__);
        }
        if (is_null($moduloOrigemCopia) || (is_array($moduloOrigemCopia) && empty($moduloOrigemCopia))) {
            unset($this->ModuloOrigemCopia);
        } else {
            $this->ModuloOrigemCopia = $moduloOrigemCopia;
        }
        return $this;
    }
    /**
     * Get MotivoEstorno value
     * An additional test has been added (isset) before returning the property value as
     * 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 getMotivoEstorno()
    {
        return isset($this->MotivoEstorno) ? $this->MotivoEstorno : null;
    }
    /**
     * Set MotivoEstorno value
     * This property is 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 $motivoEstorno
     * @return \StructType\LinhasInternosERP
     */
    public function setMotivoEstorno($motivoEstorno = null)
    {
        // validation for constraint: string
        if (!is_null($motivoEstorno) && !is_string($motivoEstorno)) {
            throw new \InvalidArgumentException(sprintf('Invalid value, please provide a string, "%s" given', gettype($motivoEstorno)), __LINE__);
        }
        if (is_null($motivoEstorno) || (is_array($motivoEstorno) && empty($motivoEstorno))) {
            unset($this->MotivoEstorno);
        } else {
            $this->MotivoEstorno = $motivoEstorno;
        }
        return $this;
    }
    /**
     * Get MovStk value
     * An additional test has been added (isset) before returning the property value as
     * 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 getMovStk()
    {
        return isset($this->MovStk) ? $this->MovStk : null;
    }
    /**
     * Set MovStk value
     * This property is 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 $movStk
     * @return \StructType\LinhasInternosERP
     */
    public function setMovStk($movStk = null)
    {
        // validation for constraint: boolean
        if (!is_null($movStk) && !is_bool($movStk)) {
            throw new \InvalidArgumentException(sprintf('Invalid value, please provide a bool, "%s" given', gettype($movStk)), __LINE__);
        }
        if (is_null($movStk) || (is_array($movStk) && empty($movStk))) {
            unset($this->MovStk);
        } else {
            $this->MovStk = $movStk;
        }
        return $this;
    }
    /**
     * Get NumLinha value
     * @return int|null
     */
    public function getNumLinha()
    {
        return $this->NumLinha;
    }
    /**
     * Set NumLinha value
     * @param int $numLinha
     * @return \StructType\LinhasInternosERP
     */
    public function setNumLinha($numLinha = null)
    {
        // validation for constraint: int
        if (!is_null($numLinha) && !is_numeric($numLinha)) {
            throw new \InvalidArgumentException(sprintf('Invalid value, please provide a numeric value, "%s" given', gettype($numLinha)), __LINE__);
        }
        $this->NumLinha = $numLinha;
        return $this;
    }
    /**
     * Get NumLinhaStkGerada value
     * An additional test has been added (isset) before returning the property value as
     * 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 getNumLinhaStkGerada()
    {
        return isset($this->NumLinhaStkGerada) ? $this->NumLinhaStkGerada : null;
    }
    /**
     * Set NumLinhaStkGerada value
     * This property is 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 $numLinhaStkGerada
     * @return \StructType\LinhasInternosERP
     */
    public function setNumLinhaStkGerada($numLinhaStkGerada = null)
    {
        // validation for constraint: int
        if (!is_null($numLinhaStkGerada) && !is_numeric($numLinhaStkGerada)) {
            throw new \InvalidArgumentException(sprintf('Invalid value, please provide a numeric value, "%s" given', gettype($numLinhaStkGerada)), __LINE__);
        }
        if (is_null($numLinhaStkGerada) || (is_array($numLinhaStkGerada) && empty($numLinhaStkGerada))) {
            unset($this->NumLinhaStkGerada);
        } else {
            $this->NumLinhaStkGerada = $numLinhaStkGerada;
        }
        return $this;
    }
    /**
     * Get ObraId value
     * An additional test has been added (isset) before returning the property value as
     * 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 getObraId()
    {
        return isset($this->ObraId) ? $this->ObraId : null;
    }
    /**
     * Set ObraId value
     * This property is 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 $obraId
     * @return \StructType\LinhasInternosERP
     */
    public function setObraId($obraId = null)
    {
        // validation for constraint: pattern
        if (is_scalar($obraId) && !preg_match('/[\\da-fA-F]{8}-[\\da-fA-F]{4}-[\\da-fA-F]{4}-[\\da-fA-F]{4}-[\\da-fA-F]{12}/', $obraId)) {
            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($obraId, true)), __LINE__);
        }
        // validation for constraint: string
        if (!is_null($obraId) && !is_string($obraId)) {
            throw new \InvalidArgumentException(sprintf('Invalid value, please provide a string, "%s" given', gettype($obraId)), __LINE__);
        }
        if (is_null($obraId) || (is_array($obraId) && empty($obraId))) {
            unset($this->ObraId);
        } else {
            $this->ObraId = $obraId;
        }
        return $this;
    }
    /**
     * Get PCPadrao value
     * An additional test has been added (isset) before returning the property value as
     * 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 getPCPadrao()
    {
        return isset($this->PCPadrao) ? $this->PCPadrao : null;
    }
    /**
     * Set PCPadrao value
     * This property is 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 $pCPadrao
     * @return \StructType\LinhasInternosERP
     */
    public function setPCPadrao($pCPadrao = null)
    {
        if (is_null($pCPadrao) || (is_array($pCPadrao) && empty($pCPadrao))) {
            unset($this->PCPadrao);
        } else {
            $this->PCPadrao = $pCPadrao;
        }
        return $this;
    }
    /**
     * Get PercIncidenciaIVA value
     * An additional test has been added (isset) before returning the property value as
     * 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 getPercIncidenciaIVA()
    {
        return isset($this->PercIncidenciaIVA) ? $this->PercIncidenciaIVA : null;
    }
    /**
     * Set PercIncidenciaIVA value
     * This property is 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 $percIncidenciaIVA
     * @return \StructType\LinhasInternosERP
     */
    public function setPercIncidenciaIVA($percIncidenciaIVA = null)
    {
        if (is_null($percIncidenciaIVA) || (is_array($percIncidenciaIVA) && empty($percIncidenciaIVA))) {
            unset($this->PercIncidenciaIVA);
        } else {
            $this->PercIncidenciaIVA = $percIncidenciaIVA;
        }
        return $this;
    }
    /**
     * Get PercIvaDedutivel value
     * @return float|null
     */
    public function getPercIvaDedutivel()
    {
        return $this->PercIvaDedutivel;
    }
    /**
     * Set PercIvaDedutivel value
     * @param float $percIvaDedutivel
     * @return \StructType\LinhasInternosERP
     */
    public function setPercIvaDedutivel($percIvaDedutivel = null)
    {
        $this->PercIvaDedutivel = $percIvaDedutivel;
        return $this;
    }
    /**
     * Get PercentagemMargem value
     * An additional test has been added (isset) before returning the property value as
     * 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 getPercentagemMargem()
    {
        return isset($this->PercentagemMargem) ? $this->PercentagemMargem : null;
    }
    /**
     * Set PercentagemMargem value
     * This property is 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 $percentagemMargem
     * @return \StructType\LinhasInternosERP
     */
    public function setPercentagemMargem($percentagemMargem = null)
    {
        if (is_null($percentagemMargem) || (is_array($percentagemMargem) && empty($percentagemMargem))) {
            unset($this->PercentagemMargem);
        } else {
            $this->PercentagemMargem = $percentagemMargem;
        }
        return $this;
    }
    /**
     * Get PrecUnit value
     * An additional test has been added (isset) before returning the property value as
     * 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 getPrecUnit()
    {
        return isset($this->PrecUnit) ? $this->PrecUnit : null;
    }
    /**
     * Set PrecUnit value
     * This property is 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 $precUnit
     * @return \StructType\LinhasInternosERP
     */
    public function setPrecUnit($precUnit = null)
    {
        if (is_null($precUnit) || (is_array($precUnit) && empty($precUnit))) {
            unset($this->PrecUnit);
        } else {
            $this->PrecUnit = $precUnit;
        }
        return $this;
    }
    /**
     * Get PrecoLiquido value
     * An additional test has been added (isset) before returning the property value as
     * 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 getPrecoLiquido()
    {
        return isset($this->PrecoLiquido) ? $this->PrecoLiquido : null;
    }
    /**
     * Set PrecoLiquido value
     * This property is 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 $precoLiquido
     * @return \StructType\LinhasInternosERP
     */
    public function setPrecoLiquido($precoLiquido = null)
    {
        if (is_null($precoLiquido) || (is_array($precoLiquido) && empty($precoLiquido))) {
            unset($this->PrecoLiquido);
        } else {
            $this->PrecoLiquido = $precoLiquido;
        }
        return $this;
    }
    /**
     * Get ProcessoID value
     * An additional test has been added (isset) before returning the property value as
     * 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 getProcessoID()
    {
        return isset($this->ProcessoID) ? $this->ProcessoID : null;
    }
    /**
     * Set ProcessoID value
     * This property is 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 $processoID
     * @return \StructType\LinhasInternosERP
     */
    public function setProcessoID($processoID = null)
    {
        // validation for constraint: pattern
        if (is_scalar($processoID) && !preg_match('/[\\da-fA-F]{8}-[\\da-fA-F]{4}-[\\da-fA-F]{4}-[\\da-fA-F]{4}-[\\da-fA-F]{12}/', $processoID)) {
            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($processoID, true)), __LINE__);
        }
        // validation for constraint: string
        if (!is_null($processoID) && !is_string($processoID)) {
            throw new \InvalidArgumentException(sprintf('Invalid value, please provide a string, "%s" given', gettype($processoID)), __LINE__);
        }
        if (is_null($processoID) || (is_array($processoID) && empty($processoID))) {
            unset($this->ProcessoID);
        } else {
            $this->ProcessoID = $processoID;
        }
        return $this;
    }
    /**
     * Get Protegida value
     * @return bool|null
     */
    public function getProtegida()
    {
        return $this->Protegida;
    }
    /**
     * Set Protegida value
     * @param bool $protegida
     * @return \StructType\LinhasInternosERP
     */
    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 QntFormula value
     * An additional test has been added (isset) before returning the property value as
     * 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 getQntFormula()
    {
        return isset($this->QntFormula) ? $this->QntFormula : null;
    }
    /**
     * Set QntFormula value
     * This property is 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 $qntFormula
     * @return \StructType\LinhasInternosERP
     */
    public function setQntFormula($qntFormula = null)
    {
        if (is_null($qntFormula) || (is_array($qntFormula) && empty($qntFormula))) {
            unset($this->QntFormula);
        } else {
            $this->QntFormula = $qntFormula;
        }
        return $this;
    }
    /**
     * Get QntSatisfeita value
     * An additional test has been added (isset) before returning the property value as
     * 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 getQntSatisfeita()
    {
        return isset($this->QntSatisfeita) ? $this->QntSatisfeita : null;
    }
    /**
     * Set QntSatisfeita value
     * This property is 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 $qntSatisfeita
     * @return \StructType\LinhasInternosERP
     */
    public function setQntSatisfeita($qntSatisfeita = null)
    {
        if (is_null($qntSatisfeita) || (is_array($qntSatisfeita) && empty($qntSatisfeita))) {
            unset($this->QntSatisfeita);
        } else {
            $this->QntSatisfeita = $qntSatisfeita;
        }
        return $this;
    }
    /**
     * Get Quantidade value
     * An additional test has been added (isset) before returning the property value as
     * 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 getQuantidade()
    {
        return isset($this->Quantidade) ? $this->Quantidade : null;
    }
    /**
     * Set Quantidade value
     * This property is 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 $quantidade
     * @return \StructType\LinhasInternosERP
     */
    public function setQuantidade($quantidade = null)
    {
        if (is_null($quantidade) || (is_array($quantidade) && empty($quantidade))) {
            unset($this->Quantidade);
        } else {
            $this->Quantidade = $quantidade;
        }
        return $this;
    }
    /**
     * Get RegimeIva value
     * An additional test has been added (isset) before returning the property value as
     * 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 getRegimeIva()
    {
        return isset($this->RegimeIva) ? $this->RegimeIva : null;
    }
    /**
     * Set RegimeIva value
     * This property is 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 $regimeIva
     * @return \StructType\LinhasInternosERP
     */
    public function setRegimeIva($regimeIva = null)
    {
        // validation for constraint: string
        if (!is_null($regimeIva) && !is_string($regimeIva)) {
            throw new \InvalidArgumentException(sprintf('Invalid value, please provide a string, "%s" given', gettype($regimeIva)), __LINE__);
        }
        if (is_null($regimeIva) || (is_array($regimeIva) && empty($regimeIva))) {
            unset($this->RegimeIva);
        } else {
            $this->RegimeIva = $regimeIva;
        }
        return $this;
    }
    /**
     * Get RegraCalculoIncidencia value
     * @return string|null
     */
    public function getRegraCalculoIncidencia()
    {
        return $this->RegraCalculoIncidencia;
    }
    /**
     * Set RegraCalculoIncidencia value
     * @param string $regraCalculoIncidencia
     * @return \StructType\LinhasInternosERP
     */
    public function setRegraCalculoIncidencia($regraCalculoIncidencia = null)
    {
        // validation for constraint: string
        if (!is_null($regraCalculoIncidencia) && !is_string($regraCalculoIncidencia)) {
            throw new \InvalidArgumentException(sprintf('Invalid value, please provide a string, "%s" given', gettype($regraCalculoIncidencia)), __LINE__);
        }
        $this->RegraCalculoIncidencia = $regraCalculoIncidencia;
        return $this;
    }
    /**
     * Get SubEmpId value
     * An additional test has been added (isset) before returning the property value as
     * 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 getSubEmpId()
    {
        return isset($this->SubEmpId) ? $this->SubEmpId : null;
    }
    /**
     * Set SubEmpId value
     * This property is 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 $subEmpId
     * @return \StructType\LinhasInternosERP
     */
    public function setSubEmpId($subEmpId = null)
    {
        // validation for constraint: int
        if (!is_null($subEmpId) && !is_numeric($subEmpId)) {
            throw new \InvalidArgumentException(sprintf('Invalid value, please provide a numeric value, "%s" given', gettype($subEmpId)), __LINE__);
        }
        if (is_null($subEmpId) || (is_array($subEmpId) && empty($subEmpId))) {
            unset($this->SubEmpId);
        } else {
            $this->SubEmpId = $subEmpId;
        }
        return $this;
    }
    /**
     * Get TaxaIva value
     * An additional test has been added (isset) before returning the property value as
     * 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 getTaxaIva()
    {
        return isset($this->TaxaIva) ? $this->TaxaIva : null;
    }
    /**
     * Set TaxaIva value
     * This property is 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 $taxaIva
     * @return \StructType\LinhasInternosERP
     */
    public function setTaxaIva($taxaIva = null)
    {
        if (is_null($taxaIva) || (is_array($taxaIva) && empty($taxaIva))) {
            unset($this->TaxaIva);
        } else {
            $this->TaxaIva = $taxaIva;
        }
        return $this;
    }
    /**
     * Get TaxaIvaEcotaxa value
     * An additional test has been added (isset) before returning the property value as
     * 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 getTaxaIvaEcotaxa()
    {
        return isset($this->TaxaIvaEcotaxa) ? $this->TaxaIvaEcotaxa : null;
    }
    /**
     * Set TaxaIvaEcotaxa value
     * This property is 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 $taxaIvaEcotaxa
     * @return \StructType\LinhasInternosERP
     */
    public function setTaxaIvaEcotaxa($taxaIvaEcotaxa = null)
    {
        if (is_null($taxaIvaEcotaxa) || (is_array($taxaIvaEcotaxa) && empty($taxaIvaEcotaxa))) {
            unset($this->TaxaIvaEcotaxa);
        } else {
            $this->TaxaIvaEcotaxa = $taxaIvaEcotaxa;
        }
        return $this;
    }
    /**
     * Get TaxaProRata value
     * @return float|null
     */
    public function getTaxaProRata()
    {
        return $this->TaxaProRata;
    }
    /**
     * Set TaxaProRata value
     * @param float $taxaProRata
     * @return \StructType\LinhasInternosERP
     */
    public function setTaxaProRata($taxaProRata = null)
    {
        $this->TaxaProRata = $taxaProRata;
        return $this;
    }
    /**
     * Get TaxaRecargo value
     * An additional test has been added (isset) before returning the property value as
     * 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 getTaxaRecargo()
    {
        return isset($this->TaxaRecargo) ? $this->TaxaRecargo : null;
    }
    /**
     * Set TaxaRecargo value
     * This property is 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 $taxaRecargo
     * @return \StructType\LinhasInternosERP
     */
    public function setTaxaRecargo($taxaRecargo = null)
    {
        if (is_null($taxaRecargo) || (is_array($taxaRecargo) && empty($taxaRecargo))) {
            unset($this->TaxaRecargo);
        } else {
            $this->TaxaRecargo = $taxaRecargo;
        }
        return $this;
    }
    /**
     * Get TipoCustoPrevisto value
     * @return string|null
     */
    public function getTipoCustoPrevisto()
    {
        return $this->TipoCustoPrevisto;
    }
    /**
     * Set TipoCustoPrevisto value
     * @param string $tipoCustoPrevisto
     * @return \StructType\LinhasInternosERP
     */
    public function setTipoCustoPrevisto($tipoCustoPrevisto = null)
    {
        // validation for constraint: string
        if (!is_null($tipoCustoPrevisto) && !is_string($tipoCustoPrevisto)) {
            throw new \InvalidArgumentException(sprintf('Invalid value, please provide a string, "%s" given', gettype($tipoCustoPrevisto)), __LINE__);
        }
        $this->TipoCustoPrevisto = $tipoCustoPrevisto;
        return $this;
    }
    /**
     * Get TipoEntidade value
     * An additional test has been added (isset) before returning the property value as
     * this property may have been unset before, due to the fact that this property is
     * removable from the request (nillable=true+minOccurs=0)
     * @return string|null
     */
    public function getTipoEntidade()
    {
        return isset($this->TipoEntidade) ? $this->TipoEntidade : null;
    }
    /**
     * Set TipoEntidade value
     * This property is removable from request (nillable=true+minOccurs=0), therefore
     * if the value assigned to this property is null, it is removed from this object
     * @param string $tipoEntidade
     * @return \StructType\LinhasInternosERP
     */
    public function setTipoEntidade($tipoEntidade = null)
    {
        // validation for constraint: string
        if (!is_null($tipoEntidade) && !is_string($tipoEntidade)) {
            throw new \InvalidArgumentException(sprintf('Invalid value, please provide a string, "%s" given', gettype($tipoEntidade)), __LINE__);
        }
        if (is_null($tipoEntidade) || (is_array($tipoEntidade) && empty($tipoEntidade))) {
            unset($this->TipoEntidade);
        } else {
            $this->TipoEntidade = $tipoEntidade;
        }
        return $this;
    }
    /**
     * Get TipoLinha value
     * An additional test has been added (isset) before returning the property value as
     * 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 getTipoLinha()
    {
        return isset($this->TipoLinha) ? $this->TipoLinha : null;
    }
    /**
     * Set TipoLinha value
     * This property is 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 $tipoLinha
     * @return \StructType\LinhasInternosERP
     */
    public function setTipoLinha($tipoLinha = null)
    {
        // validation for constraint: string
        if (!is_null($tipoLinha) && !is_string($tipoLinha)) {
            throw new \InvalidArgumentException(sprintf('Invalid value, please provide a string, "%s" given', gettype($tipoLinha)), __LINE__);
        }
        if (is_null($tipoLinha) || (is_array($tipoLinha) && empty($tipoLinha))) {
            unset($this->TipoLinha);
        } else {
            $this->TipoLinha = $tipoLinha;
        }
        return $this;
    }
    /**
     * Get TipoOperacao value
     * An additional test has been added (isset) before returning the property value as
     * 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 getTipoOperacao()
    {
        return isset($this->TipoOperacao) ? $this->TipoOperacao : null;
    }
    /**
     * Set TipoOperacao value
     * This property is 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 $tipoOperacao
     * @return \StructType\LinhasInternosERP
     */
    public function setTipoOperacao($tipoOperacao = null)
    {
        // validation for constraint: string
        if (!is_null($tipoOperacao) && !is_string($tipoOperacao)) {
            throw new \InvalidArgumentException(sprintf('Invalid value, please provide a string, "%s" given', gettype($tipoOperacao)), __LINE__);
        }
        if (is_null($tipoOperacao) || (is_array($tipoOperacao) && empty($tipoOperacao))) {
            unset($this->TipoOperacao);
        } else {
            $this->TipoOperacao = $tipoOperacao;
        }
        return $this;
    }
    /**
     * Get TotalDA value
     * An additional test has been added (isset) before returning the property value as
     * 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 getTotalDA()
    {
        return isset($this->TotalDA) ? $this->TotalDA : null;
    }
    /**
     * Set TotalDA value
     * This property is 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 $totalDA
     * @return \StructType\LinhasInternosERP
     */
    public function setTotalDA($totalDA = null)
    {
        if (is_null($totalDA) || (is_array($totalDA) && empty($totalDA))) {
            unset($this->TotalDA);
        } else {
            $this->TotalDA = $totalDA;
        }
        return $this;
    }
    /**
     * Get TotalDC value
     * An additional test has been added (isset) before returning the property value as
     * 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 getTotalDC()
    {
        return isset($this->TotalDC) ? $this->TotalDC : null;
    }
    /**
     * Set TotalDC value
     * This property is 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 $totalDC
     * @return \StructType\LinhasInternosERP
     */
    public function setTotalDC($totalDC = null)
    {
        if (is_null($totalDC) || (is_array($totalDC) && empty($totalDC))) {
            unset($this->TotalDC);
        } else {
            $this->TotalDC = $totalDC;
        }
        return $this;
    }
    /**
     * Get TotalDF value
     * An additional test has been added (isset) before returning the property value as
     * 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 getTotalDF()
    {
        return isset($this->TotalDF) ? $this->TotalDF : null;
    }
    /**
     * Set TotalDF value
     * This property is 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 $totalDF
     * @return \StructType\LinhasInternosERP
     */
    public function setTotalDF($totalDF = null)
    {
        if (is_null($totalDF) || (is_array($totalDF) && empty($totalDF))) {
            unset($this->TotalDF);
        } else {
            $this->TotalDF = $totalDF;
        }
        return $this;
    }
    /**
     * Get TotalEcotaxa value
     * @return float|null
     */
    public function getTotalEcotaxa()
    {
        return $this->TotalEcotaxa;
    }
    /**
     * Set TotalEcotaxa value
     * @param float $totalEcotaxa
     * @return \StructType\LinhasInternosERP
     */
    public function setTotalEcotaxa($totalEcotaxa = null)
    {
        $this->TotalEcotaxa = $totalEcotaxa;
        return $this;
    }
    /**
     * Get TotalIliquido value
     * An additional test has been added (isset) before returning the property value as
     * 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 getTotalIliquido()
    {
        return isset($this->TotalIliquido) ? $this->TotalIliquido : null;
    }
    /**
     * Set TotalIliquido value
     * This property is 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 $totalIliquido
     * @return \StructType\LinhasInternosERP
     */
    public function setTotalIliquido($totalIliquido = null)
    {
        if (is_null($totalIliquido) || (is_array($totalIliquido) && empty($totalIliquido))) {
            unset($this->TotalIliquido);
        } else {
            $this->TotalIliquido = $totalIliquido;
        }
        return $this;
    }
    /**
     * Get TotalIva value
     * An additional test has been added (isset) before returning the property value as
     * 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 getTotalIva()
    {
        return isset($this->TotalIva) ? $this->TotalIva : null;
    }
    /**
     * Set TotalIva value
     * This property is 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 $totalIva
     * @return \StructType\LinhasInternosERP
     */
    public function setTotalIva($totalIva = null)
    {
        if (is_null($totalIva) || (is_array($totalIva) && empty($totalIva))) {
            unset($this->TotalIva);
        } else {
            $this->TotalIva = $totalIva;
        }
        return $this;
    }
    /**
     * Get TotalRecargo value
     * An additional test has been added (isset) before returning the property value as
     * 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 getTotalRecargo()
    {
        return isset($this->TotalRecargo) ? $this->TotalRecargo : null;
    }
    /**
     * Set TotalRecargo value
     * This property is 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 $totalRecargo
     * @return \StructType\LinhasInternosERP
     */
    public function setTotalRecargo($totalRecargo = null)
    {
        if (is_null($totalRecargo) || (is_array($totalRecargo) && empty($totalRecargo))) {
            unset($this->TotalRecargo);
        } else {
            $this->TotalRecargo = $totalRecargo;
        }
        return $this;
    }
    /**
     * Get Unidade value
     * An additional test has been added (isset) before returning the property value as
     * 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 getUnidade()
    {
        return isset($this->Unidade) ? $this->Unidade : null;
    }
    /**
     * Set Unidade value
     * This property is 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 $unidade
     * @return \StructType\LinhasInternosERP
     */
    public function setUnidade($unidade = null)
    {
        // validation for constraint: string
        if (!is_null($unidade) && !is_string($unidade)) {
            throw new \InvalidArgumentException(sprintf('Invalid value, please provide a string, "%s" given', gettype($unidade)), __LINE__);
        }
        if (is_null($unidade) || (is_array($unidade) && empty($unidade))) {
            unset($this->Unidade);
        } else {
            $this->Unidade = $unidade;
        }
        return $this;
    }
    /**
     * Get VariavelA value
     * An additional test has been added (isset) before returning the property value as
     * 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 getVariavelA()
    {
        return isset($this->VariavelA) ? $this->VariavelA : null;
    }
    /**
     * Set VariavelA value
     * This property is 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 $variavelA
     * @return \StructType\LinhasInternosERP
     */
    public function setVariavelA($variavelA = null)
    {
        if (is_null($variavelA) || (is_array($variavelA) && empty($variavelA))) {
            unset($this->VariavelA);
        } else {
            $this->VariavelA = $variavelA;
        }
        return $this;
    }
    /**
     * Get VariavelB value
     * An additional test has been added (isset) before returning the property value as
     * 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 getVariavelB()
    {
        return isset($this->VariavelB) ? $this->VariavelB : null;
    }
    /**
     * Set VariavelB value
     * This property is 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 $variavelB
     * @return \StructType\LinhasInternosERP
     */
    public function setVariavelB($variavelB = null)
    {
        if (is_null($variavelB) || (is_array($variavelB) && empty($variavelB))) {
            unset($this->VariavelB);
        } else {
            $this->VariavelB = $variavelB;
        }
        return $this;
    }
    /**
     * Get VariavelC value
     * An additional test has been added (isset) before returning the property value as
     * 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 getVariavelC()
    {
        return isset($this->VariavelC) ? $this->VariavelC : null;
    }
    /**
     * Set VariavelC value
     * This property is 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 $variavelC
     * @return \StructType\LinhasInternosERP
     */
    public function setVariavelC($variavelC = null)
    {
        if (is_null($variavelC) || (is_array($variavelC) && empty($variavelC))) {
            unset($this->VariavelC);
        } else {
            $this->VariavelC = $variavelC;
        }
        return $this;
    }
    /**
     * Get VersaoUltAct value
     * @return string|null
     */
    public function getVersaoUltAct()
    {
        return $this->VersaoUltAct;
    }
    /**
     * Set VersaoUltAct value
     * @param string $versaoUltAct
     * @return \StructType\LinhasInternosERP
     */
    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 WBSItem value
     * An additional test has been added (isset) before returning the property value as
     * 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 getWBSItem()
    {
        return isset($this->WBSItem) ? $this->WBSItem : null;
    }
    /**
     * Set WBSItem value
     * This property is 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 $wBSItem
     * @return \StructType\LinhasInternosERP
     */
    public function setWBSItem($wBSItem = null)
    {
        // validation for constraint: string
        if (!is_null($wBSItem) && !is_string($wBSItem)) {
            throw new \InvalidArgumentException(sprintf('Invalid value, please provide a string, "%s" given', gettype($wBSItem)), __LINE__);
        }
        if (is_null($wBSItem) || (is_array($wBSItem) && empty($wBSItem))) {
            unset($this->WBSItem);
        } else {
            $this->WBSItem = $wBSItem;
        }
        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\LinhasInternosERP
     */
    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__;
    }
}
