Ir para conteúdo
  • Cadastre-se

dev botao

NFSeX Softplan - Ajustes no Envio e no Cancelamento da NFSe


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

Recommended Posts

  • Solution

Olá tudo bem!

O cancelamento de NFS-e do profedor SoftPlan funcionou mas foi preciso fazer alguns ajustes porque alguns atributos conflitaram com o serviço de gerar token.

Coloquei os três pontos no mesmo tópico, não sei se era obrigatório criar um tópico para cada um.

 

  •  Estava com problemas com a identificação do tomador na unit SoftPlan.GravarXML, era necessário remover os caracteres especiais e deixar apenas números.
 NFSeNode.AppendChild(AddNode(tcStr, '#1', 'identificacaoTomador', 0, 20, 1, OnlyNumber(NFSe.Tomador.IdentificacaoTomador.Cnpj), ''));

 

  • O atributo ChaveAutoriz esta sendo utilizado para definir o numeroAEDF no xml de envio e de cancelamento também e conflitava com o serviço de gerar token.

Esse mesmo atributo foi utilizado para salvar o client_secret que é utilizado para gerar o token. Então para evitar conflitos eu fiz alterações no serviço de gerar token para utilizar o atributo Emitente.WSFraseSecr ao invés do Emitente.WSChaveAutoriz.

Então em procedure TACBrNFSeProviderSoftPlan.PrepararGerarToken(Response: TNFSeGerarTokenResponse) aonde define a URL foi alterado

de:
	FpPath := FpPath + '&client_secret=' + Emitente.WSChaveAutoriz;
para:
	FpPath := FpPath + '&client_secret=' + Emitente.WSFraseSecr;

E em procedure TACBrNFSeXWebserviceSoftPlan.SetHeaders(aHeaderReq: THTTPHeader) aonde define o cabeçalho do request foi alterado

de:
  with TConfiguracoesNFSe(FPConfiguracoes).Geral do
  	Auth := Emitente.WSChaveAcesso + ':' + Emitente.WSChaveAutoriz;
para:
  with TConfiguracoesNFSe(FPConfiguracoes).Geral do
    Auth := Emitente.WSChaveAcesso + ':' + Emitente.WSFraseSecr;

 

  • O número da nota estava ficando errado quando gerava a nfse.

Estava copiando o numero do rps ao invés do numero da nota no xml de retorno. Então alterei para copiar da tag 'numeroSerie' ao invés da tag 'identificacao';

Então em procedure TACBrNFSeProviderSoftPlan.TratarRetornoEmitir(Response: TNFSeEmiteResponse) foi alterado

de:
    with Response do
    begin
        ...
        NumeroNota := ObterConteudoTag(ANode.Childrens.FindAnyNs('identificacao'), tcStr);
    end;

para:
    with Response do
    begin
        ...
        NumeroNota := ObterConteudoTag(ANode.Childrens.FindAnyNs('numeroSerie'), tcStr);
    end;  

 

Muito Obrigado

SoftPlan.GravarXml.pas SoftPlan.Provider.pas

Link para o comentário
Compartilhar em outros sites

  • Consultores

Boa tarde Ronaldo,

Muito obrigado pela colaboração, já inclui na minha lista de tarefas. TK-3301

Consultor SAC ACBr

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

Projeto ACBr

Analista de Sistemas / e-mail: [email protected] / Fone: (16) 9-9701-5030 / Araraquara-SP

Araraquara - A era dos Trólebus

Link para o comentário
Compartilhar em outros sites

  • Consultores

Obrigado por reportar.

Fechando. Para novas dúvidas, criar um novo tópico.

Consultor SAC ACBr

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

Projeto ACBr

Analista de Sistemas / e-mail: [email protected] / Fone: (16) 9-9701-5030 / Araraquara-SP

Araraquara - A era dos Trólebus

Link para o comentário
Compartilhar em outros sites

  • Este tópico foi criado há 523 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.