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 | macOS 10.15 Catalina | Homologado. | SUPPORTED |
macOS 10.14 Mojave | Homologado. | SUPPORTED | |
macOS 10.13 High Sierra 64 bits | Homologado. | EOL | |
Microsoft | Windows 11 Enterprise e Windows 11 Pro 64 bits | Homologado. | SUPPORTED |
Windows 10 Enterprise e Windows 10 Pro 64 bits | Homologado. | SUPPORTED | |
Windows 8.1 Enterprise | Fim do suporte estendido pelo fabricante (Microsoft) em 10 de janeiro de 2023, mais informações acesse este link. 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
| Homologado. 🚨 Não suportado com servidor gráfico baseado em Wayland. | 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)
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.
Static Function systray() cDir := iif(GetOS()=="UNIX", Subs(getClientDir(),3), getClientDir()) ShellExecute("Open", cDir + "barcode_scan", "-systray", cDir, 1 ) return
Preview
Exemplo AdvPL 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.
- Mudança no comportamento de leitura do código de barras:
- 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.
- Implementado parametro -file, permitindo salvar o código de barras lido em arquivo, exemplo de chamada em linha de comando: