Ir para conteúdo
  • Cadastre-se

dev botao

ACBrLib Nfse - Cidade de João Pessoa


Ver Solução Respondido por antonio.carlos,

Recommended Posts

  • Membros Pro
Postado

Acredito que realmente o problema seja no ambiente de homologação. Enviei uma nota em produção só de teste e me retornou duplicidade. O que gostaria agora de saber os processos a serem seguidos para o envio de RPS em Lote.

1º Estou usando o método "NFSE_CarregarINI" para cada nota fiscal
2º Executo o método "NFSE_GerarLote"

3º O que fazer? 
   1- Consultar o Lote?
 

  • Consultores
  • Solution
Postado
23 horas atrás, simtechsistemas disse:

Acredito que realmente o problema seja no ambiente de homologação. Enviei uma nota em produção só de teste e me retornou duplicidade. O que gostaria agora de saber os processos a serem seguidos para o envio de RPS em Lote.

1º Estou usando o método "NFSE_CarregarINI" para cada nota fiscal
2º Executo o método "NFSE_GerarLote"

3º O que fazer? 
   1- Consultar o Lote?
 

https://acbr.sourceforge.io/ACBrLib/ComoemitirumaNFSe.html

  • Curtir 1
  • Consultores
Postado

Boa tarde!

De maneira simplificada, o método NFSE_GerarLote vai criar um arquivo, assinar e validar ele com os schemas, mas não vai fazer o envio para o web service.

Ele pode ser usado para "simular o processo de envio", mas sua chamada não é necessária, o NFSE_Emitir vai criar o arquivo, assinar, validar ele com os schemas e vai fazer o envio.

O link que o @antonio.carlos compartilhou anteriormente vai trazer mais detalhes sobre o processo de envio.

  • Curtir 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 fazendo desta forma: 

1º NFSE_GerarLote

No retorno de gerar lote, vem a informação do XML gerado em "NomeArq"

2º NFSE_CarregarLoteXML

3º NFSE_Emitir

Está correto desta forma?

Gostaria também é de um exemplo de retorno da NFSE_Emitir, quando é emitido vários RPSs em lote para que eu possa saber como tratar as notas emitidas.

 

  • Membros Pro
Postado

Sobre o exemplo, eu também estou implantando agora, então não tenho certeza se vai funcionar ( parei no nfse_carregarlotexml ) , mas o resto do meu codigo esta assim , basicamente no envio assincrono o que vc quer é pegar o protocolo e depois consultar 

a função abaixo pega o protocolo, o retorno é no formato do ini , por isso uso uma função GetIniValueFromString, no link https://acbr.sourceforge.io/ACBrLib/NFSE_Emitir.html tem um exemplo de retorno 

 

Public Function ACBREnviarLoteAssincronoRPS(ByVal NumLote As Integer, ByRef Erro As String) As String
 'enviar o lote, se deu sucesso retornar para a funcao o protocolo gerado
Dim resposta As String

   On Error GoTo ACBREnviarLoteAssincronoRPS_Error

resposta = myACBRNFSE.Emitir(NumLote, meLoteAssincrono, False)

'por enquanto mostrar na mensagem
Call Mensagem(resposta)

If resposta <> "" Then
    If GetIniValueFromString(resposta, "Envio", "Sucesso", "0") = "1" Then
        ACBREnviarLoteAssincronoRPS = TiraZeros(GetIniValueFromString(resposta, "Envio", "Protocolo"))
    End If
End If

   On Error GoTo 0
   Exit Function

ACBREnviarLoteAssincronoRPS_Error:
Erro = Err.Description
    Mensagem "Erro " & Err.Number & " (" & Err.Description & ") na linha " & Erl & " em ACBREnviarLoteAssincronoRPS do Módulo de classe clsTecnoSpeed", , , csVerde

End Function
 

E com o protocolo eu consulto as notas , isto aqui já deu certo, usei com um protocolo gerado por outro sistema : 

    RetornoACBR =ConsultarLoteRps(txtNotaTecnoSpeed(0), txtNotaTecnoSpeed(0))

    If modArquivos.GetIniValueFromString(RetornoACBR, "ConsultaLoteRps", "Situacao") = "true" Then

        XML_ = AnsiToUtf8(GetIniValueFromString(RetornoACBR, "ConsultaLoteRps", "XmlRetorno"))
 

com o xml, vc carrega as notas 

Call myACBRNFSE.CarregarXML(XML_)

e vc faz um looping pelas notas, usando o obterini

RetornoACBR = myACBRNFSE.ObterIni(numIndice)

o ini vai te retornar os dados que vc precisa da nota

                                Call gTabela.Gravar("alunopag", "NFE", GetIniValueFromString(RetornoACBR, "IdentificacaoNFSe", "Numero"), dbInteger, ACAO_UPDATE, strWhere)
                                Call gTabela.Gravar("alunopag", "autenticacaonfe", GetIniValueFromString(RetornoACBR, "IdentificacaoNFSe", "CodigoVerificacao"), dbText, ACAO_UPDATE, strWhere)
                                Call gTabela.Gravar("alunopag", "dataemissaonfe", GetIniValueFromString(RetornoACBR, "IdentificacaoRps", "DataEmissao"), dbDate, ACAO_UPDATE, strWhere)
                                Call gTabela.Gravar("alunopag", "nfe_url", GetIniValueFromString(RetornoACBR, "IdentificacaoNFSe", "Link"), dbText, ACAO_UPDATE, strWhere)
 

aqui tem um problema, que reportei mas também não tive resposta, que quando vai pegar a ultima nota + 1 não da o erro -13 de indice inexistente.

espero ter ajudado,

 

Marcos

×
×
  • 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...