USAR IMPRESORA FISCAL BERMATECH EN VENEZUELA EN PDV

Re: USAR IMPRESORA FISCAL BERMATECH EN VENEZUELA EN PDV

Postby joseluisysturiz » Sun Mar 11, 2012 4:40 pm

mag071 wrote: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.

Saludos a los parroquias que se nombran y a los ocultos tambien, ya he avanzado bastante en la instalacion, pero aun no me imprime, nose si es porque tengo la impresora NO FISCALIZADA, pero lo intente tambien con la virtual TM-2100 y solo consigue la comunicacion, no muestra informacion del ejemplo de factura, hoy revisare un poco mas calmado los codigos ya que ahora si hay bastante claridad en lo que hay que hacer, estoy usando la DLL de 1.6mb, la puse donde tengo mi .EXE, pero todo el truco esta en el .INI, seguismo intentando y en contacto hasta que este listo... en relacion a los GUATI-GUARENEROS tambien anda por alli Alfredo que es de guatire, ojala algun dia podamos concretar alguna reunion asi sea para "joder", pendiente, gracias y saludos... :shock:

Nota: anoche no estaba activo el foro, pero pude medio entrar y vi que en este tema esta una nota de un colega llamado SYSCRTL, pero ahora hoy que ya funcion no esta su nota, imagino hubo algun problema con el server y esos mensajes se borraron o XY nose, saludos...
Dios no está muerto...

Gracias a mi Dios ante todo!
User avatar
joseluisysturiz
 
Posts: 2064
Joined: Fri Jan 06, 2006 9:28 pm
Location: Guatire - Caracas - Venezuela

Re: USAR IMPRESORA FISCAL BERMATECH EN VENEZUELA EN PDV

Postby QAZWSX2K » Mon Mar 12, 2012 12:30 pm

EN EL INI LO REALMENTE IMPORTANTE SON LAS QUE TE COMENTO

;----------------------------------------------------------------------------;
; ;
; 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=USB // PUERTO
Path=F:\traba2\posdbf\TMP // LA RUTA DE TU SISTEMA
Status=0
Retorno=0
StatusFuncion=0
ControlPuerta=1
ModeloImp=BEMATECH
ConfigRed=0
ModoGaveta=0
Log=1
EmulMFD=1 // PARA PRUEBAS O REAL
StatusCheque=
PAIS=VENEZUELA


[MFD]
Impresora=0
StatusError=1
TimeOutZ=3
Software especializado para oficinas contables con grandes volumenes de Informacion
Impresion de todos los formularios del Seniat, Dian

alex_patino74@hotmail.com
whatsapp 57+3214777217
User avatar
QAZWSX2K
 
Posts: 363
Joined: Tue Oct 25, 2005 7:06 pm
Location: Bogota - Caracas

Re: USAR IMPRESORA FISCAL BERMATECH EN VENEZUELA EN PDV

Postby joseluisysturiz » Mon Mar 12, 2012 5:30 pm

QAZWSX2K wrote:EN EL INI LO REALMENTE IMPORTANTE SON LAS QUE TE COMENTO

;----------------------------------------------------------------------------;
; ;
; 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=USB // PUERTO
Path=F:\traba2\posdbf\TMP // LA RUTA DE TU SISTEMA
Status=0
Retorno=0
StatusFuncion=0
ControlPuerta=1
ModeloImp=BEMATECH
ConfigRed=0
ModoGaveta=0
Log=1
EmulMFD=1 // PARA PRUEBAS O REAL
StatusCheque=
PAIS=VENEZUELA


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


Si pana, ya eso esta super dominado, gracias a tu ejemplo y el del otro pana ya esta funcionando 100% con la impresora emuladora, ahora hago las pruebas en la impresora fisica, aviso cualquier cosa, gracias.
Dios no está muerto...

Gracias a mi Dios ante todo!
User avatar
joseluisysturiz
 
Posts: 2064
Joined: Fri Jan 06, 2006 9:28 pm
Location: Guatire - Caracas - Venezuela

Re: USAR IMPRESORA FISCAL BERMATECH EN VENEZUELA EN PDV

Postby nseguias@hotmail.com » Tue Jan 03, 2017 9:51 pm

Necesito Ayuda para re-programar las alicuotas en impresora fiscal Bematech
Con la funcion Bematech_FI_ProgramaAlicuota puedo agregar una nueva alicuota, sin embargo lo que quiero hacer reprogramar una existente.
En la impresora existen grabadas 3 alicuotas (12,08,22) y necesito re-programar la del 22 por 27 tal cual se hace desde el fiscalizador Bematech.
nseguias@hotmail.com
 
Posts: 1
Joined: Mon Jan 02, 2017 1:15 pm

Re: USAR IMPRESORA FISCAL BERMATECH EN VENEZUELA EN PDV

Postby joseluisysturiz » Wed Jan 04, 2017 12:47 am

nseguias@hotmail.com wrote:Necesito Ayuda para re-programar las alicuotas en impresora fiscal Bematech
Con la funcion Bematech_FI_ProgramaAlicuota puedo agregar una nueva alicuota, sin embargo lo que quiero hacer reprogramar una existente.
En la impresora existen grabadas 3 alicuotas (12,08,22) y necesito re-programar la del 22 por 27 tal cual se hace desde el fiscalizador Bematech.


Saludos, si no me equivoco y lei por alli, bermatech tambien tiene el fiscalizados para actualizar las alicuotas
Dios no está muerto...

Gracias a mi Dios ante todo!
User avatar
joseluisysturiz
 
Posts: 2064
Joined: Fri Jan 06, 2006 9:28 pm
Location: Guatire - Caracas - Venezuela

Re: USAR IMPRESORA FISCAL BERMATECH EN VENEZUELA EN PDV

Postby jnavas » Wed Apr 27, 2022 9:57 am

Saludos
Publico el codigo que utilizo con bematech

#include "..\INCLUDE\DPXBASE.CH"

MEMVAR oDp

/*
// Inicializa la Impresora
*/
FUNCTION BEMA_INI()
LOCAL nRet,cError:="",I
LOCAL cWinDir :=GetWinDir()+"\System32\"
LOCAL cFileDll:=cWinDir+"bemafi32.dll"
LOCAL aDlls:={}

DEFAULT oDp:lBema_Demo :=.T.,;
oDp:aBema_Tasas:={}

IF !File(cFileDll)

AADD(aDlls,"bemafi32.dll")
AADD(aDlls,"bemafi32.ini")

FOR I := 1 TO len(aDlls)

IF !File(cWinDir+aDlls[I])
__COPYFILE("BEMATECH\"+aDlls[I],cWinDir+aDlls[I])
ENDIF

NEXT

ENDIF

DEFAULT oDp:nBemaDll:=LoadLibrary("bemafi32.dll")

nRet:=BmPrintLig()

cError:=BEMA_ERROR(nRet,.F.)

RETURN cError

/*
// Mensajes de Error
*/
FUNCTION BEMA_ERROR(nRet,lShow)
LOCAL cError:=""

DEFAULT lShow:=.T.

IF nRet=1
RETURN ""
ENDIF

DO CASE

CASE nRet= -1

cError:="Parámetro inválido"

CASE nRet= -2

cError:="Parámetro Inválido"

CASE nRet=-3

cError:="Aliquota no programada"

CASE nRet=-4

cError:="Archivo BemaFI32.INI no encontrado, copielo en c:\windows\system32"

CASE nRet=-5

cError:="Error en Apertura, Posiblemente ya está Abierto el Puerto"

CASE nRet=-6

cError:="Ninguna Impresora fué Encontrada, Verifique si está Encendida o Conectada al Cable Serial"

CASE nRet = -8

cError:="Error al Crear o Grabar en el Archivo status.txt o retorno.txt "

ENDCASE

cError:="Error:"+LSTR(nRet)+", "+cError

IF lShow
MensajeErr(cError,"Error Impresora Bematech")
ENDIF

RETURN cError

/*
// Finaliza la Impresora
*/
FUNCTION BEMA_END()

IF oDp:nBemaDll<>NIL
FreeLibrary(oDp:nBemaDll)
oDp:nBemaDll:=NIL
ENDIF

RETURN .T.

PROCE XBEMA()
LOCAL nRet ,cRif:=PADR("Nombre del Cliente",41)+PADR("RIF",18)
LOCAL nNumImp:=0,I,uBuf,cTasas:=SPACE(79)
/*
SET DATE FREN
SET CENTU OFF

oDp:nBemaDLL = LoadLibrary("bemafi32.dll")

IF xDll=0
MsgAlert("bemafi32.dll","No existe")
RETURN
ENDIF

aTasas:={}

lDemo:=.T.

nRet:=BmPrintLig()

IF nRet=-4
? "Archivo BemaFI32.INI no encontrado, copielo en c:\windows\system32"
return
Endif

IF nRet=-5
? "Error en Apertura, Posiblemente ya está Abierto el Puerto"
RETURN
ENDIF

if nRet=-6
? "Ninguna Impresora fué Encontrada, Verifique si está Encendida o Conectada al Cable Serial"
return
Endif

? "Impresora existentes",nRet

IF !lDemo // Solo lo Devuelve el Modo Fiscal
? "Detectando Caja"
nNumImp:=BmNumeroCx()
? nNumImp
ENDIF
*/
// ? nNumImp,"Numero de Impresora"

uBuf := 0
nRet := BmFlagFiscal(@uBuf)

// nNumImp:=BmNumeroCx() Numero de Caja Solo en Modo Fiscal, de lo Contrario genera Error
//
// ? nRet,uBuf
// CambiarTasas()
// BemaTechZ()

// ? BemaProgAlicuota( "1200"),"Grabando Tasa 1200"
BemaLeerAlicuota(@cTasas)
// AADD(aTasas,{1,12.00}) // Tasas según Lectura de la Impresora
// ? cTasas,"cTasas"

// ? "AHORA ABRIMOS EL CUPO",LEN(cRif)
//FOR I=1 TO 59 //LEN(cRif)
// cRif:=REPLI("A",I)
nRet := BmAbreCup(cRif)
// ? nRet,cRif,I
//NEXT
// ? nRet,"BmAbreCup",cRif
// nRet := BmFechaCup(uPar[1],uPar[2],uPar[3],uPar[4],uPar[5],uPar[6])
// RETURN .T.

FUNCTION CAMBIARTASAS()

? "Es necesario Emitir Reporte Z"

IF MsgYesNo("Cambiar Tasas ")
BematechZ()
BemaProgAlicuota( "1400")
ENDIF

RETURN .T.

FUNCTION BemaTechZ()

LOCAL cFecha:=DTOC(DATE())
LOCAL cHora :=TIME()

// MsgAlert(cFecha)
// MsgAlert(cHora)

? BemaReporteZeta(cFecha,cHora),"REPORTEZ"

RETURN .T.

FUNCTION ISWINXP()
RETURN .T.

//Faz abertura do dia
// DLL32 FUNCTION LECTURA ( cPort AS LPSTR ) AS LONG PASCAL ;
// FROM "IniPuertaStr" LIB oDp:nBemaDLL

//DLL32 FUNCTION LECTURA( cPort AS STRING ) AS LONG PASCAL FROM "IniPuertaStr";
// LIB "oDp:nBemaDLL."


DLL32 FUNCTION BmPrintLig( ) AS LONG PASCAL ;
FROM "Bematech_FI_VerificaImpressoraLigada" LIB oDp:nBemaDLL

//Ler número do caixa
DLL32 FUNCTION BmNumeroCx( NumeroCaixa AS LPSTR ) AS LONG PASCAL ;
FROM "Bematech_FI_NumeroCaja" LIB oDp:nBemaDLL

DLL32 FUNCTION BmAbreCup ( cData AS LPSTR ) AS LONG PASCAL ;
FROM "Bematech_FI_AbreComprobanteDeVenta" LIB oDp:nBemaDLL

DLL32 FUNCTION BmFlagFiscal( @FlagFiscal AS PTR ) AS LONG PASCAL ;
FROM "Bematech_FI_FlagsFiscales" LIB oDp:nBemaDLL

DLL32 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 oDp:nBemaDLL

// Juan Navas
DLL32 FUNCTION BemaLeerAlicuota( @cTasas AS LPSTR) AS LONG PASCAL ;
FROM "Bematech_FI_RetornoAlicuotas" LIB oDp:nBemaDLL

/*
// Antes de Asignar las Tasas es necesario Emitir el Reporte Z
*/
DLL32 FUNCTION BemaProgAlicuota( cTasas AS LPSTR) AS LONG PASCAL ;
FROM "Bematech_FI_ProgramaAlicuota" LIB oDp:nBemaDLL

//Emite redução Z
DLL32 FUNCTION BemaReporteZeta( Dt AS LPSTR, Hs AS LPSTR ) AS LONG PASCAL ;
FROM "Bematech_FI_ReduccionZ" LIB oDp:nBemaDLL

// Kleyber (Brasil)

DLL32 FUNCTION BmSubTotal( SubTotal AS LPSTR ) AS LONG PASCAL ;
FROM "Bematech_FI_SubTotal" LIB oDp:nBemaDLL

//Ler número do caixa
//DLL32 FUNCTION BmNumeroCx( NumeroCaixa AS LPSTR ) AS LONG PASCAL ;
// FROM "Bematech_FI_NumeroCaja" LIB oDp:nBemaDLL

//Ler configuração arredondamento/truncamento
DLL32 FUNCTION BmVerArred( Arredonda AS LPSTR ) AS LONG PASCAL ;
FROM "Bematech_FI_VerificaTruncamiento" LIB oDp:nBemaDLL

//Ativa arredondamento
DLL32 FUNCTION BmLigArred( ) AS LONG PASCAL ;
FROM "Bematech_FI_ProgramaRedondeo" LIB oDp:nBemaDLL

//Ler data do movimento
DLL32 FUNCTION BmDtMovto ( DtMovto AS LPSTR ) AS LONG PASCAL ;
FROM "Bematech_FI_FechaMovimiento" LIB oDp:nBemaDLL

//Ler flag fiscal da impressora
DLL32 FUNCTION BmFlagFisc( @FlagFiscal AS PTR ) AS LONG PASCAL ;
FROM "Bematech_FI_FlagsFiscales" LIB oDp:nBemaDLL

//Emite leitura X
DLL32 FUNCTION BmLeituraX( ) AS LONG PASCAL ;
FROM "Bematech_FI_LecturaX" LIB oDp:nBemaDLL

//Emite redução Z
DLL32 FUNCTION BmReducaoZ( Dt AS LPSTR, Hs AS LPSTR ) AS LONG PASCAL ;
FROM "Bematech_FI_ReduccionZ" LIB oDp:nBemaDLL

//Ler data e hora da impressora
DLL32 FUNCTION BmDtHora ( Dt AS LPSTR, Hs AS LPSTR ) AS LONG PASCAL ;
FROM "Bematech_FI_FechaHoraImpresora" LIB oDp:nBemaDLL

//Faz abertura do dia
DLL32 FUNCTION BmAbreDia ( Vl AS LPSTR, Fr AS LPSTR ) AS LONG PASCAL ;
FROM "Bematech_FI_AberturaDoDia" LIB oDp:nBemaDLL

//Abre cupom fiscal
//DLL32 FUNCTION BmAbreCup ( Cgc AS LPSTR ) AS LONG PASCAL ;
// FROM "Bematech_FI_AbreComprobanteDeVenta" LIB oDp:nBemaDLL

//Verifica se tem papel
DLL32 FUNCTION BmVerPapel( @Linhas AS PTR ) AS LONG PASCAL ;
FROM "Bematech_FI_MonitoramentoPapel" LIB oDp:nBemaDLL

//Verifica se tem impressora ligada
//DLL32 FUNCTION BmPrintLig( ) AS LONG PASCAL ;
// FROM "Bematech_FI_VerificaImpressoraLigada" LIB oDp:nBemaDLL

//Cancela cupom fiscal
DLL32 FUNCTION BmCanCupom( ) AS LONG PASCAL ;
FROM "Bematech_FI_CierraCupon" LIB oDp:nBemaDLL

//Cancela último ítem do cupom
DLL32 FUNCTION BmCancItem( ) AS LONG PASCAL ;
FROM "Bematech_FI_AnulaArticuloAnterior" LIB oDp:nBemaDLL

//Abre a gaveta
DLL32 FUNCTION BmAbreGav ( ) AS LONG PASCAL ;
FROM "Bematech_FI_AccionaGaveta" LIB oDp:nBemaDLL

//Ler número do cupom
DLL32 FUNCTION BmNumCupom( @cCupon AS LPSTR ) AS LONG PASCAL ;
FROM "Bematech_FI_NumeroCupon" LIB oDp:nBemaDLL

//Emite leitura da memória fiscal por data
DLL32 FUNCTION BmMemFiscD( In AS LPSTR, Fi AS LPSTR ) AS LONG PASCAL ;
FROM "Bematech_FI_LecturaMemoriaFiscalFecha" LIB oDp:nBemaDLL

//Emite leitura da memória fiscal por reduções
DLL32 FUNCTION BmMemFiscR( In AS LPSTR, Fi AS LPSTR ) AS LONG PASCAL ;
FROM "Bematech_FI_LecturaMemoriaFiscalReduccion" LIB oDp:nBemaDLL

//Emite cupom gerencial
DLL32 FUNCTION BmCpGerAbr( Texto AS STRING ) AS LONG PASCAL ;
FROM "Bematech_FI_CierraInformeGerencial" LIB oDp:nBemaDLL

//Fecha cupom gerencial
DLL32 FUNCTION BmCpGerFec( ) AS LONG PASCAL ;
FROM "Bematech_FI_CierraInformeGerencial" LIB oDp:nBemaDLL

//Verifica status da gaveta
DLL32 FUNCTION BmStGaveta( @nStatus AS PTR ) AS LONG PASCAL ;
FROM "Bematech_FI_VerificaEstadoGaveta" LIB oDp:nBemaDLL

//Abre cupom adicional
DLL32 FUNCTION BmCupAdAbr( FormaPgto AS STRING,;
Valor AS STRING,;
Cupom AS STRING ) AS LONG PASCAL ;
FROM "Bematech_FI_AbreComprobanteNoFiscalVinculado" LIB oDp:nBemaDLL

//Imprime cupom não fiscal vinculado
DLL32 FUNCTION BmCupAdUsa( Texto AS STRING ) AS LONG PASCAL ;
FROM "Bematech_FI_ImprimeComprobanteNoFiscalVinculado" LIB oDp:nBemaDLL

//Fecha cupom não fiscal
DLL32 FUNCTION BmCupAdFec( ) AS LONG PASCAL ;
FROM "Bematech_FI_CierraComprobanteNoFiscalVinculado" LIB oDp:nBemaDLL

//Vende ítem
DLL32 FUNCTION BmVendItem( Codigo AS STRING,;
Descricao AS STRING,;
Aliquota AS STRING,;
TpQte AS STRING,;
Quantid AS STRING,;
Decimal AS 7 ,;
ValUnit AS STRING,;
TpDesc AS STRING,;
ValDesc AS STRING ) AS LONG PASCAL ;
FROM "Bematech_FI_VendeArticulo" LIB oDp:nBemaDLL

//Efetua Formas de Pagamento
DLL32 FUNCTION BmFormasPag( FormaPgto AS STRING,;
ValorPago AS STRING ) AS LONG PASCAL ;
FROM "Bematech_FI_EfectuaFormaPago" LIB oDp:nBemaDLL

//Inicia Fechamento cupom
DLL32 FUNCTION BmIniFecCup( Acrescimo AS STRING,;
TipoAcresc AS STRING,;
ValorAcresc AS STRING ) AS LONG PASCAL ;
FROM "Bematech_FI_IniciaCierreCupon" LIB oDp:nBemaDLL

//Termina Fechamento cupom
DLL32 FUNCTION BmTerFecCup( Mensagem AS STRING ) AS LONG PASCAL ;
FROM "Bematech_FI_FinalizarCierreCupon" LIB oDp:nBemaDLL

//Fecha cupom com uma forma de pagamento somente
//DLL32 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 oDp:nBemaDLL

//Verifica status do gerenciador padrão
DLL32 FUNCTION BmTfStatus( Operacao AS LPSTR ) AS LONG PASCAL;
FROM "Bematech_FITEF_Status" LIB oDp:nBemaDLL


DLL32 FUNCTION BmSimboloMoneda( cMoneda AS LPSTR ) AS LONG PASCAL;
FROM "Bematech_FI_CambiaSimboloMoneda" LIB oDp:nBemaDLL

DLL32 FUNCTION BmAbreNotaDeCredito( cNombre AS LPSTR,; // Nombre del Cliente
cSerie AS LPSTR,; // Serie de la Impresora
cRif AS LPSTR,; // Rif
cDias AS LPSTR,; // Dia
cMes AS LPSTR,; // Mes
cAno AS LPSTR,; // Año
cHora AS LPSTR,; // Hora
cMin AS LPSTR,; // Min
cSeg AS LPSTR,; // Seg
cCupon AS LPSTR ) AS LONG PASCAL;
FROM "Bematech_FI_AbreNotaDeCredito" LIB oDp:nBemaDLL
/*
Bematech_FI_AbreNotaDeCredito(
char * Nome, char * Serie, char * Rif,
char * Dia, char * Mes, char * Ano,
char * Hora, char * Minuto, char * Segundo,
char * COO);
*/


DLL32 FUNCTION BmLecturaX() AS LONG PASCAL;
FROM "Bematech_FI_LecturaX" LIB oDp:nBemaDLL
User avatar
jnavas
 
Posts: 472
Joined: Wed Nov 16, 2005 12:03 pm
Location: Caracas - Venezuela

Re: USAR IMPRESORA FISCAL BERMATECH EN VENEZUELA EN PDV

Postby jnavas » Fri May 26, 2023 6:46 am

Saludos Isturiz
En este sitio, hemos publicado los programas fuentes para las impresoras fiscales: Epson, Bematech y thefactory
https://github.com/AdaptaProERP/impresoras-fiscales
User avatar
jnavas
 
Posts: 472
Joined: Wed Nov 16, 2005 12:03 pm
Location: Caracas - Venezuela

Previous

Return to FiveWin para Harbour/xHarbour

Who is online

Users browsing this forum: Google [Bot] and 99 guests