Ir para conteúdo
  • Cadastre-se

dev botao

Correção no ISSNet.Provider.pas para Cancelamento


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

Recommended Posts

Olá.

Estou integrando o município de Barcarena - PA, consegui fazer o envio da NSFe seguindo a correção solicitei em outro tópico.

Ao tentar fazer o cancelamento da NFSe tive a seguinte rejeição:

Citar

L013 - Município de prestação de serviço informado no XML diferente da URL do webservice. - Selecione o mesmo municí­pio de prestação de serviço do XML para a URL do webservice.

Verifiquei que isso foi devido a na TAG <tc:CodigoMunicipio> ser enviado com código 999.

Pelo que entendi do fonte, na procedure TACBrNFSeProviderISSNet.GerarMsgDadosCancelaNFSe, a property ConfigGeral.CodIBGE estava vindo com um valor errado e não consegui detectar sua origem.

Correção:

Seguindo a mesma lógica aplicada na procedure TACBrNFSeProviderISSNet204.GerarMsgDadosCancelaNFSe, alterei para pegar o valor da TACBrNFSeX(FAOwner).Configuracoes.Geral.CodigoMunicipio e a solicitação de cancelamento foi realizada com êxito.

A procedure ficou assim:

procedure TACBrNFSeProviderISSNet.GerarMsgDadosCancelaNFSe(
  Response: TNFSeCancelaNFSeResponse; Params: TNFSeParamsResponse);
var
  Emitente: TEmitenteConfNFSe;
  InfoCanc: TInfCancelamento;
  xCodMun: string;
begin
  Emitente := TACBrNFSeX(FAOwner).Configuracoes.Geral.Emitente;
  InfoCanc := Response.InfCancelamento;

  xCodMun := IntToStr(TACBrNFSeX(FAOwner).Configuracoes.Geral.CodigoMunicipio);

  with Params do
  begin
    NameSpace := FpNameSpaceCanc;

    Response.ArquivoEnvio := '<Pedido' + NameSpace + '>' +
                           '<' + Prefixo2 + 'InfPedidoCancelamento' + IdAttr + '>' +
                             '<' + Prefixo2 + 'IdentificacaoNfse>' +
                               '<' + Prefixo2 + 'Numero>' +
                                 InfoCanc.NumeroNFSe +
                               '</' + Prefixo2 + 'Numero>' +
                               '<' + Prefixo2 + 'Cnpj>' +
                                 OnlyNumber(Emitente.CNPJ) +
                               '</' + Prefixo2 + 'Cnpj>' +
                               GetInscMunic(Emitente.InscMun, Prefixo2) +
                               '<' + Prefixo2 + 'CodigoMunicipio>' +
                                  xCodMun +
                               '</' + Prefixo2 + 'CodigoMunicipio>' +
                             '</' + Prefixo2 + 'IdentificacaoNfse>' +
                             '<' + Prefixo2 + 'CodigoCancelamento>' +
                                InfoCanc.CodCancelamento +
                             '</' + Prefixo2 + 'CodigoCancelamento>' +
                             Motivo +
                           '</' + Prefixo2 + 'InfPedidoCancelamento>' +
                         '</Pedido>';
  end;
end;

Anexo a unit já alterada.

Grato.

ISSNet.Provider.pas

Link para o comentário
Compartilhar em outros sites

  • Consultores
  • Solution

Boa tarde Fabio,

Mudei um pouco a sua contribuição, atualize os fontes, reinstale e faça novos 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

Link para o comentário
Compartilhar em outros sites

  • Este tópico foi criado há 474 dias atrás.
  • Talvez seja melhor você criar um NOVO TÓPICO do que postar uma resposta aqui.

Crie uma conta ou entre para comentar

Você precisar ser um membro para fazer um comentário

Criar uma conta

Crie uma nova conta em nossa comunidade. É fácil!

Crie uma nova conta

Entrar

Já tem uma conta? Faça o login.

Entrar Agora
×
×
  • 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.