Ir para conteúdo
  • Cadastre-se

Problema na hora de imprimir DANFSe, Não está sendo reconhecido o '' no provedor IPM quando a discriminação é muito longa


Ver Solução Respondido por Italo Giurizzato Junior,
  • Este tópico foi criado há 960 dias atrás.
  • Talvez seja melhor você criar um NOVO TÓPICO do que postar uma resposta aqui.

Recommended Posts

Postado (editado)

Estou tendo problema na hora de imprimir o Danfse na NFS-e do provedor da IPM

Cidade: RS - Novo Hamburgo

A situação é a seguinte, quando eu faço uma discriminação muito longa e divido as frases com o ENTER(
) o componente parece não conseguir reconhecer essa quebra de linha, mas se eu fazer uma descrição pequena, ele consegue identificá-la. 

Eu gerei um RPS com a mesma descrição só que com o provedor da Ginfes, e no Danfse foi reconhecido a quebra de linha mesmo sendo longa a descriminação.

Alguem consegue ajudar com esse problema?

OBS: deixei em anexo o que está acontecendo sobre a quebra de linha, o anexo comporta sobre o erro que ocorre no RPS/XML de retorno do provedor da IPM na cidade Novo Hamburgo

 

 

imagem sem quebra.png

Imagem com quebra.png

Editado por DOUGLAS GUIMARÃES DOS SANTOS
  • DOUGLAS GUIMARÃES DOS SANTOS changed the title to Problema na hora de imprimir DANFSe, Não está sendo reconhecido o '' no provedor IPM quando a discriminação é muito longa
Postado (editado)

Mais ali nas imagens que mandei, já possui o '
' no final de cada linha, até pq ele quebra caso texto for um pouco menor a linha quebra ou eu troque de provedor como falei anteriormente

 

Ou você quer dizer que o componente em casos bem específicos não consegue reconhecer a quebra de linha?

 

Editado por DOUGLAS GUIMARÃES DOS SANTOS
Postado (editado)

Certo, fiz a modificação que você falou para fazer

Servico.Discriminacao:= 'Prestacao de servicos conforme a ordem de servico: 002234; Valor aproximado de tributos federais, estaduais e municipais';

e fiz a geração do RPS, quando eu fui olhar dentro do RPS, tem o '
'

imagem_2023-10-31_172454891.thumb.png.657ab77619336eb42817f7cd5daaf99d.png

imagem_2023-10-31_173518662.png.6037665e66df5699733a4c249d22e414.png

 

 

Ai eu fui lá e tirei o '&#13' na mão dentro do RPS e deixei só o ';' pra fica senhor solicitou a cimaimagem_2023-10-31_174658355.thumb.png.038c127ebbfe27d30b58084102196e09.pngimagem_2023-10-31_174730462.png.703c90760c16be7ceb85dbd4b75f2e96.png

A nota parou de ter o '&#13' e agora só tem o ';' mas ainda continua sem pular a linha.

 

 

E se eu for gerar um RPS com provedor diferente, como o ginfes por exemplo passando a mesma string, ele pula a linha. Eu não sei o que pode ser, imagem_2023-10-31_175129061.png.96f51de6892a29eff5d42137af447e32.png

Editado por DOUGLAS GUIMARÃES DOS SANTOS
  • Consultores
Postado

Bom dia Douglas,

A questão é o seguinte:

1. sempre devemos ao alimentar o componente usar como quebra de linha o caracter ";" conforme o tópico abaixo.

2. Ao gerar o XML poderá ocorrer a troca do ";" por outro caracter conforme configuração definida na unit provider do provedor que no caso do IPM temos o seguinte:

procedure TACBrNFSeProviderIPM204.Configuracao;
begin
  inherited Configuracao;

  ConfigGeral.QuebradeLinha := sLineBreak;
  ConfigGeral.Identificador := '';
  ConfigGeral.ConsultaPorFaixaPreencherNumNfseFinal := True;

  ConfigWebServices.AtribVerLote := '';

  ConfigMsgDados.GerarPrestadorLoteRps := True;
end;

Como você pode ver vai ocorrer a troca do ";" pelo LineBreak que é #13, isso explica a troca.

Quando o componente faz a leitura do XML da NFS-e realiza o processo inverso, veja:

      Descricao := ObterConteudo(ANodes[i].Childrens.FindAnyNs('Discriminacao'), tcStr);
      Descricao := StringReplace(Descricao, FpQuebradeLinha,
                                      sLineBreak, [rfReplaceAll, rfIgnoreCase]);

Que no caso do provedor IPM vai substituir o LineBreak por LineBreak, ou seja, vai ficar exatamente igual, mas vai ocorrer a quebra de linha no DANFSE.

Lembre-se que o XML a ser utilizado para imprimir o DANFSE tem que ser o XML da NFS-e e não o XML do RPS.

Até agora não consegui entender o problema que você esta tendo.

Você poderia anexar o XML do RPS gerado pelo componente e da NFS-e gerada pelo webservice do provedor após o envio desse RPS, para que possamos analisar?

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

  • Consultores
Postado

Boa tarde Douglas,

No campo Discriminacao do RPS notei que você não usou a quebra de linha que é recomendado.

Por favor gere um novo RPS inserindo o caracter ";" onde você deseja que ocorra a quebra de linha.

Depois você anexa o XML desse novo RPS e o XML da NFS-e referente a esse RPS. 

Só assim vamos poder analisar melhor o problema.

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

Postado (editado)

Boa Tarde, sobre o uso de quebra de linha eu estou atribuindo a essa string esse valor:

 'Prestacao de servicos conforme a ordem de servico: 002234;Valor aproximado de tributos federais, estaduais e municipais: R$ 152,03 (18,45 %). Fonte: IBPT' para o campo de Discriminacao 

 

e quando ele termina de gerar o XML do RPS, ele já está substituindo o ';' pelo '
'.

Eu não faço nenhum tratamento antes nessa string antes atribuir o valor da discriminação no componente

Editado por DOUGLAS GUIMARÃES DOS SANTOS
  • Este tópico foi criado há 960 dias atrás.
  • Talvez seja melhor você criar um NOVO TÓPICO do que postar uma resposta aqui.
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...
The popup will be closed in 10 segundos...