Ir para conteúdo
  • Cadastre-se

dev botao

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

Recommended Posts

Postado

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.";
        }
    }
}

 

Postado
18 minutos atrás, Ti Injetado disse:

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

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.

Postado

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?

Postado
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.

Postado

Eu sei que "Comando Inválido" é sobre sintaxe, mas com pode ver no meu código fonte acima, não existe erro de digitação. Não sei o porque de estar recebendo esse erro.

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