Ir para conteúdo
  • Cadastre-se

dev botao

Inclusão Cidade de Maricá-RJ


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

Recommended Posts

Prezados,

Tentei de tudo efetuar a implementação sozinho, até pelo motivo de que eu tenho certeza de que é simples. Entretanto, vários erros vão ocorrendo no meio do caminho e por não conhecer toda a estrutura fico batendo cabeça.

A cidade de Maricá no Rio de Janeiro, montou seu próprio repositório e disponibilizou o seu manual. Segundo eles tudo está muito simples e respeitando os Schemas da Abrasf versão 2.04.

Fiz as alterações em Cidades.ini
[3302700]
Nome=Marica
UF=RJ
;Provedor=Marica
Provedor=ABRASFv2
NomeURL_H=https://nota.marica.rj.gov.br/webservice/index/producao?wsdl
NomeURL_P=https://nota.marica.rj.gov.br/webservice/index/producao?wsdl

Fiz as alterações no arquivo de configuração TcheInfov2.ini que é o mais próximo da realidade mas nada faz funcionar.

Primeiro deu erro de schemas e eu resolvi, depois deu erro de assinatura e eu resolvi agora o erro que está dando é não encontrar a funcionalidade [Enviar Lotes] não foi disponibilizada pelo provedor. Mas ela está lá.

Bem estou enviando os dados do Webservice, possuo o Manual de integração também, porém tem mais de 2mb e não consegui enviar por aqui.

Se por um acaso conseguirem ajudar, ficarei extremamente grato.

Desde já agradeço pela atenção!

WebService-ABrasf2 04.pdf

Paulo Vale
Diretor Técnico LVsoft
WWW.LVSOFT.COM.BR

Link para o comentário
Compartilhar em outros sites

Boa noite Renato Rubinho,

Obrigado pela resposta.

Para mim o NFSeX do acbr seria para tratar apenas do portal universal da receita federal para a emissão de Notas Fiscais de serviços. E como Maricá informou que não iria aderir ao Portal imaginei que ainda tivesse que programar via componente  antigo... Bem de qualquer forma irei testar. Mais uma vez obrigado!

  • Curtir 1

Paulo Vale
Diretor Técnico LVsoft
WWW.LVSOFT.COM.BR

Link para o comentário
Compartilhar em outros sites

Caro Renato,

Estive em atendimento e por isso a minha demora em responder. De qualquer forma foi ótimo que pude ir e testar o novo componente, antes de lhe responder.

Vamos lá, como havia falado, desde janeiro/2022 a cidade de Marica alterou o seu provedor, ela não utiliza mais o GINFES. E o material do NFSeX configura a cidade de Maricá para Ginfes.

Então por isso, eu resolvi alterar os dados do componente visto que o mesmo atende a Abrasf na sua versão 2.04. 

Visto que o ACBR já tem o suporte aos padrões Abrasf eu não vi problemas em regularizar a situação dessa cidade e com isso poder utilizar o mesmo.

Bem, de qualquer forma, irei iniciar a transferência dos dados do componente antigo para o novo e tentar alterar o provedor para ver se conseguirei êxito. Qualquer coisa volto a chamar. Porém, se vocês tiverem algum caminho que seja mais dinâmico esse serviço, por favor informe.

Obrigado!

Paulo Vale
Diretor Técnico LVsoft
WWW.LVSOFT.COM.BR

Link para o comentário
Compartilhar em outros sites

  • Consultores

Boa noite Paulo,

Dependemos sempre que a comunidade reporte este tipo de mudança, muito provavelmente ninguém está utilizando este município com o componente.

Pelo que vi este município utiliza ou utilizava o provedor DBSeller, já implementado no componente e com alguns municípios configurados, mas na versão 1 do ABRASF.

Consegue confirmar se mantém esse provedor mas com a versão 2.04 do ABRASF, se é um novo provedor ou um leiaute próprio?

Se for o provedor DBSeller, precisa implementar nele o novo leiaute, se for outro provedor, precisa verificar se já existe no componente, se for leiaute próprio ou um provedor ainda não implementado, precisará ser feito.

Link para o comentário
Compartilhar em outros sites

  • Consultores

Bom dia Renato,

Através do site da prefeitura consegui baixar um manual referente ao webservice.

Nele deixa claro que a versão é 2.04 do layout da ABRASF.

Na última página do manual temos a URL de produção e esta é semelhante de todas as cidades atendidas pelo provedor DBSeller.

O que tudo indica é que o provedor DBSeller manteve o padrão da URL mas dependendo da cidade o webservice recepciona o Rps na versão 1 ou 2 do layout da ABRASF.

Tendo essa confirmação referente ao provedor, teremos que fazer ajustes em algumas units do componente ACBrNFSeX para que ele suporte a versão 2.04 do layout da ABRASF para o provedor em questão e é claro fazer a alteração no arquivo ACBrNFSeXServicos.ini 

  • Curtir 1
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

  • Consultores

Boa noite,

Obrigado Italo.

Agora é mão na massa  @Paulo Vale

1. Preencha no ini

[3302700]

Nome=Marica

UF=RJ

Provedor=DBSeller

Versao=2.04

NomeURL_H=https://nota.marica.rj.gov.br/webservice/index/producao?wsdl

NomeURL_P=https://nota.marica.rj.gov.br/webservice/index/producao?wsdl

2. Nas units, implementar a versão 2.04 no provedor DBSeller

../trunk2/Fontes/ACBrDFe/ACBrNFSeX/Provedores/DBSeller.Provider.pas DBSeller.GravarXml.pas DBSeller.LerXml.pas

2.1. Se baseie em outros provedores que tenham a versão 2.04 implementada, veja no ini os que estiverem com

Versao=2.04

 

Link para o comentário
Compartilhar em outros sites

  • Consultores
  • Solution

Bom dia a todos,

Com relação ao arquivo ACBrNFSeXServicos.ini já está atualizado e se encontra no SVN.

Agora só falta é fazer as devidas alterações nas Units.

@Paulo Vale, você acredita que consegue fazer as alterações sugeridas pelo Renado?

  • Curtir 1
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

  • Consultores

Bom dia Paulo,

Favor atualizar todos os fontes de todas as pastas, reinstale o ACBr e inicie os testes usando o programa exemplo do componente ACBrNFSeX.

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

Em 09/10/2022 at 11:58, Italo Giurizzato Junior disse:

Bom dia Renato,

Através do site da prefeitura consegui baixar um manual referente ao webservice.

Nele deixa claro que a versão é 2.04 do layout da ABRASF.

Na última página do manual temos a URL de produção e esta é semelhante de todas as cidades atendidas pelo provedor DBSeller.

O que tudo indica é que o provedor DBSeller manteve o padrão da URL mas dependendo da cidade o webservice recepciona o Rps na versão 1 ou 2 do layout da ABRASF.

Tendo essa confirmação referente ao provedor, teremos que fazer ajustes em algumas units do componente ACBrNFSeX para que ele suporte a versão 2.04 do layout da ABRASF para o provedor em questão e é claro fazer a alteração no arquivo ACBrNFSeXServicos.ini 

Prezado Italo,

É sempre um prazer teclar com você. Sou fã do seu trabalho e lhe admiro muito!

Eu estou batendo cabeça com isso e já estou ponderando a possibilidade de enviar em lotes de registros sem assinatura pois o site da prefeitura admite.

Forte abraço!

 

Editado por Paulo Vale

Paulo Vale
Diretor Técnico LVsoft
WWW.LVSOFT.COM.BR

Link para o comentário
Compartilhar em outros sites

Prezados,

Fiz o procedimento que o @Italo Giurizzato Junior solicitou de reinstalar o ACbr. Notei que já estava tudo conforme o @Renato Rubinho havia pedido para fazer.

Até aí tudo bem!

Como não faltava mais nada, iniciei os testes, preenchi todos os campos e coloquei em Homologação. E ficou me gerando erro de timeout direto. Como no manual em momento algum fala sobre ambiente de homologação, resolvi colocar em ambiente de Produção e obtive uma comunicação retornando o seguinte erro:  

Erro(s):
Código  : X999
Mensagem: Erro de Conexão: Erro Interno: 12175
Erro HTTP: 0
URL: https://nota.marica.rj.gov.br/webservice/index/producao
Erro: 12175 - Um ou mais erros foram encontrados no certificado Secure Sockets Layer (SSL) enviado pelo servidor
Falha Enviando a Requisição. Erro: 12175 - Um ou mais erros foram encontrados no certificado Secure Sockets Layer (SSL) enviado pelo servidor

Ainda estou fazendo novos testes, porém, resolvi postar para adiantar a comunicação com vocês.

Forte abraço!

Paulo Vale
Diretor Técnico LVsoft
WWW.LVSOFT.COM.BR

Link para o comentário
Compartilhar em outros sites

Prezados, o erro do SSL era o SSLType que eu não havia configurado! Coloquei em LT_TLSv1_2 e passou para o próximo erro. Veja:

Erro(s):
Código  : X999
Mensagem: Erro de Conexão: SOAP-ENV:Server - Function 'RecepcionarLoteRpsSincrono' doesn't exist

Ainda fazendo testes...

Paulo Vale
Diretor Técnico LVsoft
WWW.LVSOFT.COM.BR

Link para o comentário
Compartilhar em outros sites

Prezados,

Desconfio que toda informação é pertinente, por isso a minha preocupação em colocar todas as etapas dos testes aqui. Dessa forma, inúmeras pessoas deixarão de efetuar perguntas sobre o problema que eu estou passando e repassando a solução.

Levando em consideração essa metodologia. Segue:

Quando o erro anterior foi gerado em alterei o sistema de envio passando para Assincrono, pois eu lí em algum manual deles que isso poderia ocorrer, e o retorno foi positivo. A comunicação foi realizada e a resposta foi essa:

Parâmetros de Retorno
Data de Envio : 30/12/1899
Numero do Prot: 
Numero da Nota: 
Link          : 
Código Verif. : 
Sucesso       : True

Entretanto o XML de retorno foi esse:

- <return>
- <EnviarLoteRpsResposta xmlns="http://www.abrasf.org.br/ABRASF/arquivos/nfse.xsd">
  <Protocolo>25f1c4cf93d7df79dd8f17a7f3dcfc1948bca9d5</Protocolo>
  <DataRecebimento>2022-10-11T14:10:18</DataRecebimento>
  <NumeroLote />
- <ListaMensagemRetorno>
- <MensagemRetorno>
  <Codigo>E160</Codigo>
  <Mensagem>Arquivo em desacordo com o XML Schema. (Linha 1: Element '{http://www.abrasf.org.br/nfse.xsd}EnviarLoteRpsEnvio': No matching global declaration available for the validation root. )</Mensagem>
  <Correcao>Consulte o Manual da NFS-e para saber quais são as versões de XML Schema suportadas pelo sistema.</Correcao>
  </MensagemRetorno>
  </ListaMensagemRetorno>
  </EnviarLoteRpsResposta>
  </return>
 
Ainda efetuando testes!
  • Curtir 1

Paulo Vale
Diretor Técnico LVsoft
WWW.LVSOFT.COM.BR

Link para o comentário
Compartilhar em outros sites

Prezados,

Cabe ressaltar alguns pontos que são importantes:

Antes de começar todo esse trabalho, eu entrei em contato com o suporte do Portal de Maricá e o mesmo informou que eles precisam habilitar a minha empresa para que a mesma faça a emissão de RPS em SOAP e depois de maneira automática vire NFSe.

Para emitir NFSe é necessário logar no site deles para efetuar a Requisição (RPS->Requisição) de números de RPS e Notas para que a mesma seja emitida. Caso contrário irá retornar erro no webservice. Ou seja, para você precisa ficar atento se o número não acaba... Risos...Piada....

Ainda trabalhando....

Paulo Vale
Diretor Técnico LVsoft
WWW.LVSOFT.COM.BR

Link para o comentário
Compartilhar em outros sites

Prezados,

Depois de muitos testes identifiquei o seguinte:

Ambiente de trabalho:
ACBrNFSeX - Programa Exemplo - Versão Delphi
Windows 10 Prof - 32 bit.
Delphi 10.2
Todos os testes realizados em ambiente de Produção, pois, por algum motivo interno, o suporte informou que momentaneamente a URL de homologação se encontra desativada.

- Efetuando a emissão pela opção "Emitir Nota (Novo)" eu tenho o seguinte retorno:
Erro(s):
Código  : X999
Mensagem: Erro de Conexão: SOAP-ENV:Server - Function 'RecepcionarLoteRpsSincrono' doesn't exist

O que não é saudável pois analisando o schemas, o WSDL e o manual de implementação de Maricá, esta Function existe e está à disposição.

- Efetuando a emissão pela opção "Enviar Lote RPS (Assíncrono)" eu tenho o seguinte retorno:
Parâmetros de Retorno
Data de Envio : 30/12/1899
Numero do Prot: 
Numero da Nota: 
Link          : 
Código Verif. : 
Sucesso       : True

Entretanto o XML de retorno diz o seguinte:
<Codigo>E160</Codigo> 
<Mensagem>Arquivo em desacordo com o XML Schema. (Linha 1: Element '{http://www.abrasf.org.br/nfse.xsd}EnviarLoteRpsEnvio': No matching global declaration available for the validation root. )</Mensagem> 
<Correcao>Consulte o Manual da NFS-e para saber quais são as versões de XML Schema suportadas pelo sistema.</Correcao> 

O que não é natural pois analisei os dados e o Elemento se encontra declarado.

- Efetuando a emissão pela opção "Enviar um RPS" eu tenho o seguinte retorno:
Erro(s):
Código  : X999
Mensagem: Erro de Conexão: SOAP-ENV:Server - Function 'GerarNfse' doesn't exist

- Efetuando a emissão pela opção "Enviar Lote RPS (Sincrono)" eu tenho o seguinte retorno:
Erro(s):
Código  : X999
Mensagem: Erro de Conexão: SOAP-ENV:Server - Function 'RecepcionarLoteRpsSincrono' doesn't exist

Portanto amigos, gostaria que, sendo possível, vocês me ajudasse com um norte.

Forte abraço!

Paulo Vale
Diretor Técnico LVsoft
WWW.LVSOFT.COM.BR

Link para o comentário
Compartilhar em outros sites

  • Consultores

Boa tarde Paulo,

Realmente o provedor DBSeller está pisando da bola.

Como que eles montam um WebService que atende a versão 2.04 do layout da ABRASF e não disponibilizam os serviços de envio unitário ou envio em lote no modo síncrono?

Eles devem ter copiado a implementação da versão 1 cujo namespace é: "http://www.abrasf.org.br/ABRASF/arquivos/nfse.xsd" sendo que na versão 2 é: "http://www.abrasf.org.br/nfse.xsd"

Isso explica o erro que está ocorrendo.

Vai ser necessário expor todos esses problemas que estão ocorrendo ao executar cada um desses 3 métodos com os respectivos retornos para o provedor.

Quem sabe assim eles façam as devidas correções.

Para falar a verdade eles devem ter anunciado que a versão é 2.04 mas na realidade é 1.00

Isso também explica tudo isso.

Como descobrir?

Muito simples:

1. Abra o arquivo ACBrNFSeXServicos.ini

2. Procure pela cidade Marica

3. Exclua a linha: Versao=2.04

4. Salve o arquivo.

5. Execute o Complia_RES

6. Reinstale o ACBr

7. Compila novamente a aplicação com o Build

8. Tente enviar novamente (só que agora, só vai funcionar o Enviar Lote Rps Assíncrono).

  • Curtir 1
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

Prezado @Italo Giurizzato Junior,

Fiz o passo a passo do que me solicitou. E a mensagem que recebi foi essa:

Mensagem: Usuário contribuinte não existe! (035XXXXXXXX) (ocultei o CPF pois é o meu).

Enfim, entrei em contato com eles e eles me informaram que:

image.thumb.jpeg.b9b95c395173854cba828500a6e4b528.jpeg

Eles me informaram que precisam ser informados os dados do XML versão 2.04, porém, vejo nitidamente que eles possuem respostas prontas. Entenda, em um dos meus testes estava obtendo resposta redundante quando perguntado a eles os mesmo me informaram que a alíquota estava sendo informada errada, estava sendo informada 2.0000 onde deveria ser informada 02.000. Notoriamente percebemos que se trata de pessoas sem preparo, pois você não consegue informar em um campo float valores com zeros a esquerda. Enfim... o teste que me solicitou foi realizado e me retornou:
Erro(s):
Código  : E157
Mensagem: Usuário contribuinte não existe! (035XXXXXXXX)

Devo fazer mais algum teste?

Já pedi que eles marquem um horário comigo lá na Prefeitura semana que vem. Estou aguardando a resposta.

Aguardo o seu retorno, até mesmo para saber se devo questionar sobre algo específico.

Forte abraço

Paulo Vale
Diretor Técnico LVsoft
WWW.LVSOFT.COM.BR

Link para o comentário
Compartilhar em outros sites

  • Consultores

Boa tarde Paulo,

Se dissessem que a alíquota deve ser informada assim: 0.0200 em vez de 2.0000 tudo bem, vamos pegar o percentual e dividir por 100.

Você é contribuinte?

Se sim deve informar o CNPJ e não o CPF.

Caso você não seja contribuinte, é importante usar o CNPJ e o certificado digital de um contribuinte para realizar os 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

Bom dia Italo,

Negativo, não é essa informação, o pessoal do suporte afirmava que deveria ser 02.00 e não 0.0200. Se fosse isso, certamente eu teria me atentado. E quanto a questão do contribuinte, estou em contato direto com o Analista do portal e ele me informou que a questão do contribuinte é que como o schemas estava errado ele estava entendendo que o tomador era na verdade o prestador do serviço e por isso a exigência do "Contribuinte".

Ele me passou uma XML para que eu possa fazer os testes. O problema é que precisei viajar a trabalho e estou retornando segunda. Estou tentando um espaço de tempo entre os compromissos para analisar o arquivo que me mandou e ver se faz sentido.

Assim que fizer os testes, retorno!

Forte abraço!

Paulo Vale
Diretor Técnico LVsoft
WWW.LVSOFT.COM.BR

Link para o comentário
Compartilhar em outros sites

Caro @Italo Giurizzato Junior,

Consegui fazer os testes. Retornei para a versão 2.04 da Abrasf como o analista da Prefeitura me solicitou.

E fiz os testes, porém, antes de chegar nele, gostaria de compartilhar com você os testes, pois pelo o que vi, o problema está do nosso lado.

Veja os detalhes:
Fiz os testes retornando tudo para o Default inicial, onde o provedor é o DBSeller e a versão 2.04 da Abrasf.

Fui no site da Abasf e baixei os arquivos schemas. Coloquei no diretório para o ACBr
Resultado
: "Schemas Inválido".

Apaguei os schemas fui no diretório dos schemas do ACBr do provedor DBSeller e a conexão com o servidor de Maricá ocorreu. Lembrando que eu tive que utilizar a opção "Enviar Lote RPS (Assíncrono)" e a resposta do servidor de Maricá foi:
Resultado: <Codigo>E160</Codigo>
<Mensagem>Arquivo em desacordo com o XML Schema. (Linha 1: Element '{http://www.abrasf.org.br/nfse.xsd}EnviarLoteRpsEnvio': No matching global declaration available for the validation root. )</Mensagem>
<Correcao>Consulte o Manual da NFS-e para saber quais são as versões de XML Schema suportadas pelo sistema.</Correcao>

Com isso passei para o próximo nível. O arquivo que disse no post anterior que o Analista de Maricá me enviou não era um schemas e sim o arquivo que eu enviei para ele corrigido. E da forma que ele corrigiu iria passar nos testes com o servidor. Ele pediu para eu seguir as definições daquele arquivo.

Então peguei o arquivo que ele me enviou e comparei com o arquivo gerado pelo ACBr e uma das principais diferenças é o NameSpace xml no arquivo que ele corrigiu vem assim:
<?xml version="1.0" encoding="UTF-8"?>
<EnviarLoteRpsEnvio xmlns="http://www.abrasf.org.br/ABRASF/arquivos/nfse.xsd">

E no arquivo gerado pelo ACBr vem assim:
<?xml version="1.0" encoding="UTF-8"?>
<EnviarLoteRpsEnvio xmlns="http://www.abrasf.org.br/nfse.xsd">

Outro detalhe que vi que achei ter pouca importância são os IDs

No arquivo que ele me mandou está assim:
<LoteRps>
<NumeroLote>1</NumeroLote>

No arquivo gerado pelo ACBr
<LoteRps versao="2.04" Id="Lote_1">
<NumeroLote>1</NumeroLote>

Fora estas diferenças o que está acontecendo são coisas normais, como tags (campos) que não são obrigatórias e que no dele ele preencheu e no ACBr não está preenchendo.

Enfim, coloquei o arquivo que ele me mandou em anexo.

Aguardarei um retorno seu antes de entrar em contato com ele.

Forte abraço!

Recepcionar.xml

Paulo Vale
Diretor Técnico LVsoft
WWW.LVSOFT.COM.BR

Link para o comentário
Compartilhar em outros sites

Caro Italo,

O Analista me indagou hoje pela manhã como estava o desenvolvimento e eu fui obrigado a explanar tudo que lhe disse anteriormente.

Ele me respondeu o seguinte:

"Nós disponibilizamos o WSDL e a partir dele, os softwares que fazem a conexão via WebService conseguem acessar o Schema e montar o arquivo XML de forma automática. Veja https://nota.marica.rj.gov.br/webservice/index/producao?wsdl "

Então eu o indaguei sobre a validação do schemas, principalmente quanto ao Root que não bate e o atributo da versão. E ele me respondeu:
"Em relação ao problema do root, isso é uma questão da Abrasf mesmo. Ao utilizar o root proveniente dos manuais da Abrasf, a conexão não funciona. De alguma forma, o pessoal da Abrasf deve ter atualizado o manual, mas esqueceu de atualizar os parâmetros dentro das funções. Precisamos fazer essas alterações para garantir que a conexão funcione. Por isso que afirmamos seguir o padrão 2.04, de fato estamos de acordo com leiaute definido pela ABRASF, mas orientamos que o XML seja construído de acordo com o manual disponibilizado pelo município, pois algumas alterações foram necessárias. Talvez a Abrasf conserte isso em breve, mas por enquanto só funciona dessa forma."

Bem... Para que funcione precisarei efetuar alterações manuais, que foram enviadas para você no post anterior e funcionou. Estou enviando ainda na unha e não pelo ACBr, irei começar a estudar quais as alterações serão necessárias para fazer isso. Inclusive sem validar o schemas, ou alterá-lo manualmente.

Aguardo retorno,

Forte abraço!

Paulo Vale
Diretor Técnico LVsoft
WWW.LVSOFT.COM.BR

Link para o comentário
Compartilhar em outros sites

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