Árvore de páginas

O aplicativo barcode_scan efetua a leitura de códigos de barra em tela, facilitando processos como no caso do PIX, por exemplo.

Suas principais características são:

  • Agnóstico e destacado do ERP

  • Copia o código de barras lido para memória, tornando fácil seu uso por qualquer produto da marca TOTVS

  • Multi-plataforma, disponível para Linux, Windows e MacOS

  • Multi-idioma, disponível para Português, Espanhol, Inglês e Russo

🚨 O barcode_scan está disponível no Portal de Clientes, acesse aqui.

🔧 Notas de release disponível neste link.

Comportamento de leitura a partir da versão 1.1.1


📌 Devido à diferenças de comportamento no uso de múltiplos monitores entre sistemas operacionais, e entre diferentes desktops de Linux (Gnome, XFCE, Cinnamon, etc), a partir da versão 1.1.1 da ferramenta o escaneamento do código de barras será feito da seguinte maneira:

  • Caso a aplicação esteja em modo -systray, será escaneada apenas a Tela Principal (primary display), onde se encontra a Barra de tarefas (taskbar), sendo necessário mover o arquivo para leitura do código de barras (imagem, PDF, navegador, etc) para esta tela;

  • Caso contrário, será escaneada apenas a tela onde se encontra aberto o aplicativo barcode_scan, bastando então mover o mesmo para a tela do arquivo que precisa ser lido.

🚨 O Barcode_Scan não foi homologado para os Sistemas Operacionais / Ferramentas abaixo:

  • Windows Server (todas as versões)
    • Nem para acesso direto
    • Nem para acesso via RDP
  • Citrix
  • Go Global
  • Qualquer ferramenta que opere como Web Enabler

Plataformas Homologadas


Fabricante

Sistema Operacional

Observações

Status

Apple
Resultado de imagem para logo apple 2020 png

macOS 10.15 Catalina
64 bits

(informação) Homologado.

SUPPORTED


macOS 10.14 Mojave
64 bits

(informação) Homologado.

SUPPORTED


macOS 10.13 High Sierra
64 bits
(informação) Homologado.

EOL





Microsoft


Windows 11 Enterprise
e
Windows 11 Pro
64 bits
(informação) Homologado.

SUPPORTED


Windows 10 Enterprise
e
Windows 10 Pro
64 bits
(informação) Homologado.

SUPPORTED


Windows 8.1 Enterprise
e
Windows 8.1 Pro
64 bits

(erro) Fim do suporte estendido pelo fabricante (Microsoft) em 10 de janeiro de 2023, mais informações acesse este link.

(erro) Com o fim do suporte do fabricante, o sistema operacional não é mais homologado para uso com o SmartClient.

UNSUPPORTED




Ubuntu

Ubuntu 18.04 LTS Desktop
e
Ubuntu 20.04 LTS Desktop
64 bits


*Ler adendo ao lado.

(informação) Homologado.

🚨 Não suportado com servidor gráfico baseado em Wayland.
O servidor gráfico deve ser baseado em X11 (padrão desta distribuição).

SUPPORTED


A ferramenta pode ser utilizada de duas maneiras

1 - Através da exibição de uma janela que permitirá o controle de escaneamento, ideal para ser utilizado através de uma chamada WaitRun (AdvPL), ou ShellExecute (AdvPL e outras linguagens)

Exemplo AdvPL para chamada direta
Static Function readBarcode()
  // Executa barcode_scan no diretório do SmartClient
  cFile := getClientDir()+"barcode_scan"
  WaitRun(cFile, 1 )

  oMGet:setFocus()
  alert("De um Ctrl+V no campo")
return

Preview


2 - Através da utilização do App nos ícones da bandeja, permitindo fácil acesso e facilitando seu uso em nossos produtos voltados para web.

Exemplo AdvPL para utilizar o App nos ícones da banjeja (systray)
Static Function systray()
  cDir := iif(GetOS()=="UNIX", Subs(getClientDir(),3), getClientDir()) 
  ShellExecute("Open", cDir + "barcode_scan", "-systray", cDir, 1 )
return

Preview

Exemplo AdvPL completo

Exemplo Completo
#INCLUDE "TOTVS.CH"

Function u_scan()
local cText := ""
  oDlg = TDialog():New( 0, 0, 228, 500, "Read Barcode",,,.F.,,,,,,.T.,,,,, )
    oDlg:setCss("QPushButton{}")

    oBtn1 := TButton():New( 002, 002, "Lê barcode",oDlg,{|| readBarcode() }, 40,10,,,.F.,.T.,.F.,,.F.,,,.F. )   
    oBtn2 := TButton():New( 002, 044, "Habilita na bandeja",oDlg,{|| systray() }, 60,10,,,.F.,.T.,.F.,,.F.,,,.F. )   

    oMGet := TMultiget():new(18,01,{| u | if( pCount() > 0, cText := u, cText )},oDlg,252,94,,,,,,.T.)
    oMGet:setCss("font-size: 24px;")
  oDlg:Activate()
return

Static Function readBarcode()
  cFile := getClientDir()+"barcode_scan"
  WaitRun(cFile, 1 )

  oMGet:setFocus()
  alert("De um Ctrl+V no campo")
return

Static Function systray()
  cDir := iif(GetOS()=="UNIX", Subs(getClientDir(),3), getClientDir()) 
  ShellExecute("Open", cDir + "barcode_scan", "-systray", cDir, 1 )
return

Static Function GetOS() 
  local stringOS := Upper(GetRmtInfo()[2])

  if GetRemoteType() == 0 .or. GetRemoteType() == 1
      return "WINDOWS"
  elseif GetRemoteType() == 2 
      return "UNIX" // Linux ou MacOS		
  elseif GetRemoteType() == 5 
      return "HTML" // Smartclient HTML		
  elseif ("ANDROID" $ stringOS)
      return "ANDROID" 
  elseif ("IPHONEOS" $ stringOS)
      return "IPHONEOS"
  endif    
return ""

Modos de configuração da ferramenta

Acessando o About verificamos as opções disponíveis via linha de comando:

💡 A leitura do QRCode é habilitado por padrão, para leitura dos demais barcodes disponíveis utilize:

barcode_scan -code128 -datamatrix

💡 Para alterar o idioma das mensagens utilize (no exemplo para Espanhol):

barcode_scan -es

Comportamento do barcode_scan


🚨
Por padrão, quando não for utilizado o systray, o App será encerrado assim que uma leitura for bem sucedida, ele foi concebido assim para uso como um “apêndice” do ERP, sendo aberto/fechado apenas no momento da leitura

💡 Para manter o App aberto após o sucesso na leitura, utilize:

barcode_scan -dont_close

💡 Para habilitar o uso do app no systray utilize:

barcode_scan -systray

Notas de Release

  • 1.0.0
    • Lançamento do barcode_scan.
  • 1.1.1
    • Mudança no comportamento de leitura do código de barras:
      Passando a ler apenas o Monitor onde se encontra posicionado o App do barcode_scan no modo convencional
      e o monitor principal (primary display) caso seja utilizado o parâmetro -systray.
  • 1.1.5
    • Implementado parametro -file, permitindo salvar o código de barras lido em arquivo, exemplo de chamada em linha de comando:
      barcode_scan -file=/tmp/file.txt
    • Implementado suporte ao Windows 8.1. (fim do suporte para Windows 8.1 em 10 de janeiro de 2023)
  • Sem rótulos