Ir para conteúdo
  • Cadastre-se

dev botao

ACBrNFSeX - Cidade Morro da Fumaça IPM


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

Recommended Posts

Postado

Boa tarde, já tem mais de um ano que a Prefeitura de Morro da Fumaça / SC, trocou o sistema da Betha pelo IPM. Sempre que realizo a atualização do acbr tenho que atualizar o arquivo ACBrNFSeXServicos.ini.

Segue as informações corretas da cidade.

Nome=Morro da Fumaca
UF=SC
Provedor=IPM
Versao=1.01
ProRecepcionar=https://morrodafumaca.atende.net/?pg=rest&service=WNERestServiceNFSe
HomRecepcionar=https://morrodafumaca.atende.net/?pg=rest&service=WNERestServiceNFSe

 

Além disto sempre tem duas correções que são necessárias fazer no componente. Componente atualizado 09/01/2024 e ainda permance a situação.

Correção 1:

IPM.GravarXML.pas

function TNFSeW_IPM.GerarXml: Boolean;

Apartir da linha 132, precisa de um identificador diferente para quando esta em homologação, como sabemos o IPM não tem homologação em alguns municípios, e é obrigatório usar o ambiente de produção, ocorre que a além da tag nfse_teste que deve ser informada, é ideal que a tag do identidicador seja diferente do produção, porque?

Vou dar o exemplo do Morro da Fumaça, eles não permitem usar uma série diferente da de produção, então se você realiza testes com o identificador igual ao de produção, a numeração da nota de teste com a nota de produção começa conflitar, e o cliente perde a sequencia da NF. Como sugestão aqui eu fixei quando esta em testes para que o identificado seja "'nfseh_' + NFSe.IdentificacaoRps.Numero + '.' + NFSe.IdentificacaoRps.Serie", e isto tem me permitido realizar os testes sem bagunçar os dados do cliente lá na prefeitura.

 

Aqui esta o bloco alterado:

if (VersaoNFSe in [ve100, ve101]) and (Ambiente = taHomologacao) then
begin
    if not FpNaoGerarGrupoRps then
      NFSeNode.AppendChild(AddNode(tcStr, '#2', 'identificador', 1, 80, 0,
        'nfseh_' + NFSe.IdentificacaoRps.Numero + '.' + NFSe.IdentificacaoRps.Serie, ''));

    NFSeNode.AppendChild(AddNode(tcStr, '#3', 'nfse_teste', 1, 1, 1, '1', ''));
end
else
begin
    if not FpNaoGerarGrupoRps then
      NFSeNode.AppendChild(AddNode(tcStr, '#2', 'identificador', 1, 80, 0,
        'nfse_' + NFSe.IdentificacaoRps.Numero + '.' + NFSe.IdentificacaoRps.Serie, ''));
end;

 

Correção 2:

IPM.LerXml.pas

procedure TNFSeR_IPM.LerNota(const ANode: TACBrXmlNode);

Não esta alimentando a competencia que vem automático pela prefeitura. Adicionar no corpo do procedimento:

Competencia := StrToDateDef(ObterConteudo(AuxNode.Childrens.FindAnyNs('data_fato'), tcStr), 0);

 

Agradeço se puderem implementar estas questões, pois a cada atualização que realizo do Acbr acabo tendo que sempre conferir estes itens e ajustar.

 

 

  • Consultores
Postado

Boa tarde,

Poderia anexar os arquivos alterados para avaliação?

Obrigado.

Consultor SAC ACBr

Alexandre de Paula
Ajude o Projeto ACBr crescer - Assine o SAC                    

Projeto ACBr     Telefone:(15) 2105-0750 WhatsApp(15)99790-2976.  ícone Discórdia Discord   

Projeto ACBr - A maior comunidade Open Source de Automação Comercial do Brasil

 

 

  • Consultores
Postado

Boa tarde,

Criada a TK-4960 para avaliação.

Obrigado pela contribuição.

  • Curtir 1
Consultor SAC ACBr

Alexandre de Paula
Ajude o Projeto ACBr crescer - Assine o SAC                    

Projeto ACBr     Telefone:(15) 2105-0750 WhatsApp(15)99790-2976.  ícone Discórdia Discord   

Projeto ACBr - A maior comunidade Open Source de Automação Comercial do Brasil

 

 

  • Consultores
Postado

Boa tarde Diogo,

Esta correta a ordem das tags?

No caso de homologação a tag <nfse_teste> vem depois da tag <identificador> (antes estava o inverso) ?

Abaixo temos um fragmento do manual que mostra a tag <nfse_teste> mas infelizmente não mostra a tag <identificador>.

image.png

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
4 horas atrás, Italo Giurizzato Junior disse:

Boa tarde Diogo,

Esta correta a ordem das tags?

No caso de homologação a tag <nfse_teste> vem depois da tag <identificador> (antes estava o inverso) ?

Abaixo temos um fragmento do manual que mostra a tag <nfse_teste> mas infelizmente não mostra a tag <identificador>.

image.png

Oi Italo, na realidade ali a ordem não interfere, o idendificador pode vir depois não tem problema. A questão mesmo é que o identificador precisa ser diferente se não acaba misturando numeração com a oficial do cliente. Como coloquei ali eu adicionei um "h" no identificador para distinguir o teste, pois eles não aceitam a série diferente, em fim vai entender. O IPM é precario em documentação, diria um dos mais, e tem questões que depois de muito tempo bater cabeça com o suporte deles você acaba resolvendo.

Mas em fim isto já ta rodando a bastante tempo, e não tenho tido problemas, aqui esta o print de como fica no envio o RPS e depois como Retorna deles.

Se por acaso você envia em testes com o mesmo identificador do produção, começa misturar notas com do cliente, um exemplo. Digamos que eu na minha base de testes esteja com numeração inferior a do cliente, quando eu gero meu teste e o identificador é o mesmo de produção, acaba dando problema de RPS já informado e se consulta vem a nota que o cliente emitiu lá em produção anteriormente. Agora ao contrário, se por acaso você esta com númeração acima do cliente e faz o teste ai o pepino é maior, porque quando o cliente atinge o mesmo número ele não consegue mais seguir, trava a sequencia, e só ligando para prefeitura e IPM para resolver.

Agora se no teste você também gera com um indentificador diferente ai este problema fica resolvido.

 

Segue anexo os prints de como fica.

NFSe.png

RPS.png

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

The popup will be closed in 10 segundos...
The popup will be closed in 10 segundos...