Ir para conteúdo
  • Cadastre-se

dev botao

Meu MonitorPlus, só está trazendo os RES


  • Este tópico foi criado há 1291 dias atrás.
  • Talvez seja melhor você criar um NOVO TÓPICO do que postar uma resposta aqui.

Recommended Posts

  • Moderadores

Bom dia 

Está utilizando o método DistribuicaoDFeporUltNSU ? Se sim, parece estar correto... vai trazer primeiro os resumos de NFe conforme a ordem que foram emitidos... Para baixar o XML completo o destinatário precisa realizar a Manifestação da mesma, só então será disponibilizado o XML completo pela SEFAZ nacional, mas isso pode levar um tempo a disponibilização do XML não é imediato.

Consultor SAC ACBr

José Junior
Ajude o Projeto ACBr crescer - Assine o SAC

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

Link para o comentário
Compartilhar em outros sites

quanto a legislação do SEFAZ eu sei como funciona, porém não vem mesmo as NF.

a empresa tem um outro espião lá, e o espião deles tras notas, so o monitor que não vem.

e isso faz tempo, não é coisa de um dia.

não recebe XML de nf desde meio de agosto, de lá pra ca, muitas notas foram capturadas pelo outro espião

** estou usando dois, para saber se o monitor, realmente faz o que deve fazer.

Para tirar tua duvida do comando usado.

NFe.DistribuicaoDFeporUltNSU("52","37247772000132","00")
Link para o comentário
Compartilhar em outros sites

  • Moderadores

Sinval, por favor anexe o log completo do ACBrMonitor para análise.

Verifique se o ambiente de consulta (Homologação / Produção) está configurado corretamente conforme o ambiente que a NFe foi transmitida.

Outro detalhe é que os arquivos são baixados apenas uma vez. Se esse aplicativo "espião" estiver baixando os mesmos XMLs pelo serviço DistribuicaoDFe. não estarão mais disponíveis para download pela SEFAZ.

Consultor SAC ACBr

José Junior
Ajude o Projeto ACBr crescer - Assine o SAC

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

Link para o comentário
Compartilhar em outros sites

  • Moderadores
2 horas atrás, sinval.gedolin disse:

NFe.DistribuicaoDFeporUltNSU("52","37247772000132","00")

No último parâmetro você tem que informar o último NSU recebido na última execução do método DistribuicaoDFe.

Se passar 0 sempre vai obter os 50 primeiros documentos dos últimos 90 dias.

Equipe ACBr BigWings
Ajude o Projeto ACBr crescer - Assine o SAC

Projeto ACBr

 

 

Link para o comentário
Compartilhar em outros sites

  • Moderadores
3 minutos atrás, sinval.gedolin disse:

essa é a ideia, sempre receber os ultimos 50

porem não esta vindo mais nada. só RES

Não são os últimos 50, são os primeiros 50.

Você só deve passar 0 na primeira consulta de um CNPJ, depois disso sempre usar o último já consultado.

Equipe ACBr BigWings
Ajude o Projeto ACBr crescer - Assine o SAC

Projeto ACBr

 

 

Link para o comentário
Compartilhar em outros sites

  • Moderadores

Vou tentar explicar novamente. os comandos enviados por sockets e txt é os mesmos

e os retornos também.

eles tem o formato de arquivo INI de configuração. O arquivo retornando no vídeo é o mesmo que lhe retorna ao enviar o comando via socket

tu vai precisar colocar ele em um objeto dentro de sua linguagem que consiga ler arquivo ini e com isso tu terá as mesmas informações.

 

  • Curtir 1
Consultor SAC ACBr Juliomar Marchetti
 

Projeto ACBr

skype: juliomar
telegram: juliomar
e-mail: [email protected]
http://www.juliomarmarchetti.com.br
MVP_NewLogo_100x100_Black-02.png
 

 

Link para o comentário
Compartilhar em outros sites

  • Moderadores

Veja como é um modelo de resposta... Independente se é troca de arquivos ou sockets:

https://acbr.sourceforge.io/ACBrMonitor/ModeloRespostaDistribuicaoDFePor.html

precisa lera tag no retorno, e adicionar o ultNSU na próxima consulta:

ultNSU=000000000000333

maxNSU=000000000000500

 

Mas enquanto existir arquivos de Resumo de NFe "RES" na fila vai baixar estes primeiro... Esse controle é da SEFAZ dependendo da ordem de geração e manifestação das NFes. Precisa ir baixando até chegar no "maxNSU".

Consultor SAC ACBr

José Junior
Ajude o Projeto ACBr crescer - Assine o SAC

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

Link para o comentário
Compartilhar em outros sites

  • Moderadores
2 minutos atrás, sinval.gedolin disse:

e qual o nome desse ini de retorno?

assim ficou claro, vou ler a TAG do INI

mas qual o nome?

via socket ele vai retornar uma string essa string é o formato exato do ini

ele só cria o arquivo ini texto gravado no hd se você conversar via txt, mas como é via socket entenda ele vai te mandar uma string

com um delimitador de fim.

conseguiu entender?

tu manda:

oi #13 . #13

ele te retornar

[mensagem] tudo bem com os demais dados.

  • Curtir 1
Consultor SAC ACBr Juliomar Marchetti
 

Projeto ACBr

skype: juliomar
telegram: juliomar
e-mail: [email protected]
http://www.juliomarmarchetti.com.br
MVP_NewLogo_100x100_Black-02.png
 

 

Link para o comentário
Compartilhar em outros sites

    If( !oObj:IsConnected() )
        conout("*********  Não foi possível estabelecer conexão com o ACBr. *********")
        Return(.F.)
    Else
        conout("****************** ACBr CONECTADO! ************************")
        Sleep(2000)
        cSend := 'NFe.DistribuicaoDFeporUltNSU("52","37247772000132","00")'+_cEol
        nResp := oObj:SendcSend )
        ifnResp != lencSend ) )
            conout"--> Erro! Solicitação não transmitida" )
        else
            conout"--> Solicitação Enviada - Retorno: " +StrZero(nResp,5) )
        endif
        Sleep(20000)
        conout("****************** Fechando o ACBr! ************************")
        oObj:CloseConnection()
    EndIf

na vairável cSend ele coloca o numero o qual eu disse

será ela o ultimo NSU baixado?

Link para o comentário
Compartilhar em outros sites

  • Moderadores
42 minutos atrás, sinval.gedolin disse:

quando mando o sockt ele me retora um numer 0061

só isso

esse seria o NSU???

 

Não, nunca será retornado apenas o ultNSU... sempre que houver registros vai retornar uma String (bem grande e com quebras de linha) no formato de um arquivo .ini, 

Precisa ler a sessão [DISTRIBUICAODFE] utilizando o formato .ini, onde vai ter as tags ultNSU e maxNSU.

e abaixo pode vir até 50 sessões entre [ResNFE], [ResEVE] [InfEVE], [InfNFE]  

Verifique a resposta que está gravando no Log do ACBrMonitor... Será a mesma resposta que terá via Sockets...

Considere utilizar um timeout maior de espera na sua comunicação Sockets, pode ser que esteja tentando ler o retorno antes de obter a resposta da SEFAZ...

Consultor SAC ACBr

José Junior
Ajude o Projeto ACBr crescer - Assine o SAC

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

Link para o comentário
Compartilhar em outros sites

  • Moderadores
1 hora atrás, sinval.gedolin disse:

na vairável cSend ele coloca o numero o qual eu disse

No seu código parece estar faltando ler os dados retornados pelo ACBr.

Depois do oObj:Send chamar este trecho:

// -------------------------------
// Teste de recebimento do socket
// -------------------------------
cBuffer := ""
nResp = oObj:Receive( @cBuffer, 10000 )
if( nResp >= 0 )
    conout( "--> Dados Recebidos " + StrZero(nResp,5) )
    conout( "--> ["+cBuffer+"]" )
else
    conout( "--> Não recebi dados" )
endif

https://tdn.totvs.com/display/tec/Classe+TSocketClient

O cBuffer vai conter a string do .ini.

Equipe ACBr BigWings
Ajude o Projeto ACBr crescer - Assine o SAC

Projeto ACBr

 

 

Link para o comentário
Compartilhar em outros sites

image.thumb.png.472e6deb2b9d25134b0ac71ea3e6a13f.png

Comom pode ver esta com este trecho, porem este tracho apenas retorna o status do monitor, como pode ver no conteudo da variavel buffer, que mostro no meio da IDE.

Porem a variavel cresp, tem um numero o 117, por um acaso é nela que está chegando o ultimo NSU

 

pessoal falamos de tudo, mas eu ainda estou com duvida de onde vem esse NSU.

depois tiro do meu programa o que não preciso, pofrem tenho que descobir o NSU

 

Link para o comentário
Compartilhar em outros sites

  • Moderadores

Talvez você esteja tentando o retorno rápido demais, esse webservice é notavelmente instável.

Tente colocar uma espera entre o envio e a busca do retorno:

    If( !oObj:IsConnected() )
        conout("*********  Não foi possível estabelecer conexão com o ACBr. *********")
        Return(.F.)
    Else
        conout("****************** ACBr CONECTADO! ************************")
        Sleep(2000)
        cSend := 'NFe.DistribuicaoDFeporUltNSU("52","37247772000132","00")'+_cEol
        nResp := oObj:Send( cSend )
        if( nResp != len( cSend ) )
            conout( "--> Erro! Solicitação não transmitida" )
        else
            conout( "--> Solicitação Enviada - Retorno: " +StrZero(nResp,5) )
        endif

		Sleep(20000)
		
		cBuffer := ""
		nResp = oObj:Receive( @cBuffer, 10000 )
		if( nResp >= 0 )
			conout( "--> Dados Recebidos " + StrZero(nResp,5) )
			conout( "--> ["+cBuffer+"]" )
		else
			conout( "--> Não recebi dados" )
		endif
		
        conout("****************** Fechando o ACBr! ************************")
        oObj:CloseConnection()
    EndIf

 

Equipe ACBr BigWings
Ajude o Projeto ACBr crescer - Assine o SAC

Projeto ACBr

 

 

Link para o comentário
Compartilhar em outros sites

  • Consultores
13 horas atrás, sinval.gedolin disse:

Big Wings, o grande problema é eu não saber o numero da ultima NSU

como eu recebo o numero do NSU meu brother?

Bom dia sinval.gedolin.


   O Big Wings respondeu acima, que é pegando o retorno do comando de "Distribuição DFe" do ACBrMonitor. Veja:

19 horas atrás, BigWings disse:

Se você está trabalhando com sockets, não vai ser diferente do modo de trabalho por arquivos. A mesma resposta gerada no arquivo de retorno é dada no socket.

Então do lado da sua aplicação, você precisa garantir que o envio de comandos e o recebimento da resposta (escrita e a leitura no socket) sejam feitas corretamente.

O que você vai encontrar no socket é um arquivo ini como esse que está nesse link da documentação acima.

O vídeo indicado, é apenas um da série que explica sobre a distribuição. Veja os outros aqui: https://www.projetoacbr.com.br/forum/video/browse/37-aula-24-distribuicao-dfe/

Mais uma vez, a comunicação por socket ou arquivos é basicamente a mesma coisa. As respostas são as mesmas. Nesses outros vídeos aqui, há uma explicação sobre a comunicação socket TCP/IP.

  • Curtir 3

[]'s

Consultor SAC ACBr

Elton
Profissionalize o ACBr na sua empresa, conheça o ACBr Pro.

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

Um engenheiro de Controle de Qualidade(QA) entra num bar. Pede uma cerveja. Pede zero cervejas.
Pede 99999999 cervejas. Pede -1 cervejas. Pede um jacaré. Pede asdfdhklçkh.
Link para o comentário
Compartilhar em outros sites

  • Este tópico foi criado há 1291 dias atrás.
  • Talvez seja melhor você criar um NOVO TÓPICO do que postar uma resposta aqui.

Crie uma conta ou entre para comentar

Você precisar ser um membro para fazer um comentário

Criar uma conta

Crie uma nova conta em nossa comunidade. É fácil!

Crie uma nova conta

Entrar

Já tem uma conta? Faça o login.

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