Membros Pro simtechsistemas Postado 30 Junho Autor Membros Pro Postado 30 Junho Irei fazer isso. Só lembrando, este XML da nota que foi aceita, não foi emitida pelo ACBr. Baixei diretamente do ambiente do cliente no site da prefeitura.
Membros Pro simtechsistemas Postado 30 Junho Autor Membros Pro Postado 30 Junho 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 antonio.carlos Postado 1 Julho Consultores Solution Postado 1 Julho 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 1
Consultores Diego Foliene Postado 1 Julho Consultores Postado 1 Julho 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. 1 Diego FolieniAjude o Projeto ACBr crescer - Assine o SAC (15) 2105-0750 (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 simtechsistemas Postado 3 Julho Autor Membros Pro Postado 3 Julho 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 Marcos Pereda Postado 10 Julho Membros Pro Postado 10 Julho Eu abri um chamado com o mesmo problema e não tive resposta, o NFSE_CarregarLoteXML não carrega as RPS geradas pelo NFSE_GerarLote
Membros Pro Marcos Pereda Postado 10 Julho Membros Pro Postado 10 Julho 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
Recommended Posts