Jump to content

dev botao

Separação Clara de Observações e Links no Campo OutrasInformacoes


Go to solution Solved by Italo Giurizzato Junior,

Recommended Posts

  • Membros Pro

Boa tarde. Tudo certo?

Como garantir que as observações do usuário e o link do sistema Fly e-Nota sejam separados de maneira clara e sem misturas no campo OutrasInformacoes do XML gerado?
ex:

AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA;BBBBBBBBBBBBBBBBBBBBB BBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB;VVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVV VVVVVVVVVVVVVVVVVVVVV https://e-gov.betha.com.br/e-nota/visualizarnotaeletronica?link=17182228021921171551614520964043060870504328701742036 Valor aproximado do tributo federal - R$ 0,13 (13,45%), estadual - R$ 0,00 (0,00%), municipal - R$ 0,03 (3,15%) , com base na Lei 12.741/2012 e no Decreto 8.264/2014 - Fonte: IBPT

Link to comment
Share on other sites

  • Consultores

Boa tarde @gary.rj,

Essa imagem é do DANFSE gerado pelo portal da prefeitura?

Se sim, é esperado que isso ocorra, pois o caracter ";" ponto e virgula é o que devemos usar no componente, mas precisamos saber qual é o caracter ou sequencia de caracteres usando pelo provedor, para que a impressão ocorra de forma correta.

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

Link to comment
Share on other sites

  • Membros Pro
2 minutos atrás, Italo Giurizzato Junior disse:

Boa tarde @gary.rj,

Essa imagem é do DANFSE gerado pelo portal da prefeitura?

Se sim, é esperado que isso ocorra, pois o caracter ";" ponto e virgula é o que devemos usar no componente, mas precisamos saber qual é o caracter ou sequencia de caracteres usando pelo provedor, para que a impressão ocorra de forma correta.

Boa tarde.
Sim é o gerado pelo portal.

Link to comment
Share on other sites

  • 4 weeks later...
  • Consultores

Bom dia @gary.rj,

Na unit Betha.Provider observe que existem duas procedures chamada Configuracao.

Uma é para a versão 1.00 e a outra para a versão 2.02

É preciso saber qual versão usado pela cidade em questão.

Ai basta colocar na procedure correta a linha que defini a quebra de linha como sendo "\s\n".

Na sua aplicação você vai continuar usando o caracter ";" (ponto e virgula).

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

Link to comment
Share on other sites

  • Membros Pro

Bom dia. Tudo certo?

Assim?
 

procedure TACBrNFSeProviderBetha.Configuracao;
begin
  inherited Configuracao;

  ConfigGeral.DetalharServico := True;

  ConfigGeral.Particularidades.PermiteTagOutrasInformacoes := True;

  ConfigGeral.QuebradeLinha := '\s\n';

Link to comment
Share on other sites

  • Membros Pro

@Italo Giurizzato Junior
Testei sim e o xml ficou assim:
ai ja coloquei #13#10 CR LF só o LF.
na unit ACBrNFSeXGravarXml_ABRASFv1 alterei ela para

 Result.AppendChild(AddNode(tcStr, '#11', 'OutrasInformacoes', 1, 255, NrOcorrOutrasInformacoes,
                                       StringReplace( NFSe.OutrasInformacoes, ';', FpAOwner.ConfigGeral.QuebradeLinha,
                                     [rfReplaceAll, rfIgnoreCase]), DSC_OUTRASINF) );
e até agora sempre tive o mesmo resultado, ainda nao descobri o que estou fazendo errado.


<OutrasInformacoes>DADOS PARA DEPOSITO\s\nAG. 01234\s\nC/C 1234567\s\nPEDIDO DE COMPRA 6363/63\s\n https://e-gov.betha.com.br/e-nota/visualizarnotaeletronica?link=17206437970702131551624520964431621468017356106434038</OutrasInformacoes>

Link to comment
Share on other sites

  • Consultores

Bom dia @gary.rj,

Notei que na tag OutrasInformacoes ocorreu a troca do ";" pela sequencia "\s\n", portanto o componente esta fazendo o que deveria fazer.

A questão agora é:

Esse XML após ser enviado para o webservice do provedor e convertido para NFS-e como é que fica a impressão do DANFSE via portal e via componente?

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

Link to comment
Share on other sites

  • Consultores

Bom dia @gary.rj,

É que eu vi as linhas iniciais com quebras de linha achei que tinha funcionado.

Resumindo:

A impressão pelo componente fica correto, certo?

A impressão pelo site não fica, certo?

Você usou a sequencia de caracteres que o provedor disse que eles usam para quebra de linha e mesmo assim não deu certo, correto?

Se a resposta for sim para as três perguntas acima não vejo outra alternativa você voltar a entrar em contato com o provedor novamente e dizer que não funcionou a sequencia de caracteres que eles passaram.

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

Link to comment
Share on other sites

  • Membros Pro
Posted (edited)

O que seria a impressão pelo componente?
Emitir(aNrLote, meLoteAssincrono, True); 
seria isso?
para as outras 2 perguntas perguntas a resposta é sim.

image.thumb.png.0229ba4129e590e817fb59f4f222aa99.png

image.thumb.png.8686b9f9bee387dfbbe593f769c85ef8.png

Edited by gary.rj
Link to comment
Share on other sites

  • Consultores

Boa tarde @gary.rj,

Essas duas imagens se refere a impressão do DANFSE usando o componente?

Se sim, porque na primeira esta ocorrendo a quebra de linha e na segunda não esta?

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

Link to comment
Share on other sites

  • Membros Pro
Posted (edited)

Boa tarde. tudo certo?

na verdade o que aconteceu foi que em um eu escrevi apenas abc, ai quebrou a linha 
e no outro eu escrevi:

Dados para contas 
Ag
CC

e ai so quebrou a linha quando acabou o texto da Obs. 
 

Edited by gary.rj
Link to comment
Share on other sites

  • Consultores

Boa noite @gary.rj,

Desculpa não entendi nada o que você fez.

Vamos pegar o campo Discriminacao a titulo de exemplo.

Eu desejo que seja impresso:

Linha 1
Linha 2
Linha 3

Eu devo atribuir ao campo Discriminacao o conteúdo "Linha 1;Linha 2;Linha 3"

Note que estou usando o caracter ponto e virgula para indicar onde eu quero que a quebra de linha ocorra.

Essa é a regra, sempre vamos usar o caracter ponto e virgula.

Na unit do provedor diz que a quebra de linha usada pelo provedor é "\s\n".

O componente ao gerar o XML vai realizar a substituição ficando da seguinte forma no XML:

<Discriminacao>Linha 1\s\nLinha 2\s\nLinha 3</Discriminacao>

É de se esperar que o provedor reconheça a sequencia "\s\n" como quebra de linha conforme orientação do próprio provedor e consequentemente ao visualizar o DANFSE via site da prefeitura tenhamos o resultado esperado.

Informação importante: O componente não estava realizando a troca da sequencia usada pelo provedor nos campos OutrasInformacoes e InformacoesComplementares, mas realizei uma alteração nos fontes do componente para contemplar também esses dois campos. Sendo assim por favor atualize todos os fontes de todas as pastas e reinstale o ACBr, por fim compile a aplicação com a opção Build.

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

Link to comment
Share on other sites

×
×
  • Create New...

Important Information

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.

The popup will be closed in 10 seconds...