Ir para conteúdo
  • Cadastre-se

dev botao

Código do município na substituição NFSe


Ver Solução Respondido por Italo Giurizzato Junior,

Recommended Posts

Postado

Boa tarde Pessoal,

O município de Erechim\RS solicita a inclusão do código do município ao substituir uma nota fiscal.

Verifiquei no código fonte da ACBrNFSeX e não consta estes dados, para incluí-lo como posso proceder? Solicito a vocês ou tenho a liberdade de fazer?

No aguardo,

Luiz

Postado

Bom dia Italo, tudo bem?

Então, até novembro isso não ocorria, porém meus clientes de lá agora começaram a relatar o erro abaixo ao tentarem substituir uma nota fiscal:

L8: Município inválido: Código do município do cancelamento não é o mesmo do Município gerador.

Então ao informar o município manualmente no componente, a substituição é realizada com sucesso.

Att,

Luiz

Postado
16 horas atrás, Italo Giurizzato Junior disse:

Boa tarde @Lfm_,

Até onde sei Erechim/RS se utiliza do provedor SystemPro que segue a versão 2 do layout da ABRASF.

Para mim esta estranho essa solicitação.

Precisamos de mais informações.

@Italo Giurizzato Junior

Segue os arquivos de exemplo que encontrei no site da prefeitura de Erechim, onde consta a informação do CodigoMunicipio no xml de substituição.

Exemplos_WebService.zip

Postado
43 minutos atrás, Italo Giurizzato Junior disse:

Boa tarde @Lfm_,

Explique melhor esse " informar o município manualmente no componente,"

Você esta alterando o código do componente?

Se sim, onde?

Oi @Italo Giurizzato Junior,

em modo debug, adiciono um breakpoint até chegar na procedure TACBrNFSeProviderABRASFv2.GerarMsgDadosCancelaNFSe, adicionei um comentário:
 

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

  with Params do
  begin
    Response.ArquivoEnvio := '<' + Prefixo + 'CancelarNfseEnvio' + NameSpace + '>' +
                           '<' + Prefixo2 + 'Pedido>' +
                             '<' + Prefixo2 + 'InfPedidoCancelamento' + IdAttr + NameSpace2 + '>' +
                               '<' + Prefixo2 + 'IdentificacaoNfse>' +
                                 '<' + Prefixo2 + 'Numero>' +
                                    InfoCanc.NumeroNFSe +
                                 '</' + Prefixo2 + 'Numero>' +
                                 Serie +
                                 '<' + Prefixo2 + 'CpfCnpj>' +
                                    GetCpfCnpj(Emitente.CNPJ, Prefixo2) +
                                 '</' + Prefixo2 + 'CpfCnpj>' +
                                 GetInscMunic(Emitente.InscMun, Prefixo2) +
                                 '<' + Prefixo2 + 'CodigoMunicipio>' +
                                    IntToStr(InfoCanc.CodMunicipio) + //NESTE PONTO, EM MODO DEBUG, ALTERO A VARIÁVEL EM TEMPO DE EXECUÇÃO
//                                    IntToStr(TACBrNFSeX(FAOwner).Configuracoes.Geral.CodigoMunicipio) +
                                 '</' + Prefixo2 + 'CodigoMunicipio>' +
                                 CodigoVerificacao +
                               '</' + Prefixo2 + 'IdentificacaoNfse>' +
                               '<' + Prefixo2 + 'CodigoCancelamento>' +
                                  InfoCanc.CodCancelamento +
                               '</' + Prefixo2 + 'CodigoCancelamento>' +
                               Motivo +
                             '</' + Prefixo2 + 'InfPedidoCancelamento>' +
                           '</' + Prefixo2 + 'Pedido>' +
                         '</' + Prefixo + 'CancelarNfseEnvio>';
  end;
end;

 

  • Consultores
  • Solution
Postado

Boa tarde @Lfm_,

Favor atualizar todos os fontes de todas as pastas, reinstale o ACBr e estude o botão Substituir NFSe do programa exemplo.

Agora temos uma nova forma de usar o método SubstituirNFSe, através dessa nova forma é possível passar o código do município de incidência que o provedor esta exigindo para poder realizar o cancelamento da nota que vai ser substituída.

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

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.

The popup will be closed in 10 segundos...