Como utilizar variáveis condicionais (booleanas) para gerar determinados grupos de informações no XML?

De CIGAM WIKI

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:

VarCondicional.png

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.

VarCondicional1.png

FAQs relacionadas