Árvore de páginas

Você está vendo a versão antiga da página. Ver a versão atual.

Comparar com o atual Ver Histórico da Página

« Anterior Versão 4 Próxima »

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

Plataformas Homologadas

🚨 As Plataformas Homologadas para o barcode_scan são as mesmas do SmartClient Desktop, acesse aqui para mais informações.

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


  • Sem rótulos