Page 1 of 2

USAR IMPRESORA FISCAL BERMATECH EN VENEZUELA EN PDV

Posted: Thu Mar 08, 2012 1:52 am
by joseluisysturiz
Saludos, seria de gran ayuda si alguien tendria un ejemplo de como usar una impresora fiscal BERMATECH aca en Venezuela, ya tengo las DLL que descargue del fabricante, pero no tengo idea de como usarla con mi sistema PDV, si alguien puede arrojar alguna idea, forma de usarla o ejemplo seria de gran ayuda. gracias... :shock:

Re: USAR IMPRESORA FISCAL BERMATECH EN VENEZUELA EN PDV

Posted: Thu Mar 08, 2012 2:24 am
by laugusto
Boa noite José,

Posso ajudar, o que voce precisa pra usar a impressora?

Saludos desde Brasil,

Luiz Augusto

Re: USAR IMPRESORA FISCAL BERMATECH EN VENEZUELA EN PDV

Posted: Thu Mar 08, 2012 3:52 am
by joseluisysturiz
laugusto wrote:Boa noite José,

Posso ajudar, o que voce precisa pra usar a impressora?

Saludos desde Brasil,

Luiz Augusto
Saludos Augusto, bueno, si te soy sincero, no tengo ni idea de como iniciar para instalar y usar esta impresora, crei era tan facil como las ticketera de epson, pero no tengo ni idea por donde empezar ni que hacer. Esta es de puerto serial COMM, por lo menos necesito cuales son los pasos y que tengo que tomar en cuenta para ponerla a trabajar con FWH. gracias, saludos desde Venezuela... :shock:

Re: USAR IMPRESORA FISCAL BERMATECH EN VENEZUELA EN PDV

Posted: Thu Mar 08, 2012 12:18 pm
by Antonio Linares

Re: USAR IMPRESORA FISCAL BERMATECH EN VENEZUELA EN PDV

Posted: Thu Mar 08, 2012 1:04 pm
by laugusto
Bom dia José Luis,

Vou preparar um exemplo simples de uso e te mando, ok?

Saludos desde Brasil,

Re: USAR IMPRESORA FISCAL BERMATECH EN VENEZUELA EN PDV

Posted: Thu Mar 08, 2012 1:18 pm
by QAZWSX2K
hola , no voy a ser tacaño con esto ya que se que muchos en el foro (de venezuela) lo usan y nunca comparten nada sobre esto, de hecho se de mucho que solo se dedica a leer y nunca ayudan a nadie (de venezuela), te aseguro aca te ahorro un coñazo de horas de dolor de cabeza y tiempo perdido en pruebas (como perdi yo) a ti y a quien necesite esto, ahi va

al inicio:
bema:= CARGA_BEMATECH()

llamados:
MENUITEM "&Graba alicuotas Bematech" ACTION INI_IMPRE()
MENUITEM "&Imprime Z Bematech" ACTION SACA_Z()
MENUITEM "&Factura de ejemplo" ACTION GRABA_FAC()

Funciones:
FUNCTION INI_IMPRE()
LOCAL NRETORNO:=0
LOCAL MENSAJE:=""
NRetorno = BemaProgAlicuota("1200", 0)
If nRetorno != 1
MENSAJE:="ERROR GRABANDO ALICUOTA"+CHR(13)
ENDIF
IF LEN(MENSAJE)<>0
MSGINFO(MENSAJE)
ENDIF
SACA_Z()
RETURN NIL

FUNCTION GRABA_FAC()
MENSAJE:=""
nRetorno:=0
nRetorno:=Bematech_FI_AbreComprobanteDeVenta(TRIF, TNO)
If nRetorno != 1
MENSAJE:="ERROR ABRIENDO COMPROBANTE"+CHR(13)
ENDIF
nRetorno:=0
nRetorno:=Bematech_FI_VendeArticulo("123", "Pluma", "1200", "I", "10", 2, "0,25", "%", "0000")
If nRetorno != 1
MENSAJE:="ERROR GRABANDO ARTICULO"+CHR(13)
ENDIF
nRetorno:=0
nRetorno:=Bematech_FI_CierraCupon("Dinero", "A", "$", "0000", "35,00", "Gracias, vuelva siempre !!!")
*nRetorno:=BmFechaCup("Dinero", "A", "$", "0000", "35,00", "Gracias, vuelva siempre !!!")
If nRetorno != 1
MENSAJE:="ERROR CERRANDO CUPON"+CHR(13)
ENDIF
nRetorno:=0
nRetorno:=Bematech_FI_FinalizarCierreCupon("chao")
If nRetorno != 1
MENSAJE:="ERROR GRABANDO ARTICULO"+CHR(13)
ENDIF
nRetorno:=0
nRetorno:=Bematech_FI_RetornoImpresora(0,0,0)
If nRetorno != 1
MENSAJE:="ERROR RETORNNADO IMPRESORA"+CHR(13)
EndIf
IF LEN(MENSAJE)<>0
MSGINFO(MENSAJE)
ENDIF
RETURN NIL

FUNCTION SACA_Z()
LOCAL cFecha:=DTOC(DATE())
LOCAL cHora :=TIME()
LOCAL NRETORNO:=0
LOCAL MENSAJE:=""
CFECHA:=MsgDate( Date() , "Feche del Reporte Z" )
NRetorno = BemaReporteZeta(cFecha,cHora)
If nRetorno != 1
MENSAJE:="ERROR SACANDO Z"+CHR(13)
ENDIF
IF LEN(MENSAJE)<>0
MSGINFO(MENSAJE)
ELSE
MSGINFO("Reporte Z de fecha "+dtoc(cfecha)+" emitido exitosamente")
ENDIF
RETURN NIL

FUNCTION CARGA_BEMATECH()
// Funciones del Cupon Fiscal
DLL function Bematech_FI_AbreComprobanteDeVenta(RIF AS STRING, Nombre AS STRING ) AS LONG PASCAL FROM "Bematech_FI_AbreComprobanteDeVenta" LIB "BemaFI32.dll"
DLL FUNCTION Bematech_FI_VendeArticulo(CODIGO AS STRING, DESCRIPCION AS STRING, ALICUOTA AS STRING, TIPOCANTIDAD AS STRING, CANTIDAD AS STRING, CASASDECIMALES AS LONG, VALORUNITARIO AS STRING, TIPODESCUENTO AS STRING, DESCUENTO AS STRING) AS LONG PASCAL FROM "Bematech_FI_VendeArticulo" LIB "BemaFI32.dll"
DLL function Bematech_FI_AbreComprobanteDeVentaEx(RIF AS String, Nombre AS String, Direccion AS String) AS LONG PASCAL FROM "Bematech_FI_AbreComprobanteDeVentaEx" LIB "BemaFI32.dll"
DLL function Bematech_FI_DevolucionArticulo(cCodigo AS String, cDescripcion AS String, cAlicuota AS String, cTipoCantidad AS String, cCantidad AS String, iCasasDecimales AS Integer, cValorUnit AS String, cTipoDescuento AS String, cValorDesc AS String) AS LONG PASCAL FROM "Bematech_FI_DevolucionArticulo" LIB "BemaFI32.dll"
DLL function Bematech_FI_AbreNotaDeCredito(cNombre AS String, cNumeroSerie AS String, cRIF AS String, cDia AS String ,cMes AS String, cAno AS String, cHora AS String, cMinuto AS String, cSecundo AS String, cCOO AS String) AS LONG PASCAL FROM "Bematech_FI_AbreNotaDeCredito" LIB "BemaFI32.dll"
DLL function Bematech_FI_VendeArticuloDepartamento( Codigo AS String , Descripcion AS String , Alicuota AS String, ValorUnitario AS String , Cantidad AS String , Incremento AS String , Descuento AS String , IndiceDepartamento AS String , UnidadMedida AS String ) AS LONG PASCAL FROM "Bematech_FI_VendeArticuloDepartamento" LIB "BemaFI32.dll"
DLL function Bematech_FI_AnulaArticuloAnterior() AS LONG PASCAL FROM "Bematech_FI_AnulaArticuloAnterior" LIB "BemaFI32.dll"
DLL function Bematech_FI_AnulaArticuloGenerico( NumeroItem AS String ) AS LONG PASCAL FROM "Bematech_FI_AnulaArticuloGenerico" LIB "BemaFI32.dll"
DLL function Bematech_FI_AnulaCupon() AS LONG PASCAL FROM "Bematech_FI_AnulaCupon" LIB "BemaFI32.dll"
DLL function Bm_FI_CierraCuponReducido( FormaPago AS LPSTR , Mensaje AS LPSTR ) AS LONG PASCAL FROM "Bematech_FI_CierraCuponReducido" LIB "BemaFI32.dll"
DLL function Bematech_FI_CierraCupon( FormaPago AS String , IncrementoDescuento AS String , TipoIncrementoDescuento AS String , ValorIncrementoDescuento AS String , ValorPago AS String , Mensaje AS String ) AS LONG PASCAL FROM "Bematech_FI_CierraCupon" LIB "BemaFI32.dll"
DLL FUNCTION BmFechaCup( FormaPgto AS STRING, Acrescimo AS STRING, TipoAcresc AS STRING, ValorAcresc AS STRING, ValorPago AS STRING, Mensagem AS STRING ) AS LONG PASCAL FROM "Bematech_FI_CierraCupon" LIB "BemaFI32"
DLL FUNCTION BemaReporteZeta( Dt AS LPSTR, Hs AS LPSTR ) AS LONG PASCAL FROM "Bematech_FI_ReduccionZ" LIB "BemaFI32"
DLL FUNCTION BemaProgAlicuota( cTasas AS LPSTR) AS LONG PASCAL FROM "Bematech_FI_ProgramaAlicuota" LIB "BemaFI32"
DLL function Bematech_FI_ResetaImpresora() AS LONG PASCAL FROM "Bematech_FI_ResetaImpresora" LIB "BemaFI32.dll"
DLL function Bematech_FI_IniciaCierreCupon( IncrementoDescuento AS String , TipoincrementoDescuento AS String , ValorIncrementoDescuento AS String ) AS LONG PASCAL FROM "Bematech_FI_IniciaCierreCupon" LIB "BemaFI32.dll"
DLL function Bematech_FI_EfectuaFormaPago( FormaPago AS String , ValorFormaPago AS String ) AS LONG PASCAL FROM "Bematech_FI_EfectuaFormaPago" LIB "BemaFI32.dll"
DLL function Bematech_FI_EfectuaFormaPagoDescripcionForma( FormaPago AS string , ValorFormaPago AS string , DescripcionFormaPago AS string ) AS LONG PASCAL FROM "Bematech_FI_EfectuaFormaPagoDescripcionForma" LIB "BemaFI32.dll"
DLL function Bematech_FI_FinalizarCierreCupon( Mensaje AS String ) AS LONG PASCAL FROM "Bematech_FI_FinalizarCierreCupon" LIB "BemaFI32.dll"
DLL function Bematech_FI_RectificaFormasPago( FormaOrigen AS String , FormaDestino AS String , Valor AS String ) AS LONG PASCAL FROM "Bematech_FI_RectificaFormasPago" LIB "BemaFI32.dll"
DLL function Bematech_FI_UsaUnidadMedida( UnidadMedida AS String ) AS LONG PASCAL FROM "Bematech_FI_UsaUnidadMedida" LIB "BemaFI32.dll"
DLL function Bematech_FI_ExtenderDescripcionArticulo( Descripcion AS String ) AS LONG PASCAL FROM "Bematech_FI_ExtenderDescripcionArticulo" LIB "BemaFI32.dll"
// Funciones de Inicialización
DLL function Bematech_FI_CambiaSimboloMoneda( SimboloMoneda AS String ) AS LONG PASCAL FROM "Bematech_FI_CambiaSimboloMoneda" LIB "BemaFI32.dll"
DLL function Bematech_FI_ProgramaAlicuot( Aliquota AS String , ICMS_ISS AS Integer ) AS LONG PASCAL FROM "Bematech_FI_ProgramaAlicuota" LIB "BemaFI32.dll"
DLL function Bematech_FI_ProgramaHorarioDeVerano() AS LONG PASCAL FROM "Bematech_FI_ProgramaHorarioDeVerano" LIB "BemaFI32.dll"
DLL function Bematech_FI_CrearDepartamento( Indice AS Integer, Departamento AS String ) AS LONG PASCAL FROM "Bematech_FI_CrearDepartamento" LIB "BemaFI32.dll"
DLL function Bematech_FI_CrearTotalizadorSinIcms( Indice AS Integer, Totalizador AS String ) AS LONG PASCAL FROM "Bematech_FI_CrearTotalizadorSinIcms" LIB "BemaFI32.dll"
DLL function Bematech_FI_ProgramaRedondeo() AS LONG PASCAL FROM "Bematech_FI_ProgramaRedondeo" LIB "BemaFI32.dll"
DLL function Bematech_FI_ProgramaTruncamiento() AS LONG PASCAL FROM "Bematech_FI_ProgramaTruncamiento" LIB "BemaFI32.dll"
DLL function Bematech_FI_LineasEntreCupones( Linhas AS Integer ) AS LONG PASCAL FROM "Bematech_FI_LineasEntreCupones" LIB "BemaFI32.dll"
DLL function Bematech_FI_EspacioEntreLineas( Dots AS Integer ) AS LONG PASCAL FROM "Bematech_FI_EspacioEntreLineas" LIB "BemaFI32.dll"
DLL function Bematech_FI_FuerzaImpactoAgujas( FuerzaImpacto AS Integer ) AS LONG PASCAL FROM "Bematech_FI_FuerzaImpactoAgujas" LIB "BemaFI32.dll"
DLL function Bematech_FI_ActivaDesactivaReporteZAutomatico(flag AS Integer ) AS LONG PASCAL FROM "Bematech_FI_ActivaDesactivaReporteZAutomatico" LIB "BemaFI32.dll"
DLL function Bematech_FI_ActivaDesactivaCuponAdicional(flag AS Integer ) AS LONG PASCAL FROM "Bematech_FI_ActivaDesactivaCuponAdicional" LIB "BemaFI32.dll"
DLL function Bematech_FI_ActivaDesactivaVinculadoComprobanteNoFiscal(flag AS Integer ) AS LONG PASCAL FROM "Bematech_FI_ActivaDesactivaVinculadoComprobanteNoFiscal" LIB "BemaFI32.dll"
DLL function Bematech_FI_ActivaDesactivaImpresionBitmapMA( flag AS Integer ) AS LONG PASCAL FROM "Bematech_FI_ActivaDesactivaImpresionBitmapMA" LIB "BemaFI32.dll"
DLL function Bematech_FI_HoraLimiteReporteZ( Hora AS string ) AS LONG PASCAL FROM "Bematech_FI_HoraLimiteReporteZ" LIB "BemaFI32.dll"
DLL function Bematech_FI_ProgramaCliche( Cliche AS String ) AS LONG PASCAL FROM "Bematech_FI_ProgramaCliche" LIB "BemaFI32.dll"
// Funciones de los Informes Fiscales
DLL function Bematech_FI_LecturaX() AS LONG PASCAL FROM "Bematech_FI_LecturaX" LIB "BemaFI32.dll"
DLL function Bematech_FI_ReduccionZ( Fecha as String , Hora as String ) AS LONG PASCAL FROM "Bematech_FI_ReduccionZ" LIB "BemaFI32.dll"
DLL function Bematech_FI_InformeGerencial( Texto as String ) AS LONG PASCAL FROM "Bematech_FI_InformeGerencial" LIB "BemaFI32.dll"
DLL function Bematech_FI_InformeGerencialTEF( Texto as String ) AS LONG PASCAL FROM "Bematech_FI_InformeGerencialTEF" LIB "BemaFI32.dll"
DLL function Bematech_FI_CierraInformeGerencial() AS LONG PASCAL FROM "Bematech_FI_CierraInformeGerencial" LIB "BemaFI32.dll"
DLL function Bematech_FI_LecturaMemoriaFiscalFecha( FechaInicial as String , FechaFinal as String ) AS LONG PASCAL FROM "Bematech_FI_LecturaMemoriaFiscalFecha" LIB "BemaFI32.dll"
DLL function Bematech_FI_LecturaMemoriaFiscalReduccion( ReduccionInicial as String, ReduccionFinal as String ) AS LONG PASCAL FROM "Bematech_FI_LecturaMemoriaFiscalReduccion" LIB "BemaFI32.dll"
DLL function Bematech_FI_LecturaMemoriaFiscalSerialFecha( FechaInicial as String , FechaFinal as String ) AS LONG PASCAL FROM "Bematech_FI_LecturaMemoriaFiscalSerialFecha" LIB "BemaFI32.dll"
DLL function Bematech_FI_LecturaMemoriaFiscalSerialReduccion( ReduccionInicial as String , ReduccionFinal as String ) AS LONG PASCAL FROM "Bematech_FI_LecturaMemoriaFiscalSerialReduccion" LIB "BemaFI32.dll"
DLL function Bematech_FI_InformeTransacciones( tipo as String, Fechaini as String, Fechafim as String, Opcion as String ) AS LONG PASCAL FROM "Bematech_FI_InformeTransacciones" LIB "BemaFI32.dll"
// Funciones de las Operaciones No Fiscales
DLL function Bematech_FI_RecibimientoNoFiscal( IndiceTotalizador as String , Valor as String , FormaPago as String ) AS LONG PASCAL FROM "Bematech_FI_RecibimientoNoFiscal" LIB "BemaFI32.dll"
DLL function Bematech_FI_AbreComprobanteNoFiscalVinculado( FormaPago as String , Valor as String , NumeroCupon as String ) AS LONG PASCAL FROM "Bematech_FI_AbreComprobanteNoFiscalVinculado" LIB "BemaFI32.dll"
DLL function Bematech_FI_ImprimeComprobanteNoFiscalVinculado( Texto as String ) AS LONG PASCAL FROM "Bematech_FI_ImprimeComprobanteNoFiscalVinculado" LIB "BemaFI32.dll"
DLL function Bematech_FI_UsaComprobanteNoFiscalVinculadoTEF( Texto as String ) AS LONG PASCAL FROM "Bematech_FI_UsaComprobanteNoFiscalVinculadoTEF" LIB "BemaFI32.dll"
DLL function Bematech_FI_CierraComprobanteNoFiscalVinculado() AS LONG PASCAL FROM "Bematech_FI_CierraComprobanteNoFiscalVinculado" LIB "BemaFI32.dll"
DLL function Bematech_FI_Sangria( Valor as String ) AS LONG PASCAL FROM "Bematech_FI_Sangria" LIB "BemaFI32.dll"
DLL function Bematech_FI_Provision( Valor as String , FormaPago as String ) AS LONG PASCAL FROM "Bematech_FI_Provision" LIB "BemaFI32.dll"
DLL function Bematech_FI_AbreInformeGerencial( NumInforme as string ) AS LONG PASCAL FROM "Bematech_FI_AbreInformeGerencial" LIB "BemaFI32.dll"
// Otras Funciones
DLL function Bematech_FI_AbrePuertaSerial() AS LONG PASCAL FROM 'Bematech_FI_AbrePuertaSerial' LIB "BemaFI32.dll"
DLL function Bematech_FI_CierraPuertaSerial() AS LONG PASCAL FROM 'Bematech_FI_CierraPuertaSerial' LIB "BemaFI32.dll"
DLL function Bematech_FI_AperturaDelDia( ValorCompra AS string , FormaPago AS string ) AS LONG PASCAL FROM 'Bematech_FI_AperturaDelDia' LIB "BemaFI32.dll"
DLL function Bematech_FI_CierreDelDia() AS LONG PASCAL FROM 'Bematech_FI_CierreDelDia' LIB "BemaFI32.dll"
DLL function Bematech_FI_ImprimeConfiguracionesImpresora() AS LONG PASCAL FROM 'Bematech_FI_ImprimeConfiguracionesImpresora' LIB "BemaFI32.dll"
DLL function Bematech_FI_ImprimeDepartamentos() AS LONG PASCAL FROM 'Bematech_FI_ImprimeDepartamentos' LIB "BemaFI32.dll"
DLL function Bematech_FI_VerificaImpresoraPrendida() AS LONG PASCAL FROM 'Bematech_FI_VerificaImpresoraPrendida' LIB "BemaFI32.dll"
DLL function Bematech_FI_ImpresionCarne( Titulo as String, Parcelas AS string , Fechas AS integer, Cantidad AS integer, Texto AS string, Cliente AS string, RG_CPF AS string, Cupon AS string , Vias AS integer, Firma AS integer ) AS LONG PASCAL FROM 'Bematech_FI_ImpresionCarne' LIB "BemaFI32.dll"
DLL function Bematech_FI_InfoBalanza( Porta AS string , Modelo AS integer, Peso as String, PrecioKilo as String, Total AS string ) AS LONG PASCAL FROM 'Bematech_FI_InfoBalanza' LIB "BemaFI32.dll"
DLL function Bematech_FI_VersionDll( Version AS String ) AS LONG PASCAL FROM 'Bematech_FI_VersionDll' LIB "BemaFI32.dll"
DLL function Bematech_FI_LeerArchivoRetorno( Retorno AS String ) AS LONG PASCAL FROM 'Bematech_FI_LeerArchivoRetorno' LIB "BemaFI32.dll"
DLL function Bematech_FI_ReloadINIFile() AS LONG PASCAL FROM 'Bematech_FI_ReloadINIFile' LIB "BemaFI32.dll"
// Funciones de Autenticación y Gaveta de Efectivo
DLL function Bematech_FI_Autenticacion() AS LONG PASCAL FROM "Bematech_FI_Autenticacion" LIB "BemaFI32.dll"
DLL function Bematech_FI_ProgramaCaracterAutenticacion( Parametros AS String ) AS LONG PASCAL FROM "Bematech_FI_ProgramaCaracterAutenticacion" LIB "BemaFI32.dll"
DLL function Bematech_FI_AccionaGaveta() AS LONG PASCAL FROM "Bematech_FI_AccionaGaveta" LIB "BemaFI32.dll"
// Funciones de Informaciones de la Impresora
DLL function Bematech_FI_NumeroSerie( NumeroSerie AS String ) AS LONG PASCAL FROM "Bematech_FI_NumeroSerie" LIB "BemaFI32.dll"
DLL function Bematech_FI_SubTotal( SubTotal AS String ) AS LONG PASCAL FROM "Bematech_FI_SubTotal" LIB "BemaFI32.dll"
DLL function Bematech_FI_NumeroCupon( NumeroCupon AS String ) AS LONG PASCAL FROM "Bematech_FI_NumeroCupon" LIB "BemaFI32.dll"
DLL function Bematech_FI_LecturaXSerial() AS LONG PASCAL FROM "Bematech_FI_LecturaXSerial" LIB "BemaFI32.dll"
DLL function Bematech_FI_VersionFirmware( VersionFirmware AS String ) AS LONG PASCAL FROM "Bematech_FI_VersionFirmware" LIB "BemaFI32.dll"
DLL function Bematech_FI_CGC_IE( CGC AS String , IE AS String ) AS LONG PASCAL FROM "Bematech_FI_CGC_IE" LIB "BemaFI32.dll"
DLL function Bematech_FI_GranTotal( GranTotal AS String ) AS LONG PASCAL FROM "Bematech_FI_GranTotal" LIB "BemaFI32.dll"
DLL function Bematech_FI_Cancelamientos( ValorCancelamientos AS String ) AS LONG PASCAL FROM "Bematech_FI_Cancelamientos" LIB "BemaFI32.dll"
DLL function Bematech_FI_Descuentos( ValorDescuentos AS String ) AS LONG PASCAL FROM "Bematech_FI_Descuentos" LIB "BemaFI32.dll"
DLL function Bematech_FI_NumeroOperacionesNoFiscales( NumeroOperaciones AS String ) AS LONG PASCAL FROM "Bematech_FI_NumeroOperacionesNoFiscales" LIB "BemaFI32.dll"
DLL function Bematech_FI_NumeroCuponesAnulados( NumeroCancelamientos AS String ) AS LONG PASCAL FROM "Bematech_FI_NumeroCuponesAnulados" LIB "BemaFI32.dll"
DLL function Bematech_FI_NumeroIntervenciones( NumeroIntervenciones AS String ) AS LONG PASCAL FROM "Bematech_FI_NumeroIntervenciones" LIB "BemaFI32.dll"
DLL function Bematech_FI_NumeroReducciones( NumeroReducoes AS String ) AS LONG PASCAL FROM "Bematech_FI_NumeroReducciones" LIB "BemaFI32.dll"
DLL function Bematech_FI_NumeroSustitucionesPropietario( NumeroSustituiciones AS String ) AS LONG PASCAL FROM "Bematech_FI_NumeroSustitucionesPropietario" LIB "BemaFI32.dll"
DLL function Bematech_FI_UltimoArticuloVendido( NumeroArticulo AS String ) AS LONG PASCAL FROM "Bematech_FI_UltimoArticuloVendido" LIB "BemaFI32.dll"
DLL function Bematech_FI_ClichePropietario( Cliche AS String ) AS LONG PASCAL FROM "Bematech_FI_ClichePropietario" LIB "BemaFI32.dll"
DLL function Bematech_FI_NumeroCaja( NumeroCaja AS String ) AS LONG PASCAL FROM "Bematech_FI_NumeroCaja" LIB "BemaFI32.dll"
DLL function Bematech_FI_NumeroTienda( NumeroTienda AS String ) AS LONG PASCAL FROM "Bematech_FI_NumeroTienda" LIB "BemaFI32.dll"
DLL function Bematech_FI_SimboloMoneda( SimboloMoneda AS String ) AS LONG PASCAL FROM "Bematech_FI_SimboloMoneda" LIB "BemaFI32.dll"
DLL function Bematech_FI_MinutosPrendida( Minutos AS String ) AS LONG PASCAL FROM "Bematech_FI_MinutosPrendida" LIB "BemaFI32.dll"
DLL function Bematech_FI_MinutosImprimiendo( Minutos AS String ) AS LONG PASCAL FROM "Bematech_FI_MinutosImprimiendo" LIB "BemaFI32.dll"
DLL function Bematech_FI_VerificaModoOperacion( Modo AS string ) AS LONG PASCAL FROM "Bematech_FI_VerificaModoOperacion" LIB "BemaFI32.dll"
DLL function Bematech_FI_VerificaEpromConectada( Flag AS String ) AS LONG PASCAL FROM "Bematech_FI_VerificaEpromConectada" LIB "BemaFI32.dll"
DLL function Bematech_FI_ValorPagoUltimoCupon( ValorCupon AS String ) AS LONG PASCAL FROM "Bematech_FI_ValorPagoUltimoCupon" LIB "BemaFI32.dll"
DLL function Bematech_FI_FechaHoraImpresora( Fecha AS String , Hora AS String ) AS LONG PASCAL FROM "Bematech_FI_FechaHoraImpresora" LIB "BemaFI32.dll"
DLL function Bematech_FI_ContadoresTotalizadoresNoFiscales( Contadores AS String ) AS LONG PASCAL FROM "Bematech_FI_ContadoresTotalizadoresNoFiscales" LIB "BemaFI32.dll"
DLL function Bematech_FI_VerificaTotalizadoresNoFiscales( Totalizadores AS String ) AS LONG PASCAL FROM "Bematech_FI_VerificaTotalizadoresNoFiscales" LIB "BemaFI32.dll"
DLL function Bematech_FI_FechaHoraReduccion( Fecha AS String , Hora AS String ) AS LONG PASCAL FROM "Bematech_FI_FechaHoraReduccion" LIB "BemaFI32.dll"
DLL function Bematech_FI_VerificaTruncamiento( Flag AS string ) AS LONG PASCAL FROM "Bematech_FI_VerificaTruncamiento" LIB "BemaFI32.dll"
DLL function Bematech_FI_Agregado( ValorIncrementos AS String ) AS LONG PASCAL FROM "Bematech_FI_Agregado" LIB "BemaFI32.dll"
DLL function Bematech_FI_ContadorBilletePasaje( ContadorPasaje AS String ) AS LONG PASCAL FROM "Bematech_FI_ContadorBilletePasaje" LIB "BemaFI32.dll"
DLL function Bematech_FI_VerificaAlicuotasIss( Flag AS String ) AS LONG PASCAL FROM "Bematech_FI_VerificaAlicuotasIss" LIB "BemaFI32.dll"
DLL function Bematech_FI_VerificaFormasPago( Formas AS String ) AS LONG PASCAL FROM "Bematech_FI_VerificaFormasPago" LIB "BemaFI32.dll"
DLL function Bematech_FI_VerificaRecibimientoNoFiscal( Recebimentos AS String ) AS LONG PASCAL FROM "Bematech_FI_VerificaRecibimientoNoFiscal" LIB "BemaFI32.dll"
DLL function Bematech_FI_VerificaDepartamentos( Departamentos AS String ) AS LONG PASCAL FROM "Bematech_FI_VerificaDepartamentos" LIB "BemaFI32.dll"
DLL function Bematech_FI_VerificaTotalizadoresParciales( Totalizadores AS String ) AS LONG PASCAL FROM "Bematech_FI_VerificaTotalizadoresParciales" LIB "BemaFI32.dll"
DLL function Bematech_FI_RetornoAlicuotas( Alicuotas AS String ) AS LONG PASCAL FROM "Bematech_FI_RetornoAlicuotas" LIB "BemaFI32.dll"
DLL function Bematech_FI_DatosUltimaReduccion( DadosReduccion AS String ) AS LONG PASCAL FROM "Bematech_FI_DatosUltimaReduccion" LIB "BemaFI32.dll"
DLL function Bematech_FI_VerificaIndiceAlicuotasIss( Flag AS String ) AS LONG PASCAL FROM "Bematech_FI_VerificaIndiceAlicuotasIss" LIB "BemaFI32.dll"
DLL function Bematech_FI_ValorFormaPago( FormaPago AS String , Valor AS String ) AS LONG PASCAL FROM "Bematech_FI_ValorFormaPago" LIB "BemaFI32.dll"
DLL function Bematech_FI_ValorTotalizadorNoFiscal( Totalizador AS String , Valor AS String ) AS LONG PASCAL FROM "Bematech_FI_ValorTotalizadorNoFiscal" LIB "BemaFI32.dll"
DLL function Bematech_FI_ClavePublica( Clave AS String ) AS LONG PASCAL FROM "Bematech_FI_ClavePublica" LIB "BemaFI32.dll"
DLL function Bematech_FI_ContadorSecuencial( Retorno AS String ) AS LONG PASCAL FROM "Bematech_FI_ContadorSecuencial" LIB "BemaFI32.dll"
DLL function Bematech_FI_VentaBrutaDiaria( Valor AS string ) AS LONG PASCAL FROM "Bematech_FI_VentaBrutaDiaria" LIB "BemaFI32.dll"
DLL function Bematech_FI_BaudrateProgramado( Baudrate AS string ) AS LONG PASCAL FROM "Bematech_FI_BaudrateProgramado" LIB "BemaFI32.dll"
DLL function Bematech_FI_FlagActivacionAlineamientoIzquierda( Flag AS string ) AS LONG PASCAL FROM "Bematech_FI_FlagActivacionAlineamientoIzquierda" LIB "BemaFI32.dll"
DLL function Bematech_FI_ImprimeClavePublica( ) AS LONG PASCAL FROM "Bematech_FI_ImprimeClavePublica" LIB "BemaFI32.dll"
DLL function Bematech_FI_FechaMovimiento( Data AS String ) AS LONG PASCAL FROM "Bematech_FI_FechaMovimiento" LIB "BemaFI32.dll"
DLL function Bematech_FI_VerificaTipoImpresora( @TipoImpresora AS Integer ) AS LONG PASCAL FROM "Bematech_FI_VerificaTipoImpresora" LIB "BemaFI32.dll"
DLL function Bematech_FI_VerificaEstadoImpresora( @ACK AS Integer, @ST1 AS Integer, @ST2 AS Integer ) AS LONG PASCAL FROM "Bematech_FI_VerificaEstadoImpresora" LIB "BemaFI32.dll"
DLL function Bematech_FI_MonitoramentoPapel( @Lineas AS Integer) AS LONG PASCAL FROM "Bematech_FI_MonitoramentoPapel" LIB "BemaFI32.dll"
DLL function Bematech_FI_FlagSensores( @Flag AS integer ) AS LONG PASCAL FROM "Bematech_FI_FlagSensores" LIB "BemaFI32.dll"
DLL function Bematech_FI_FlagsFiscales( @Flag AS Integer ) AS LONG PASCAL FROM "Bematech_FI_FlagsFiscales" LIB "BemaFI32.dll"
DLL function Bematech_FI_FlagFiscalesIII( @Flag as integer ) AS LONG PASCAL FROM "Bematech_FI_FlagFiscalesIII" LIB "BemaFI32.dll"
DLL function Bematech_FI_RetornoImpresora( @ACK AS Integer, @ST1 AS Integer, @ST2 AS Integer ) AS LONG PASCAL FROM 'Bematech_FI_RetornoImpresora' LIB "BemaFI32.dll"
DLL function Bematech_FI_VerificaEstadoGaveta( @EstadoGaveta AS Integer ) AS LONG PASCAL FROM "Bematech_FI_VerificaEstadoGaveta" LIB "BemaFI32.dll"
RETURN NIL

Re: USAR IMPRESORA FISCAL BERMATECH EN VENEZUELA EN PDV

Posted: Thu Mar 08, 2012 1:55 pm
by FranciscoA
QAZWSX2K, permiteme felicitarte por tan grande contribución para los usuarios FW.
Haces honor a aquel proverbio que dice: "Quien no comparte lo que la sociedad le dio oportunidad de aprender, es un desecho."
En lo que a mi respecta, en mi país aun no se ha implementado en su totalidad, pero tu aporte me servirá en un futuro.
Gracias.

Saludos.

Re: USAR IMPRESORA FISCAL BERMATECH EN VENEZUELA EN PDV

Posted: Thu Mar 08, 2012 7:55 pm
by Orbex
Aca en Panama estamos en plena implementacion forzada (bajo pena de multa). Por lo que a mi respecta, las Bematech son con las que mejor hemos trabajado sobre todo debido a que hemos logrado la integracion a nivel de DLL. Otras impresoras (Tally, Citizen, Hazar), solo lo hemos podido lograr por medio de los spooler de impresion. Seria bueno que alguien que conozca sobre esas otras impresoras publicara la forma de conexion con las mismas.


Cualquier duda, no duden en preguntar. Posiblemente algo sabemos. Aunque como le digo a todos los clientes, esas impresoras son especies venidas de otro mundo que apenas estamos conociendo.

Saludos
Amigos

PD: Jose Luis, lograste avanzar con tu Bematech ?

Re: USAR IMPRESORA FISCAL BERMATECH EN VENEZUELA EN PDV

Posted: Fri Mar 09, 2012 1:24 am
by joseluisysturiz
Saludos colega y parroquia QAZWSX2K, muchas gracias por tu gran aporte, en tus palabras hay mucha razon, lamentablemente la mezquinda es una mala herramienta en la programacion, no se pide que hagan el trabajo por uno ni que desarrollen y le pases a uno el codigo, eso nadie lo hace ya que es esfuerzo y tiempo invertido, pero una pequeña ayuda o una idea para salir del atoyadero se le puede dar a cualquiera en esta are, a veces se puede tener la cabeza tan atareada de cosas super dificiles que las faciles y tontas se nos pasan por alto, pero bueno, a nadie nunca le falta Dios y una mano amiga como la tuya en este momento. Creo habemos pocos programadores en este foro de Venezuela a menos que coloquen otro pais. Particularmente no me considero un experto en programacion, pero creo me defiendo, siempre que puedo dejo algo al foro de lo tanto que he recibido, y te digo que es bastante, espero en algun momento poder compensar con alguna ayuda o como decimos aca, "pichandote algun cliente" a algunos de tus sistemas, ya que no creo nadie tenga todas las areas de trabajo desarrollada por si mismo, bueno, agradeciendo tu favor y esperando sea para muchos de gran ayuda tu aporte, estaremos en contacto, si quieres agregame al msn y estamos contacto para algunos negocios mutuos o personales, saludos...y de nuevo..GRACIAS..! :shock:

Re: USAR IMPRESORA FISCAL BERMATECH EN VENEZUELA EN PDV

Posted: Fri Mar 09, 2012 1:32 am
by joseluisysturiz
Orbex wrote:Aca en Panama estamos en plena implementacion forzada (bajo pena de multa). Por lo que a mi respecta, las Bematech son con las que mejor hemos trabajado sobre todo debido a que hemos logrado la integracion a nivel de DLL. Otras impresoras (Tally, Citizen, Hazar), solo lo hemos podido lograr por medio de los spooler de impresion. Seria bueno que alguien que conozca sobre esas otras impresoras publicara la forma de conexion con las mismas.


Cualquier duda, no duden en preguntar. Posiblemente algo sabemos. Aunque como le digo a todos los clientes, esas impresoras son especies venidas de otro mundo que apenas estamos conociendo.

Saludos
Amigos

PD: Jose Luis, lograste avanzar con tu Bematech ?
Saludos, estoy descargando lo que compartio QAZWSX2K, apenas tenga algo funcional, de seguro lo comparto, ya tengo en mira la Hazar, aca se puede conseguir mucha informacion sobre algunos modelos...

http://www.impresoras-fiscales.com.ar/venezuela.html

estemos en contacto para asi avanzar y si es posible hacer algo nativo en FWH para usar impresoras fiscales, seria un gran aporte al lenguaje, digo, nose... saludos.. :shock:

Re: USAR IMPRESORA FISCAL BERMATECH EN VENEZUELA EN PDV

Posted: Fri Mar 09, 2012 4:21 pm
by joseluisysturiz
Aca hay informacion muy importante, en mi caso estoy trabajando con la MP-4000 TH FI

DRIVERS Y MANUALES
http://www.bematech.com/es/support/default.asp
http://www.yoreparo.com/foros/programac ... 457_0.html

EMULADOR
http://www.yoreparo.com/nav/?url=http:/ ... ulador.htm
http://www.planetadelphi.com.br/download/3170

FORO EN PORTUGUES
http://www.activedelphi.com.br/forum/vi ... hp?t=36532

aun sigo trabajando para finiquitar y subir lo realizado...saludos... :shock:

Re: USAR IMPRESORA FISCAL BERMATECH EN VENEZUELA EN PDV

Posted: Sat Mar 10, 2012 3:57 am
by joseluisysturiz
Orbex wrote:Aca en Panama estamos en plena implementacion forzada (bajo pena de multa). Por lo que a mi respecta, las Bematech son con las que mejor hemos trabajado sobre todo debido a que hemos logrado la integracion a nivel de DLL. Otras impresoras (Tally, Citizen, Hazar), solo lo hemos podido lograr por medio de los spooler de impresion. Seria bueno que alguien que conozca sobre esas otras impresoras publicara la forma de conexion con las mismas.


Cualquier duda, no duden en preguntar. Posiblemente algo sabemos. Aunque como le digo a todos los clientes, esas impresoras son especies venidas de otro mundo que apenas estamos conociendo.

Saludos
Amigos

PD: Jose Luis, lograste avanzar con tu Bematech ?
Saludos, que tienes adelantado sobre la Bematech..? me esta dando errores que no consigue la DLL, ya no hayo donde colocarca y sigue el mismo error, cualquier idea seria buena...saludos... :shock:

Re: USAR IMPRESORA FISCAL BERMATECH EN VENEZUELA EN PDV

Posted: Sat Mar 10, 2012 6:47 pm
by mag071
Saludos Jose Luis;

Yo tengo experiencia con impresoras BEMATECH fiscales de Apuestas, que solo funcionan para apuestas legales aqui en Venezuela pero el funcionamiento es parecido, solo cambian algunas funciones de la .dll y/o parametros.

primeramente puedes bajar de la pagina web de BEMATECH en Venezuela que son posvenezuela
http://www.posvenezuela.com/index.php?o ... &Itemid=38

alli encontraras ademas de las .dll necesarias, un emulador de las impresoras "virtual" , y puedes ir probando paso a paso las funciones.

la pregunta de donde colocar la .dll, yo la coloco en el directorio donde coloco el .exe ejecutable.
pero es importante un archivo de configuración .ini que necesitan para el correcto funcionamiento
yo hago lo siguiente

Code: Select all

 
   IF lPrinterBematech
      if !file("\windows\system32\BemaFi32.ini")
         msgstop("Falta Archivo de configuracion de bematech","\windows\system32\BemaFi32.ini")
      endif
   ENDIF
 
este archivo .ini cambian valores si se va a usar como impresora virtual o si se va a usar fisicamente con la impresora.
aqui te dejo copia de mi bemafi32.ini

Code: Select all

;----------------------------------------------------------------------------;
;                                                                            ;
;  BEMAFI32.INI                                                              ;
;  Ver 4.1.10.0 - Jan/2006                                                   ;
;                                                                            ;
;  Archivo de inicialización de la dll BemaFI32 para las impresoras fiscales ;
;  MP-20 FI II, MP-40 FI II, MP-2000 FI TH, MP-6000 FI TH, MP-25 FI,         ;
;  MP-50 FI Bematech y Y-8000 y Y-8500 Yanco                           ;
;                                                                            ;
;----------------------------------------------------------------------------;

[Sistema]
Puerta=DEFAULT
Path=C:\
Status=0
Retorno=0
StatusFuncion=0
ControlPuerta=1
ModeloImp=BEMATECH
ConfigRed=0
ModoGaveta=0
Log=0
EmulMFD=0
StatusCheque=
PAIS=VENEZUELA
ConfigRede=2


[MFD]
Impresora=0
StatusError=1
TimeOutZ=3


[Opcional]
Favorecido=
Ciudad=


[Formato]
; 
;    +------------------------------------- columna del valor numerico
;    |  +---------------------------------- columna extenso 1
;    |  |  +------------------------------- columna extenso 2
;    |  |  |  +---------------------------- columna favorecido
;    |  |  |  |  +------------------------- columna de la ciudad
;    |  |  |  |  |  +---------------------- columna del día 
;    |  |  |  |  |  |  +------------------- columna del mes
;    |  |  |  |  |  |  |  +---------------- columna del año
;    |  |  |  |  |  |  |  |  +------------- linea del valor numerico
;    |  |  |  |  |  |  |  |  |  +---------- linea del extenso 1
;    |  |  |  |  |  |  |  |  |  |  +------- linea del extenso 2
;    |  |  |  |  |  |  |  |  |  |  |  +---- linea del favorecido
;    |  |  |  |  |  |  |  |  |  |  |  |  +- linea de la ciudad/fecha
;    |  |  |  |  |  |  |  |  |  |  |  |  |
000=51,04,01,05,06,60,65,81,01,06,08,11,14
001=51,10,01,06,18,50,54,71,02,05,08,10,12
003=49,08,01,05,18,52,55,72,01,05,07,09,12
004=52,09,01,05,18,50,53,72,02,06,09,11,13
006=56,10,01,05,15,43,48,72,01,06,08,10,13
008=56,17,01,07,18,50,55,71,03,06,09,11,13
021=52,12,01,04,18,49,53,71,02,07,09,11,13
022=52,07,01,04,15,44,49,71,02,06,08,10,13
024=51,07,01,05,18,48,52,72,01,05,07,09,12
027=51,10,01,06,18,50,54,71,02,05,08,10,12
028=55,06,01,05,18,50,53,71,01,05,08,10,12
029=55,12,01,04,18,50,55,72,01,06,08,10,13
031=51,10,01,06,18,50,54,71,02,05,08,10,12
032=51,10,01,06,18,50,54,71,02,05,08,10,12
033=48,17,01,06,18,46,50,71,02,06,08,11,13
034=49,14,01,04,15,45,57,71,01,05,07,09,11
035=51,10,01,06,18,50,54,71,02,05,08,10,12
036=51,10,01,06,18,50,54,71,02,05,08,10,12
037=51,10,01,06,18,50,54,71,02,05,08,10,12
038=56,10,01,04,18,51,56,72,02,07,10,12,14
039=51,10,01,06,18,50,54,71,02,05,08,10,12
041=56,09,01,04,18,54,61,72,03,07,09,12,14
047=52,08,01,05,18,47,50,72,01,05,07,10,12
048=51,10,01,06,18,50,54,71,02,05,08,10,12
059=50,15,01,05,18,55,59,72,01,05,07,09,11
070=54,05,01,05,18,48,52,72,02,06,08,10,12
104=56,13,01,04,18,48,53,72,01,04,07,10,12
106=52,12,01,05,18,52,55,71,02,07,09,11,13
151=54,06,01,04,18,47,52,71,01,05,07,10,12
153=51,09,01,05,18,51,55,72,01,05,08,10,13
168=53,05,01,05,18,54,57,71,02,06,08,11,13
200=52,06,01,05,18,47,52,71,01,05,07,10,12
201=52,11,01,04,18,47,51,71,01,05,07,09,11
206=56,14,01,06,18,53,56,72,01,06,08,10,13
207=50,04,01,05,18,48,52,71,02,06,08,11,13
211=48,11,01,05,18,52,56,71,03,07,09,12,14
215=55,06,01,05,18,51,54,71,02,05,08,10,13
220=56,09,01,05,18,49,53,71,02,05,08,10,12
230=50,12,01,05,18,54,58,71,02,05,08,10,13
231=52,12,01,05,18,53,58,72,02,06,08,10,12
237=50,01,01,04,18,50,54,71,02,06,09,11,14
244=48,14,01,04,18,49,53,71,03,06,09,11,13
254=51,09,01,05,18,53,56,71,01,05,08,11,14
275=51,07,01,04,18,46,52,68,03,08,10,12,14
282=56,12,01,05,18,50,54,71,02,06,08,10,13
291=51,10,01,06,18,50,54,71,02,05,08,10,12
294=51,10,01,06,18,50,54,71,02,05,08,10,12
302=51,07,01,05,18,47,51,71,02,06,08,10,13
308=51,10,01,06,18,50,54,71,02,05,08,10,12
320=54,06,01,04,18,48,51,72,02,05,08,10,13
334=54,06,01,04,18,54,57,71,02,06,08,10,12
341=54,08,01,05,18,50,54,72,02,06,09,12,15
346=54,12,01,05,18,54,57,71,02,05,08,10,12
347=53,15,01,04,18,47,51,72,02,06,09,11,14
351=52,14,01,05,18,55,58,72,01,05,07,10,12
353=52,07,01,05,18,53,58,71,02,05,07,10,12
356=51,10,01,06,18,50,54,71,02,05,08,10,12
369=47,07,01,05,18,51,55,71,02,06,08,10,12
370=52,06,01,05,18,47,50,71,01,05,07,10,12
372=51,07,01,04,18,46,49,71,02,06,08,11,13
376=54,07,01,04,18,54,58,72,02,06,08,10,12
388=46,09,01,06,18,48,52,72,02,06,09,11,14
389=52,06,01,05,18,53,58,72,02,07,09,12,14
392=49,12,01,05,18,54,58,72,02,05,07,11,13
394=51,05,01,05,18,51,55,71,01,05,07,09,13
399=54,12,01,04,18,52,57,72,01,05,07,10,12
409=55,12,01,04,23,52,58,71,04,07,09,11,13
415=54,12,01,06,18,50,54,72,03,07,10,12,14
420=54,08,01,04,18,50,54,72,02,06,08,10,13
422=51,10,01,06,18,50,54,71,02,05,08,10,12
424=51,10,01,06,18,50,54,71,02,05,08,10,12
434=56,08,01,05,18,50,54,72,02,06,09,11,13
453=54,12,01,05,18,51,56,72,03,07,10,12,14
456=48,11,01,05,18,47,50,71,02,06,08,10,12
464=51,10,01,06,18,50,54,71,02,05,08,10,12
472=53,12,01,05,18,50,53,71,02,06,09,10,14
477=55,08,01,05,18,52,57,72,03,07,09,11,14
479=53,07,01,05,18,50,53,71,02,06,08,10,12
483=52,08,01,05,18,47,50,71,02,05,07,09,11
487=58,17,01,05,18,48,52,72,02,06,08,11,13
494=51,09,01,05,18,50,53,71,02,06,08,10,13
602=56,10,01,03,18,47,52,66,02,05,07,10,13
603=51,10,01,06,18,50,54,71,02,05,08,10,12
607=51,09,01,05,18,53,56,72,02,05,08,10,12
610=55,15,01,05,18,53,58,71,01,06,08,10,12
630=49,05,01,05,18,47,52,71,01,06,08,10,13
718=51,07,01,05,18,48,53,71,01,06,08,10,13
756=51,10,01,06,18,50,54,71,02,05,08,10,12
995=51,10,01,06,18,50,54,71,02,05,08,10,12
996=51,10,01,06,18,50,54,71,02,05,08,10,12
998=80,03,01,04,22,54,60,80,03,05,06,08,10


[FormatoYanco]
999=61,12,02,03,23,50,61,78,04,09,13,18,22,10
000=38,03,03,03,00,11,35,78,12,17,22,26,31,05
001=61,12,02,03,23,50,61,78,04,09,13,18,22,10
003=60,14,02,04,26,54,63,78,12,22,31,44,53,05
004=62,10,00,01,19,47,60,78,08,22,35,44,53,05
006=62,10,00,01,20,47,60,78,07,22,35,44,53,05
007=61,10,01,02,19,47,60,76,04,09,14,18,22,10
008=59,17,05,06,25,53,62,78,07,11,16,20,24,10
020=62,10,00,01,20,47,60,78,07,22,35,44,53,05
021=62,10,00,01,19,47,60,78,08,22,35,44,53,05
022=61,15,03,06,25,53,61,78,07,21,30,39,52,05
024=62,10,00,01,19,47,60,78,08,22,35,44,53,05
026=62,10,00,01,20,47,60,78,07,22,35,44,53,05
027=61,10,00,01,20,47,60,78,04,09,15,18,22,10
028=61,10,01,01,20,47,60,78,04,09,15,18,22,10
029=63,13,01,03,26,53,62,78,07,25,35,44,56,05
030=62,10,00,01,19,47,60,78,03,09,14,18,21,10
031=61,17,03,05,22,50,60,78,13,23,37,46,54,05
032=62,11,00,01,20,47,60,78,07,21,35,44,53,05
033=56,15,02,04,22,49,59,78,05,11,14,18,23,10
034=62,10,00,01,20,47,60,78,07,23,36,45,54,05
035=62,10,00,00,22,49,60,78,04,09,15,18,22,10
036=62,12,02,03,23,50,61,78,07,16,29,39,48,05
037=62,10,00,01,20,47,60,78,07,22,35,44,54,05
038=60,11,01,02,22,50,60,78,12,26,39,49,58,05
039=62,10,00,01,20,47,60,78,07,22,35,44,53,05
041=60,11,02,04,26,53,63,77,07,11,16,20,24,20
043=62,10,00,01,20,47,60,78,07,22,35,44,53,05
047=62,10,00,01,20,47,60,78,07,22,35,44,54,05
048=59,10,01,02,22,49,59,78,11,26,35,44,57,05
059=62,10,00,01,20,47,60,78,07,22,35,44,54,05
070=62,10,00,01,20,47,60,78,07,21,35,44,53,05
104=59,17,02,03,27,54,64,78,04,09,13,17,20,10
106=63,13,02,03,25,53,62,78,08,26,34,49,57,05
109=62,10,00,01,19,47,60,78,08,22,35,44,53,05
111=62,10,00,01,20,47,60,78,07,22,35,44,53,05
113=62,10,00,01,20,47,60,78,07,22,35,44,53,05
116=62,10,00,01,20,47,60,78,07,22,35,44,53,05
148=62,10,00,01,20,47,60,78,07,22,35,44,53,05
150=62,11,00,01,20,47,60,78,07,21,35,44,53,05
151=61,12,02,02,23,50,60,78,07,21,30,39,48,05
152=63,11,00,01,20,47,60,78,04,09,15,18,22,10
153=64,13,02,04,25,52,62,78,04,09,15,18,22,10
164=62,10,00,01,20,47,60,78,07,22,35,44,53,05
165=62,10,00,01,20,47,60,78,07,22,35,44,53,05
166=62,10,00,01,20,47,60,78,07,22,35,44,53,05
168=59,11,01,02,24,51,62,78,12,26,35,44,53,05
171=62,10,00,01,20,47,60,78,07,22,35,44,53,05
175=62,10,00,01,20,47,60,78,07,22,35,44,53,05
184=62,10,00,01,20,47,60,78,07,22,35,44,53,05
200=58,12,01,02,24,52,59,78,08,25,39,52,65,05
201=59,14,02,03,21,48,60,78,12,21,30,39,52,05
202=62,10,00,01,20,47,60,78,07,22,35,44,53,05
204=62,10,00,01,20,47,60,78,07,22,35,44,53,05
205=61,10,00,01,18,47,60,78,08,24,38,47,55,05
206=59,17,02,03,26,54,64,78,11,21,30,39,52,05
207=62,11,01,02,20,47,61,78,04,09,14,18,22,10
208=62,07,10,00,01,20,47,60,78,22,35,44,53,05
209=62,10,00,01,20,47,60,78,07,22,35,44,53,05
210=62,10,00,01,20,47,60,78,07,22,35,44,53,05
211=62,10,00,01,20,47,60,78,07,22,35,44,53,05
212=61,10,01,02,20,47,60,78,04,10,15,19,22,10
213=62,10,00,01,20,47,60,56,78,07,22,35,44,05
214=62,10,00,01,20,47,60,78,07,22,35,44,53,05
215=57,16,02,04,22,49,60,78,12,26,35,44,52,05
216=62,10,00,01,20,47,60,78,07,22,35,44,53,05
217=62,10,00,01,20,47,60,78,07,22,35,44,53,05
219=62,10,00,01,19,47,60,78,08,22,35,44,53,05
220=62,10,00,01,20,47,60,78,07,22,35,44,53,05
221=62,10,00,01,20,47,60,78,07,22,35,44,53,05
222=62,10,00,01,20,47,60,78,07,22,35,44,53,05
223=62,10,00,01,19,47,60,78,08,22,35,44,53,05
224=62,10,00,01,20,47,60,78,07,22,35,44,53,05
225=62,10,00,01,20,47,60,78,07,22,35,44,53,05
226=61,10,00,01,19,47,60,78,08,22,35,44,53,05
229=62,10,00,01,19,47,60,78,08,22,35,44,53,05
230=60,14,01,02,26,53,63,78,11,26,35,44,57,05
233=62,10,00,01,19,47,60,78,08,22,35,44,53,05
237=58,13,00,02,22,50,61,78,06,11,16,20,23,10
239=62,10,00,01,19,47,60,78,08,22,35,44,53,05
242=62,10,00,01,19,47,60,78,08,22,35,44,53,05
251=62,10,00,01,19,47,60,78,08,22,35,44,53,05
252=62,10,00,01,19,47,60,78,08,22,35,44,53,05
254=62,10,00,01,19,47,60,78,07,22,35,44,53,05
267=62,10,00,01,20,47,60,78,03,09,15,18,21,10
275=59,11,04,03,23,51,60,78,05,13,18,22,25,20
291=57,16,03,04,23,49,59,78,06,11,15,18,22,10
294=60,14,02,04,27,54,63,78,12,21,31,44,53,05
334=61,13,02,03,24,54,64,78,04,09,13,16,20,10
341=58,11,03,04,25,53,62,78,04,11,16,20,25,10
347=59,14,01,03,26,53,63,78,10,25,35,44,56,05
351=62,16,01,03,26,53,62,78,07,21,32,40,52,05
353=70,01,01,01,36,54,63,80,02,06,10,14,17,10
361=62,10,00,01,20,47,60,78,07,22,35,44,53,05
366=59,15,02,02,23,50,61,78,12,25,39,48,57,05
369=61,12,02,03,23,50,62,78,08,21,35,44,53,05
389=61,13,04,04,26,54,63,78,13,30,40,53,61,05
392=60,14,02,03,21,48,60,78,11,25,34,43,56,05
399=62,21,05,06,26,53,63,78,04,09,13,18,22,10
409=57,19,04,06,23,51,61,78,07,13,16,20,23,10
412=62,11,00,01,20,47,60,78,09,21,34,44,54,05
415=61,16,03,04,25,53,62,77,05,11,16,20,23,10
434=61,14,03,09,24,51,61,78,05,09,14,18,23,10
477=62,13,03,06,26,53,61,78,07,12,16,22,25,10
479=61,13,01,03,22,50,60,78,04,09,13,17,22,10
605=60,13,02,04,26,54,63,78,12,21,30,44,53,05


[Copia]
Banco=
Valor=
Favorecido=
Ciudad=
Fecha=
ImpresionDetras=
Lineas=
Mensaje=


[InformeTipo60]
COOInicial=000060
COOFinal=000065
GTInicial=000000000006360078
GTFinal=000000000006360078


[TEF]
REQ=C:\TEF_DIAL\REQ
RESP=C:\TEF_DIAL\RESP
STATUS=0
LINEAS=74
BYTES=0
VIAS=1


[CONFIG]
ComienzoDia=0
FECHARED=
TOTSUPR=
MOEDASING=Bolivar       
MOEDAPLU=Bolivares


[ReduccionYanco]
GT=
COO=
CANC=
ACRE=
DESC=
ALIQ=
SANG=
SUPR=
TOTPARC=
TOTNSUJ=
CONTNSU=
CONTOPN=
NUMALIQ=
FECHAMOV=


[Info]
StampVinculado=
StampGerencial=207750328

 
yo declaro todas las funciones a usar de la dll, al final de mi programa main de la siguiente manera

DLL32 FUNCTION ReporteZ(fecha AS LPSTR,hora AS LPSTR) AS LONG PASCAL FROM "Bematech_FI_ReduccionZ" LIB hFiscalDll

y no de la manera que trae el manual que es
DLL function Bematech_FI_ReduccionZ( Fecha as String , Hora as String ) AS LONG PASCAL FROM "Bematech_FI_ReduccionZ" LIB "BemaFI32.dll"

ya que si coloco la .dll el abre correctamente la .dll, corre bien la una sola funcion funcion, porque cierra la .dll y cuando se quiere usar otra funcion no me dejaba.

por eso declaro al comienzo del sistema
Static hFiscalDll

y luego corro una funcion

Code: Select all

Static Function AbroDllPrinter()
LOCAL lRet:=.F.
LOCAL cDllName:="BEMAFI32.DLL"

   hFiscalDll:=LoadLib32(cDllName)
   if Abs( hFiscalDLl ) <= 32
      MsgAlert( "Error code: " + LTrim( Str( hFiscalDll ) ) + " loading " + cDllName )
      lRet:=.F.
     ELSE
      lRet:=.T.
   endif

Return lRet

 

aqui te dejo un ejemplo que hice en su tiempo para ver el funcionamiento de las bematech, claro el ejemplo está hecho es para impresoras fiscales de apuestas que no son las mismas funciones pero el funcionamiento es el mismo para las fiscales.

Code: Select all

#include "FiveWin.ch"

Static hFiscalDl2

function Main()

   local oWnd, oReBar, oToolBar1, oToolBar2, oImageList1, oImageList2
   local cDllName:="BEMAFI32.DLL"

   SET DATE FRENCH

   hFiscalDl2:=LoadLib32(cDllName)
   if Abs( hFiscalDL2 ) <= 32
      MsgAlert( "Error code: " + LTrim( Str( hFiscalDL2 ) ) + " loading " + cDllName )
      Quit
   endif

   DEFINE WINDOW oWnd TITLE "BEMATECH - TestMP4000" FROM 1,1 TO 300,580 PIXEL

   ACTIVATE WINDOW oWnd MAXIMIZED ;
      ON INIT CREABARRA( @oImageList1, @oImageList2, oWnd )

   oImageList1:End()
   oImageList2:End()

return nil

FUNCTION CREABARRA( oImageList1, oImageList2, oWnd )

   LOCAL oReBar, oToolBar1, oToolBar2

   // First we build the imagelists with all the bitmaps
   oImageList1 = TImageList():New( 32, 32 ) // width and height of bitmaps

   oImageList1:AddMasked( TBitmap():Define( "new",,    oWnd ), nRGB( 255, 0, 255 ) )
   oImageList1:AddMasked( TBitmap():Define( "open",,   oWnd ), nRGB( 255, 0, 255 ) )
   oImageList1:AddMasked( TBitmap():Define( "search",, oWnd ), nRGB( 255, 0, 255 ) )
   oImageList1:AddMasked( TBitmap():Define( "print",,  oWnd ), nRGB( 255, 0, 255 ) )
   oImageList1:AddMasked( TBitmap():Define( "new",,    oWnd ), nRGB( 255, 0, 255 ) )
   oImageList1:AddMasked( TBitmap():Define( "open",,   oWnd ), nRGB( 255, 0, 255 ) )
   oImageList1:AddMasked( TBitmap():Define( "search",, oWnd ), nRGB( 255, 0, 255 ) )
   oImageList1:AddMasked( TBitmap():Define( "print",,  oWnd ), nRGB( 255, 0, 255 ) )

   oImageList2 = TImageList():New( 32, 32 ) // width and height of bitmaps
   oImageList2:AddMasked( TBitmap():Define( "internet",, oWnd ), nRGB( 255, 0, 255 ) )
   oImageList2:AddMasked( TBitmap():Define( "keys",, oWnd ), nRGB( 255, 0, 255 ) )
   oImageList2:AddMasked( TBitmap():Define( "keys",, oWnd ), nRGB( 255, 0, 255 ) )
   oImageList2:AddMasked( TBitmap():Define( "quit",, oWnd ), nRGB( 255, 0, 255 ) )

   // Now we create the rebar
   oReBar = TReBar():New( oWnd )

   // Now we create the toolbars and add the buttons
   oToolBar1 = TToolBar():New( oReBar, 50, 50, oImageList1 )
   oToolBar1:AddButton( { || Status() }, "Status", "Verificar Status" )
   oToolBar1:AddButton( { || NumberSerie()}, "Serial", "Serial Bematech" )
   oToolBar1:AddSeparator()
   oToolBar1:AddButton( { || ReporteX() }, "Reporte X", "Reporte X" )
   oToolBar1:AddButton( { || Fechayhora() }, "Fecha y Hora", "Date/Time" )
   oToolBar1:AddSeparator()
   oToolBar1:AddButton( { || RetornaRifs() }, "Rifs", "Rifs Comercilizadores" )
   oToolBar1:AddButton( { || BorrarRifC() }, "Borrar Rifs ", "Borrar Comercializadores" )
   oToolBar1:AddButton( { || AnadirRifC() }, "Anadir Rifs", "Añadir Comercilizadores" )
   oToolBar1:AddButton( { || Tickets() }, "Ticket", "Ticket Prueba" )



   oToolBar2 = TToolBar():New( oReBar, 50, 50, oImageList2 )
   oToolBar2:AddButton( { || ResetearImpresora() }, "Resetear ",;
                       "Resetear IFA" )
   oToolBar2:AddButton( { || AnulaCupon2() }, "Anula Documento ", "A/D" )

   oToolBar2:AddButton( { || ReporteZ2() }, "Reporte Z ", "Reporte Z" )


   oToolBar2:AddSeparator()
   oToolBar2:AddButton( { || oWnd:End() }, "End Application", "Exit" )


   // Now we insert the toolbars into the rebar
   oReBar:InsertBand( oToolBar1 )
   oReBar:InsertBand( oToolBar2 )

RETURN .T.

Static Function ReporteZ2()
LOCAL nRet:=0,cRest:=SPACE(02)

       nRet := RegistraRetencion("J-30704521-3","600000","1600",cRest)

       MSGSTOP(cRest)
       MSGSTOP(nRet)

       nRet := ReporteZ("","")
       MSGSTOP(nRet)

Return Nil




Static Function AnulaCupon2()

       AnulaCupon()

RETURN NIL


Static Function ResetearImpresora()
       ResetaImpresora()

RETURN NIL



Static Function Tickets()
LOCAL nRet:=0,nI:=0


AbreFacturaApuesta("J-30704521-3","INV.JHENNYRAN FUTURO 2000 C.A",;
                   "CENTRO COMERCIAL MIRANDA PISO 04 OFICINA 04-09")


AbreSorteo("LOTERIA DEL ZULIA G-82828282","ZULIA ZODIACAL","1234",DTOC(DATE()),"20:00","Jueves")


SubSorteo("TERMINAL 1/100 ZULIA-A-12M")


VendeApuesta("01","100")


VendeApuesta("02","100")

VendeApuesta("03","100")

SubSorteo("TRIPLE FIJO 1/1000 ZULIA-A-12M")

VendeApuesta("001","100")

VendeApuesta("002","100")

VendeApuesta("003","100")

SubSorteo("TERMINAL 1/100 ZULIA-B-12M")

VendeApuesta("01","100")

VendeApuesta("02","100")

VendeApuesta("03","100")

SubSorteo("TRIPLE FIJO 1/1000 ZULIA-B-12M")

VendeApuesta("001","100")

VendeApuesta("002","100")

VendeApuesta("003","100")

VendeApuesta("001","100")

VendeApuesta("002","100")

VendeApuesta("003","100")

for nI:=1 to 26

VendeApuesta("J"+alltrim(str(nI))+" "+strzero(nI,3),"100")

next

CierraSorteo()

CodigodeValidacion("12345678901234567890ABCDEF")

//IniciaCierre()


CierraFacApuest2()

FinalizaCierre("Mensaje de fin de factura ")

msgstop("fin del ticket")

Return Nil


Static Function AnadirRifC()
LOCAL nRet:=0

      nRet:=AnadirRif("J-30855212-7")  //Operadoras Puerto la cruz.-
      IF nRet = 0
         MSGSTOP("Verifique que la IMPRESORA BEMATECH este ENCENDIDA!")
      ENDIF

Return Nil


Static Function BorrarRifC()
LOCAL nRet:=0

      nRet:=BorrarRifs()
      IF nRet = 0
         MSGSTOP("Verifique que la IMPRESORA BEMATECH este ENCENDIDA!")
      ENDIF
      MSGSTOP(nRet)


Return Nil




Static Function fechayhora()
LOCAL nRet:=0,cFecha:=SPACE(06),cHora:=SPACE(06)
LOCAL dFecha1:=DATE(),dFecha2:=DATE(),cFecha2:=SPACE(08)

      nRet:=FechaHoraImpresora(cFecha,cHora)
      IF nRet = 0
         MSGSTOP("Verifique que la IMPRESORA BEMATECH este ENCENDIDA!")
      ENDIF
      MSGSTOP(" FECHA IFA : "+cFecha+" HORA "+cHora)
      cFecha2:=SUBSTR(cFecha,1,2)+"/"+SUBSTR(cFecha,3,2)+"/20"+SUBSTR(cFecha,5,2)
      dFecha1:=CTOD(cFecha2)
      if dfecha1 # DATE()
         MSGSTOP("HAY DIFERENCIA ENTRE LA FECHA DE SISTEMA Y LA FECHA DE LA IFA")
      endif


Return Nil


Static Function ReporteX()
LOCAL nRet:=0

      nRet:=lecturaX()
      IF nRet = 0
         MSGSTOP("Verifique que la IMPRESORA BEMATECH este ENCENDIDA!")
      ENDIF


Return Nil


Static Function Status()
LOCAL nRet:=0
      nRet:=VerificaEstadoImpresora()
      IF nRet = 0
         MSGSTOP("Verifique que la IMPRESORA BEMATECH este ENCENDIDA!")
      ENDIF

msgstop("IMPRESORA ENCENDIDA")

Return Nil


Static Function NumberSerie()
LOCAL nRet:=0
LOCAL cSerie:=SPACE(15)


    if !file("\windows\system32\BemaFi32.ini")
        msgstop("Falta Archivo de configuracion de bematech")
        return nil
    endif
    nRet:=NumerodeSerie(cSerie)
    IF nRet = 0
       MSGSTOP("PRENDE LA VERGUITA")
       RETURN NIL
    ENDIF
    MSGSTOP(ALLTRIM(cSerie))

Return Nil


Static Function RetornaRifs()
LOCAL nRet:=0,cRif:=SPACE(195)

    nRet:=RetornaRifsActivos(cRif)
    IF nRet = 0
       MSGSTOP("Verifique que la IMPRESORA BEMATECH este ENCENDIDA!")
    ENDIF


    if len(alltrim(cRif)) = 1
       MSGSTOP("NO HAY CONFIGURADO NINGUN RIF DENTRO DE LA IMPRESORA BEMATECH!","VERIFIQUE")
    endif
    MSGSTOP(Alltrim(cRif))



Return Nil


DLL32 FUNCTION NumerodeSerie(NumeroSerie AS LPSTR) AS LONG PASCAL FROM "Bematech_FI_NumeroSerie" LIB hFiscalDl2
DLL32 FUNCTION VerificaEstadoImpresora(@ACK AS LONG,@ST1 AS LONG,@ST2 AS LONG) AS LONG PASCAL FROM "Bematech_FI_VerificaEstadoImpresora" LIB hFiscalDl2
DLL32 FUNCTION LecturaX() AS LONG PASCAL FROM "Bematech_FI_LecturaX" LIB hFiscalDl2
DLL32 FUNCTION FechaHoraImpresora(fecha AS LPSTR, hora AS LPSTR) AS LONG PASCAL FROM "Bematech_FI_FechaHoraImpresora" LIB hFiscalDl2
DLL32 FUNCTION RetornaRifsActivos(rifs AS LPSTR) AS LONG PASCAL FROM "Bematech_FI_RetornaRifsActivos" LIB hFiscalDl2
DLL32 FUNCTION BorrarRifs() AS LONG PASCAL FROM "Bematech_FI_BorraRifs" LIB hFiscalDl2
DLL32 FUNCTION AnadirRif(rif AS LPSTR) AS LONG PASCAL FROM "Bematech_FI_Anadir_Rif" LIB hFiscalDl2

//FUNCIONES DEL TICKET DE APUESTA
DLL32 FUNCTION AbreFacturaApuesta(rif AS LPSTR, comercializador AS LPSTR,direccion AS LPSTR,;
                                  cliente1 AS LPSTR,cliente2 AS LPSTR,cliente3 AS LPSTR) AS LONG PASCAL FROM "Bematech_FI_AbreFacturaApuesta" LIB hFiscalDl2
DLL32 FUNCTION AbreSorteo(loteria AS LPSTR, nombrejuego AS LPSTR,numerosorteo AS LPSTR,;
                          fechasorteo AS LPSTR, horasorteo AS LPSTR, dia AS LPSTR) AS LONG PASCAL FROM "Bematech_FI_AbreSorteo" LIB hFiscalDl2
DLL32 FUNCTION SubSorteo(info AS LPSTR) AS LONG PASCAL FROM "Bematech_FI_SubSorteo" LIB hFiscalDl2
DLL32 FUNCTION VendeApuesta(apuesta AS LPSTR, valor AS LPSTR) AS LONG PASCAL FROM "Bematech_FI_VendeApuestaUnaLinea" LIB hFiscalDl2
DLL32 FUNCTION CierraSorteo() AS LONG PASCAL FROM "Bematech_FI_CierraSorteo" LIB hFiscalDl2
DLL32 FUNCTION CodigodeValidacion(codigo AS LPSTR) AS LONG PASCAL FROM "Bematech_FI_CodValidacion" LIB hFiscalDl2
DLL32 FUNCTION CierraFacApuest2() AS LONG PASCAL FROM "Bematech_FI_CierreFacApuesta" LIB hFiscalDl2
DLL32 FUNCTION IniciaCierre(d1 AS LPSTR,d2 AS LPSTR,d3 AS LPSTR) AS LONG PASCAL FROM "Bematech_FI_IniciaCierreCupon" LIB hFiscalDl2
DLL32 FUNCTION FinalizaCierre(mensaje AS LPSTR) AS LONG PASCAL FROM "Bematech_FI_FinalizarCierreCupon" LIB hFiscalDl2


DLL32 FUNCTION ResetaImpresora() AS LONG PASCAL FROM "Bematech_FI_ResetaImpresora" LIB hFiscalDl2
DLL32 FUNCTION AnulaCupon() AS LONG PASCAL FROM "Bematech_FI_AnulaCupon" LIB hFiscalDl2
DLL32 FUNCTION ReporteZ(fecha AS LPSTR,hora AS LPSTR) AS LONG PASCAL FROM "Bematech_FI_ReduccionZ" LIB hFiscalDl2
DLL32 FUNCTION RegistraRetencion(rif AS LPSTR,premios AS LPSTR, alicuota AS LPSTR, restante AS LPSTR) AS LONG PASCAL FROM "Bematech_FI_RegistraRetencion" LIB hFiscalDl2

 
por otro lado si pides soporte por la pagina web indicando que eres programador hasta te reciben en sus oficinas y te prestan ayuda tecnica si lo requieres ellos "posvenezuela" .

igualmente Jose Luis , mas cerca no puedes tener una ayuda estoy en GUATIRE y mis oficinas en GUARENAS alla tengo hasta impresora BEMATECH de apuestas y puedes ver mejor el caso.

Quedando a la orden.

Saludos.

Re: USAR IMPRESORA FISCAL BERMATECH EN VENEZUELA EN PDV

Posted: Sun Mar 11, 2012 1:50 am
by QAZWSX2K
Jose luis la dll que debes tener en la misma carpeta del sistema es :

BEMAFI32.dll, tamaño=1687638 bytes, de fecha 2-3-2010, y con todo tal cual te envie asi lo tengo funcionando en guatire por cierto, coño puro guareneros aca jajaja, nunca me sirvio con dll32 function sino con dll function

en que mas te puedo ayudar?

Re: USAR IMPRESORA FISCAL BERMATECH EN VENEZUELA EN PDV

Posted: Sun Mar 11, 2012 11:54 am
by mag071
en guatire por cierto, coño puro guareneros aca jajaja,.....
eso que falta Daniel que vivió en los Naranjos tambien :-) podemos hacer un club. Saludos.