Ir para conteúdo
  • Cadastre-se

dev botao

A cidade de Seberi - RS migrou para o provedor IPM


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

Recommended Posts

  • Consultores
  • Solution
Postado

Boa tarde Fabio,

Como ocorreu uma troca de provedor, abra o arquivo ACBrNFSeXServicos.ini e faça a alteração.

Depois execute o Compila_RES e por faça os testes com o programa exemplo.

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

Postado

Bom dia! Estou usando o programa exemplo agora, configurei as opções, desmarquei o assinar, eles disseram que o XML não precisa ser assinado e usei as opções:

Emitir Nota(novo) e o Enviar Assincrono. Fiz a alteração: 

[4320206]
Nome=Seberi
UF=RS
Provedor=IPM

Mas quando envio retorna esta msg:  <a><ListaMensagemRetorno><MensagemRetorno><Codigo></Codigo><Mensagem>Usuário ou senha inválido(s)</Mensagem><Correcao></Correcao></MensagemRetorno></ListaMensagemRetorno></a>

Postado

Bom dia Italo! Já consegui enviar a nota em produção, deu certo. Mas quando vou testar o cancelamento dá este erro:

image.png.8d3e5632753511a34a10a254df9f62ba.png

verifiquei que o XMl  que monta assim:

image.png.076b2560450ec9cbfaa253daa64d905d.png

mas o conteudo dele grava somente com 611C.

E eles não querem com a tag:  <serie_nfse>1</serie_nfse>

  • Consultores
Postado

Bom dia Fabio,

Se no arquivo ACBrNFSeXServicos.ini você informou que o provedor é IPM com certeza você esta com os fontes desatualizados, pois além do IPM tempos o IPM_110 e IPM_120.

Favor atualizar os fontes 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

Postado

Boa tarde Italo, atualizei e deu certo a parte do cancelamento. Fiquei com uma dúvida, no caso de Seberi, que deu a mensagem de solicitação de cancelamento recebida com sucesso, é somente esta opção ou tem o cancelamento direto? o tipo esta IPM no  ACBrNFSeXServicos.ini .  

Postado

Boa tarde, a IPM permite para o Municipio de Seberi que faça o cancelamento direto  e não somente a solicitação de cancelamento. A solicitação de cancelamento funciona ok em produção. Mas queria fazer o cancelamento direto, se coloco 

[4320206]
Nome=Seberi
UF=RS
Provedor=IPM   dá certo a solicitação de cancelamento.

mas se coloco 

[4320206]
Nome=Seberi
UF=RS
Provedor=IPM_110  que monta sem pedir a solicitação dá a msg de erro:

- <a>
- <ListaMensagemRetorno>
- <MensagemRetorno>
  <Codigo />
  <Mensagem>Usuário ou senha inválido(s).</Mensagem>
  <Correcao />
  </MensagemRetorno>
  </ListaMensagemRetorno>
  </a
 
percebi que o ConteudoXML   neste comando abaixo não vem assinado mesmo:
 
 ConteudoXML := StringReplace(ConteudoXML, '<-><->', '', [rfReplaceAll]);
    { Sempre salva o Arquivo em UTF8, independente de qual seja a IDE...
      FPC já trabalha com UTF8 de forma nativa }
    if ConteudoEhUTF8 and (not XmlEhUTF8(ConteudoXML)) then
      UTF8Str := '<' + ENCODING_UTF8 + '>' + ConteudoXML
    else
      UTF8Str := ConverteXMLtoUTF8(ConteudoXML);
 
Estou esquecendo de fazer algo? ou só tem o pedido de cancelamento mesmo feito para Seberi? 
Obrigado pela atenção!
Postado

na procedure TACBrNFSeProviderIPM.PrepararCancelaNFSe(
  Response: TNFSeCancelaNFSeResponse);

 

se montar o xml assim

Response.XmlEnvio := '<nfse>' +
                         '<nf>' +
                           '<numero>' +
                             Response.InfCancelamento.NumeroNFSe +
                           '</numero>' +
                           '<situacao>' +
                             'C' +
                           '</situacao>' +
                           '<observacao>' +
                             Response.InfCancelamento.MotCancelamento +
                           '</observacao>' +
                         '</nf>' +
                         '<prestador>' +
                           '<cpfcnpj>' +
                             OnlyNumber(Emitente.CNPJ) +
                           '</cpfcnpj>' +
                           '<cidade>' +
                             CodIBGEToCodTOM(TACBrNFSeX(FAOwner).Configuracoes.Geral.CodigoMunicipio) +
                           '</cidade>' +
                         '</prestador>' +
                       '</nfse>';

ao invés de 

{Response.XmlEnvio := '<solicitacao_cancelamento>' +
                         '<prestador>' +
                           '<cpfcnpj>' +
                             OnlyNumber(Emitente.CNPJ) +
                           '</cpfcnpj>' +
                           '<cidade>' +
                             CodIBGEToCodTOM(TACBrNFSeX(FAOwner).Configuracoes.Geral.CodigoMunicipio) +
                           '</cidade>' +
                         '</prestador>' +
                         '<documentos>' +
                           '<nfse>' +
                             '<numero>' +
                               Response.InfCancelamento.NumeroNFSe +
                             '</numero>' +
                             '<serie>' +
                               Response.InfCancelamento.SerieNFSe +
                             '</serie>' +
                             '<observacao>' +
                               Response.InfCancelamento.MotCancelamento +
                             '</observacao>' +
                           '</nfse>' +
                         '</documentos>' +
                       '</solicitacao_cancelamento>';}

cancela direto anota, testei, teria que ver como escolher uma ou outra opção, a não ser que tenha e não sei.

  • Consultores
Postado

Boa tarde Fabio,

Favor atualizar os fontes e faça novos testes.

Note que agora temos uma nova pasta com os schemas dos provedores: ...\Exemplos\ACBrDFe\Schemas\NFSe

Dentro da pasta NFSe temos uma pasta para cada Provedor.

O componente tem agora uma nova propriedade de configuração: Configuracoes.Geral.MontarPathSchema := True/False

Se o valor dela for True e o PathSchemas apontar para a pasta: ...\Exemplos\ACBrDFe\Schemas\NFSe o componente vai encontrar os schemas utilizado pelo provedor de forma automática.

Outra correção feita no componente é que se o provedor não tiver uma URL de homologação definida vai ser apresentada uma mensagem de erro e o envio vai ser abortado.

 

Para contornar essa falta de padronização com as cidades atendidas por esse provedor, leia a segunda postagem do artigo:

 

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

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