Business - Automação Comercial
Códigos de Barras no ECF
Neste artigos vamos conhecer as funções da BemaFI32/BemaFI64.dll que realizam a impressão de códigos de barras nos ECFs térmicos Bematech.
por Iohannes NakataniOlá pessoal,
Neste artigo vamos conhecer as funções da BemaFI32/BemaFI64.dll que realizam a impressão de códigos de barras nos ECFs térmicos Bematech.
Podemos utilizar códigos de barras no campo referente à mensagem promocional (Cupom Fiscal), em cupons de recebimentos não fiscais, bem como em relatórios gerencial e comprovante não fiscal vinculado (comprovante de crédito e débito).
Para a impressão dos códigos de barras no cupom fiscal e no cupom de recebimento não fiscal, iremos utilizar o campo referente à mensagem promocional, no fechamento destes cupons. No caso de impressão dos códigos de barras no relatório gerencial e no comprovante não fiscal vinculado, teremos duas funções: uma para configurar o código de barras e outra para a impressão. Nestes dois documentos, cada código de barras é impresso por uma função diferente da dll.
Para impressão do código de barras no cupom fiscal e no cupom de recebimento não fiscal, usaremos a função Bematech_FI_TerminaFechamentoCupomCodigoBarrasMFD. Seus parâmetros são os seguintes:
Parâmetro |
Definição |
cMensagem |
STRING com a mensagem promocional com até 384. |
cTipoCodigo |
STRING com o tipo de código de barras, exemplos: “EAN13″, “PDF417″, “ITF”, “EAN8″, “CODABAR”, “CODE128″, “CODE39″, “ISBN”, “MSI”, “PLESSEY”, “UPCA” e “UPCE”. |
cCodigo |
STRING com o dados do código a ser impresso, respeitando a definição do tipo de código escolhido. |
iAltura |
INTEIRO com o valor de altura, entre 1 e 255. O default é 162. |
iLargura |
INTEIRO com o valor da largura, entre 0 e 2, onde: |
iPosicaoCaracteres |
INTEIRO com o valor da posição dos caracteres do código, entre
0 e 3, onde: |
iFonte |
INTEIRO com o valor da fonte de impressão, entre 0 e 1, onde: |
iMargem |
INTEIRO com o valor da margem, entre 0 e 575. O valor default é 0. |
iCorrecaoErros |
INTEIRO com o valor para a correção de erros de impressão do código, entre 0 e 8. |
iColunas |
INTEIRO com o valor do tamanho da coluna gráfica, entre 0 e 30. |
Para a impressão do código de barras no relatório gerencial e no comprovante não fiscal vinculado, usaremos as funções de configuração e impressão do código, conforme citamos abaixo:
- Bematech_FI_ConfiguraCodigoBarrasMFD
Parâmetros:
Parâmetro |
Definição |
iAltura |
INTEIRO com o valor de altura, entre 1 e 255. O default é 162. |
iLargura |
INTEIRO com o valor da largura, entre 0 e 2, onde: |
iPosicaoCaracteres |
INTEIRO com o valor da posição dos caracteres do código, entre
0 e 3, onde: |
iFonte |
INTEIRO com o valor da fonte de impressão, entre 0 e 1, onde: |
iMargem |
INTEIRO com o valor da margem, entre 0 e 575. O valor default é 0. |
Parâmetro:
iCódigo: STRING do código que será gerado.
Parâmetro:
iCódigo: STRING do código que será gerado.
Parâmetro:
iCódigo: STRING do código que será gerado.
Parâmetro:
iCódigo: STRING do código que será gerado.
Parâmetro:
iCódigo: STRING do código que será gerado.
Parâmetro:
iCódigo: STRING do código que será gerado.
Parâmetro:
iCódigo: STRING do código que será gerado.
Parâmetro:
iCódigo: STRING do código que será gerado.
Parâmetro:
iCódigo: STRING do código que será gerado.
Parâmetros:
Parâmetro |
Definição |
iNível |
Inteiro entre 0 à 8. |
iAltura |
Inteiro entre 1 à 8. |
iLargura |
Inteiro entre 1 à 4. |
iColunas |
Inteiro entre 0 à 30. |
iCódigo |
String do código que deseja gerar. |
Parâmetro:
iCódigo: STRING do código que será gerado.
Parâmetro:
iCódigo: STRING do código que será gerado.
Parâmetro:
iCódigo: STRING do código que será gerado.
Agora que já conhecemos as funções e seus parâmetros, vamos para a declaração e execução de cada uma delas.
Declaração em Delphi:
function Bematech_FI_ConfiguraCodigoBarrasMFD(Altura: Integer; Largura: Integer; PosicaoCaracteres: Integer; Fonte: Integer; Margem: Integer): Integer; StdCall; External ‘BEMAFI32.DLL’;
function Bematech_FI_CodigoBarrasUPCAMFD( Codigo: String ): Integer; StdCall; External ‘BEMAFI32.DLL’;
function Bematech_FI_CodigoBarrasUPCEMFD( Codigo: String ): Integer; StdCall; External ‘BEMAFI32.DLL’;
function Bematech_FI_CodigoBarrasEAN13MFD( Codigo: String ): Integer; StdCall; External ‘BEMAFI32.DLL’;
function Bematech_FI_CodigoBarrasEAN8MFD( Codigo: String ): Integer; StdCall; External ‘BEMAFI32.DLL’;
function Bematech_FI_CodigoBarrasCODE39MFD( Codigo: String ): Integer; StdCall; External ‘BEMAFI32.DLL’;
function Bematech_FI_CodigoBarrasCODE93MFD( Codigo: String ): Integer; StdCall; External ‘BEMAFI32.DLL’;
function Bematech_FI_CodigoBarrasCODE128MFD( Codigo: String ): Integer; StdCall; External ‘BEMAFI32.DLL’;
function Bematech_FI_CodigoBarrasITFMFD( Codigo: String ): Integer; StdCall; External ‘BEMAFI32.DLL’;
function Bematech_FI_CodigoBarrasCODABARMFD( Codigo: String ): Integer; StdCall; External ‘BEMAFI32.DLL’;
function Bematech_FI_CodigoBarrasISBNMFD( Codigo: String ): Integer; StdCall; External ‘BEMAFI32.DLL’;
function Bematech_FI_CodigoBarrasMSIMFD( Codigo: String ): Integer; StdCall; External ‘BEMAFI32.DLL’;
function Bematech_FI_CodigoBarrasPLESSEYMFD( Codigo: String ): Integer; StdCall; External ‘BEMAFI32.DLL’;
function Bematech_FI_CodigoBarrasPDF417MFD( NivelCorrecaoErros: Integer; Altura: Integer; Largura: Integer; Colunas: Integer; Codigo: String ): Integer; StdCall; External ‘BEMAFI32.DLL’;
function Bematech_FI_TerminaFechamentoCupomCodigoBarrasMFD( cMensagem: string;cTipoCodigo: string; cCodigo: string; iAltura: integer; iLargura: integer; iPosicaoCaracteres: integer; iFonte: integer; iMargem: integer; iCorrecaoErros: integer; iColunas: integer ): Integer; StdCall; External ‘BEMAFI32.DLL’;
Declaração em VB
Public Declare Function Bematech_FI_TerminaFechamentoCupomCodigoBarrasMFD Lib “BEMAFI32.DLL” (ByVal cMensagem As String, ByVal cTipoCodigo As String, ByVal cCodigo As String, ByVal iAltura As Integer, ByVal iLargura As Integer, ByVal iPosicaoCaracteres As Integer, ByVal iFonte As Integer, ByVal iMargem As Integer, ByVal iCorrecaoErros As Integer, ByVal iColunas As Integer) As Integer
Public Declare Function Bematech_FI_ConfiguraCodigoBarrasMFD Lib “BEMAFI32.DLL” (ByVal Altura As Integer, ByVal Largura As Integer, ByVal PosicaoCaracteres As Integer, ByVal Fonte As Integer, ByVal Margem As Integer) As Integer
Public Declare Function Bematech_FI_CodigoBarrasUPCAMFD Lib “BEMAFI32.DLL” (ByVal Codigo As String) As Integer
Public Declare Function Bematech_FI_CodigoBarrasUPCEMFD Lib “BEMAFI32.DLL” (ByVal Codigo As String) As Integer
Public Declare Function Bematech_FI_CodigoBarrasEAN13MFD Lib “BEMAFI32.DLL” (ByVal Codigo As String) As Integer
Public Declare Function Bematech_FI_CodigoBarrasEAN8MFD Lib “BEMAFI32.DLL” (ByVal Codigo As String) As Integer
Public Declare Function Bematech_FI_CodigoBarrasCODE39MFD Lib “BEMAFI32.DLL” (ByVal Codigo As String) As Integer
Public Declare Function Bematech_FI_CodigoBarrasCODE93MFD Lib “BEMAFI32.DLL” (ByVal Codigo As String) As Integer
Public Declare Function Bematech_FI_CodigoBarrasCODE128MFD Lib “BEMAFI32.DLL” (ByVal Codigo As String) As Integer
Public Declare Function Bematech_FI_CodigoBarrasITFMFD Lib “BEMAFI32.DLL” (ByVal Codigo As String) As Integer
Public Declare Function Bematech_FI_CodigoBarrasCODABARMFD Lib “BEMAFI32.DLL” (ByVal Codigo As String) As Integer
Public Declare Function Bematech_FI_CodigoBarrasISBNMFD Lib “BEMAFI32.DLL” (ByVal Codigo As String) As Integer
Public Declare Function Bematech_FI_CodigoBarrasMSIMFD Lib “BEMAFI32.DLL” (ByVal Codigo As String) As Integer
Public Declare Function Bematech_FI_CodigoBarrasPLESSEYMFD Lib “BEMAFI32.DLL” (ByVal Codigo As String) As Integer
Public Declare Function Bematech_FI_CodigoBarrasPDF417MFD Lib “BEMAFI32.DLL” (ByVal NivelCorrecaoErros As Integer, ByVal Altura As Integer, ByVal Largura As Integer, ByVal Colunas As Integer, ByVal Codigo As String) As Integer
Implementação em Delphi:
iRetorno := Bematech_FI_ConfiguraCodigoBarrasMFD(iAltura, iLargura, iPosicaoCaracteres, iFonte, iMargem);
iRetorno := Bematech_FI_CodigoBarrasUPCAMFD(cCodigo); //cCodigo := “12345678901”
iRetorno := Bematech_FI_CodigoBarrasUPCEMFD(cCodigo); //cCodigo := “123456”
iRetorno := Bematech_FI_CodigoBarrasEAN13MFD(cCodigo); //cCodigo := “123456789012”
iRetorno := Bematech_FI_CodigoBarrasEAN8MFD(cCodigo); //cCodigo := “1234567”
iRetorno := Bematech_FI_CodigoBarrasCODE39MFD(cCodigo); //cCodigo := “abc-123”
iRetorno := Bematech_FI_CodigoBarrasCODE93MFD(cCodigo); //cCodigo := “123-ABC”
iRetorno := Bematech_FI_CodigoBarrasCODE128MFD(cCodigo); //cCodigo := “Bematech”
iRetorno := Bematech_FI_CodigoBarrasITFMFD(cCodigo); //cCodigo := “123456789012345”
iRetorno := Bematech_FI_CodigoBarrasCODABARMFD(cCodigo); //cCodigo := “123-ABC/001”
iRetorno := Bematech_FI_CodigoBarrasISBNMFD(cCodigo); //cCodigo := “1-56592-292-X 90000”
iRetorno := Bematech_FI_CodigoBarrasMSIMFD(cCodigo); //cCodigo := “123”
iRetorno := Bematech_FI_CodigoBarrasPLESSEYMFD(cCodigo); //cCodigo := “123-ABC”
iRetorno := Bematech_FI_CodigoBarrasPDF417MFD(iNivel, iAltura, iLargura, iColunas, cCodigo); //cCodigo := “Bematech. Sempre presente nas melhores soluções !!!”
iRetorno := Bematech_FI_TerminaFechamentoCupomCodigoBarrasMFD(cMensagem, cTipoCodigo, cCodigo, iAltura, iLargura, iPosicaoCaracteres, iFonte, iMargem, iCorrecaoErros, iColunas );
Implementação em VB:
iRetorno = Bematech_FI_TerminaFechamentoCupomCodigoBarrasMFD(cMensagem, TipoCodigo, cCodigo, iAltura, iLargura, iPosicaoCaracteres, iFonte, iMargem, iCorrecaoErros, iColunas)
iRetorno = Bematech_FI_ConfiguraCodigoBarrasMFD(iAltura, iLargura, iPosicaoCaracteres, iFonte, iMargem)
iRetorno = Bematech_FI_CodigoBarrasUPCAMFD(cCodigo) ‘cCodigo = “12345678901”
iRetorno = Bematech_FI_CodigoBarrasUPCEMFD(cCodigo) ‘cCodigo = “123456”
iRetorno = Bematech_FI_CodigoBarrasEAN13MFD(cCodigo) ‘cCodigo = “123456789012”
iRetorno = Bematech_FI_CodigoBarrasEAN8MFD(cCodigo) ‘cCodigo = “1234567”
iRetorno = Bematech_FI_CodigoBarrasCODE39MFD(cCodigo) ‘cCodigo = “abc-123”
iRetorno = Bematech_FI_CodigoBarrasCODE93MFD(cCodigo) ‘cCodigo = “123-ABC”
iRetorno = Bematech_FI_CodigoBarrasCODE128MFD(cCodigo) ‘cCodigo = “Bematech”
iRetorno = Bematech_FI_CodigoBarrasITFMFD(cCodigo) ‘cCodigo = “123456789012345”
iRetorno = Bematech_FI_CodigoBarrasCODABARMFD(cCodigo) ‘cCodigo = “123-ABC/001”
iRetorno = Bematech_FI_CodigoBarrasISBNMFD(cCodigo) ‘cCodigo = “1-56592-292-X 90000”
iRetorno = Bematech_FI_CodigoBarrasMSIMFD(cCodigo) ‘cCodigo = “123”
iRetorno = Bematech_FI_CodigoBarrasPLESSEYMFD(cCodigo) ‘cCodigo = “123-ABC”
iRetorno = Bematech_FI_CodigoBarrasPDF417MFD(iNivel, iAltura, iLargura, iColunas, cCodigo)‘cCodigo = “Bematech. Sempre presente nas melhores soluções !!!”
Assim, finalizamos este artigo sobre as funções de impressão de códigos de barras na impressora fiscal térmica Bematech.
Um forte abraço e até o próximo artigo!
Iohannes Nakatani
Analista de Suporte ao Desenvolvedor
0800 644 SBSP (7277)
email/msn: suporte.iohannes@bematech.com.br
skype: suporte.iohannes
- DarumaFramework.SO no LinuxAutomação Comercial
- Palavra de status da impressora na DarumaFrameworkAutomação Comercial
- TEF – Comprovante de Crédito ou DébitoAutomação Comercial
- Comunicar com equipamentos Daruma em linguagens 16bits e DOSAutomação Comercial
- Verificando Redução Z nas Impressoras DarumaAutomação Comercial