Como utilizar variáveis condicionais (booleanas) para gerar determinados grupos de informações no XML?
FAQ_CIGAM > FAQ_Fiscal > Gestão Fiscal Municipal > Como utilizar variáveis condicionais (booleanas) para gerar determinados grupos de informações no XML?
É possível utilizar variáveis booleanas disponíveis nos arquivos de variáveis da NFSe Configurável assim como em outros relatórios do tipo MERGE.
Abaixo listaremos um exemplo utilizando o comando condicional IF concatenado com a variável booleana <!$MG_tomador_if_pess>, assim como a condicional MGELSE e MGENDIF para geração de um determinado grupo de TAGs.
<IdentificacaoTomador> <CpfCnpj> <!$MGIF_tomador_if_pess> <Cpf><!$MG_tomador_cpf></Cpf> <!$MGELSE> <Cnpj><!$MG_tomador_cnpj></Cnpj> <!$MGENDIF> </CpfCnpj> <IdentificacaoTomador>
Neste exemplo, se a condição <!$MGIF_tomador_if_pess> for Verdadeira, ou seja, o Tomador da Nota Fiscal for uma Pessoa Física, no XML será gerada a TAG <cpf>, caso contrário <!$MGELSE>, será gerada a TAG <Cnpj>, e finalizamos a condição com o comando <!$MGENDIF>.
O resultado final da expressão acima será conforme a imagem abaixo:
Note que as variáveis booleanas não serão geradas, elas são utilizadas apenas para realizar a validação da expressão.
Podemos também utilizar condições aninhadas. Neste caso precisamos encerrar todas as condições que serão abertas. No exemplo temos duas condições <MGIF...> logo devemos encerrar com duas condições <MGENDIF>.
<IdentificacaoTomador> ... <!$MGIF_tributacao_no_municipio> <!$MGIF_existe_inscr_munic_cliente> <InscricaoMunicipal><!$MG_tomador_insc_municipal></InscricaoMunicipal> <!$MGENDIF> <!$MGENDIF> <IdentificacaoTomador>
No exemplo acima, primeiramente está sendo testado se a Tributação é Dentro do Município através da condição <!$MGIF_tributacao_no_municipio>, sendo esta condição Verdadeira, o sistema irá testar se existe alguma Inscrição Municipal informada no cadastro do Tomador da Nota <!$MGIF_existe_inscr_munic_cliente>, existindo uma Inscrição Municipal o sistema irá gerar a TAG contendo a Inscrição Municipal do Tomador.