Pesquisar na Comunidade
Showing results for tags 'gerar nfse'.
Encontrado 1 registro
-
NFSeX Softplan - Ajustes no Envio e no Cancelamento da NFSe
um tópico no fórum postou Ronaldo.Bispo ACBrNFSe
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