Ir para conteúdo
  • Cadastre-se

dev botao

ACBrLibNfse - Arquivo ACBrNFSeX.ini


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

Recommended Posts

  • Membros Pro
Postado

Pessoal, bom dia!

Estou realmente precisando da ajuda de vocês. Não sei mais o que fazer e também não sei o que está faltando ou o que estou fazendo de errado.

Já tentei enviar em Homologação e em Produção, não vai. Estou colocando aqui o arquivo .INI, o INI da nota e o arquivo de LOG. 

Cliente está me cobrando e preciso de uma solução urgente. 

Desde já agradeço a ajuda de todos.

NFSE_RPS_00000015_20231016-105412.Ini ACBrLibNFSe-20231016.log ACBrNFSeX.ini

  • Consultores
Postado

Bom dia.

Por favor, tente validar o XML gerado neste Validador de Assinaturas.

Veja se as informações exibidas sobre o certificado são a do prestador de serviços deste NFS-e.

Conforme o @Italo Giurizzato Junior orientou também previamente, você está emitindo em homologação(no seu ACBrNFSeX.ini, ambiente está com o valor 1), entre em contato com o provedor BHISS (nesta página, na seção Orgão/Unidade Responsável, tem este email [email protected]) e verifique se você não precisa de uma autorização/cadastro para que o prestador de serviços emita em homologação. (mesmo que ele já emita em produção, as vezes são ambientes diferentes).

Se for possível, você também pode tentar emitir em produção está nota. Para isso, precisa alterar o ambiente de 1 para 0.

Consultor SAC ACBr

Diego Folieni
Ajude o Projeto ACBr crescer - Assine o SAC

Projeto ACBr     Telefone:(15) 2105-0750 WhatsApp(15)99790-2976.  Discord

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


Participe de nosso canal no Discord e fique ainda mais próximo da Comunidade !!

  • Membros Pro
Postado
42 minutos atrás, Diego Foliene disse:

Bom dia.

Por favor, tente validar o XML gerado neste Validador de Assinaturas.

Veja se as informações exibidas sobre o certificado são a do prestador de serviços deste NFS-e.

Conforme o @Italo Giurizzato Junior orientou também previamente, você está emitindo em homologação(no seu ACBrNFSeX.ini, ambiente está com o valor 1), entre em contato com o provedor BHISS (nesta página, na seção Orgão/Unidade Responsável, tem este email [email protected]) e verifique se você não precisa de uma autorização/cadastro para que o prestador de serviços emita em homologação. (mesmo que ele já emita em produção, as vezes são ambientes diferentes).

Se for possível, você também pode tentar emitir em produção está nota. Para isso, precisa alterar o ambiente de 1 para 0.

Boa tarde, Diego. 

Eu fiz os testes tanto em Homologação quanto Produção, foi me retornado o mesmo resultado. Fiz a validação do XML gerado, e está OK

Vou verificar junto ao BHISS com relação a autorização, tendo em vista que hoje já se emite nfs através de outro sistema.

 

 

  • Membros Pro
Postado

Boa tarde, andei verificando o que é necessário para se emitir a nota fiscal eletrônica de Belo Horizonte. Realmente tem que existir um cadastramento. Mas, como dito antes, o programa anterior já emitia a nota fiscal de serviço e consequentemente, a empresa já possui o cadastro. O próprio contador me passou o login e senha. Então realmente, eu não sei mais o que posso fazer pra essa nota ser emitida pelo AcbrLibNfse.dll. Alguém aqui no grupo, já conseguiu emitir esta nota? 

  • Consultores
Postado
26 minutos atrás, simtechsistemas disse:

Boa tarde, andei verificando o que é necessário para se emitir a nota fiscal eletrônica de Belo Horizonte. Realmente tem que existir um cadastramento. Mas, como dito antes, o programa anterior já emitia a nota fiscal de serviço e consequentemente, a empresa já possui o cadastro. O próprio contador me passou o login e senha. Então realmente, eu não sei mais o que posso fazer pra essa nota ser emitida pelo AcbrLibNfse.dll. Alguém aqui no grupo, já conseguiu emitir esta nota? 

O certificado é mesmo A3? Não é possível testar com OpenSSL?

EDIT:

Se o certificado for A3, tente também passar somente o nº de série, removendo a senha que configurou.

Consultor SAC ACBr

Diego Folieni
Ajude o Projeto ACBr crescer - Assine o SAC

Projeto ACBr     Telefone:(15) 2105-0750 WhatsApp(15)99790-2976.  Discord

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


Participe de nosso canal no Discord e fique ainda mais próximo da Comunidade !!

  • Membros Pro
Postado
44 minutos atrás, Diego Foliene disse:

O certificado é mesmo A3? Não é possível testar com OpenSSL?

EDIT:

Se o certificado for A3, tente também passar somente o nº de série, removendo a senha que configurou.

O certificado é A1!

  • Curtir 1
  • Consultores
Postado

Boa tarde @simtechsistemas,

Notei que o envio do RPS esta sendo feito em modo automático, portanto esta sendo enviado em um lote.

Mude o segundo parâmetro do NFSE_Emitir para que o envio seja feito de modo unitário.

Vamos ver se o erro muda.

  • 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

  • Consultores
Postado
24 minutos atrás, simtechsistemas disse:

O certificado é A1!

Se o certificado é A1, por favor, faça um teste configurando com OpenSSL.

SSLCrypt=1
SSLHttpLib=3
SSLXmlSignLib=4
ArquivoPFX= Local onde está o PFX
Senha= Senha do certificado

 

Consultor SAC ACBr

Diego Folieni
Ajude o Projeto ACBr crescer - Assine o SAC

Projeto ACBr     Telefone:(15) 2105-0750 WhatsApp(15)99790-2976.  Discord

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


Participe de nosso canal no Discord e fique ainda mais próximo da Comunidade !!

  • Membros Pro
Postado

Bom dia pessoal, infelizmente não deu certo.

Acho que existe algum problema ou incompatibilidade com o Harbour.

O sistema não consegue criar a instância da DLL quando codigoMunicipio = 3106200, isto é, eu tenho que deixar sem esta informação para que

não dê erro no memento em que a DLL é instanciada.

Tenho que alterar as informações do arquivo INI na mão, pois não grava usando o método NFSE_ConfigGravarValor.

Infelizmente, não sei mais o que fazer.

  • Consultores
Postado

Bom dia!

Temos outros membros em nossa comunidade que usam Harbour.

No funcionamento da Lib, na primeira vez que instancia, vai instanciar sem nenhuma informação.

É nesse instante que você preenche as configurações e cria o ACBrLib.ini usando o ConfigGravar.

Na próxima vez que você instancia a Lib, você precisa usar o ConfigLer para que ela leia as configurações.

Tenta fazer um teste pequeno e isolado.

Crie um outro ambiente, sem configurações, instancia a Lib usa o ConfigGravarValor, seguido do ConfigGravar só para salvar o CodigoMunicipio na NFS-e.

Depois tenta de novo usando o ConfigLer para ver se ele pega a informação.

 

Outra questão.

Quando você faz o download das Dlls, na pasta dep, vem um arquivo ACBrNFSeXServicos.ini, nele tem as informações das cidades e dos provedores.

No primeiro teste não coloque este arquivo junto a pasta do seu .EXE, dessa forma, a Lib vai ler a informação interna dela para buscar as configurações de cidade e provedor.

Caso ocorra o problema, coloque este arquivo na mesma pasta do .EXE e repita o teste, ao fazer isso, a lib vai ler as informações dele.

Veja se nele tem a informação da cidade que está buscando.

Consultor SAC ACBr

Diego Folieni
Ajude o Projeto ACBr crescer - Assine o SAC

Projeto ACBr     Telefone:(15) 2105-0750 WhatsApp(15)99790-2976.  Discord

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


Participe de nosso canal no Discord e fique ainda mais próximo da Comunidade !!

  • Consultores
Postado
7 minutos atrás, simtechsistemas disse:

[Erro1]
Codigo=X999
Correcao=
Descricao=Erro de Conexão: Erro Interno: 12002Erro HTTP: 0URL: https://bhissdigital.pbh.gov.br/bhiss-ws/nfseErro: 12002 - TimeOut de RequisiçãoFalha Enviando a Requisição. Erro: 12002 - TimeOut de Requisição
)

Qual o motivo deste erro?

TimeOut quer dizer que ele tentou enviar a requisição, mas não teve uma resposta no tempo determinado.

Tente aumentar a configuração de TimeOut que é definida em milisegundos.

O valor padrão dela é 5000, isso equivale a 5 segundos, é um tempo pequeno. Coloque 15000 para deixar 15 segundos.

Consultor SAC ACBr

Diego Folieni
Ajude o Projeto ACBr crescer - Assine o SAC

Projeto ACBr     Telefone:(15) 2105-0750 WhatsApp(15)99790-2976.  Discord

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


Participe de nosso canal no Discord e fique ainda mais próximo da Comunidade !!

  • Consultores
Postado
Agora, simtechsistemas disse:

Oi Diego, fiz um envio alterando o tempo que você me informou.

Você poderia verificar neste log se a nota foi enviada?

Vi que gerou um número de protocolo.

Lote=1
MaxRps=50
ModoEnvio=Enviar Lote
NumeroNota=
Protocolo=AG1407416t23e291XHGT7Qpr
Situacao=
Sucesso=1

 

ACBrLibNFSe-20231018.log 21.73 kB · 0 downloads

Boa!

Já estamos avançando.

A cidade de Belo Horizonte usa o provedor BHISS, este provedor é implementa a versão 1.00 do layout da ABRASf, ou seja, o envio nele é assíncrono.

Isso quer dizer que:

  1. Você envia o RPS para ele, ele te devolve um Número de Procolo atestando que o lote foi recebido.
  2. Você consulta a Situação desse lote usando o número do protocolo que recebeu.
  3. Se o retorno da consulta da situação for 3, significa que o lote foi processado com erros, se for 4 quer dizer que foi processado com sucesso. Em ambos os casos, você vai consultar o lote para receber os erros ou a nota em si.

Então o próximo passo agora é você usar o método NFSe_ConsultarSituacao, se você receber um 3 ou 4, então vai usar o NFSe_ConsultarLoteRps.

Consultor SAC ACBr

Diego Folieni
Ajude o Projeto ACBr crescer - Assine o SAC

Projeto ACBr     Telefone:(15) 2105-0750 WhatsApp(15)99790-2976.  Discord

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


Participe de nosso canal no Discord e fique ainda mais próximo da Comunidade !!

  • Membros Pro
Postado
40 minutos atrás, Diego Foliene disse:

Boa!

Já estamos avançando.

A cidade de Belo Horizonte usa o provedor BHISS, este provedor é implementa a versão 1.00 do layout da ABRASf, ou seja, o envio nele é assíncrono.

Isso quer dizer que:

  1. Você envia o RPS para ele, ele te devolve um Número de Procolo atestando que o lote foi recebido.
  2. Você consulta a Situação desse lote usando o número do protocolo que recebeu.
  3. Se o retorno da consulta da situação for 3, significa que o lote foi processado com erros, se for 4 quer dizer que foi processado com sucesso. Em ambos os casos, você vai consultar o lote para receber os erros ou a nota em si.

Então o próximo passo agora é você usar o método NFSe_ConsultarSituacao, se você receber um 3 ou 4, então vai usar o NFSe_ConsultarLoteRps.

Como recupero o número deste protocolo?

  • Consultores
Postado
1 hora atrás, simtechsistemas disse:

Como recupero o número deste protocolo?

Você precisa ler a informação no seu retorno.

Veja que o grupo [Envio] tem um item Protocolo

Citar

18/10/23 11:12:53:491 -    SetRetorno(0, [Envio]
CodigoVerificacao=
Data=18/10/2023 11:12:52
Link=
Lote=1
MaxRps=50
ModoEnvio=Enviar Lote
NumeroNota=
Protocolo=AG1407416t23e291XHGT7Qpr
Situacao=
Sucesso=1

 

Consultor SAC ACBr

Diego Folieni
Ajude o Projeto ACBr crescer - Assine o SAC

Projeto ACBr     Telefone:(15) 2105-0750 WhatsApp(15)99790-2976.  Discord

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


Participe de nosso canal no Discord e fique ainda mais próximo da Comunidade !!

  • Membros Pro
Postado

Bom dia!

Estou entendendo melhor o funcionamento da AcrLibNfse.dll, ainda o manual deixa um pouco a desejar, mesmo assim, com a ajuda de vocês estou conseguindo emitir a nota. 

Tenho algumas dúvidas:

1º Impressão da nota --> Após o processo de envio da nota, execute os seguintes comandos para realizar a impressão:

        ::oNFSe:LimparLista()  --> NFSE_LimparLista
        ::oNFSe:CarregarXML( Alltrim( MOVNFSE->PATH_XML ) )  --> NFSE_CarregarXML
        ::oNFSe:Imprimir( "", 1, Alltrim( MOVNFSE->PROTOCOLO ) ) --> NFSE_Imprimir

  só que não imprime.

2º Cancelamento de Nota

     O provedor BHISS, ele gera o número da nota com o ano na frente. Exemplo: 202300000005555. O cancelamento direto pelo ambiente do BHISS, tenho que informar a nota 2023/5555. Como seria o cancelamento através da biblioteca? Já usei apenas o número 5555, 2023/5555 mas o retorno que tenho é que não localiza a nota.

Exemplo do Manual:

 

Modelo NFSe.INI - Cancelamento
[CancelarNFSe]
NumeroNFSe=1234
SerieNFSe=1
ChaveNFSe=434945460000011998000000976482769641000
DataEmissaoNFSe=17/05/2023
CodCancelamento=1 ????? O que se refere este código? Existe outros?
MotCancelamento='Motivo do Cancelamento'
NumeroLote=1
NumeroRps=1
SerieRps=1
ValorNFSe=1,00
CodVerificacao= 
email='[email protected]
NumeroNFSeSubst=
SerieNFSeSubst=
CodServ=12345
Tipo=1

Quais destes campos são obrigatórios?

Como obter o retorno que o cancelamento foi realizado?

3º Impressão da Nota e Retorno com caracteres acentuados 

Mesmo com o arquivo .INI configurado com RetirarAcentos=1, as palavras acentuadas saem com outros caracteres.

image.png.bce2688b21ed00c79da2ee5200172f4d.png 

  • Consultores
Postado

Bom dia!

3 horas atrás, simtechsistemas disse:

1º Impressão da nota --> Após o processo de envio da nota, execute os seguintes comandos para realizar a impressão:

        ::oNFSe:LimparLista()  --> NFSE_LimparLista
        ::oNFSe:CarregarXML( Alltrim( MOVNFSE->PATH_XML ) )  --> NFSE_CarregarXML
        ::oNFSe:Imprimir( "", 1, Alltrim( MOVNFSE->PROTOCOLO ) ) --> NFSE_Imprimir

  só que não imprime.

Precisamos de mais informações.

Como fica o registro desses eventos no log gerado pela Lib? O retorno quando você os executa é o de sucesso na operação?

3 horas atrás, simtechsistemas disse:

2º Cancelamento de Nota

     O provedor BHISS, ele gera o número da nota com o ano na frente. Exemplo: 202300000005555. O cancelamento direto pelo ambiente do BHISS, tenho que informar a nota 2023/5555. Como seria o cancelamento através da biblioteca? Já usei apenas o número 5555, 2023/5555 mas o retorno que tenho é que não localiza a nota.

Como fica a informação no XML de envio? Você já tentou informando "202300000005555" ?

3 horas atrás, simtechsistemas disse:
CodCancelamento=1 ????? O que se refere este código? Existe outros?

Pode variar se o provedor implementar layout próprio, mas no geral, se refere a esta informação:

image.png

 

3 horas atrás, simtechsistemas disse:

Quais destes campos são obrigatórios?

A obrigatoriedade dos campos pode depender do provedor que você está tentando cancelar a NFS-e, por exemplo, para o provedor Siappa, você precisa informar o CodServ, já para o provedor CTAConsult você precisa preencher a data de emissão.

Por isso, é interessante preencher com todas as informações e deixar que a Lib decida qual ela vai usar de acordo com o provedor.

3 horas atrás, simtechsistemas disse:

Como obter o retorno que o cancelamento foi realizado?

Uma forma de você fazer isso é consultando a NFS-e posteriormente.

Você também pode tratar o retorno verificando se veio uma informação positiva confirmando o cancelamento.

Lembrando que, em algumas cidades, você cancela na hora pelo web service mesmo, enquanto que em outras, você cria uma solicitação de cancelamento que vai ser analisada pela prefeitura para ver se eles vão aprovar ou reprovar.

 

Citar

 

3º Impressão da Nota e Retorno com caracteres acentuados 

Mesmo com o arquivo .INI configurado com RetirarAcentos=1, as palavras acentuadas saem com outros caracteres.

 

Além da RetirarAcentos, por favor, faça um teste alterando a configuração da codificação de respostas da Lib.

Consultor SAC ACBr

Diego Folieni
Ajude o Projeto ACBr crescer - Assine o SAC

Projeto ACBr     Telefone:(15) 2105-0750 WhatsApp(15)99790-2976.  Discord

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


Participe de nosso canal no Discord e fique ainda mais próximo da Comunidade !!

  • Consultores
Postado
16 minutos atrás, simtechsistemas disse:

Bom dia Diego,

Consegui realizar a impressão e o cancelamento da nota.

Obrigado pela ajuda e paciência.

Tranquilo!

Que bom que deu tudo certo!

Tem mais algum assunto pendente ou posso encerrar este tópico? (Lembrando que você pode sempre abrir um novo em caso de dúvidas).

Consultor SAC ACBr

Diego Folieni
Ajude o Projeto ACBr crescer - Assine o SAC

Projeto ACBr     Telefone:(15) 2105-0750 WhatsApp(15)99790-2976.  Discord

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


Participe de nosso canal no Discord e fique ainda mais próximo da Comunidade !!

  • Membros Pro
Postado
5 horas atrás, Diego Foliene disse:

Tranquilo!

Que bom que deu tudo certo!

Tem mais algum assunto pendente ou posso encerrar este tópico? (Lembrando que você pode sempre abrir um novo em caso de dúvidas).

Pode encerrar!

  • Curtir 1
  • Consultores
Postado

Obrigado por reportar.

Fechando. Para novas dúvidas, criar um novo tópico.

Consultor SAC ACBr

Diego Folieni
Ajude o Projeto ACBr crescer - Assine o SAC

Projeto ACBr     Telefone:(15) 2105-0750 WhatsApp(15)99790-2976.  Discord

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


Participe de nosso canal no Discord e fique ainda mais próximo da Comunidade !!

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