Ir para conteúdo
  • Cadastre-se

dev botao

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

Recommended Posts

Olá Comunidade
Sou novo no ACBr e estou tentando configurar minha aplicação.

Preciso imprimir etiquetas em uma impressora Elgin L-42, mas infelizmente não estou conseguindo.

Uso a última versão do ACBr Monitor, estou desenvolvendo em PHP e estou recebendo o seguinte erro :

ETQ.Ativo
ERRO: Comando invalido (ETQ.Ativo)
ETQ.Ativar
OK: 

 

Eu gostaria de uma luz na situação pois acredito que o comando esteja certo, não entendo como ele pode não existir.

meu cód fonte é esse:

 

namespace App\Http\Controllers;


use Mike42\Escpos\Printer;
use Mike42\Escpos\PrintConnectors\WindowsPrintConnector;
use Mike42\Escpos\PrintConnectors\FilePrintConnector;
use Mike42\Escpos\CapabilityProfile;
use Mike42\Escpos\EscposImage;
use Illuminate\Http\Request;
use App\Classes\PHPSerial;
use App\Classes\ClientSocket;


class InicioController extends Controller
{
    //

    public function index(){
        return view('index');

    }
    public function pesar(Request $request){
        $file_path = public_path()."/acbr/entra/entra.txt";
        //Ativo Balança?
        $data_to_write = "BAL.Ativo"; 

        $file_handle = fopen($file_path, 'w'); 
        fwrite($file_handle, $data_to_write);
        fclose($file_handle);
        sleep(1);

        $file_saida = public_path()."/acbr/sai/entra-resp.txt";
        $data_saida = file($file_saida);
        $line_saida = $data_saida[count($data_saida)-1];
        $ativo = substr($line_saida,4,4);
        if($ativo == "True"){

            //Le peso
            $data_to_write = "BAL.LePeso(100)"; 
            $file_handle = fopen($file_path, 'w'); 
            fwrite($file_handle, $data_to_write);
            fclose($file_handle);
            sleep(2);

            unset($data_saida);
            $data_saida = file($file_saida);
            $line_saida = $data_saida[count($data_saida)-1];

            $peso = substr($line_saida, 4, strlen($line_saida)-4);
            //$peso = substr($line_saida, -4, strlen($line_saida)-4);
            $peso = substr($peso, 0, -6);
            
            //$peso = (double)$peso /** 0.100*/;
            header("Content-type:application/json");
            if(strlen($peso) == 7){
                $peso = substr($peso, 0, 2);
            }else if(strlen($peso) == 8){
                $peso = substr($peso, 0, 3);
            }else if(strlen($peso) == 9){
                $peso = substr($peso, 0, 4);
            }
            echo $peso * 0.001;
            exit;

        }else{
            //Ativar Balança
            $data_to_write = "BAL.Ativar"; 
            $file_path = public_path()."/acbr/entra/entra.txt";

            $file_handle = fopen($file_path, 'w'); 
            fwrite($file_handle, $data_to_write);
            fclose($file_handle);
            sleep(1);

            //Le peso
            $data_to_write = "BAL.LePeso(100)"; 
            $file_handle = fopen($file_path, 'w'); 
            fwrite($file_handle, $data_to_write);
            fclose($file_handle);
            sleep(2);

            unset($data_saida);
            $data_saida = file($file_saida);
            $line_saida = $data_saida[count($data_saida)-1];

            $peso = substr($line_saida, 4, strlen($line_saida)-4);
            $peso = substr($peso, 0, -6);
            //$peso = (double)$peso /** 0.100*/;
            header("Content-type:application/json");
            if(strlen($peso) == 7){
                $peso = substr($peso, 0, 2);
            }else if(strlen($peso) == 8){
                $peso = substr($peso, 0, 3);
            }else if(strlen($peso) == 9){
                $peso = substr($peso, 0, 4);
            }
            echo $peso * 0.001;
            exit;


        }

    }

    public function gerarEtiqueta(Request $request){


        if(isset($request->peso) and $request->peso != "" and !empty($request->peso)){

            if(isset($request->produto) and $request->produto != "" and !empty($request->produto)){
                switch ($request->produto) {
                    case "Long Drink":

                    break;
                    case "Caneca":

                    break;
                    case "Caldereta":

                    break;
                    case "Espiralado":

                    break;
                    case "Taças":

                    break;

                    default:
                        // code...
                    break;
                }
            }else{
                $erro['erro'] = "Erro! Sem produto selecionado."; 
            }
            
            $file_path = public_path()."/acbr/entra/entra.txt";
            //Ativo etq?
            $data_to_write = "ETQ.Ativo"; 

            $file_handle = fopen($file_path, 'w'); 
            fwrite($file_handle, $data_to_write);
            fclose($file_handle);
            sleep(1);

            $file_saida = public_path()."/acbr/sai/entra-resp.txt";
            $data_saida = file($file_saida);
            $line_saida = $data_saida[count($data_saida)-1];
            $ativo = substr($line_saida,4,4);
            
            echo $ativo;
            
            if($ativo == "True"){

                //Imprimir Etiqueta
                $data_to_write = "ETQ.ImprimirTexto(0,4,1,1, 50, 240, Produto: ".$request->produto." ".$request->ml.")";
                $data_to_write .= "\n".'ETQ.ImprimirTexto(0,4,1,1, 100, 240, Cor: '.$request->cor.')';
                $data_to_write .= "\n"."ETQ.ImprimirTexto(0,4,1,1, 150, 240, Op.: ".$request->operador.")";
                $data_to_write .= "\n"."ETQ.ImprimirTexto(0,4,1,1, 200, 240, Data: ".Date("d/m/Y").")";
                $data_to_write .= "\n".'ETQ.ImprimirTexto(0,3,2,2, 250, 240, "Peso: '.$request->peso.' Kg")';
                $data_to_write .= "\n"."ETQ.SetAvanco(2)";

                $file_handle = fopen($file_path, 'w'); 
                fwrite($file_handle, $data_to_write);
                fclose($file_handle);
                sleep(1);

                $data_to_write = "ETQ.Imprimir(1,2)";

                $file_handle = fopen($file_path, 'w'); 
                fwrite($file_handle, $data_to_write);
                fclose($file_handle);

                echo $request->peso;
            }else{
                //Ativar Etiqueta
                $data_to_write = "ETQ.Ativar"; 
                $file_path = public_path()."/acbr/entra/entra.txt";

                $file_handle = fopen($file_path, 'w'); 
                fwrite($file_handle, $data_to_write);
                fclose($file_handle);
                sleep(1);

                //Ativo etq?
                $data_to_write = "ETQ.Ativo"; 

                $file_handle = fopen($file_path, 'w'); 
                fwrite($file_handle, $data_to_write);
                fclose($file_handle);
                sleep(1);

                $file_saida = public_path()."/acbr/sai/entra-resp.txt";
                $data_saida = file($file_saida);
                $line_saida = $data_saida[count($data_saida)-1];
                $ativo = substr($line_saida,4,4);

                if($ativo == "True"){
                    
                    //Imprimir Etiqueta
                    $data_to_write = "ETQ.ImprimirTexto(0,4,1,1, 50, 240, Produto: ".$request->produto." ".$request->ml.")";
                    $data_to_write .= "\n".'ETQ.ImprimirTexto(0,4,1,1, 100, 240, Cor: '.$request->cor.')';
                    $data_to_write .= "\n"."ETQ.ImprimirTexto(0,4,1,1, 150, 240, Op.: ".$request->operador.")";
                    $data_to_write .= "\n"."ETQ.ImprimirTexto(0,4,1,1, 200, 240, Data: ".Date("d/m/Y").")";
                    $data_to_write .= "\n".'ETQ.ImprimirTexto(0,3,2,2, 250, 240, "Peso: '.$request->peso.' Kg")';
                    $data_to_write .= "\n"."ETQ.SetAvanco(2)";

                    $file_handle = fopen($file_path, 'w'); 
                    fwrite($file_handle, $data_to_write);
                    fclose($file_handle);
                    sleep(1);

                    $data_to_write = "ETQ.Imprimir(1,2)";

                    $file_handle = fopen($file_path, 'w'); 
                    fwrite($file_handle, $data_to_write);
                    fclose($file_handle);

                    echo $request->peso;
                }else{
                    echo $erro['erro'] = "Erro! Etiqueta desativada";
                }
            }
        }else{
            echo $erro['erro'] = "Erro! Sem Peso, por favor pese o produto antes.";
        }
    }
}

 

Link para o comentário
Compartilhar em outros sites

  • Moderadores

Bom dia..

gere os arquivos da balanca, e mande os txt, para nos, e os logs, e o acbrmonitorplus.ini

para saber tuas configuracoes.

leia tambem:

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

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

qualquer coisa..tamos ai..

eu posso ajudar na parte do txt e retornos.

Link para o comentário
Compartilhar em outros sites

Senhores, 

minha balança está correta, meu grande problema é referente a impressão dos dados na etiqueta.

Já verifiquei em código que as variáveis estão com os valores atribuídos corretamente.

O que noto é que quanto utilizo o comando ETQ.Ativar() ele me retorna "OK: ", mas quando executo o ETQ.Ativo() pra verificar se a impressora está ativa, ele me retorna:

"ETQ.Ativo
ERRO: Comando invalido (ETQ.Ativo)"

Preciso configurar a impressora de etiquetas apenas.

1 minuto atrás, Robert Dj disse:

Qual a versão do Monitor está usando? Pois eu testei aqui está funcionando normalmente.

A respeito da impressão veja o manual como o Daniel falou e também veja o Demo também.

Estou utilizando a última versão.

 

Você testou com o meu código?

Link para o comentário
Compartilhar em outros sites

1 minuto atrás, Ti Injetado disse:

Estou utilizando a última versão.

Última versão SAC ou a Livre?
 

2 minutos atrás, Ti Injetado disse:

Você testou com o meu código?

O que testei foi o comando ETQ.Ativo e está funcionando. Esse erro "Comando Inválido" é quando você passa um comando inexistente, por exemplo, erro na digitação.

Link para o comentário
Compartilhar em outros sites

  • Este tópico foi criado há 1946 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.