Ir para conteúdo
  • Cadastre-se

dev botao

NFSe através do ACBrMonitorPlus - É possível acentuação e quebra de linha na descrição?


Ver Solução Respondido por Daniel InfoCotidiano,

Recommended Posts

  • Membros Pro
Postado

Olá,

Lendo outros tópicos aqui no fórum sobre este assunto, aparentemente não é possível ter caracteres acentuados ou usar quebra de linha (ENTER) na descrição do serviço na NFSE, porém antes de usar o ACBrMonitorPlus, o cliente usava uma outra forma de emissão que permitia a acentuação, por exemplo, no caso do ENTER, deveria ser enviado \\s\\n na descrição do serviço que na emissão era incluído uma quebra de linha.

Tentei usar o mesmo artificio, porém na descrição apareceu os caracteres \\s\\n e não o ENTER.

Alguém tem alguma dica ou uma posição definitiva se pode ou não utilizar caracteres acentuados e ENTER?

Obrigado,

Sergio

  • Membros Pro
Postado

Olá Daniel,

Vi que por padrão o ACBrMonitorPlus já vem com o "pipe" como caractere de quebra de linha.

Ai fiz o teste de incluir este caractere e gerei a NFSe, porém na visualização da NF o pipe não foi trocado:

image.thumb.png.0ae3d9ac97079cd0a5afc10ead31467a.png

Mas de qualquer forma, obrigado pela dica! 

 

  • Consultores
Postado

Bom dia @Delfos Sistemas,

Se tratando de NFS-e devemos sempre usar o ponto e virgula como quebra de linha.

Exemplo:

Discriminacao=Linha 1;Linha 2;Linha 3

Quanto a vogais acentuadas, cedilha, E comercial ( & ) você pode usar, mas infelizmente existem provedores que acabam acusando assinatura invalida quando usamos esses tipos de caracteres.

Mas nada impede de você realizar testes.

Consultor SAC ACBr

Italo Giurizzato Junior
Ajude o Projeto ACBr crescer - Assine o SAC

Projeto ACBr

Analista de Sistemas / Araraquara-SP

Araraquara - A era dos Trólebus

  • Membros Pro
Postado

Olá Ítalo,

Vou testar o ponto e virgula como quebra de linha.

Sobre os caracteres especiais, o cliente precisava que saísse o percentual (%) e pelo teste que fiz, quando coloca o % a NF não é validada.

Testei incluindo o ponto e vírgula na descrição da NF e após validar, na visualização da NF aparece desta forma:

image.thumb.png.ae72aa25f6aae1b34b74367341e764bc.png

Obs. Eu descrevi: linha 1; teste de quebra linha 2; linha 3          

Obrigado pela dica Ítalo!

Sergio

 

  • Consultores
Postado

Bom dia @Delfos Sistemas,

O caracter % não é considerado um caracter especial, não entendi o motivo da RPS não ser processado com sucesso.

Onde ele esta sendo informado?

Quanto a quebra de linha essa visualização é via site ou pelo componente do ACBr?

Consultor SAC ACBr

Italo Giurizzato Junior
Ajude o Projeto ACBr crescer - Assine o SAC

Projeto ACBr

Analista de Sistemas / Araraquara-SP

Araraquara - A era dos Trólebus

  • Membros Pro
Postado

Bom Dia Ítalo,

Sobre o %, ele esta sendo informado assim: 

PRESTACAO DE SERVICOS. TRIBUTOS APROX: FEDERAL 6,76%, MUNICIPAL 3,50% - FONTE SEBRAE

A visualização que eu postei e a que uso é via site da prefeitura, onde eu passo o código de verificação que é retornado na validação + o site da prefeitura e número da NF.

Via ACBrMonitorPlus iria aparecer diferente? Não teria que ser igual a visualização da Prefeitura?

De qualquer forma vou fazer o teste e usar o ACBrMonitorPlus para verificar o resultado. Mas como hoje estou em serviço externo, só no final do dia devo postar o resultado.

Obrigado,

Sergio

  • Membros Pro
Postado

Oi Ítalo,

Aproveitei o horário de almoço e gerei a NFSe pelo comando NFSe.ImprimirNFSe do ACBrMonitorPlus, informando a pasta e nome do XML.

A visualização do PDF salvo não mudou em relação ao que a Prefeitura gera:

image.thumb.png.d29e72ff6642bd0222197eb9d964dbad.png

Tem alguma coisa mais que eu possa tentar?

Obrigado,

Sergio

  • Membros Pro
Postado

Oi Ítalo,

Ainda deu tempo de testar hoje.

Baixei a versão 1.4.0.290-x64 do ACBrMonitor Plus e instalei no cliente:

image.thumb.png.ea0e711819cf02a15fac912ebdb66bfe.png

Gerei uma nova NFSe de teste e validei. Infelizmente ainda não deu certo:

image.thumb.jpeg.8b2fe99517859911c183d7cdf66a2cf0.jpeg

Só para confirmar, estou usando o "ponto e virgula" como caractere de quebra de linha.

Segue em anexo os XMLs da NF e do RPS.

Obrigado pelo empenho.

Sergio

3524121892966000011756000000000014133-nfse.xml 3524121892966000011756000000000014268-rps.xml

  • Consultores
Postado

Bom dia @Delfos Sistemas,

Essa imagem que você anexou é da impressão via site correto?

Pois fiz um teste com a impressão do DANFSE usado pelo ACBrMonitor fica dessa forma:

image.png

Como você pode ver esta ocorrendo a quebra de linha que você deseja.

Vamos entender o que esta ocorrendo.

Sempre devemos usar o ponto e virgula para quebra de linha ao alimentar o campo Discriminação, essa regra é a mesma para todos os provedores.

Note que ao gerar o XML do RPS o ponto e virgula é substituído pela sequencia de caracteres: 


No XML fica da seguinte forma:

<Discriminacao>Teste de quebra de linha 1 &amp;#xD;&amp;#xA; linha 2 &amp;#xD;&amp;#xA; linha 3</Discriminacao>

Note que o caracter & foi substituído por &amp; e essa troca esta correta.

O webservice do provedor deveria desfazer essa troca para voltar a sequencia original e não esta fazendo, logo a não reconhece a sequencia &amp;#xD;&amp;#xA; como sendo uma quebra de linha e na impressão via site fica tudo na mesma linha.

Ou a informação que temos que a sequencia &#xD;&#xA; é usada como quebra de linha esta errada.

Consultor SAC ACBr

Italo Giurizzato Junior
Ajude o Projeto ACBr crescer - Assine o SAC

Projeto ACBr

Analista de Sistemas / Araraquara-SP

Araraquara - A era dos Trólebus

  • Membros Pro
Postado

Oi Ítalo,

Desculpe a demora em responder, mas com base no que descreveu, estava fazendo alguns testes para tentar modificar o arquivo antes de enviar para a prefeitura.

Antes de usar o ACBrMonitorPlus eu trocava o ENTER pelos caracteres "\\s\\n" e o site da prefeitura validava e reconstituía o ENTER quando eu visualizava a NFSe pelo site.

Então tentei incluir esta cadeia de caracteres no lugar dos que são gerados ("&#xD;&#xA"

A principio eu estava usando o comando que cria e já envia o RPS (NFSe.CriarEnviarRPS), mas para acompanhar o passo a passo de cada arquivo gerado, qual a sequencia correta para gerar e enviar?

Seria esta ou tem mais comando que eu deveria enviar para eu receber o código de verificação da prefeitura e o local do XML enviado?

NFSe.LimparLoteRPS
NFSe.AdicionarRPS
NFSe.GerarLoteRPS
NFSe.EnviarLoteRPS

obrigado pela ajuda,

Sergio

  • Consultores
Postado

Bom dia!

  • NFSe.LimparLoteRPS: Este comando vai limpar da memória do ACBrMonitorPLUS qualquer RPS que tenha sido carregado previamente.
  • NFSe.AdicionarRPS: Este comando vai carregar na memória do ACBrMonitor um RPS.
  • NFSe.GerarLoteRPS: Este comando vai fazer com que o ACBrMonitorPLUS crie para você um arquivo XML contendo as informações do RPS semelhante ao que é enviado ao WebService, mas ele não vai fazer o envio para o web service.
  • NFSe.EnviarLoteRPS: Este comando vai gerar o arquivo e de fato realizar o envio para o web service, recebendo o retorno do mesmo.

Dito isso, você pode usar o comando GerarLoteRPS caso queria salvar o arquivo antes para ver como está ficando, ademais, você pode usar o EnviarLoteRPS mesmo depois do Adicionar.

Consultor SAC ACBr

Diego Folieni
Ajude o Projeto ACBr crescer - Assine o SAC

Projeto ACBr     Telefone:(15) 2105-0750 WhatsApp(15)99790-2976.  Discord

Projeto ACBr - A maior comunidade Open Source de Automação Comercial do Brasil


Participe de nosso canal no Discord e fique ainda mais próximo da Comunidade !!

  • Membros Pro
Postado

Olá Ítalo / Diego,

Conforme o Ítalo comentou, o ACBrMonitor esta enviando e substituindo o ponto e virgula com o padrão que deveria ser identificado pelas prefeituras.

Em Sorocaba, vou ainda fazer mais testes para ver se consigo algum progresso, mas da parte de vocês acredito que não tenham muito o que fazer mais.

Se quiserem deixar por mais um tempo este tópico aberto, se eu conseguir alguma novidade, posto aqui o resultado. Mas caso queiram encerrar o tópico, fiquem a vontade também.

Obrigado pela ajuda e empenho.

Sergio

  • Curtir 1
  • Consultores
Postado

Boa tarde @Delfos Sistemas,

Vamos manter ele mais alguns dias aberto, tente descobrir qual é a sequencia de caracteres que o provedor reconhece como quebra de linha para que o DANFSE impresso via site fique correto, ou seja, com quebra de linha.

Nos informe que fazermos as devidas alterações.

Consultor SAC ACBr

Italo Giurizzato Junior
Ajude o Projeto ACBr crescer - Assine o SAC

Projeto ACBr

Analista de Sistemas / Araraquara-SP

Araraquara - A era dos Trólebus

  • Membros Pro
Postado

Oi Ítalo,

Na forma como o cliente enviava, era criado um arquivo .json com este conteúdo:

"IssRetido" : 1,"CodigoCnae" : 863050300,"Discriminacao" : "Teste Linha 1\\s\\nLinha 2\\s\\nLinha 3","CodigoMunicipio" : 3552205,"ExigibilidadeISS" : 1

Obs: Como era .json, tinha que enviar uma barra a mais e por isto ficava \\s\\n.

No manual da prefeitura de Sorocaba tem estas instruções (recortei a parte sobre o ENTER, que esta na pág.23, mas em anexo vou enviar o manual completo:

image.thumb.png.766b4668504313b104716dc3429b91a6.png

Conferi o .XML gerado pelo comando NFSe.GerarLoteRPS e esta correto no XML, conforme o manual pede:

image.thumb.png.fa474fed098aaab9b90c62813cd541f2.png

Obs.: Também tentei mandar como \\s\\n e não funcionou também.

Enfim, foi este o resultado da minha tentativa.

Se vocês tiverem mais alguma sugestão eu agradeço, caso contrário, podem encerrar o tópico.

Obrigado,

Sergio

 

 

 

teste.ini 394-lista-nfse-sinc.xml NFS-e_Manual_de_Integracao_versao_2.03_alteracoes (1).pdf

  • Membros Pro
Postado

Boa tarde Ítalo,

Enviando \\s\\n ou \s\n, nenhuma das opções funcionou.

No XML gerado pelo ACBrMonitor e na visualização da NFSe pelo site da Prefeitura, permaneceram a sequencia de caracteres \\s\\n ou \s\n.

Obrigado,

Sergio

Visitante
Este tópico está agora fechado para novas respostas
×
×
  • Criar Novo...

Informação Importante

Colocamos cookies em seu dispositivo para ajudar a tornar este site melhor. Você pode ajustar suas configurações de cookies, caso contrário, assumiremos que você está bem para continuar.

The popup will be closed in 10 segundos...