Jump to content
Notícias do ACBr

click.png

click.png

click.png

click.png

click.png

click.png

click.png

click.png

click.png

consultoria_sticker.png

Conteúdo para desenvolvedores
 ao vivo de terça a quinta!
Saiba mais

dev.png

logo_acbr_paygo.png

TEF ACBr PayGo
Seja um revendedor e ofereça uma solução completa para seu cliente.


botao.png

beneficios.png

Comandos por Socks


Go to solution Solved by sinval.gedolin,
  • Este tópico foi criado há 216 dias atrás.
  • Talvez seja melhor você criar um NOVO TÓPICO do que postar uma resposta aqui

Recommended Posts

  • Usuários SAC

Caros amigos, este é um trecho de meu programa ADVPL, ele está conectando, porem envio umcomando ao monitor e não recebo nada. será que estou enviando o comando correto/

Na variável cSEND eu coloco a String que queri enviar por Socks ao endereço e porta conectado.

me ajudem com a sintaxe correta do comando sock do AcBr porfavor.

 

    For nX := 1 to 3
        nResp := oObj:ConnectnPort,nIp,10 )
        // -------------------------------
        // Se conectou abandona o FOR
        // -------------------------------
        If(nResp == 0 )
            Exit
        Else
            conout("--> Tentativa de Conexão ACBr: " + StrZero(nX,3))
            Sleep(2000)
        EndIf
    Next
 
    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","0")'
        nResp := oObj:SendcSend )
        oObj:CloseConnection()
    EndIf   
 
 
Link to post
Share on other sites

Boa tarde.

Por favor anexe o log do ACBrMonitorPlus para que possamos analisar melhor.

Att.

Consultora SAC ACBr

Juliana Tamizou
Ajude o Projeto ACBr crescer - Assine o SAC

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

Projeto ACBr - A maior comunidade Open Source de Automação Comercial do Brasil
Link to post
Share on other sites

Tópico movido para a área do SAC, para que o SLA de respostas seja considerado

Consultora SAC ACBr

Juliana Tamizou
Ajude o Projeto ACBr crescer - Assine o SAC

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

Projeto ACBr - A maior comunidade Open Source de Automação Comercial do Brasil
Link to post
Share on other sites
  • Usuários SAC

Rafaael, eu coloco em ANSI mesmo ou em ASCII

acha que colocar "\r\n.\r\n" depois de meu comando funciona?

cSend := 'NFe.DistribuicaoDFeporUltNSU("52","37247772000132","0")'+"\r\n.\r\n"

antigamente eu finalizava com isso, mas era outro produto acebr

 Chr(13)+Chr(10)+Chr(46)+Chr(13)+Chr(10)
Link to post
Share on other sites
  • Usuários SAC

Amigos notem que coloquei os caracteres junto com a string, e mesmo assim, não funcionou.

    Private oObj := tSocketClient():New()
    Private _cEol := Chr(13)+Chr(10)+Chr(46)+Chr(13)+Chr(10)
 
    For nX := 1 to 3
        nResp := oObj:ConnectnPort,nIp,10 )
        // -------------------------------
        // Se conectou abandona o FOR
        // -------------------------------
        If(nResp == 0 )
            Exit
        Else
            conout("--> Tentativa de Conexão ACBr: " + StrZero(nX,3))
            Sleep(2000)
        EndIf
    Next
 
    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","0")'+_cEol
        nResp := oObj:SendcSend )
        oObj:CloseConnection()
    EndIf   
Link to post
Share on other sites

estranho você checou se no monitor esta chegando os comandos, poste o log dele
Obs.: \r\n é caracteres de comando em linguagens baseadas em C e é a mesma coisa que o char(13) + Char(10)

Consultor SAC ACBr Rafael Dias
Ajude o Projeto ACBr crescer - Assine o SAC

Projeto ACBr

Desenvolvedor ACBrLib.

 

Link to post
Share on other sites
  • Usuários SAC

Rafael, eu coloquei isso depois do comando Chr(13)+Chr(10)+Chr(46)+Chr(13)+Chr(10)

Ou seja minha String enviada, foi:

 'NFe.DistribuicaoDFeporUltNSU("52","37247772000132","0")'+Chr(13)+Chr(10)+Chr(46)+Chr(13)+Chr(10)

E não trqbalhou

Link to post
Share on other sites

Por favor tente anexar o que a Juliana pediu assim dá pra identificar

17 horas atrás, Juliana Tamizou disse:

Boa tarde.

Por favor anexe o log do ACBrMonitorPlus para que possamos analisar melhor.

Att.

 

Consultor SAC ACBr Juliomar Marchetti
Ajude o Projeto ACBr crescer - Assine o SAC

Projeto ACBr

skype: juliomar
telegram: juliomar
http://www.juliomarmarchetti.com.br
Embarcadero MVP
Projeto ACBr - A maior comunidade Open Source de Automação Comercial do Brasil
Link to post
Share on other sites

Poderia descrever o que fez pra resolver? caso algum colega tenha o mesmo problema?

  • Like 1
Consultor SAC ACBr Juliomar Marchetti
Ajude o Projeto ACBr crescer - Assine o SAC

Projeto ACBr

skype: juliomar
telegram: juliomar
http://www.juliomarmarchetti.com.br
Embarcadero MVP
Projeto ACBr - A maior comunidade Open Source de Automação Comercial do Brasil
Link to post
Share on other sites
  • Usuários SAC
  • Solution

coloquei para que o ADVPL fizesse uma pausa de 15 segundos antes de fechar a conexão SOCKs, se ver no codigo acima, foi colocado para ele fechar a conexão depois de enviar  comando.

E antes dos 15 segundos eu fiz uma verificação se houve algum retorno.

ficando assim:

 

 

    Private oObj        := tSocketClient():New()
    Private _cEol       := Chr(13)+Chr(10)+Chr(46)+Chr(13)+Chr(10)
 
    For nX := 1 to 3
        nResp := oObj:ConnectnPort,nIp,10 )
        // -------------------------------
        // Se conectou abandona o FOR
        // -------------------------------
        If(nResp == 0 )
            Exit
        Else
            conout("--> Tentativa de Conexão ACBr: " + StrZero(nX,3))
            Sleep(2000)
        EndIf
    Next
 
    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","0")'+_cEol
        nResp := oObj:SendcSend )
        ifnResp != lencSend ) )
            conout"--> Erro! Dado não transmitido" )
        else
            conout"--> Dado Enviado - Retorno: " +StrZero(nResp,5) )
        endif
        Sleep(20000)
        conout("****************** Fechando o ACBr! ************************")
        oObj:CloseConnection()
    EndIf

 

  • Like 2
Link to post
Share on other sites

Obrigado por reportar.

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

Consultor SAC ACBr Juliomar Marchetti
Ajude o Projeto ACBr crescer - Assine o SAC

Projeto ACBr

skype: juliomar
telegram: juliomar
http://www.juliomarmarchetti.com.br
Embarcadero MVP
Projeto ACBr - A maior comunidade Open Source de Automação Comercial do Brasil
Link to post
Share on other sites
  • Este tópico foi criado há 216 dias atrás.
  • Talvez seja melhor você criar um NOVO TÓPICO do que postar uma resposta aqui
Guest
This topic is now closed to further replies.
×
×
  • Create New...