ERP - Emissão de NF - Como criar uma regra que utiliza a variável VTotTrib do xml das NFs de saída, para imprimir uma mensagem na NF caso a tag <VTotTrib> for diferente de 0
Dúvida
Como criar uma regra que utiliza a variável VTotTrib do xml das NFs de saída, para imprimir uma mensagem na NF caso a tag <VTotTrib> for diferente de 0, no módulo de Mercado? Há algum identificador de regras, que auxilie nessa regra que precisamos?
Solução
Não existe um identificador que tenha disponível a variável vTotTrib. O valor da tag <vTotTrib> será a soma dos valores da tabela E140DTP (itens de produto) e E140DTS (itens de serviço), ou seja, se nessas tabelas os dados estão zerados, a tag será gerada zerada. A soma é referente aos campos (VlrIcm + VlrIpi + VlrIss + VlrIof + VlrPis + VlrCOf + VlrPim + VlrCim + VlrIns + VlrIim + VlrCid).
Estas tabelas são alimentadas no fechamento da NF, desta forma, como deseja incluir uma mensagem no XML/DANFE quando a tag <vTotTrib> for diferente de zero, poderá utilizar o identificador VEN-140NEITE01 que, é executado na geração do XML, onde neste caso a NF já estará fechada e os valores nas tabelas E140DTP já estarão preenchidos.
Com isso, você poderá fazer um cursor na tabela E140DTP e verificar se os campos mencionados acima estão zerados, caso algum dos campos não esteja zerado, significa que a tag <vTotTrib> será gerada com o valor diferente de zero.
Através da variável 'VSIntInfAdp' do identificador VEN-140NEITE01 poderá então retornar a mensagem que desejar na NF-e de produto.
Para NF eletrônica de serviço o identificador VEN-140NEITE01 não é executado, neste caso, poderá utilizar o identificador GER-000ABRASF1 para retornar a informação que desejar para os itens.