Jump to content

Rogerio Luna Furlan

Membros
  • Posts

    18
  • Joined

  • Last visited

Posts posted by Rogerio Luna Furlan

  1. Bom dia

    Segue código.

    
    caminhoXML = "C:\ACBrMonitorPLUS\Arqs\49059272000156\NFe\201705\NFe\35170549059272000156550010000109971000000351-nfe.xml"
    comando = "NFE.EnviarEmail([email protected]," + caminhoXML + ", 1 )";
    retorno = enviaComandoNfe(comando);
    
    //função para enviar o comando 
    
     private String enviaComandoNfe(String comando) {
            char c;
    
            logger("Iniciando a conexão com o ACBrMonitorPLUS...");
    
            StringBuilder saida = new StringBuilder();
    
            try {
                int port = 3434;
                InetAddress inetAddress = InetAddress.getLocalHost();
                InetSocketAddress inetSocketAddress = new InetSocketAddress(inetAddress, port);
                SocketChannel socketChannelClient = SocketChannel.open(inetSocketAddress);
                socketChannelClient.configureBlocking(false);
    
                try {
                    logger(String.format("Tentando conectar em %s:%d...", inetSocketAddress.getHostName(), inetSocketAddress.getPort()));
    
                    Thread.sleep(100);
    
                    // Lendo mensagem de boas vindas do ACBrMonitor
                    ByteBuffer buffer_out = ByteBuffer.allocate(1024);
                    int idx = socketChannelClient.read(buffer_out);
                    while (idx > 0 && socketChannelClient.isConnected()) {
                        buffer_out.flip();
                        while (buffer_out.hasRemaining()) {
                            System.out.print((char) buffer_out.get());
                        }
                        buffer_out.clear();
                        idx = socketChannelClient.read(buffer_out);
                    }
    
                    if (!comando.trim().isEmpty()) {
                        ByteBuffer buffer = ByteBuffer.allocate(BUFFER_SIZE);
                        buffer.put(comando.getBytes());
                        buffer.put(END_COMMAND.getBytes());
                        buffer.flip();
                        socketChannelClient.write(buffer);
                        logger(String.format("\n=> Enviando comando: \"%s\"", comando));
    
                        Thread.sleep(100);
                        logger("\nResposta do ACBrMonitorPLUS:");
                        buffer_out = ByteBuffer.allocate(1024);
                        c = 0;
    
                        while (c != ETX) {
                            idx = socketChannelClient.read(buffer_out);
                            while (idx > 0 && socketChannelClient.isConnected()) {
                                buffer_out.flip();
                                while (buffer_out.hasRemaining()) {
                                    c = (char) buffer_out.get();
                                    //System.out.print(c);
                                    saida.append(c);
                                }
                                buffer_out.clear();
                                idx = socketChannelClient.read(buffer_out);
                            }
                        }
                    }
    
                } catch (Exception e) {
                    logger(e.getMessage());
                    e.printStackTrace();
                } finally {
                    logger("\nFechando a conexão...");
                    socketChannelClient.close();
    
    
                }
            } catch (Exception e) {
                logger(e.getMessage());
                e.printStackTrace();
            }
            return saida.toString();
        }

    com esse Código ele envia o e-mail com o XML em anexo, mas não gera o PDF e também não envia ele como anexo.

    desde já agradeço

  2. Bom dia

    Estou tentando enviar uma nfe por email. Até ai tudo bem pego o xml da nfe e ele envia só que gostaria de enviar o pdf no mesmo email, só que ao executar o comando 

    NFE.EnviarEmail(email,caminho xml da nfe com seu nome, 1 )

    ele não gera o PDF e não anexa o mesmo no email, mandando somente o xml.

    Mesmo que eu mande o comando abaixo, ocorre o mesmo problema.

    NFE.EnviarEmail(email,caminhoxml, '1' )

    Utilizo java web e acbrmonitor po tcp/ip.

    Desde já agradeço a atenção

  3.  String comando = "NFE.CriarEnviarNfe('" + builder + "',1,1,1)";
    
                    String resultado = "";
                    String Retorno = "";
                    java.net.Socket TelnetACBr = null;
                    java.io.PrintStream out = null;
                    java.io.BufferedReader in = null;
                    String Leitura = "";
                    String ETX = "\u0003";
                    short b = -1;
    
                    String OK = "N";
                    // cria o socket
                    try {
                        TelnetACBr = new java.net.Socket("192.168.43.5", 3434);
                        out = new java.io.PrintStream(TelnetACBr.getOutputStream(), true);
                        in = new java.io.BufferedReader(new java.io.InputStreamReader(TelnetACBr.getInputStream()));
                        OK = "S";
                    } catch (java.net.UnknownHostException e) {
                        Retorno = "Erro: Host desconhecido! Verifique as configurações de rede: " + "\n\n" + e.getMessage();
                    } catch (java.io.IOException e) {
                        Retorno = "Erro: Falha de comunicação com o ACBrMonitor, contate o suporte técnico: " + "\n\n" + e.getMessage();
                    } catch (Exception e) {
                        Retorno = "Erro: tentando conectar com o ACBrMonitor. Contate o suporte técnico: " + "\n\n" + e.getMessage();
                    }
                    if (OK == "S") {
                        // envia o comando e busca o retorno
                        try {
                            out.println(comando + '\r' + '\n' + "." + '\r' + '\n');
                            out.flush();
    
                            Leitura = "";
                            while (b != 3) {
                                b = (short) in.read();
                                if (b != 3) {
                                    Leitura += (char) (b);
                                }
                            }
                            Retorno = Leitura;
    
                            resultado = in.readLine();
    
                            in.close();
                            out.close();
                            TelnetACBr.close();
    
                        } catch (Exception e) {
                            Retorno = "Erro: Falha ao ler o retorno do ACBrMonitor. Contate o suporte técnico: " + "\n\n" + e.getMessage();
                        }
                    }
    
                }
            }

    Celso segue parte do codigo, onde envio a nfe.  tentei pegar o retorno pelo in.readLine() mas não obtive resultado.

    Obrigado pela força.

  4. Boa tarde.

    Estou  desenvolvendo a NFE por tcp/ip, pois desenvolvo em Java. Ja criei o Arquivo .INI e envio o comando via tcp para criar e enviar a nfe, visualizando a DANFE.

    Gostaria de pegar o retorno que ele faz via tcp para guardar em banco de dados  chave da nfe e o nome do arquivo que ele gera para a nfe.

    Reparei que ele gera esse retorno no ACBR monitor Plus igual a um arquivo .Ini, mas em tela. como ler esse Arquivo? ele fica salvo em alguma pasta para que eu possa fazer a leitura dele?

    desde já agradeço.

    Abraço

     

    Rogério Furlan

  5. Bom dia.

    Estou terminando de montar o arquivo ini da nfe  es estou com seguinte problema:

    Rejeição: Operação com ICMS-ST sem informação do CEST.

    A pergunta é onde informo o CEST no ini ? 

     

    Desde já agradeço

    Rogério Furlan

     

     

     

×
×
  • Create New...

Important Information

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.