Manual OCX Fiscal Hasar V051122
User Manual: Pdf
Open the PDF directly: View PDF
.
Page Count: 126
| Download | |
| Open PDF In Browser | View PDF |
Impresoras Fiscales HASAR
Manual OCX Fiscal Hasar: v051122
(y anteriores)
IMPRESORAS FISCALES HASAR--------------------------------------------------------------------------------------------------------- 4
OCX FISCAL HASAR ----------------------------------------------------------------------------------------------------------------------- 4
GENERALIDADES----------------------------------------------------------------------------------------------------------------------------- 4
VERSIONES OCX FISCAL HASAR ------------------------------------------------------------------------------------------------------- 6
VERSIONES LIBERADAS ---------------------------------------------------------------------------------------------------------------------- 6
EVOLUCIÓN DEL OCX FISCAL HASAR ------------------------------------------------------------------------------------------------------ 6
El objeto ActiveX Fiscal010724.ocx ----------------------------------------------------------------------------------------------- 7
Registrando la versión v010724 ---------------------------------------------------------------------------------------------------- 7
El objeto Activex Fiscal051122.ocx------------------------------------------------------------------------------------------------ 7
Registrando la versión v051122 ---------------------------------------------------------------------------------------------------- 8
DESARROLLOS DE SOFTWARE --------------------------------------------------------------------------------------------------------------- 9
Incorporación del OCX Fiscal Hasar al proyecto------------------------------------------------------------------------------- 9
Caso: Visual Basic 2008 Express Edition----------------------------------------------------------------------------------------- 9
Caso: Visual Basic 6.0 ------------------------------------------------------------------------------------------------------------- 11
Caso: Visual Fox Pro 6.0---------------------------------------------------------------------------------------------------------- 13
NOTAS GENERALES ------------------------------------------------------------------------------------------------------------------------ 17
IMPRESORAS FISCALES HASAR------------------------------------------------------------------------------------------------------- 18
MODELOS Y VERSIONES SOPORTADAS ---------------------------------------------------------------------------------------------------- 18
Tiqueadoras ------------------------------------------------------------------------------------------------------------------------- 18
Página completa -------------------------------------------------------------------------------------------------------------------- 19
(CIF) Centros integrales de facturación ---------------------------------------------------------------------------------------- 20
MÉTODOS DISPONIBLES EN EL OCX FISCAL HASAR --------------------------------------------------------------------------- 21
ABORTAR( ) ------------------------------------------------------------------------------------------------------------------------------- 24
ABRIRCAJONDEDINERO( )---------------------------------------------------------------------------------------------------------------- 26
ABRIRCOMPROBANTEFISCAL( )----------------------------------------------------------------------------------------------------------- 27
ABRIRCOMPROBANTENOFISCAL( ) ------------------------------------------------------------------------------------------------------- 29
ABRIRCOMPROBANTENOFISCALENSLIP( ) ----------------------------------------------------------------------------------------------- 31
ABRIRCOMPROBANTENOFISCALHOMOLOGADO( ) --------------------------------------------------------------------------------------- 32
ABRIRDNFH( ) --------------------------------------------------------------------------------------------------------------------------- 34
APAGARINDICADORDETAMBOR( ) -------------------------------------------------------------------------------------------------------- 37
AUTODETECTARCONTROLADOR( ) ------------------------------------------------------------------------------------------------------- 38
AUTODETECTARMODELO( ) -------------------------------------------------------------------------------------------------------------- 40
AVANZARPAPEL( ) ------------------------------------------------------------------------------------------------------------------------ 41
BAJAFISCAL( ) ---------------------------------------------------------------------------------------------------------------------------- 42
BORRARDOCUMENTODEREFERENCIA( )-------------------------------------------------------------------------------------------------- 43
BORRARFANTASIAENCABEZADOCOLA( ) ------------------------------------------------------------------------------------------------- 44
CAMBIARCODIGOINGRESOSBRUTOS( ) --------------------------------------------------------------------------------------------------- 46
CAMBIARFECHAINICIOACTIVIDADES( ) --------------------------------------------------------------------------------------------------- 47
CAMBIARRESPONSABILIDADIVA( ) ------------------------------------------------------------------------------------------------------- 48
CAMBIARVELOCIDAD( ) ------------------------------------------------------------------------------------------------------------------- 50
CANCELARCOMPROBANTE( ) ------------------------------------------------------------------------------------------------------------- 52
CANCELARCOMPROBANTEFISCAL( )------------------------------------------------------------------------------------------------------ 53
CAPACIDADES( ) -------------------------------------------------------------------------------------------------------------------------- 54
CAPACIDADRESTANTE( )------------------------------------------------------------------------------------------------------------------ 57
CARGARLOGO( ) -------------------------------------------------------------------------------------------------------------------------- 59
CERRARCOMPROBANTEFISCAL( )--------------------------------------------------------------------------------------------------------- 61
CERRARCOMPROBANTENOFISCAL( ) ----------------------------------------------------------------------------------------------------- 63
CERRARCOMPROBANTENOFISCALHOMOLOGADO( ) ------------------------------------------------------------------------------------- 65
CERRARDNFH( ) ------------------------------------------------------------------------------------------------------------------------- 66
COMENZAR( ) ----------------------------------------------------------------------------------------------------------------------------- 68
CONFIGURARCONTROLADOR( ) ---------------------------------------------------------------------------------------------------------- 71
CONFIGURARCONTROLADORCOMPLETO( ) ---------------------------------------------------------------------------------------------- 75
CONFIGURARCONTROLADORPORBLOQUE( )--------------------------------------------------------------------------------------------- 81
CORTARCOMPROBANTENOFISCAL( )----------------------------------------------------------------------------------------------------- 84
DATOSCLIENTE( )------------------------------------------------------------------------------------------------------------------------- 85
DESCRIPCIONSTATUSFISCAL( ) ----------------------------------------------------------------------------------------------------------- 87
DESCRIPCIONSTATUSIMPRESORA( ) ------------------------------------------------------------------------------------------------------ 89
DESCUENTOGENERAL( ) ------------------------------------------------------------------------------------------------------------------ 91
DESCUENTOULTIMOITEM( ) -------------------------------------------------------------------------------------------------------------- 93
DETALLERECIBO( ) ----------------------------------------------------------------------------------------------------------------------- 95
DEVOLUCIONDESCUENTO( ) -------------------------------------------------------------------------------------------------------------- 96
DEVOLVERPAGO( ) ----------------------------------------------------------------------------------------------------------------------- 98
DNFHFARMACIAS( )--------------------------------------------------------------------------------------------------------------------- 100
DNFHREPARTO( )----------------------------------------------------------------------------------------------------------------------- 101
ENVIAR( ) -------------------------------------------------------------------------------------------------------------------------------- 102
ENVIARSTATPRN( ) ---------------------------------------------------------------------------------------------------------------------- 104
ESPECIFICARIVANOINSCRIPTO( ) ------------------------------------------------------------------------------------------------------- 107
ESPECIFICARNOMBREDEFANTASIA( ) --------------------------------------------------------------------------------------------------- 108
ESPECIFICARPERCEPCIONGLOBAL( ) ---------------------------------------------------------------------------------------------------- 109
ESPECIFICARPERCEPCIONPORIVA( )---------------------------------------------------------------------------------------------------- 110
ESTADOINTERNOIMPRESOR( ) ----------------------------------------------------------------------------------------------------------- 111
FINALIZAR( ) ----------------------------------------------------------------------------------------------------------------------------- 112
IMPRIMIRCODIGODEBARRAS( ) ---------------------------------------------------------------------------------------------------------- 113
IMPRIMIRFIRMAOPCIONALENCIERRE( ) ------------------------------------------------------------------------------------------------- 115
IMPRIMIRINFOENDNFH( )--------------------------------------------------------------------------------------------------------------- 116
PROPIEDADES DISPONIBLES EN EL OCX FISCAL HASAR --------------------------------------------------------------------- 119
EVENTOS GENERABLES POR EL OCX FISCAL HASAR ------------------------------------------------------------------------- 122
EXCEPCIONES GENERABLES POR EL OCX FISCAL HASAR ------------------------------------------------------------------- 123
Impresoras Fiscales HASAR
OCX Fiscal Hasar
Versión 051122
(y anteriores)
Generalidades
MAYOR PRECISIÓN, MAYOR FACILIDAD
Compañía HASAR ofrece una nueva versión de OCX Fiscal
(v051122) como herramienta de distribución libre; pensada
para ofrecer mayor facilidad a los desarrolladores de software para puntos de venta. Aportando agilidad y eficiencia, la nueva versión de OCX Fiscal Hasar ofrece ventajas
importantes como:
a. Soporte de todas las líneas de impresoras fiscales Hasar: Soporta naturalmente a todos los modelos de impresoras fiscales Hasar existentes en el mercado que hayan sido
homologados con anterioridad a Noviembre de 2009. Los modelos homologados con posterioridad pueden, igualmente, manejarse con esta versión de OCX Fiscal Hasar, pero puede
llegar a presentarse alguna incompatibilidad en el uso de algún método o propiedad (siem
pre resoluble mediante el método Enviar( )).
b. Verificación de modelos: Comprueba si el modelo de impresora fiscal Hasar seleccionado por el usuario –ver propiedad Modelo( )- corresponde al modelo conectado físicamente.
c. Autodetección de modelos: Determina el modelo de impresora fiscal Hasar conectado
físicamente, sin necesidad de seleccionarlo manualmente. Ver método AutodetectarModelo( ).
d. Capacidades por modelo: Es factible consultar las posibilidades del modelo de impresora fiscal Hasar seleccionado, pudiendo decidir en tiempo de ejecución, por ejemplo,
que tipos de comprobantes es posible emitir con dicho equipamiento fiscal.
e. Independencia de la DLL: El OCX Fiscal Hasar, a partir de la versión v051122, encapsula una librería estática de clases polimórficas, evitando así el uso (y consiguiente distribución e instalación) de la antigua librería winfis32.dll, requerida en el OCX Fiscal Hasar
v010724 (y anteriores).
f. Respuestas estructuradas: A partir del OCX Fiscal Hasar v051122, toda información devuelta por la impresora fiscal Hasar es retornada opcionalmente en cada método, eliminando de esta manera la inspección manual de la respuesta cruda y minimizando las posibilidades de error de las aplicaciones. Se tiende a minimizar el uso de la propiedad Respuesta( ), requerida en el OCX Fiscal Hasar v010724 (y anteriores).
g. Nuevas propiedades y métodos: Soporte completo para los más de setenta comandos
existentes en el protocolo fiscal actual de la línea de impresoras fiscales Hasar.
Página 4 de 126
h. Mejoras a propiedades y métodos: Métodos como los utilizados para solicitar discriminación de impuestos, o propiedades como las de último documento, tienen nuevas formas
mejoradas para permitir programas más elegantes.
i. Multiplicidad de transportes: Ahora, además de un mejorado manejo de puerto serie
(RS-232), se puede utilizar el OCX Fiscal Hasar para comunicarse con impresoras fiscales
Hasar remotas a través del protocolo TCP/IP, o UDP/IP. Además, es posible ajustar variables que afectan al protocolo para optimizar el uso en condiciones atípicas.
Página 5 de 126
Versiones OCX Fiscal Hasar
Versiones liberadas
Hasta el momento existen las siguientes versiones liberadas del OCX Fiscal Hasar (objeto
ActiveX -de distribución gratuita-); todas se documentan en la presente guía de referencia:
Fiscal010724.ocx
Fiscal051122.ocx
Notar que el nombre del OCX Fiscal Hasar es siempre de la forma: fiscalAAMMDD.ocx
(AAMMDD es la fecha de liberación de la versión alfa del OCX Fiscal Hasar)
Así definidos los nombres para las distintas versiones del OCX Fiscal Hasar los desarrolladores de software de gestión para puntos de venta pueden identificar fácilmente la fecha de su aparición (incluida en el nombre). Por ejemplo, 24/07/2001 en el primer caso.
En el sitio web de Grupo HASAR, www.grupohasar.com, los archivos zipeados de drivers fiscales incluyen la última versión liberada del OCX Fiscal Hasar (además de la presente guía
de referencia y un material extenso; de interés para desarrolladores de software de gestión
para puntos de venta).
Evolución del OCX Fiscal Hasar
Si bien existe una versión primaria llamada simplemente fiscal.ocx, se recomienda migrar
en una primera etapa al uso del OCX Fiscal Hasar llamado fiscal010724.ocx (recomendado
y compatible con la versión primaria fiscal.ocx).
Independientemente de la versión del OCX Fiscal Hasar en uso, este objeto ActiveX no aplica las restricciones impuestas por la normativa fiscal vigente. Se limita simplemente a
generar los strings de comandos que el software de gestión para puntos de venta necesite
enviar a las impresoras fiscales Hasar a partir de los datos que dicho software le pase, generando posteriormente los eventos y excepciones que surjan por rechazos a dichos comandos, y/u otros motivos.
El desarrollador de software de gestión para puntos de venta debe completar la consulta
de esta guía de referencia con la lectura obligatoria del manual de comandos (publ....pdf)
de cada impresora fiscal Hasar que su software soportare para saber si hay diferencias en
el uso de los comandos al pasar de un modelo a otro, o en la interpretación de las respuestas, etc.
Es responsabilidad del software de gestión para puntos de venta garantizar que los datos
resulten válidos para la impresora fiscal Hasar, y que los comandos se envíen en el orden correcto de acuerdo al documento que se necesite emitir.
Página 6 de 126
Este objeto ActiveX ofrece elementos de control y consulta suficientes para que el software
se entere del rechazo de comandos, del motivo, del estado en que la impresora fiscal Hasar
se encuentra, y de cualquier otra información de interés para el software. Obviamente, el
OCX Fiscal Hasar no puede reportar lo que la propia impresora fiscal Hasar no informa.
El objeto ActiveX Fiscal010724.ocx
Se trata de un control OCX desarrollado con tecnología "COM" e insertable en cualquier
entorno de 32 bits que soporte objetos ActiveX de este tipo.
Esta versión del OCX Fiscal Hasar (de aquí en adelante versión v010724) funciona como un
"wrapper" alrededor de una DLL de 32 bits (winfis32.dll -distribuída también gratuitamente por Compañía HASAR SAIC-), motivo por el cual es condición necesaria la presencia
de esta DLL, no sólo para registrar el OCX Fiscal Hasar, sino también para su inclusión en
la distribución del software de gestión para puntos de venta.
Registrando la versión v010724
Como primer paso, la DLL (winfis32) debe copiarse en la carpeta c:\windows\ system(32),
o en la carpeta correspondiente a la versión de Windows® en uso. Esta librería no debe
registrarse, solamente debe estar presente.
En segundo lugar, debe registrarse el OCX Fiscal Hasar en el sistema por intermedio de algún utilitario de registración apropiado. Por ejemplo, ejecutando sin parámetro alguno la
siguiente sentencia:
[drive:\][path\]regsvr32
[drive:\][path\]fiscal010724.ocx
El objeto Activex Fiscal051122.ocx
Esta versión del OCX Fiscal Hasar (de aquí en adelante versión v051122) se distingue de la
anterior en muchos aspectos, comenzando por su independencia de la DLL (winfis32) evitando así el uso, y consiguiente distribución e instalación de la librería. Esta versión del
OCX Fiscal Hasar encapsula una librería estática de clases polimórficas (cada clase representa un modelo de impresora fiscal Hasar, supeditado a una interfaz uniforme, de manera de poder utilizar cada modelo de estos equipos, independientemente de las diferencias
que entre ellos existiesen).
DSe amplía la cantidad de modelos de impresoras fiscales Hasar soportadas naturalmente
por esta versión del OCX Fiscal Hasar (se incluyen los modelos homologados hasta Noviembre de 2009). Cuenta con una constante embebida para identificar a cada uno de los mo-
Página 7 de 126
delos, para el caso de ser necesario configurar la propiedad Modelo( ) desde el software
de gestión para puntos de venta.
DPermite determinar el modelo de impresora fiscal Hasar conectada al puerto serie de la
PC, sin necesidad de selección manual -método AutodetectarModelo( )-.
DPermite comprobar, para el caso de selección manual, si el modelo de impresora fiscal
Hasar elegido por el usuario se corresponde con el conectado al puerto serie de la PC –método VerificarModelo( )-.
DIncorpora la multiplicidad de transportes para comunicaciones. Además de un mejorado
manejo de puertos serie (RS-232), se puede utilizar la versión v051122 del OCX Fiscal Hasar para comunicarse con impresoras fiscales Hasar remotas a través del protocolo TCP/
IP, o UDP/IP. Además, es posible ajustar variables que afectan al protocolo para optimizar
el uso en condiciones atípicas (tiempo para salida por error de "time-out", cantidad de reintentos, etc.).
DPresenta mejoras en propiedades y métodos, como los utilizados para obtener discriminaciones de documentos fiscales y/o notas de crédito, que permiten escribir programas
más elegantes.
DOfrece respuestas estructuradas. Toda información devuelta por la impresora fiscal Hasar es retornada como argumento opcional de salida en cada método, eliminando de esta
manera la inspección manual de la respuesta cruda y minimizando las posibilidades de
error de las aplicaciones. Son limitados los casos en que el software de gestión para puntos de venta deba recurrir al uso de la propiedad Respuesta( ) para obtener información
devuelta por la impresora fiscal Hasar.
DNuevas propiedades y métodos que permiten el manejo completo de todos los conjuntos
de comandos soportados por todas las líneas de impresoras fiscales Hasar homologadas
hasta la liberación de la versión v051122 del OCX Fiscal Hasar.
DPermite consultar las capacidades del modelo de impresora fiscal Hasar conectada, pudiendo el software de gestión para puntos de venta decidir, en tiempo de ejecución, por
ejemplo, qué tipos de documentos es posible emitir con dicha impresora fiscal Hasar.
DProvee conversión automática de juegos de caracteres ANSI (utilizado en los sistemas operativos modernos) al juego de caracteres ASCII (utilizado por las impresoras fiscales
Hasar), y viceversa.
DMejoramiento de la generación de eventos y excepciones para facilitar el tratamiento
de errores por parte del software de gestión para puntos de venta.
Registrando la versión v051122
Esta versión del objeto ActiveX no requiere de la DLL (winfis32). El OCX Fiscal Hasar solamente debe registrarse en el sistema por intermedio de algún utilitario de registración
apropiado. Por ejemplo, ejecutando sin parámetro alguno la siguiente sentencia:
Página 8 de 126
[drive:\][path\]regsvr32
[drive:\][path\]fiscal051122.ocx
Desarrollos de software
Incorporación del OCX Fiscal Hasar al proyecto
Esta guía de referencia describe el comportamiento, métodos y propiedades disponibles
en el OCX Fiscal Hasar. No es, ni intenta ser, un tutorial de programación. Si bien se incluyen ejemplos, se ha adoptado a Visual Basic como lenguaje para tal fin por su simpleza
de sintaxis a los fines de poder mostrar como trabajar con el OCX.
Cada desarrollador de software de gestión para puntos de venta deberá consultar la documentación de su entorno de desarrollo a los efectos de conocer la forma más adecuada
de incorporar el uso del OCX Fiscal Hasar a sus proyectos.
Caso: Visual Basic 2008 Express Edition
En la figura anterior puede apreciarse como el examinador de objetos lista aquellos ‘Namespaces’ que integran el proyecto sobre el que estamos trabajando, entre los que se encuentra FiscalPrinterLib (el cual corresponde al OCX Fiscal Hasar).
Página 9 de 126
El namespace FiscalPrinterLib contiene:
HASAR
Clase pública que define al OCX Fiscal Hasar.
IFiscal
Interfaz empleada para los métodos y propiedades del OCX Fiscal Hasar.
_FiscalEvents
Interfaz empleada para los eventos que genera el OCX Fiscal Hasar.
…
Constantes embebidas.
La incorporación del OCX Fiscal Hasar al proyecto puede hacerse a través de la opción ‘Project/Add Reference’ del entorno de desarrollo (ver imagen de la izquierda).
Al hacer clic sobre la opción mencionada se abre una
ventana de diálogo (ver imagen inferior). A continuación se debe hacer clic sobre la solapa ‘COM’. Como
resultado el entorno de desarrollo despliega la lista de
componentes por nombre.
Finalmente se debe hacer clic sobre el nombre del OCX
Fiscal Hasar, que aparece como: Impresor Fiscal HASAR
<051122> y realizando un clic sobre el botón ‘OK’.
Una vez cumplimentados los pasos indicados anteriormente se está en condiciones de utilizar el
OCX Fiscal Hasar en el proyecto deseado.
El ejemplo de la página siguiente nos muestra como comenzar a utilizar los métodos y propiedades
disponibles en el OCX Fiscal Hasar. En particular, se configura la propiedad Modelo( ) para indicar
que se debe trabajar con la impresora fiscal Hasar modelo SMH/P-441F v01.00.
Página 10 de 126
Public Class FormPrinicpal
Private miOCX As FiscalPrinterLib.HASAR
Public Sub Dialogar()
miOCX.Modelo = FiscalPrinterLib.ModelosDeImpresoras.MODELO_P441
‘// otras instrucciones de interés
‘// …
End Sub
End Class
Caso: Visual Basic 6.0
En la figura anterior puede apreciarse como el examinador de objetos lista las librerías y
clases que integran el proyecto sobre el que estamos trabajando, entre los que se encuentra FiscalPrinterLibCtl (la cual corresponde al OCX Fiscal Hasar).
La librerías FiscalPrinterLibCtl contiene:
HASAR
Clase pública que define al OCX Fiscal Hasar.
…
Constantes embebidas.
Página 11 de 126
La incorporación del OCX Fiscal Hasar al proyecto puede
hacerse a través de la opción ‘Proyecto/Componentes..’ del
entorno de desarrollo (ver imagen de la izquierda).
Al hacer clic sobre la opción mencionada se abre una ventana de diálogo (ver imagen inferior). A continuación se debe
hacer clic sobre la solapa ‘Controles’. Como resultado el entorno de desarrollo despliega la lista de componentes por
nombre.
Finalmente se debe hacer clic sobre el nombre del OCX Fiscal Hasar, que aparece como: Impresor Fiscal HASAR
<051122> y realizando un clic sobre el botón ‘OK’.
Una vez cumplimentados los pasos indicados anteriormente se está en condiciones de utilizar el OCX Fiscal Hasar en el proyecto
deseado.
El ejemplo que se incluye
al pie de esta página mues
tra como comenzar a utilizar los métodos y propiedades disponibles en el
OCX Fiscal Hasar. En particular, se configura la propiedad Modelo( ) para indicar que se debe trabajar
con la impresora fiscal Hasar modelo SMH/P-441F
v01.00.
Public Sub Dialogar()
HASAR1.Modelo = MODELO_P441
‘// otras instrucciones de interés
‘// …
End Sub
Página 12 de 126
Caso: Visual Fox Pro 6.0
La incorporación del OCX Fiscal Hasar al proyecto puede hacerse a través de la opción ‘Herramientas/Opciones...’ del
entorno de desarrollo (ver imagen de la izquierda).
Al hacer clic sobre la opción mencionada se abre una ventana
de diálogo (ver página siguiente). A continuación se debe
hacer clic sobre la solapa ‘Controles’. Asegurarse de haber
seleccionado la opción ‘Controles Activex’, tildando en el
marco ‘Mostrar’ las búsquedas por ‘Objetos insertables’ y
‘Controles’.
Como resultado el entorno de desarrollo despliega la lista de componentes por nombre.
La acción siguiente es tildar Fiscal Class, para finalizar con un clic sobre el botón ‘Aceptar’.
Según el propio help de Visual FoxPro 6.0: "The AutoYield property should be set to False when
a form contains an ActiveX control" (La propiedad AutoYield se debe establecer en .F. –falsocuando un formulario contiene un control ActiveX –como es el caso del OCX Fiscal Hasar-).
Página 13 de 126
En consecuencia, es importante tener en cuenta que el software de gestión para puntos
de venta podrá recibir todos los eventos generados por el OCX Fiscal Hasar (a partir de las
respuestas de la impresora fiscal Hasar) siempre y cuando la propiedad AutoYield (de Visual Fox Pro) se encuentre seteada con el valor .F. (falso). De lo contrario, el manejo de
errores por parte del software de gestión para puntos de venta se verá exigido al empleo
de otros métodos más elaborados para obtener el mismo resultado. Se trata de una limitación del propio lenguaje de desarrollo.
El siguiente ejemplo permite cumplir con lo expuesto:
PROCEDURE Load
SYS(2333,0)
_VFP.AutoYield = .F. && para detectar los eventos de la OCX debe ser false
RETURN
ENDPROC
PROCEDURE Unload
_VFP.AutoYield = .T.
RETURN
ENDPROC
La primera figura de la página siguiente muestra el aspecto de la ventana de Visual Fox
Pro que exhibe la lista de componentes que se encuentran registrados en la PC. En dicha
lista debe aparecer Fiscal Class si el OCX Fiscal Hasar ha sido correctamente registrado en
la PC.
Página 14 de 126
Para acceder a la lista de la imagen anterior se debe hacer
clic en la opción ‘Herramientas / Galería de Componentes’
del entorno de desarrollo de Visual Fox Pro.
Luego, se debe expandir el
‘Catálogo ActiveX’ y la carpeta ‘Controles’.
Para examinar los elementos
que componen al OCX Fiscal
Hasar se debe seleccionar de
la lista a Fiscal Class y hacer
clic con el botón derecho del
mouse. Con esta acción emer
ge un menú donde debe seleccionarse la opción ‘Ver tipo de biblioteca…’.
Página 15 de 126
Como resultado de la selección (ver imagen del menú a la izquierda) se muestra una ventana de aspecto similar al de la imagen inferior, donde la librería Fiscal051122.tlb (por ejemplo) contiene:
IFiscal
_FiscalEvents
…
Métodos y propiedades del OCX Fiscal Hasar.
Eventos que genera el OCX Fiscal Hasar.
Enumeradores de constantes embebidas.
El ejemplo que se brinda a continuación muestra como comenzar a utilizar los métodos y
propiedades disponibles en el OCX Fiscal Hasar. En particular, se configura la propiedad
Modelo( ) para indicar que se debe trabajar con la impresora fiscal Hasar modelo SMH/P441F v01.00.
DEFINE CLASS frmComprobantes AS FORM
…
This.AddObject('oFiscal', 'frmDialogar' )
…
ENDDEFINE
Página 16 de 126
DEFINE CLASS frmDialogar AS OleControl
…
OleClass = "hasar.fiscal.1"
WITH ThisForm.oFiscal
…
.Modelo = 32
…
ENDWITH
&& Constante MODELO_P441 = 32
…
ENDDEFINE
Notas generales
El uso del OCX Fiscal Hasar está limitado al nivel de compatibilidad que cada lenguaje de
desarrollo visual posea con la norma ActiveX para diseño de objetos (tecnología COM, estándar para Windows®).
Por ejemplo, el reconocimiento de constantes embebidas en el OCX Fiscal Hasar (por citar
un caso, MODELO_P441), el soporte de eventos, los tipos especiales (formato de fecha
OLE), uso de propiedades con argumentos múltiples (una de ellas es Encabezado( )), etc.,
etc., forman parte del grupo de caracterísitcas que pueden no estar soportadas por todos
los lenguajes de desarrollo visual. El desarrollador del software de gestión para puntos de
venta deberá consultar al respecto en la documentación correspondiente a su entorno de
desarrollo.
El OCX Fiscal Hasar posee la bondad de incluir un método, Enviar( ), que permite salvar
cualquier incompatibilidad que se presente, siempre y cuando el software construya directamente el string de comando que no puede generar por las vías destinadas para ello.
A partir de la versión v051122 del OCX Fiscal Hasar, los métodos que generan strings de
comandos cuyos strings de respuestas (generados por la impresora fiscal Hasar) contienen
campos de información que pueden resultar de utilidad para el software de gestión para
puntos de venta, incorporan la disponibilidad de uso de argumentos opcionales para obtenerlos. La tendencia es, en tiempo futuro, eliminar definitivamente el uso de la propiedad
Respuesta( ) -y poder depecrarla-.
Página 17 de 126
Impresoras fiscales Hasar
Modelos y versiones soportadas
En todas las tablas que se muestran en este capítulo el contenido de cada columna es el
siguiente:
CODIGO
Prefijo del número de serie de la impresora fiscal Hasar, otorgado mediante
resolución general AFIP.
Por ejemplo: HHW
MODELO
Designado por Compañía HASAR SAIC para identificar al producto, seguido
del número de versión de firmware homologada por AFIP mediante resolución general.
Por ejemplo: SMH/P-441F v1.00
RG AFIP
Número de resolución general AFIP mediante la cual se homologa la impresora fiscal, seguido del año de homologación.
Por ejemplo: 2587 / 09
FECHA RG
Fecha de homologación de la impresora fiscal.
Por ejemplo: 07 / 04 / 2009
FECHA BO
Fecha de publicación de la resolución general AFIP en el Boletín Oficial de la
nación.
Por ejemplo: 14 / 04 / 2009
Tiqueadoras
Los modelos de impresoras fiscales Hasar incluidos en la siguiente tabla realizan impresión
térmica o mediante matriz de punto, sobre papel en rollo.
El OCX Fiscal Hasar v010724 (y anteriores) posee constantes embebidas para asignar a la
propiedad Modelo( ) para los primeros seis modelos de impresoras fiscales Hasar de la tabla que comienza al final de la página (códigos HHA .. HHF).
El OCX Fiscal Hasar posee constantes embebidas para asignar a la propiedad Modelo( ) para todos los modelos de impresoras fiscales Hasar de la tabla siguiente:
CÓDIGO
MODELO
RG AFIP
FECHA RG
FECHA BO
HHA
SMH / P-950F
v1.00
14 / 97
03 / 09 / 1997
08 / 09 / 1997
HHB
SMH / P-614F
v1.00
14 / 97
03 / 09 / 1997
08 / 09 / 1997
HHC
SMH / PT-262F
v1.00
233 / 98
21 / 10 / 1998
26 / 10 / 1997
HHD
SMH / P-PR4F
v1.00
272 / 98
23 / 11 / 1998
25 / 11 / 1998
HHE
SMH / P-951F
v1.00
398 / 99
17 / 02 / 1999
22 / 02 / 1999
HHF
SMH / P-615F
v1.00
575 / 99
03 / 05 / 1999
06 / 05 / 1999
Página 18 de 126
HHP
SMH / P-715F
v1.00
1771 / 04
22 / 11 / 2004
24 / 11 / 2004
“
“
v2.01
2117 / 06
23 / 08 / 2006
25 / 08 / 2006
“
“
v3.02
2460 / 08
09 / 06 / 2008
12 / 06 / 2008
“
“
v4.03
2587 / 09
07 / 04 / 2009
14 / 04 / 2009
HHQ
SMH / P-PR5F
v1.00
1932 / 05
31 / 08 / 2005
02 / 09 / 2005
“
“
v2.01
2190 / 07
09 / 01 / 2007
12 / 01 / 2007
HHS
SMH / PT-272F
v1.00
1998 / 06
20 / 01 / 2006
24 / 01 / 2006
HHW
SMH / P-441F
v1.00
2587 / 09
07 / 04 / 2009
14 / 04 / 2009
Página completa
Los modelos de impresoras fiscales Hasar incluidos en la siguiente tabla realizan impresión
láser o mediante matriz de punto, sobre formularios contínuos u hojas sueltas.
El OCX Fiscal Hasar v010724 (y anteriores) posee constantes embebidas para asignar a la
propiedad Modelo( ) para los primeros dos modelos de impresoras fiscales Hasar de la tabla que comienza al final de la página (códigos HHG .. HHH).
El OCX Fiscal Hasar posee constantes embebidas para asignar a la propiedad Modelo( ) para todos los modelos de impresoras fiscales Hasar de la tabla siguiente:
CÓDIGO
MODELO
RG AFIP
FECHA RG
FECHA BO
HHG
SMH / P-320F
v1.00
852 / 00
02 / 06 / 2000
07 / 06 / 2000
HHH
SMH / PL-8F
v1.00
978 / 01
06 / 03 / 2001
08 / 03 / 2001
“
“
v2.01
1638 / 04
23 / 02 / 2004
26 / 02 / 2004
HHT
SMH / PL-9F
v1.00
2037 / 06
19 / 04 / 2006
21 / 04 / 2006
HHI
SMH / P-321F
v1.00
1076 / 01
28 / 08 / 2001
29 / 08 / 2001
HHJ
SMH / P-322F
v1.00
1123 / 01
23 / 10 / 2001
31 / 10 / 2001
“
“
v2.01
1685 / 04
31 / 05 / 2004
01 / 06 / 2004
HHO
SMH / P-330F
v1.00
1826 / 05
01 / 02 / 2005
03 / 02 / 2005
“
“
v2.01
1890 / 05
30 / 05 / 2005
01 / 06 / 2005
“
“
v2.02
1998 / 06
20 / 01 / 2006
24 / 01 / 2006
“
“
v2.03
2587 / 09
07 / 04 / 2009
14 / 04 / 2009
HHM
SMH/ PL-1200F
v1.00
1305 / 02
13 / 05 / 2002
19 / 05 / 2002
HHV
SMH/ PL-23F
v1.00
2273 / 07
21 / 06 / 2007
26 / 06 / 2007
“
“
v1.01
2587 / 09
07 / 04 / 2009
14 / 04 / 2009
2645 / 09
03 / 07 / 2009
10 / 07 / 2009
HHX
SMH/P-1120F
v1.00
Página 19 de 126
(CIF) Centros integrales de facturación
Los modelos de impresoras fiscales Hasar incluidos en la siguiente tabla realizan impresión
mediante matriz de punto, sobre papel en rollo, formularios contínuos u hojas sueltas.
El OCX Fiscal Hasar v010724 (y anteriores) no posee constantes embebidas para asignar a
la propiedad Modelo( ) para ninguno de los modelos de impresoras fiscales Hasar de la tabla que se incluye más abajo, en esta misma página (códigos HHK .. HHR).
El OCX Fiscal Hasar posee constantes embebidas para asignar a la propiedad Modelo( ) para todos los modelos de impresoras fiscales Hasar de la tabla siguiente:
CÓDIGO
MODELO
RG AFIP
FECHA RG
FECHA BO
HHK
SMH / P-425F
v1.00
1123 / 01
23 / 10 / 2001
31 / 10 / 2001
“
“
v2.01
1591 / 03
05 / 11 / 2003
06 / 11 / 2003
HHR
SMH / P-435F
v1.00
1899 / 05
09 / 06 / 2005
13 / 06 / 2005
“
“
v1.01
2117 / 06
23 / 08 / 2006
25 / 08 / 2006
“
“
v1.02
2587 / 09
07 / 04 / 2009
14 / 04 / 2009
“
“
v2.03
2823 / 10
30 / 04 / 2010
06 / 05 / 2010
Página 20 de 126
Métodos disponibles en el OCX Fiscal Hasar
La tabla siguiente a incluye a todos los métodos disponibles para cada una de las versiones
del OCX Fiscal Hasar liberadas hasta la fecha de publicación de esta guía de referencia.
METODOS
Abortar
AbrirCajonDeDinero
AbrirComprobanteFiscal
AbrirComprobanteNoFiscal
AbrirComprobanteNoFiscalEnSlip
AbrirComprobanteNoFiscalHomologado
AbrirDNFH
ApagarIndicadorDeTambor
AutodetectarControlador
AutodetectarModelo
AvanzarPapel
BajaFiscal
BorrarDocumentoDeReferencia
BorrarFantasiaEncabezadoCola
CambiarCodigoIngresosBrutos
CambiarFechaInicioActividades
CambiarResponsabilidadIVA
CambiarVelocidad
CancelarComprobante
CancelarComprobanteFiscal
Capacidades
CapacidadRestante
CargarLogo
CerrarComprobanteFiscal
CerrarComprobanteNoFiscal
CerrarComprobanteNoFiscalHomologado
CerrarDNFH
Comenzar
ConfigurarControlador
ConfigurarControladorCompleto
ConfigurarControladorPorBloque
CortarComprobanteNoFiscal
DatosCliente
DescripcionStatusFiscal
DescripcionStatusImpresor
DescuentoGeneral
DescuentoUltimoItem
DetalleRecibo
DevolucionDescuento
DevolverPago
DNFHFarmacias
VERSIONES
v051122 v010724
SI
SI
SI
SI
SI
SI
SI
SI
SI
♦
SI
♦
SI
SI
SI
SI
SI
SI
SI
SI
SI
SI
SI
SI
SI
SI
SI
SI
SI
SI
SI
SI
SI
SI
SI
SI
SI
SI
SI
SI
SI
SI
SI
♦
SI
SI
SI
SI
SI
SI
SI
SI
SI
SI
SI
SI
SI
SI
SI
SI
SI
SI
SI
SI
SI
SI
SI
SI
SI
SI
SI
SI
Página 21 de 126
METODOS
DNFHReparto
Enviar
EnviarStatPRN
EspecificarIVANoInscripto
EspecificarNombreDeFantasia
EspecificarPercepcionGlobal
EspecificarPercepcionPorIVA
EstadoInternoImpresor
Finalizar
ImprimirCodigoDeBarras
ImprimirFirmaOpcionalEnCierreDNFH
ImprimirInfoEnDNFH
ImprimirItem
ImprimirItemEnCotizacion
ImprimirItemEnCuenta
ImprimirItenEnRemito
ImprimirPago
ImprimirTextoFiscal
ImprimirTextoNoFiscal
ImprimirVoucher
ImprimirVoucherConFechaOculta
LeerIVA
LeerMemoriaDeTrabajo
LeerMontoTotal
LeerPercepcionesGenerales
LeerPercepcionesPorDescripcion
LeerPercepcionesPorIVA
MostrarEnDisplay
ObtenerCAIUltimoDocumentoA
ObtenerConfiguracion
ObtenerConfiguracionCompleta
ObtenerDatosDeConfiguracion
ObtenerDatosDeInicializacion
ObtenerNombreDeFantasia
ObtenerVersionDelControlador
PedidoDeStatus
PedirPrimerIva
PedirSiguienteIVA
Recibir
Recomenzar
ReimprimirComprobante
ReporteX
ReporteZ
ReporteZIndividualPorFecha
ReporteZIndividualPorNumero
ReporteZPorFechas
ReporteZPorNumeros
Subtotal
VERSIONES
v051122 v010724
SI
SI
SI
SI
SI
SI
SI
SI
SI
♦
SI
SI
SI
SI
SI
SI
SI
SI
SI
SI
SI
SI
SI
SI
SI
SI
SI
SI
SI
SI
SI
SI
SI
SI
SI
SI
SI
SI
SI
SI
SI
SI
SI
SI
SI
SI
SI
SI
SI
SI
SI
SI
SI
SI
SI
SI
SI
SI
SI
SI
SI
SI
♦
SI
♦
SI
SI
SI
SI
SI
SI
SI
SI
SI
SI
SI
SI
SI
SI
SI
SI
SI
SI
SI
SI
Página 22 de 126
METODOS
TratarDeCancelarTodo
VerificarModelo
♦
VERSIONES
v051122 v010724
SI
SI
SI
-
Este símbolo en la tabla anterior indica que para la versión del OCX Fiscal Hasar, a cuya columna pertenece, el método de la correspondiente fila ha sido deprecado.
La mayoría de los métodos disponibles en el OCX Fiscal Hasar mantienen una relación uno
a uno con los strings de comandos soportados por los diferentes modelos y versiones de
impresoras fiscales Hasar. De hecho, los argumentos que requieren los métodos son los
mínimos y necesarios para construir dichos strings. El envío de cada comando es transparente para el software de gestión para puntos de venta.
Algunos de los métodos disponibles en el OCX Fiscal Hasar pueden generar más de un
string de comando, y otros pueden no generar ninguno. En ambos casos la idea subyacente
es facilitar las tareas de programación, tornando más amigable el desarrollo de software
de gestión para puntos de venta.
Es responsabilidad del desarrollador del software de gestión para puntos de venta consultar, además de esta guía de referencia, el manual de comandos de la impresora fiscal
Hasar para informarse de lo esperado por dichos equipos en cada comando, de lo que puede entregar como respuesta a cada uno de ellos, en que casos puede ser rechazado, del
comportamiento de la impresora fiscal Hasar, etc., etc..
Según el modelo de impresora fiscal Hasar el manual de comandos a consultar debe ser:
Modelo Impresora Fiscal Hasar
(CIF) Centro Integral de Facturación
Página Completa
Térmicas
Tiqueadoras
Manual de
comandos
‘Publicif.pdf’
‘Publfact.pdf’
‘Publterm.pdf’
‘Publtick.pdf’
Todos los documentos mencionados se incluyen en el ZIP de drivers fiscales que se puede
descargar (gratuitamente) del sitio web de Grupo HASAR.
Es responsabilidad del software de gestión para puntos de venta garantizar la exactitud de
la información pasada en los argumentos, así como el tratamiento de los eventos y excepciones que pudieran generarse con motivo de la invocación a un método del OCX Fiscal
Hasar.
En las próximas páginas se describen en detalle cada uno de los métodos disponibles en el
OCX Fiscal Hasar.
Página 23 de 126
Abortar( )
METODO
Disponible en versiones: v010724 (y posteriores).
String de comando: No genera.
Argumentos: No requiere.
El software de gestión para puntos de venta puede utilizar el método Abortar( ) para interrumpir un proceso en curso (esperar la respuesta a un comando) cuando la propiedad
ReintentoConstante( ) se encuentra cargada con el valor "verdadero", y se produce una situación de "time-out" en la comunicación con la impresora fiscal Hasar.
Ejemplos de uso:
· Válido para OCX Fiscal Hasar v010724 (y anteriores).
…
HASAR1.PedidoDeStatus
…
End Sub
‘// Aquí la impresora fiscal está apagada
Private Sub HASAR1_ImpresoraNoResponde(ByVal CantReint As Long)
…
If (HASAR1.ReintentoConstante) And (CantReint = 3) Then
HASAR1.Abortar
End
End If
…
End Sub
En el ejemplo anterior el software viene ejecutando sentencias en forma normal, pero al
invocar al método PedidoDeStatus( ) no hay comunicación con la impresora fiscal. Como
consecuencia, el OCX Fiscal Hasar genera el evento ImpresoraNoResponde( ).
La rutina que atrapa el evento posee un bloque “If / Then / End If” que si se cumple la
condición de reintento constante para lograr comunicación con la impresora fiscal Hasar,
y además se ha alcanzado la cantidad máxima de 3 de estos reintentos, se aborta la operación y se da por finalizada la ejecución del software.
· Válido para OCX Fiscal Hasar v051122.
…
HASAR1.PedidoDeStatus
…
End Sub
‘// Aquí la impresora fiscal está apagada
Página 24 de 126
Private Sub HASAR1_ImpresoraNoResponde(ByVal CantReint As Long)
…
If (HASAR1.ReintentoConstante) And (HASAR1.Reintentos = CantReint) Then
HASAR1.Abortar
End
End If
…
End Sub
La diferencia entre este ejemplo, y el visto para la versión v010724 del OCX Fiscal Hasar,
es el uso de la propiedad Reintentos( ) –disponible a partir de la versión v051122.
Página 25 de 126
AbrirCajonDeDinero( )
METODO
Disponible en versiones: v010724 (y posteriores).
String de comando: OpenDrawer
Argumentos: No requiere.
Permite al software de gestión para puntos de venta abrir el cajón de dinero conectado a
la impresora fiscal Hasar (no todos los modelos permiten la conexión de tal dispositivo).
Ejemplo de uso:
· Válido para todas las versiones del OCX Fiscal Hasar
…
HASAR1.CerrarComprobanteFiscal
HASAR1.AbrirCajonDeDinero
…
Página 26 de 126
AbrirComprobanteFiscal( )
METODO
Disponible en versiones: v010724 (y posteriores).
String de comando: OpenFiscalRreceipt
Argumentos:
comprob Obligatorio. Permite indicar el tipo de documento fiscal que se desea abrir.
Este método le permite al software de gestión para puntos de venta abrir un documento
fiscal (DF) de entre los que se incluyen en la siguiente tabla de constantes embebidas:
TIPO DE DF
FACTURA_A
FACTURA_B
NOTA_DEBITO_A
NOTA_DEBITO_B
RECIBO_A
RECIBO_B
TICKET_C
TICKET_FACTURA_A
TICKET_FACTURA_B
TICKET_NOTA_DEBITO_A
TICKET_NOTA_DEBITO_B
DECIMAL
48
49
68
69
97
98
84
65
66
50
51
HEXA
30
31
44
45
61
62
54
41
42
32
33
El desarrollador debe tener presente
que no todos los documentos incluidos en la tabla de la izquierda pueden ser emitidos sobre todos los modelos y versiones de impresoras fiscales Hasar.
Todas las constantes embebidas que
comienzan con “TICKET_” identifican
documentos fiscales que pueden emitirse mediante impresoras fiscales
Hasar tiqueadoras (rollo de papel).
Todas las constantes embebidas que no comienzan con “TICKET_“ identifican documentos
fiscales que pueden emitirse mediante impresoras fiscales Hasar de página completa
(formularios continuos u hojas sueltas).
Todas las constantes embebidas incluidas en la tabla anterior identifican documentos fiscales que pueden emitirse mediante impresoras fiscales Hasar CIF (centros integrales de
facturación –rollo de papel, formularios continuos u hojas sueltas-).
Ejemplos de uso:
· Valido para el OCX Fiscal Hasar v051122 (y anteriores).
Dim comprob As DocumentosFiscales
Dim doc As TiposDeDocumento
Dim respons As TiposDeResponsabilidades
…
comprob = FACTURA_A
doc = TIPO_CUIT
respons = RESPONSABLE_INSCRIPTO
…
HASAR1.DatosCliente “Razón Social…”, “99999999995”, doc, respons, “Domicilio…”
Página 27 de 126
HASAR1.AbrirComprobanteFiscal comprob
…
Es importante que el desarrollador de software de gestión para puntos de venta considere:
Algunos documentos fiscales exigen, para poder ser abiertos, un comando previo con
los datos del receptor del comprobante.
Por ejemplo, no es necesario para la apertura de tiques a consumidores finales (TICKET_C), es obligatorio para comprobantes clase ‘A’, y puede se optativo u obligatorio
para comprobantes ‘B’. Este último caso depende el modelo de impresora fiscal
Hasar.
Que algunos tipos de comprobantes se encuentran limitados por la normativa fiscal vigente en cuanto al monto máximo que pueden alcanzar.
Por ejemplo,
▪ Tiques factura.
La impresora fiscal es la responsable de controlar que el software de gestión para
puntos de venta no supere el límite de $10000.00 (pesos diez mil).
▪ Tiques factura ‘B’ a consumidores finales, sin nominar.
La impresora fiscal es la responsable de controlar que el software de gestión para
puntos de venta no supere el límite de $1000.00 (pesos un mil).
▪ Tiques a consumidores finales (TICKLET_C).
El software de gestión para puntos de venta es el responsable de controlar que
las ventas no superen el límite de $1000.00 (pesos un mil).
Los montos máximos indicados son los exigidos por la normativa fiscal vigente.
Dichos montos pueden ser modificados en el futuro.
Página 28 de 126
AbrirComprobanteNoFiscal( )
METODO
Disponible en versiones: v010724 (y posteriores).
String de comando: OpenNonFiscalReceipt
Argumentos:
estacion Opcional. Permite seleccionar la estación de impresión. Si se omite, el OCX Fiscal Hasar asume el valor ESTACION_TICKET.
Argumento disponible en versiones v051122 (y posteriores)
Este método le permite al software de gestión para puntos de venta abrir un documento
no fiscal (DNF) en alguna de las estaciones de impresión disponibles en la impresora fiscal
Hasar. Las estaciones de impresión posibles se identifican mediante las constantes embebidas incluidas en la siguiente tabla:
ESTACIONES DE IMPRESION
ESTACION_SLIP
ESTACION_TICKET
DECIMAL
83
84
HEXA Las constantes embebidas que se inclu53
yen en la tabla de la izquierda no están
54
disponibles en la versión v010724 (y anteriores) del OCX Fiscal Hasar.
Cuando el argumento estacion toma el valor ESTACION_SLIP el comprobante no fiscal es
abierto en la llamada tercera estación de impresión, disponible sobre los siguientes modelos de impresoras fiscales Hasar: SMH/P-PR4F, SMH/P-PR5F, SMH/P-425F, o SMH/P-435F.
Ejemplos de uso:
· Valido para el OCX Fiscal Hasar v010724 (y anteriores)
…
HASAR1.AbrirComprobanteNoFiscal
…
Si haciendo uso de esta versión del OCX Fiscal Hasar el software de gestión para puntos de
venta requiriese emitir un comprobante a través de la tercera estación de impresión, deberá emlear el método AbrirComprobanteNoFiscalEnSlip( ).
· Valido para el OCX Fiscal Hasar v051122
Dim estacion As TiposDeEstacion
Estacion = ESTACION_TICKET
…
HASAR1.AbrirComprobanteNoFiscal estacion
…
Página 29 de 126
El uso destinado al documento no fiscal es libre en formato tique. Sin embargo, en formato de hoja suelta o formulario contínuo, el uso del documento está restringido a los
indicados por la RG AFIP 259/98 (sus modificatorias y/o complementarias).
Página 30 de 126
AbrirComprobanteNoFiscalEnSlip( )
METODO
Disponible en versiones: v010724 (y anteriores).
v051122 (y posteriores) DEPRECADO
String de comando: OpenNonFiscalSlip
Argumentos: No requiere.
Este método le permite al software de gestión para puntos de venta abrir un documento
no fiscal (DNF) en la tercera estación de impresión de los siguientes modelos de impresoras fiscal Hasar: SMH/P-PR4F, SMH/P-PR5F, SMH/P-425F, o SMH/P-435F.
Ejemplos de uso:
· Valido para el OCX Fiscal Hasar v010724 (y anteriores)
…
HASAR1.AbrirComprobanteNoFiscalEnSlip
…
El uso destinado al documento no fiscal en formato de hoja suelta o formulario contínuo está restringido a los indicados por la RG AFIP 259/98 (sus modificatorias y/o complementarias).
Página 31 de 126
AbrirComprobanteNoFiscalHomologado( )
METODO
Disponible en versiones: v010724 (y anteriores).
v051122 (y posteriores) DEPRECADO
String de comando: OpenDNFH
Argumentos:
docum Obligatorio. Permite especificar el tipo de comprobante que se desa abrir.
nro
Opcional / Obligatorio. Permite especificar el número que se le asignará al comprobante.
En el caso de emisión de Notas de Crédito o Remitos, este argumento puede omitirse debido a que la obligación de numerarlos recae sobre la impresora fiscal,
cualquiera sea el fabricante, según la normativa fiscal vigente.
Para el resto de los comprobantes, posibles de ser abiertos con este método, la
numeración es obligación del software de gestión para puntos de venta.
Este método le permite al software de gestión para puntos de venta abrir un documento
no fiscal homologado (DNFH) de entre los que se incluyen en la siguiente tabla de constantes embebidas:
TIPO DE DNFH
CARGO_HABITACION
COTIZACION
NOTA_CREDITO_A
NOTA_CREDITO_B
ORDEN_SALIDA
RECIBO_X
REMITO
RESUMEN_CUENTA
DECIMAL HEXA
85
55
117
75
El desarrollador de software de gestión para
82
52
puntos de venta debe tener presente que no to83
53
dos los documentos incluidos en la tabla de la iz
115
73
quierda pueden ser emitidos sobre todos los mo
120
78
delos y versiones de impresoras fiscales Hasar.
114
72
116
74
Ejemplos de uso:
· Valido para el OCX Fiscal Hasar v010724 (y anteriores)
Dim docum As DocumentosNoFiscales
Dim doc As TiposDeDocumento
Dim respons As TiposDeResponsabilidades
Dim linea As Long
Dim original As String
…
docum = NOTA_CREDITO_A
…
doc = TIPO_CUIT
respons = RESPONSABLE_INSCRIPTO
…
Página 32 de 126
linea = 1
original = “0001-00000123”
…
HASAR1.InformacionRemito(linea) = original
HASAR1.DatosCliente “Razón Social…”, “99999999995”, doc, respons, “Domicilio…”
HASAR1.AbrirComprobanteNoFiscalHomologado docum
…
Para la versión v051122 (y posteriores) del OCX Fiscal Hasar ver el método AbrirDNFH( ).
Notar en el ejemplo anterior que para poder abrir una Nota de Crédito se requieren dos
comandos previos:
· SetEmbarkNumber, que lo genera la propiedad InformacionRemito( ).
Vinculación a un comprobante original.
En la versión v051122 (y posteriores) del OCX Fiscal Hasar la propiedad que genera este
comando pasa a llamarse DocumentoDeReferencia( ).
· SetCustomerData, que lo genera el método DatosCliente( ).
Datos del comprador.
Algunos documentos no fiscales homologados exigen, para poder ser abiertos, un comando previo con los datos del receptor del comprobante.
Por ejemplo, es obligatorio para comprobantes clase ‘A’, y puede se optativo u obligatorio para comprobantes ‘B’. Este último caso depende el modelo de impresora fiscal
Hasar.
Que algunos tipos de comprobantes se encuentran limitados por la normativa fiscal vigente en cuanto al monto máximo que pueden alcanzar.
Por ejemplo,
▪ Notas de crédito ‘B’ a consumidores finales, con datos incompletos (falta especificar tipo y número de documento del comprador).
La impresora fiscal es la responsable de controlar que el software de gestión para
puntos de venta no supere el límite de $1000.00 (pesos un mil).
El monto máximo indicado es el exigido por la normativa fiscal vigente.
Dicho monto puede ser modificado en el futuro.
Página 33 de 126
AbrirDNFH( )
METODO
Disponible en versiones: v051122 (y posteriores).
String de comando: OpenDNFH
Argumentos:
docum Obligatorio. Permite especificar el tipo de comprobante que se desa abrir.
nro
Opcional / Obligatorio. Permite especificar el número que se le asignará al comprobante.
En el caso de emisión de Notas de Crédito o Remitos, este argumento puede omitirse debido a que la obligación de numerarlos recae sobre la impresora fiscal,
cualquiera sea el fabricante, según la normativa fiscal vigente.
Para el resto de los comprobantes, posibles de ser abiertos con este método, la
numeración es obligación del software de gestión para puntos de venta.
Este método le permite al software de gestión para puntos de venta abrir un documento
no fiscal homologado (DNFH) de entre los que se incluyen en la siguiente tabla de constantes embebidas:
TIPO DE DNFH
ADELANTO_REMUNERACION
CARGO_HABITACION
CLAUSULA_CREDITO
CLAUSULA_SEGURO
COMUNICACIÓN_CLIENTE
COTIZACION
INGRESO_EGRESO_SUCURSAL
MINUTA_CREDITO
NOTA_CREDITO_A
NOTA_CREDITO_B
OFRECIMIENTO_CREDITO
OFRECIMIENTO_PASAPORTE
OFRECIMIENTO_TARJETA
ORDEN_SALIDA
PAGARE
POLIZA_SEGURO
RECIBO_X
RECORDATORIO
REMITO
RENOVACION_CREDITO
RESCATE_MERCADERIA
RESUMEN_CUENTA
SOLICITUD_CLAVE_TARJETA
SOLICITUD_CREDITO
SOLICITUD_TARJETA_DEBITO
TICKET_AVISO_OPERACION_CREDITO
TICKET_COBRO_SERVICIO
DECIMAL
39
85
58
59
33
117
43
36
82
83
34
37
35
115
60
61
120
62
114
38
42
116
41
63
40
70
47
HEXA
27
55
3A
3B
21
75
2B
24
52
53
22
25
23
73
3C
3D
78
3E
72
26
2A
74
29
3F
28
46
2F
Página 34 de 126
TICKET_CUPON_PROMOCION
TICKET_ENTREGA
TICKET_ESTACIONAMIENTO
TICKET_INGRESO_DINERO
TICKET_NOTA_CREDITO_A
TICKET_NOTA_CREDITO_B
TICKET_PAGARE
TICKET_PRESUPUESTO
TICKET_RECIBO_X
TICKET_RETIRO_DINERO
TICKET_TALON_CAMBIO
TICKET_TALON_CUENTA_CORRIENTE
TICKET_TALON_REGALO
TICKET_TALON_REPARTO
TICKET_USO_INTERNO_FARMACIA
71
45
46
64
52
53
55
44
54
65
66
69
68
67
72
47
2D
2E
40
34
35
37
2C
36
41
42
45
44
43
48
El desarrollador de software de gestión para puntos de venta debe tener presente que no
todos los documentos incluidos en la tabla anterior pueden ser emitidos sobre todos los
modelos y versiones de impresoras fiscales Hasar.
Ejemplos de uso:
· Valido para el OCX Fiscal Hasar v051122 (y posteriores)
Dim docum As DocumentosNoFiscales
Dim doc As TiposDeDocumento
Dim respons As TiposDeResponsabilidades
Dim linea As Long
Dim original As String
…
docum = NOTA_CREDITO_A
…
doc = TIPO_CUIT
respons = RESPONSABLE_INSCRIPTO
…
linea = 1
original = “0001-00000123”
…
HASAR1.DocumentoDeReferencia(linea) = original
HASAR1.DatosCliente “Razón Social…”, “99999999995”, doc, respons, “Domicilio…”
HASAR1.AbrirDNFH docum
…
Para la versión v010724 (y anteriores) del OCX Fiscal Hasar ver el método AbrirComprobanteNoFiscalHomologado( ).
Página 35 de 126
Notar en el ejemplo anterior que para poder abrir una Nota de Crédito se requieren dos
comandos previos:
· SetEmbarkNumber, que lo genera la propiedad DocumentoDeReferencia( ).
Vinculación a un comprobante original.
En la versión v010724 (y anteriores) del OCX Fiscal Hasar la propiedad que genera este
comando se llamaba InformacionRemito( ).
· SetCustomerData, que lo genera el método DatosCliente( ).
Datos del comprador.
Algunos documentos no fiscales homologados exigen, para poder ser abiertos, un comando previo con los datos del receptor del comprobante.
Por ejemplo, es obligatorios para comprobantes clase ‘A’, ‘B/C’ (Notas de Crédito y
Tiques Nota de crédito).
Que algunos tipos de comprobantes se encuentran limitados por la normativa fiscal vigente en cuanto al monto máximo que pueden alcanzar.
Por ejemplo,
▪ Tiques Nota de Crédito / Notas de crédito.
La impresora fiscal es la responsable de controlar que el software de gestión para
puntos de venta no supere el límite de $10000.00 (pesos diez mil).
▪ Tiques Nota de Crédito / Notas de Crédito ‘B’ a consumidores finales, con datos
incompletos (falta indicar tipo y número de documento del cliente).
La impresora fiscal es la responsable de controlar que el software de gestión para
puntos de venta no supere el límite de $1000.00 (pesos un mil).
Los montos máximos indicados son los exigidos por la normativa fiscal vigente.
Dichos montos pueden ser modificados en el futuro.
Página 36 de 126
ApagarIndicadorDeTambor( )
METODO
Disponible en versiones: v051122 (y posteriores).
String de comando: SetConfigPage
Argumentos: No requiere.
Este método le permite al software de gestión para puntos de venta apagar el LED de aviso de recambio de tambor.
El comando que se genera es aplicación sobre modelos y versiones de impresoras fiscales
Hasar láser; en particular, sólo para la línea SMH/PL-23F.
Ejemplos de uso:
· Valido para el OCX Fiscal Hasar v051122 (y posteriores)
…
HASAR1.ApagarIndicadorDeTambor
…
Página 37 de 126
AutodetectarControlador( )
METODO
Disponible en versiones: v010724 (y posteriores).
String de comando: StatusRequest
Argumentos:
puerto
Obligatorio en el OCX Fiscal Hasar v010724 (y anteriores).
Opcional para la versión v051122 (y posteriores)
Permite indicarle al software de gestión para puntos de venta la identificación
del conector correspondiente al vínculo empleado.
RS-232
Identifica al puerto serie (1 = COM1, 2 = COM2, etc.).
Ethernet
Identifica al socket correspondiente al COM incluido en un conversor Ethernet / RS-232 donde se conecta la impresora fiscal Ha
sar.
En el OCX Fiscal Hasar v010724 solamente es posible indicar un puerto RS232. En la versión v051122 (y posteriores) la interpretación del valor de puerto está asociada a la propiedad Transporte( ) del OCX Fiscal Hasar.
Si este argumento se omite –sólo v051122 (y posteriores)-, el método AutodetectarControlador( ) asume el valor configurado en la propiedad Puerto( ).
Este método permite al software de gestión para puntos de venta determinar la velocidad
(en baudios) a la que se encuentra trabajando el puerto serie de la impresora fiscal Hasar,
para así poder dialogar por ella, ya sea que esté conectada al puerto serie del host, o a un
puerto serie de un conversor Ethernet / RS-232 –versión v051122 (y posteriores) del OCX
Fiscal Hasar-.
La verificación de conexión se realiza a todas las velocidades posibles sobre el puerto indicado por el software de gestión para puntos de venta.
Este método del OCX Fiscal Hasar genera y envía a la impresora fiscal Hasar el string del
comando StatusRequest, el cual es inocuo desde el punto de vista de impresión de comprobantes, acumulaciones de montos, y/o control de numeradores; pero permite determinar la existencia de comunicación entre el software de gestión para puntos de venta, y
la impresora fiscal Hasar. El envío del comando StatusRequest es transparente para el
software de gestión para puntos de venta, salvo por la excepción que se genera si la impresora fiscal Hasar no es detectada.
Cada intento del método AutodetectarControlador( ) por establecer conexión con la impresora fiscal Hasar a una nueva velocidad equivale a invocar al método Comenzar( ), sabiendo de antemano la velocidad a emplear (valor previamente configurado en la propiedad Baudios( )). En cada uno de dichos intentos el OCX Fiscal Hasar dispara el evento ProgresoDetección( ).
Página 38 de 126
Si el método AutodetectarControlador( ) no fracasa, la propiedad Baudios( ) quedará configurada con la velocidad, de puerto serie, a la cual fue detectada. En caso contrario se
genera una excepción.
A la salida de fábrica la velocidad de comunicación serie configurada en las impresoras fiscales Hasar es de 9600 baudios. En la mayoría de los modelos es posible optar por trabajar
a otras velocidades –para ello el software de gestión para puntos de venta cuenta con la
propiedad Baudios( ) (para el host) y el método CambiarVelocidad( ) (que afecta a la impresora fiscal Hasar)-.
Ejemplos de uso:
· Valido para el OCX Fiscal Hasar v010724 (y anteriores)
…
HASAR1.Puerto = 1
…
HASAR1.AutodetectarControlador HASAR1.Puerto
…
En el ejemplo anterior se intenta iniciar comunicación a través del puerto serie del host.
· Valido para el OCX Fiscal Hasar v051122 (y posteriores)
Dim transp As TiposDeTransporte
…
transp = PUERTO_SERIE
…
HASAR1.Puerto = 1
HASAR1.Transporte = transp
…
HASAR1.AutodetectarControlador
…
En este ejemplo se intenta iniciar comunicación via LAN, pasando por un conversor Ethernet / RS-232. La dirección de IP corresponde a dicho conversor.
NOTAS:
· No debe emplear el método AutodetectarControlador( ) si la propiedad Transporte( ) no
se encuentra configurada como PUERTO_SERIE.
· El uso del método AutodetectarControlador( ) implica que no se necesita invocar al método Comenzar( ).
Página 39 de 126
AutodetectarModelo( )
METODO
Disponible en versiones: v051122 (y posteriores).
String de comando: GetPrinterVersion
Argumentos: No requiere.
Este método permite al software de gestión para puntos de venta determinar -de ser ello
posible- el modelo y versión de impresora fiscal Hasar con que se ha establecido conexión.
El método AutodetectarModelo( ) debe ser invocado con posterioridad a finalización éxitosa del métdodo Comenzar( ), o del método AutodetectarControlador( ), según corresponda.
Determinado el modelo y versión de impresora fiscal Hasar, el OCX Fiscal Hasar configura
automáticamente la propiedad Modelo( ) con la constante embebida adecuada.
Si el modelo de impresora fiscal Hasar no pudo ser identificado por el método AutodetectarModelo( ) –se genera una excepción-, el valor de la propiedad Modelo( ) será indeterminado, y deberá ser modificado por el software de gestión para puntos de venta.
Ejemplo de uso:
· Valido para el OCX Fiscal Hasar v051122 (y posteriores)
Dim transp As TiposDeTransporte
…
transp = PUERTO_SERIE
…
HASAR1.Puerto = 1
HASAR1.Transporte = transp
…
HASAR1.AutodetectarControlador
HASAR1.AutodetectarModelo
…
Página 40 de 126
AvanzarPapel( )
METODO
Disponible en versiones: v010724 (y posteriores).
String de comando: FeedReceipt, FeedJournal, o FeedReceiptJournal
(el comando a generar depende del argumento papel)
Argumentos:
papel
Obligatorio. Permite indicar si se avanza papel en la estación de impresión de
comprobantes para el cliente, en la estación de impresión de la cinta testigo, o
sobre ambas.
lineas
Obligatorio. Permite indicar la cantidad de líneas de avance de papel.
Este método permite al software de gestión para puntos de venta realizar avances de papel cuando necesite dejar líneas en blanco. El método AvanzarPapel( ) no es aplicable sobre todos los comprobantes posibles de emitir, ni está disponible en todos los modelos de
impresoras fiscales Hasar (por ejemplo, los que solamente emiten comprobantes sobre for
mularios continuos u hojas sueltas –modelos de página completa-).
TIPOS DE PAPEL
PAPEL_DIARIO
PAPEL_TICKET
PAPEL_TICKET_Y_DIARIO
DECIMAL HEXA La tabla de la izquierda contiene las cons1
1
tantes embebidas que pueden emplearse co
0
0
mo valores posibles del argumento papel al
2
2
invocar al método AvanzarPapel( ).
Ejemplo de uso:
· Valido para el OCX Fiscal Hasar v010724 (y posteriores)
Dim papel As TiposDePapel
Dim lineas As Long
…
papel = PAPEL_TICKET
lineas = 3
…
HASAR1.AvanzarPapel papel, lineas
…
Página 41 de 126
BajaFiscal( )
METODO
Disponible en versiones: v010724 (y posteriores).
String de comando: KillEpromFiscal
Argumentos:
nreg
En la versión v010724 del OCX Fiscal Hasar, este argumento no existe.
A partir de la versión v051122 es optativo (no todos los modelos de impresoras fiscales Hasar exigen este dato en la generación del string de comando).
Permite indicar el número de registro con el cual fue inicializada la impresora fiscal (por el técnico fiscal autorizado).
El software de gestión para puntos de venta debe tener la capacidad de poder ejecutar, bajo
estrictos controles de acceso, la baja de la memoria fiscal que posee la impresora fiscal Hasar. Puede ocurrir que en presencia y a pedido de la autoridad fiscal competente, como resultado de controles realizados por dicha autoridad, ésta solicite dar la baja de la memoria
fiscal. Si bien existe todo un procedimiento administrativo y técnico para concretar la baja
de una memoria fiscal, en casos muy excepcionales el software de gestión para puntos de
venta debe estar en condiciones de resolver la parte técnica de dicho procedimiento (a realizar siempre en presencia y a pedido de la autoridad fiscal competente).
Ejemplos de uso:
· Valido para el OCX Fiscal Hasar v010724 (y anteriores)
…
HASAR1.BajaFiscal
…
· Valido para el OCX Fiscal Hasar v051122 (y posteriores)
Dim nreg As Variant
…
Nreg = “HHW1234567”
…
HASAR1.BajaFiscal nreg
…
Página 42 de 126
BorrarDocumentoDeReferencia( )
METODO
Disponible en versiones: v051122 (y posteriores).
String de comando: SetEmbarkNumber
Argumentos: No requiere.
Este método permite al software de gestión para puntos de venta eliminar de la memoria
de trabajo de la impresora fiscal Hasar todas las líneas de textos memorizadas que hacen
referencia a comprobantes originales. Esta líneas son cargadas mediante la propiedad DocumentoDeReferencia( ) para que se impriman en el encabezado del comprobante acompañando a la leyenda “Comprobante Original Nº: “.
Ejemplo de uso:
· Valido para el OCX Fiscal Hasar v051122 (y posteriores)
…
HASAR1.BorrarDocumentoDeReferencia
…
Si el software de gestión para puntos de venta necesitare borrar alguna/s, y no todas, las
líneas memorizadas deberá recurrir al uso de la propiedad DocumentoDeReferencia( ).
Página 43 de 126
BorrarFantasiaEncabezadoCola( )
METODO
Disponible en versiones: v051122 (y posteriores).
String de comando: SetHeaderTrailer
Argumentos:
fantas
Obligatorio. Permite indicar si se eliminan de la memoria de trabajo de la impresora fiscal Hasar todas las líneas de texto cargadas como nombre de fantasía. Los valores posibles para este argumento son:
verdadero
falso
encab
Obligatorio. Permite indicar si se eliminan de la memoria de trabajo de la impresora fiscal Hasar todas las líneas cargadas texto de encabezado. Los valores
posibles para este argumento son:
verdadero
falso
cola
Eliminar todas las líneas.
Ignorar.
Eliminar todas las líneas.
Ignorar.
Obligatorio. Permite indicar si se eliminan de la memoria de trabajo de la impresora fiscal Hasar todas las líneas cargadas como texto de cola. Los valores
posibles para este argumento son:
verdadero
falso
Eliminar todas las líneas.
Ignorar.
Este método permite al software de gestión para puntos de venta eliminar de la memoria
de trabajo de la impresora fiscal Hasar todas las líneas de textos memorizadas que hacen
referencia a:
· Líneas 1 y 2. Nombre de fantasía (encabezado del comprobante).
Colocando en verdadero el argumento fantas.
Estas líneas fueron cargadas en la memoria de trabajo de la impresora fiscal Hasar mediante la propiedad NombreDeFantasia( ).
· Líneas 1 a 10. Textos de encabezado de comprobante.
Colocando en verdadero el argumento encab.
Estas líneas fueron cargadas en la memoria de trabajo de la impresora fiscal Hasar mediante la propiedad Encabezado( ).
· Líneas 11 a 20. Textos de cola de comprobante.
Colocando en verdadero el argumento cola.
Estas líneas fueron cargadas en la memoria de trabajo de la impresora fiscal Hasar mediante la propiedad Encabezado( ).
Ejemplo de uso:
Página 44 de 126
· Valido para el OCX Fiscal Hasar v051122 (y posteriores)
…
HASAR1.BorrarFantasiaEncabezadoCola False, False, True
…
El ejemplo anterior mantiene (de estar cargadas) en la memoria de trabajo de la impresora fiscal Hasar, todas las líneas de fantasía, todas las de encabezado, pero elimina todas
las de cola.
Si el software de gestión para puntos de venta necesitare borrar alguna/s, y no todas, las
líneas memorizadas deberá recurrir al uso de las propiedades NombreDeFantasia( ), y/o
Encabezado( ), según corresponda..
Página 45 de 126
CambiarCodigoIngresosBrutos( )
METODO
Disponible en versiones: v051122 (y posteriores).
String de comando: ChangeIBNumber
Argumentos:
nroIB
Obligatorio. Permite indicar el número de inscripción en Ingresos Brutos correspondiente al titular de la impresora fiscal Hasar.
El software de gestión para puntos de venta debería ofrecer al usuario, mediante estrictos
controles de acceso, la posibilidad de modificar su número de inscripción en ingresos brutos,
si tal cambio legalmente se produce.
Este método permite al software de gestión para puntos de venta modificar el número de
inscripción en Ingresos Brutos correspondiente al titular de la impresora fiscal Hasar; dato
que se encuentra grabado en la memoria fiscal del equipo.
El desarrollador debe tener presente que no todos los modelos y versiones de impresoras
fiscales Hasar soportan la modificación de este dato.
Ejemplo de uso:
· Valido para el OCX Fiscal Hasar v051122 (y posteriores)
Dim nroIB As String
…
nroIB = “IIBB-123456789012345”
…
HASAR1.ReporteZ
HASAR1.CambiarCodigoIngresosBrutos nroIB
…
El método CambiarCodigoIngresosBrutos( ) exige haber realizado previamente el cierre
diario "Z" para poder ejecutarse sin inconvenientes.
El método CambiarCodigoIngresosBrutos( ) puede ser utilizado hasta un máximo de 5 (cinco) veces en la vida útil de la memoria fiscal de la impresora fiscal Hasar.
Página 46 de 126
CambiarFechaInicioActividades( )
METODO
Disponible en versiones: v051122 (y posteriores).
String de comando: ChangeBussinessStartupDate
Argumentos:
fecha
Obligatorio. Permite indicar la fecha de inicio de actividades correspondiente al
titular de la impresora fiscal Hasar.
El software de gestión para puntos de venta debería ofrecer al usuario, mediante estrictos
controles de acceso, la posibilidad de modificar su fecha de inicio de actividades, si tal cambio legalmente se produce. Por ejemplo, al mudar la impresora fiscal Hasar de un local comercial a otro.
Este método permite al software de gestión para puntos de venta modificar la fecha de
inicio de actividades correspondiente al titular de la impresora fiscal Hasar; dato que se
encuentra grabado en la memoria fiscal del equipo.
El desarrollador debe tener presente que no todos los modelos y versiones de impresoras
fiscales Hasar soportan la modificación de este dato.
Ejemplo de uso:
· Valido para el OCX Fiscal Hasar v051122 (y posteriores)
Dim fecha As Date
…
fecha = “01/01/2010”
…
HASAR1.ReporteZ
HASAR1.CambiarFechaInicioActividades fecha
…
El método CambiarFechaInicioActividades( ) exige haber realizado previamente el cierre
diario "Z" para poder ejecutarse sin inconvenientes.
El método CambiarFechaInicioActividades( ) puede ser utilizado hasta un máximo de 5
(cinco) veces en la vida útil de la memoria fiscal de la impresora fiscal Hasar.
Página 47 de 126
CambiarResponsabilidadIVA( )
METODO
Disponible en versiones: v010724 (y posteriores).
String de comando: ChangeIVAResponsability
Argumentos:
respons
Obligatorio. Permite indicar la responsabilidad frente a IVA correspondiente al
titular de la impresora fiscal Hasar.
El software de gestión para puntos de venta debería ofrecer al usuario, mediante estrictos
controles de acceso, la posibilidad de modificar la responsabilidad frente a IVA del emisor,
si tal cambio legalmente se produce.
Este método permite al software de gestión para puntos de venta modificar la responsabilidad frente a IVA correspondiente al titular de la impresora fiscal Hasar; dato que se encuentra grabado en la memoria fiscal del equipo.
El desarrollador debe tener presente que no todos los modelos y versiones de impresoras
fiscales Hasar soportan la modificación de este dato.
RESPONSABILIDADES IVA
CLASE_MONOTRIBUTO
CLASE_MONOTRIBUTO_SOCIAL
♦
CLASE_NO_RESPONSABLE
CLASE_RESPONSABLE_EXENTO
CLASE_RESPONSABLE_INSCRIPTO
CLASE_RESPONSABLE_NO_INSCRIPTO ●
DECIMAL HEXA En la tabla de la izquierda se
77
4D
listan todas las constantes
83
53
embebidas en el OCX Fiscal
Hasar.
65
41
El argumento respons debe
69
45
tomar alguno de estos valo73
49
res.
78
4E
♦ Esta responsabilidad frente a IVA (constante embebida que la identifica) no se encuentra disponible en el OCX Fiscal Hasar v010724.
● Esta responsabilidad frente a IVA (constante embebida que la identifica) se encuentra
en desuso, de acuerdo a la normativa fiscal vigente.
Ejemplo de uso:
· Valido para el OCX Fiscal Hasar v010724 (y posteriores)
Dim respons As TiposResponsabilidadImpresor
…
respons = CALSE_RESPONSABLE_INSCRIPTO
…
HASAR1.ReporteZ
HASAR1.CambiarResponsabilidadIVA respons
…
Página 48 de 126
El método CambiarResponsabilidadIVA( ) exige haber realizado previamente el cierre diario "Z" para poder ejecutarse sin inconvenientes.
El método CambiarResponsabilidadIVA( ) puede ser utilizado hasta un máximo de 5 (cinco)
veces en la vida útil de la memoria fiscal de la impresora fiscal Hasar.
Página 49 de 126
CambiarVelocidad( )
METODO
Disponible en versiones: v010724 (y posteriores).
String de comando: SetComSpeed
Argumentos:
veloc
Obligatorio. Permite indicar la velocidad -en baudios- que se establecerá para
las comunicaciones el puerto serie de la impresor fiscal Hasar.
El desarrollador debe tener presente que no todos los modelos y versiones de impresoras
fiscales Hasar soportan la modificación de esta configuración.
También debe tener presente que se trata de un comando destinado a la impresora fiscal,
por lo tanto no modifica la velocidad para las comunicaciones del puerto serie del host.
BAUDIOS
1200
2400
4800
9600
19200
38400
57600
115200
La tabla de la izquierda contiene la lista de posibles valores que puede tomar
el argumento veloc. Estos valores son los únicos soportados por las impresoras
fiscales Hasar.
Al modificarse la velocidad de las comunicaciones del puerto serie de la impresora fiscal Hasar, el software de gestión para puntos de venta pierde conexión
para continuar generando y enviando comandos. Para retomar las comunicaciones se debe dar por finalizada la sesión de trabajo (en algún punto invocar
al método Finalizar( )), y modificar la propiedad Baudios( ) del OCX Fiscal Hasar antes de dar inicio a una nueva sesión de trabajo.
Ejemplos de uso:
· Valido para el OCX Fiscal Hasar v010724 (y anteriores)
Dim veloc As Long
…
Veloc = 19200
…
HASAR1.CambiarVelocidad veloc
HASAR1.Finalizar
…
HASAR1.Baudios = veloc
HASAR1.Puerto = 1
HASAR1.Comenzar
…
En la versión v010724 del OCX Fiscal Hasar el correcto valor de la propiedad Baudios( ) es
responsabilidad del desarrollador del software de gestión para puntos de venta.
Página 50 de 126
· Valido para el OCX Fiscal Hasar v051122 (y posteriores)
Dim veloc As Long
…
Veloc = 19200
…
HASAR1.CambiarVelocidad veloc
HASAR1.Finalizar
…
HASAR1.Puerto = 1
HASAR1.AutodetectarControlador
…
En la versión v051122 del OCX Fiscal Hasar la propiedad Baudios( ) también puede configurarla directamente el software de gestión para puntos de venta. Si embargo, el método
AutodetectarControlador( ) realiza esa tarea automáticamente.
Página 51 de 126
CancelarComprobante( )
METODO
Disponible en versiones: v010724 (y posteriores).
String de comando: Cancel
Argumentos: No requiere.
Este método permite al software de gestión para puntos de venta cancelar el comprobante en curso. Se entiende por cancelación la interrupción de la impresión –de ser posible-,
y la no acumulacion de valores (de haber correspondido). Si el comprobante cancelado
fuese alguno de los que son numerados por la impresora fiscal (documentos fiscales, notas
de crédito, tiques nota de crédito, o remitos), será considerado por ésta que dicho número ha sido utilizado (se incrementará en uno para el próximo comprobante).
El desarrolador debe tener presente que no en todos los modelos y versiones de impresoras fiscales Hasar es posible cancelar un comprobante con posterioridad al comando de
pago –método ImprimirPago( )- (y antes del comando de cierre –método Cerrar…( )-).
Ejemplo de uso:
· Valido para el OCX Fiscal Hasar v010724 (y posteriores)
…
HASAR1.CancelarComprobante
…
Página 52 de 126
CancelarComprobanteFiscal( )
METODO
Disponible en versiones: v010724 (y posteriores).
String de comando: Cancel, o TotalTender
Argumentos: No requiere.
Este método permite al software de gestión para puntos de venta cancelar el comprobante fiscal en curso. Se entiende por cancelación la interrupción de la impresión –de ser posible-, y la no acumulacion de valores (de haber correspondido). Será considerado por la
impresora fiscal Hasar que el número del comprobante fiscal cancelado ha sido utilizado
(se incrementará en uno para el próximo comprobante).
El desarrollador debe tener presente que no en todos los modelos y versiones de impresoras fiscales Hasar es posible cancelar un comprobante con posterioridad al comando de
pago –método ImprimirPago( )- (y antes del comando de cierre –método CerrarComprobanteFiscal( )-).
El OCX Fiscal Hasar generará el string del comando Cancel o TotalTender según corresponda, luego de haber consultado internamente el valor de la propiedad Modelo( ).
Ejemplo de uso:
· Valido para el OCX Fiscal Hasar v010724 (y posteriores)
…
HASAR1.CancelarComprobanteFiscal
…
Página 53 de 126
Capacidades( )
METODO
Disponible en versiones: v051122 (y posteriores).
String de comando: No genera.
Argumentos:
capac
Obligatorio. Permite indicar la capacidad de la impresora fiscal Hasar sobre la
cual se desea hacer la consulta.
subcap
Opcional. Permite indicar, para cada capacidad –de corresponder-, la subcapacidad de la impresora fiscal Hasar sobre la cual se desea hacer la consulta.
resul
Opcional. En los casos que el método retorna el valor verdadero, este argumento permite obtener información relativa a la capacidad (y subcapacidad, si así
fuese) respecto de la cual se ha hecho la consulta.
Permite al software de gestión para puntos de venta determinar –mediante el retorno de
un valor booleano (verdadero/falso)- si una característica dada está disponible en la impresora fiscal Hasar que se encuentra configurada en la propiedad Modelo( ).
CAPACIDADES
CAPACIDAD_CAJON
CAPACIDAD_DOCUMENTO_SLIP
CAPACIDAD_DOCUMENTO_TICKET
CAPACIDAD_ESTACION
CAPACIDAD_TEXTO_ENCABEZADO_COLA
CAPACIDAD_TEXTO_FISCAL
CAPACIDAD_TEXTO_NO_FISCAL
CAPACIDAD_TEXTO_VENTA
DECIMAL HEXA
3
3
La tabla de la izquierda con
0
0
tiene la lista de constantes
1
1
embebidas del OCX Fiscal
2
2
Hasar que identifican las ca
7
7
pacidades acerca de las cua
4
4
les el software de gestión
6
6
para puntos de venta puede
5
5
realizar una consulta.
SUBCAPACIDADES
DECIMAL HEXA La tabla de la izquierda contiene la lista de
SOPORTA_FACTURA
0
0
constantes embebidas del OCX Fiscal Hasar
SOPORTA_NOTA_CREDITO
1
1
que identifican las subcapacidades asociadas a las capacidades CAPACIDAD_DOCU
MENTO_SLIP y CAPACIDAD_DOCUMENTO_
TICKET.
Las subcapacidades anteriores hacen referencia a comprobantes fiscales que se emiten
sobre rollos de papel y/o formularios continuos u hojas sueltas.
Por ejemplo, invocar al método Capacidades( ) con los argumentos CAPACIDAD_DOCUMEN
TO_TICKET y SOPORTA_FACTURA, cuando la propiedad Modelo( ) toma el valor MODELO_P435, retornará verdadero (la impresora fiscal Hasar modelo SMH/P-435F emite tiques
factura). Sin embargo, retornará falso si la propiedad Modelo( ) toma el valor MODELO_
272.
Página 54 de 126
SUBCAPACIDADES
ESTACION_SLIP
ESTACION_TICKET
DECIMAL
83
84
HEXA
53
54
La tabla de la izquierda contiene la lista de
constantes embebidas del OCX Fiscal Hasar que
identifican las subcapacidades asociadas a la capacidad CAPACIDAD_ESTACION.
Consultar por la capacidad CAPACIDAD_ESTACION le permite al software de gestión de
pauntos de venta saber el tipo de papel de impresión que admite la impresora fiscal
Hasar: rollo de papel, formularios continuos (u hojas sueltas), o ambas posibilidades.
Para la consulta respecto de la capacidad CAPACIDAD_CAJON no exísten subcapacidades
asociadas.
Para las capacidades CAPACIDAD_TEXTO_..... tampoco exísten subcapacidades asociadas.
Sin embargo, en estos casos resulta de utilidad el argumento opcional resul, ya que en caso que la consulta mediante el método Capacidades( ) retorne con valor verdadero, en el
argumento mencionado el OCX Fiscal Hasar entrega la longitud máxima que el texto puede alcanzar. En algunos casos puede llegar a imprimirse en un ancho de campo menor que
el indicado. Por ejemplo, para las impresoras fiscales de página completa (formularios
continuos u hojas sueltas) se acepta una longitud máxima de 120 caracteres, aunque en
las líneas 1 y 2 de encabezado se impriman solamente 50. Los valores que puede tomar el
argumento resul se muestran en la siguiente tabla:
IMPRESORAS
FISCALES HASAR
MODELO_614
MODELO_615
MODELO_PR4
MODELO_950
MODELO_951
MODELO_262
MODELO_PJ20
MODELO_P320
MODELO_715
MODELO_PR5
MODELO_272
MODELO_PPL8
MODELO_P321
MODELO_P322
MODELO_P425
MODELO_P425_201
MODELO_PPL8_201
MODELO_P322_201
MODELO_P330
MODELO_P435
MODELO_P330_201
MODELO_PPL9
MODELO_P330_202
MODELO_P435_101
MODELO_715_201
MODELO_PR5_201
MODELO_P435_102
MODELO_PPL23
MODELO_715_302
TEXTO
FISCAL
TIQUE
28
28
28
28
28
30
0
0
28
28
36
0
0
0
31
31
0
0
0
31
0
0
0
31
28
28
31
0
28
SLIP
0
0
0
0
0
0
50
50
0
0
0
50
50
50
50
50
50
50
50
50
50
50
50
50
0
0
50
50
0
VENTA
TIQUE
20
20
20
20
20
28
0
0
20
20
28
0
0
0
23
23
0
0
0
23
0
0
0
23
20
20
23
0
20
SLIP
0
0
0
0
0
0
50
50
0
0
0
50
50
50
50
50
50
50
50
50
50
50
50
50
0
0
50
50
0
NO FISCAL
TIQUE
40
40
40
40
40
48
0
0
40
40
48
0
0
0
45
45
0
0
0
45
0
0
0
45
40
40
45
0
40
SLIP
0
0
80
80
80
0
120
120
0
80
0
120
120
120
120
120
120
120
120
120
120
120
120
120
0
80
120
120
0
HEADER /
TRAILER
TIQUE SLIP
40
0
40
0
40
40
40
40
40
40
48
0
0
120
0
120
40
0
40
40
48
0
0
120
0
120
0
120
45
120
45
120
0
120
0
120
0
120
45
120
0
120
0
120
0
120
45
120
40
0
40
40
45
120
0
120
40
0
Página 55 de 126
TEXTO
IMPRESORAS FISCALES HASAR
MODELO_715_403
MODELO_P330_203
MODELO_441
MODELO_PPL23_101
MODELO_P435_203
MODELO_P1120
FISCAL
TIQUE
28
0
31
0
31
0
SLIP
0
50
0
50
50
50
VENTA
TIQUE
20
0
23
0
23
0
SLIP
0
50
0
50
50
50
NO FISCAL
TIQUE
40
0
45
0
45
0
SLIP
0
120
0
120
120
120
HEADER /
TRAILER
TIQUE SLIP
40
0
0
120
45
0
0
120
45
120
0
120
Las constantes embebidas de la primera columna respondes a los valores que puede tomar
la propiedad Modelo( ).
Ejemplo de uso:
· Valido para el OCX Fiscal Hasar v051122 (y posteriores)
Dim capac As CapacidadesSoportadas
Dim subcap As TiposDeDocumentoSoportado
Dim resul As Variant
…
capac = CAPACIDAD_DOCUMENTO_SLIP
subcap = SOPORTA_FACTURA
…
If (HASAR1.Capacidades(capac, subcap)) then
…
End If
…
capac = CAPACIDAD_TEXTO_VENTA
…
If (HASAR1.Capacidades(capac, , resul)) then
MsgBox “Venta: “ & resul & “ caracteres”
…
End If
…
Página 56 de 126
CapacidadRestante( )
METODO
Disponible en versiones: v010724 (y posteriores).
String de comando: HistoryCapacity
Argumentos:
cantz
No disponible en la versión v010724.
Opcional. Permite obtener la cantidad máxima de cierres diarios ‘Z’ que admite
(como registros) la memoria fiscal de la impresora fiscal Hasar en uso.
ultz
No disponible en la versión v010724.
Opcional. Permite obtener la cantidad de cierres diarios ‘Z’ realizados hasta el
momento.
Este método permite al software de gestión para puntos de venta determinar la cantidad
máxima de cierres diarios ‘Z’ (puede variar según el modelo de impresora fiscal) que es
posible realizar durante la vida útil de la memoria fiscal, además de saber que número le
corresponde al último cierre diario ‘Z’ realizado.
La diferencia entre la cantidad máxima y el último número de cierre diario ‘Z’ permite establecer la cantidad de cierres faltantes. Si bien éste parece ser un dato obvio, debe ser
tenido en cuenta por el desarrollador del software de gestión para puntos de venta, debido a que:
· Agotada la capacidad máxima de la memoria fiscal, la impresora fiscal Hasar inhabilita
la emisión de comprobantes (a excepción de reportes de auditoría y consultas de estado)
hasta tanto el equipo sea dado de baja.
· El procedimiento de baja y recambio de la memoria fiscal (alta de la nueva memoria fiscal) es de orden técnico y legal. Durante el período de tiempo que transcurre entre la baja de la memoria fiscal actual y el alta de la nueva memoria fiscal la impresora fiscal
Hasar no puede ser utilizada, debiéndose recurrir a otro punto de venta declarado ante
AFIP –que puede ser talonario preimpreso-).
Debido a lo anterior, es importante comenzar el proceso de recambio de memoria fiscal
con antelación al agotamiento de la capacidad de la memoria fiscal.
Al margen de los controles que instrumente el software de gestión para puntos de venta,
la impresora fiscal Hasar da aviso de memoria fiscal a punto de agotarse, treinta (30) cierres diarios ‘Z’ antes de que esto ocurra (y durante las jornadas comerciales posteriores).
El aviso de memoria fiscal a punto de agotarse es dado de dos formas:
▪
El OCX Fiscal Hasar genera el evento EventoFiscal( ). Esto ocurre a partir de la información contenida en el campo de estado fiscal de la respuesta a un comando enviado
a la impresora fiscal Hasar por el software de gestión para puntos de venta.
▪
Cada vez que se emite un cierre diario ‘Z’ imprime en la zona del pie la leyenda:
“Cierres remantes: nn“ (donde nn es la cantidad disponible).
Página 57 de 126
Ejemplos de uso:
· Valido para el OCX Fiscal Hasar v010724 (y anteriores)
Dim cantz As String
Dim ultz As String
…
HASAR1.CapacidadRestante
cantz = HASAR1.Respuesta(3)
ultz = HASAR1.Respuesta(4)
…
· Valido para el OCX Fiscal Hasar v051122 (y posteriores)
Dim cantz As Variant
Dim ultz As variant
…
HASAR1.CapacidadRestante cantz, ultz
…
Página 58 de 126
CargarLogo( )
METODO
Disponible en versiones: v010724 (y posteriores).
String de comando: StoreLogo, ResetLogo (según corresponda)
Argumentos:
archbmp
Obligatorio. Permite indicar la ubicación y el nombre del archivo que contiene la imagen a cargar en la memoria de trabajo de la impresora fiscal
Hasar; imagen que se imprimirá como logo en los comprobantes que se emitan.
Si este argumento es un string vacío el OCX Fiscal Hasar asume que la operación a realizar es la eliminación de la memoria de trabajo de la imagen
actualmente almacenada.
Este método permite al software de gestión para puntos de venta cargar en la memoria de
trabajo de la impresora fiscal Hasar una imagen proveniente de un archivo en formato
‘BMP’. Dicha imagen será impresa como logo del emisor en cada documento que se emita.
Mediante este método será posible, también, eliminar dicha imagen de la memoria de trabajo de la impresora fiscal Hasar.
Es importante tener en cuenta que no todos los modelos de impresoras fiscales Hasar admiten la impresión de logos en los comprobantes que se emitan.
Otro punto importante es que la operación de cargar (o eliminar) un logo debe ser inmediatamente posterior a la realización de un cierre diario ‘Z’.
Para que la operación de carga del logo finalice exitosamente, aun cuando los comandos
generados por el método CargarLogo( ) hayan sido aceptados por la impresora fiscal
Hasar, el archivo que contiene la imagen debe cumplir con ciertos requisitos, a saber:
1. El archivo contenedor de la imagen deber respetar el formato BMP.
2. El atributo del archivo debe ser blanco y negro (no confundir con archivo color e
imagen en blanco y negro).
3. Respetar las dimensiones especificadas en el manual de comandos correspondiente
a la impresora fiscal en uso, y en concordancia con el tamaño de papel a emplear.
Ejemplos de uso:
· Validos para el OCX Fiscal Hasar v010724 (y posteriores)
Dim archbmp As String
…
archbmp = “c:\fiscal\logo.bmp”
Página 59 de 126
…
HASAR1.ReporteZ
HASAR1.CargarLogo archbmp
…
En este ejemplo se ha cargado en la memoria de trabajo de la impresora fiscal Hasar la
imagen contenida en el archivo “logo.bmp”, ubicado en el directorio “c:\fiscal” del host.
Dim archbmp As String
…
archbmp = “”
…
HASAR1.ReporteZ
HASAR1.CargarLogo archbmp
…
En este otro ejemplo se ha eliminado de la memoria de trabajo de la impresora fiscal
Hasar la imagen que pudiese estar alamcenada.
Página 60 de 126
CerrarComprobanteFiscal( )
METODO
Disponible en versiones: v010724 (y posteriores).
String de comando: CloseFiscalReceipt
Argumentos:
copias
No disponible en la versión v010724 (y anteriores).
Opcional. Permite indicar la cantidad de ejemplares que se deberán imprimir del comprobante.
Este argumento es válido en aquellos modelos y/o versiones de impresoras
fiscales Hasar que admiten esta información en el string de comando que
genera el método CerrarComprobanteFiscal( ).
nrocerrar
No disponible en la versión v010724 (y anteriores).
Opcional. Permite obtener el número del comprobante que se está cerrando.
Este método permite al software de gestión para puntos de venta cerrar el comprobante
fiscal cuya impresión se está realizando.
El uso del argumento copias está relacionado con el parámetro de configuración de la impresora fiscal Hasar asociado a COPIAS_DOCUMENTOS (cantidad de ejemplares que se permitirán imprimir), donde este último tiene prioridad sobre el primero. Por ejemplo, si el
parámetro COPIAS_DOCUMENTOS (que se establece mediante el método ConfigurarControlador( )) está configurado como “2”, y el argumento copias vale “3”, la impresora fiscal Hasar solo permitirá emitir hasta un duplicado.
En los modelos y/o versiones de impresoras fiscales Hasar para los cuales no es admisible
el uso del argumento copias, el software de gestión para puntos de venta deberá recurrir
al método ReimprimirComprobante( ) para solicitar los ejemplares adicionales que correspondan.
En modelos y/o versiones de impresoras fiscales Hasar de página completa (impresión sobre formularios continuos u hojas sueltas), y en modelos y versiones CIF (centros integrales de facturación), el número obtenido a través del argumento nrocerrar no tiene porque
coincidir con el número de apertura del mismo comprobante.
Tener presente que la normativa fiscal vigente…
Exige a las impresoras fiscales incrementar en uno el número de comprobante en
cada nueva hoja.
No se pueden cerrar comprobantes en $ 0.00 (pesos cero), o con subtotales o impuestos negativos.
Página 61 de 126
Ejemplos de uso:
· Validos para el OCX Fiscal Hasar v010724 (y anteriores)
Dim nrocerrar As String
…
HASAR1.CerrarComprobanteFiscal
nrocerrar = HASAR1.Respuesta(3)
…
Notar que para la versión v010724 (y anteriores) del OCX Fiscal Hasar el número del comprobante que se ha cerrado debe obtenerse mediante el uso de la propiedad Respuesta( ).
· Validos para el OCX Fiscal Hasar v051122 (y posteriores)
Dim nrocerrar As Variant
Dim copias As Variant
…
copias = 2
…
HASAR1.CerrarComprobanteFiscal copias, nrocerrar
…
Página 62 de 126
CerrarComprobanteNoFiscal( )
METODO
Disponible en versiones: v010724 (y posteriores).
String de comando: CloseNonFiscalReceipt
Argumentos:
copias
No disponible en la versión v010724 (y anteriores).
Opcional. Permite indicar la cantidad de ejemplares que se deberán imprimir del comprobante.
Este argumento es válido en aquellos modelos y/o versiones de impresoras
fiscales Hasar que admiten esta información en el string de comando que
genera el método CerrarComprobanteNoFiscal( ).
Este método permite al software de gestión para puntos de venta cerrar el comprobante
no fiscal cuya impresión se está realizando.
El uso del argumento copias está relacionado con el parámetro de configuración de la impresora fiscal Hasar asociado a COPIAS_DOCUMENTOS (cantidad de ejemplares que se permitirán imprimir), el cual es ignorado para este tipo de comprobantes. Por ejemplo, si el
parámetro COPIAS_DOCUMENTOS (que se establece mediante el método ConfigurarControlador( )) está configurado como “2”, y el argumento copias vale “5”, la impresora fiscal Hasar permitirá emitir hasta el quintuplicado sin inconvenientes.
En los modelos y/o versiones de impresoras fiscales Hasar para los cuales no es admisible
el uso del argumento copias, el software de gestión para puntos de venta deberá recurrir
al método ReimprimirComprobante( ) para solicitar los ejemplares adicionales que correspondan.
Ejemplos de uso:
· Validos para el OCX Fiscal Hasar v010724 (y anteriores)
…
HASAR1.CerrarComprobanteFiscal
HASAR1.ReimprimirComprobante
…
· Validos para el OCX Fiscal Hasar v051122 (y posteriores)
Dim copias As Variant
…
copias = 2
Página 63 de 126
…
HASAR1.CerrarComprobanteNoFiscal copias
…
Página 64 de 126
CerrarComprobanteNoFiscalHomologado( )
METODO
Disponible en versiones: v010724 (y anteriores).
v051122 (y posteriores) DEPRECADO
String de comando: CloseDNFH
Argumentos:
No requiere.
Este método permite al software de gestión para puntos de venta cerrar el comprobante
no fiscal homologado cuya impresión se está realizando.
Si el software de gestión para puntos de venta necesitara emitir ejemplares adicionales (a
los que se imprimen automáticamente) deberá recurrir al método ReimprimirComprobante( ) para solicitarlos.
En modelos y/o versiones de impresoras fiscales Hasar de página completa (impresión sobre formularios continuos u hojas sueltas), y en modelos y versiones CIF (centros integrales de facturación), el número de cierre del comprobante debe obtenerse a través del
empleo de la propiedad Respuesta( ). En el caso de emisión de Notas de Crédito, el número de cierre no tiene porque coincidir con el número de apertura de dicho comprobante.
Tener presente que, para las Notas de Crédito, la normativa fiscal vigente…
Exige a las impresoras fiscales incrementar en uno el número de comprobante en
cada nueva hoja.
No se pueden cerrar comprobantes en $ 0.00 (pesos cero), o con subtotales o impuestos negativos.
Ejemplo de uso:
· Validos para el OCX Fiscal Hasar v010724 (y anteriores)
Dim nrocerrar As String
…
HASAR1.CerrarComprobanteNoFiscalHomologado
nrocerrar = HASAR1.Respuesta(3)
HASAR1.ReimprimirComprobante
…
Página 65 de 126
CerrarDNFH( )
METODO
Disponible en versiones: v051122 (y posteriores).
String de comando: CloseDNFH
Argumentos:
copias
Opcional. Permite indicar la cantidad de ejemplares que se deberán imprimir del comprobante.
Este argumento es válido en aquellos modelos y/o versiones de impresoras
fiscales Hasar que admiten esta información en el string de comando que
genera el método CerrarDNFH( ).
nrocerrar
Opcional. Permite obtener el número del comprobante que se está cerrando.
Este método permite al software de gestión para puntos de venta cerrar el comprobante
no fiscal homologado cuya impresión se está realizando.
En el caso de emisión de Notas de Crédito, el uso del argumento copias está relacionado
con el parámetro de configuración de la impresora fiscal Hasar asociado a COPIAS_ DOCUMENTOS (cantidad de ejemplares que se permitirán imprimir), donde este último tiene
prioridad sobre el primero. Por ejemplo, si el parámetro COPIAS_DOCUMENTOS (que se establece mediante el método ConfigurarControlador( )) está configurado como “2”, y el
argumento copias vale “3”, la impresora fiscal Hasar solo permitirá emitir hasta un duplicado. Para el resto de los comprobantes, posibles de cerrar con el string de comando generado por el método CerrarDNFH( ), el parámetro COPIAS_DOCUMENTOS no tiene efecto.
En los modelos y/o versiones de impresoras fiscales Hasar para los cuales no es admisible
el uso del argumento copias, el software de gestión para puntos de venta deberá recurrir
al método ReimprimirComprobante( ) para solicitar los ejemplares adicionales que correspondan.
En modelos y/o versiones de impresoras fiscales Hasar de página completa (impresión sobre formularios continuos u hojas sueltas), y en modelos y versiones CIF (centros integrales de facturación), el número obtenido a través del argumento nrocerrar no tiene porque
coincidir con el número de apertura del mismo comprobante.
Tener presente que, en el caso de emisión de Notas de Crédito, la normativa fiscal vigente…
Exige a las impresoras fiscales incrementar en uno el número de comprobante en
cada nueva hoja.
No se pueden cerrar comprobantes en $ 0.00 (pesos cero), o con subtotales o impuestos negativos.
Página 66 de 126
Ejemplo de uso:
· Valido para el OCX Fiscal Hasar v051122 (y posteriores)
Dim nrocerrar As Variant
Dim copias As Variant
…
copias = 2
…
HASAR1.CerrarDNFH copias, nrocerrar
HASAR1.ReimprimirComprobante
…
Página 67 de 126
Comenzar( )
METODO
Disponible en versiones: v010724 (y posteriores).
String de comando: StatusRequest
Argumentos:
No requiere.
Este método permite al software de gestión para puntos de venta iniciar una sesión de
trabajo estableciendo –de ser posible- las comunicaciones a través del vínculo configurado
en la propiedad Transporte( ) –versión v051122 (y posteriores) del OCX Fiscal Hasar-, o a
través del puerto serie local –versión v010724 (y anteriores)- y, para todas las versiones,
empleando por defecto el valor configurado en la propiedad Puerto( ).
Configuradas apropiadamente, por el software de gestión para puntos de venta, las propiedades asociadas al vínculo a emplear para dialogar con la impresora fiscal, el OCX Fiscal Hasar envía dos pedidos de status (strings de comando StatusRequest) para verificar
que las comunicaciones se han establecido con normalidad.
Ejemplos de uso:
· Valido para el OCX Fiscal Hasar v010724 (y anteriores)
…
HASAR1.Puerto = 1
HASAR1.Baudios = 9600
…
HASAR1.Comenzar
…
En la versión v010724 del OCX Fiscal hasar el vínculo de comunicaciones es siempre el
puerto serie local (RS-232). El método Comenzar( ) asume por defecto COM1 y una velocidad de 9600 baudios, salvo que el software de gestión para punto de venta configure las
propiedades Puerto( ) y Baudios( ) con otros valores.
· Valido para el OCX Fiscal Hasar v051122 (y posteriores)
…
HASAR1.Trasnporte = PUERTO_SERIE
HASAR1.Puerto = 1
HASAR1.Baudios = 9600
…
HASAR1.Comenzar
…
Página 68 de 126
En la versión v051122 del OCX Fiscal Hasar el vínculo de comunicaciones puede ser el
puerto serie (RS-232), o Ethernet.
En el caso de comunicaciones a través del puerto serie local, el método Comenzar( ) asume por defecto COM1, una velocidad de 9600 baudios y como transporte el valor de la
constante embebida PUERTO_SERIE, salvo que el software de gestión para punto de venta
configure las propiedades Transporte( ), Puerto( ) y Baudios( ) con otros valores.
En el caso de comunicaciones a través de la LAN Ethernet el software de gestión para puntos de venta es responsable de configurar las propiedades Transporte( ), DireccionIP( ),
Puerto( ) y Baudios( ) apropiadamente.
VINCULO
PUERTO_SERIE
SOCKET_TCP
SOCKET_UDP
DECIMAL
0
1
2
HEXA
0
1
2
La tabla de la izquierda contiene las constantes
embebidas del OCX Fiscal Hasar v051122 (y posteriores), cuyos valores son de aplicación en la configuración de la propiedad Transporte( ).
Cuando se utilice Ethernet como vínculo para establecer el diálogo entre el software de
gestión para puntos de venta y la impresora fiscal Hasar, ésta debe estar conectada al
puerto serie de un conversor Ethernet / RS-232; la propiedad Trasnsporte( ) debe tomar
alguno de los dos últimos valores de la tabla anterior, el valor de la propiedad Direccion
IP( ) debe ser la correspondiente dirección IP del conversor Ethernet / RS-232 dentro de la
red local, el valor de la propiedad Puerto( ) deber el valor de socket programado en el
conversor Ethernet / RS-232, y correspondiente al puerto serie donde se conecte la impresora fiscal Hasar. Para la propiedad Baudios( ) valen las mismas consideraciones que para
cualquier puerto RS-232. Luego, vale el siguiente ejemplo (OCX Fiscal Hasar v051122 –y
posteriores-):
…
HASAR1.Trasnporte = SOCKET_TCP
HASAR1.DireccionIP = “192.0.5.34”
HASAR1.Puerto = 5555
HASAR1.Baudios = 9600
…
HASAR1.Comenzar
…
Cualquiera sea la versión de OCX Fiscal Hasar, el software de gestión para puntos de venta
puede optar por el uso del método AutodetectarControlador( ) –en lugar del método Comenzar( )-.
Cualquiera sea la versión del OCX Fiscal Hasar se debe tener presente el valor de configuración de la propiedad ReintentoConstante( ) ya que si se encuentra configurada como
Falso, ante una falta de comunicación se genera una excepción. En cambio, si se encuentra configurada como Verdadero, se generará el evento ImpresoraNoResponde( ).
Página 69 de 126
Algunas observaciones que el desarrollador del software de gestión para puntos de venta
debe tener en cuenta si desea pasar de la versión v010724 del OCX Fiscal Hasar, a la versión v051122.
…
HASAR1.Comenzar
…
HASAR1.Comenzar
…
Si se invoca nuevamente al método Comenzar( ) sin que previamente se haya invocado al método Finalizar( ), el OCX Fiscal Hasar presenta el siguiente comportamiento:
v010724
Se genera una excepción.
v051122
Se resuleve internamente sin generar excepción
alguna.
Si se invoca nuevamente al método Comenzar( ) sin
…
que previamente se haya invocado al método FinaliHASAR1.AutodetectarControlador zar( ), el OCX Fiscal Hasar presenta el siguiente com…
portamiento:
HASAR1.Comenzar
…
v010724 Se genera una excepción.
v051122
…
HASAR1.Comenzar
…
HASAR1.ReComenzar
…
Se resuleve internamente sin generar
excepción alguna.
Si se invoca nuevamente al método Comenzar( ) sin que previamente se haya invocado al método Finalizar( ), el OCX Fiscal Hasar presenta el siguiente comportamiento:
v010724
No se genera excepción alguna.
v051122
Recomenzar( ) DEPRECADO.
Página 70 de 126
ConfigurarControlador( )
METODO
Disponible en versiones: v010724 (y posteriores).
String de comando: ConfigureControllerByOne
Argumentos:
cambiar
Obligatorio. Permite indicar el parámetro de comportamiento que se desea
modificar.
valor
Obligatorio. Permite indicar el nuevo valor a asignar al parámetro de comportamiento cambiar.
El método ConfigurarControlador( ) permite al software de gestión para puntos de venta
modificar parámetros de comportamiento de la impresora fiscal Hasar durante la jornada
fiscal.
PARAMETRO
ALTO_HOJA
♦
ANCHO_HOJA
♦
CHEQUEO_DESBORDE
♦
CHEQUEO_TAPA_ABIERTA ♦
COPIAS_DOCUMENTOS
CORTA_PAPEL
ESTACION_REPORTES_XZ ♦
IMPRESIÓN_CAMBIO
IMPRESIÓN_LEYENDAS
IMPRESIÓN_MARCO
MODO_IMPRESION
♦
PAGO_SALDO
REIMPRESION_CANCELADOS
SONIDO_AVISO
●
DECIMAL
60
61
64
65
57
54
62
52
53
55
63
58
56
59
HEXA
3C
3D
40
41
39
36
3E
34
35
37
3F
3A
38
3B
La tabla de la izquierda contiene la
lista de constantes embebidas, disponibles en el OCX Fiscal Hasar, asociadas a parámetros de comportamiento de la impresora fiscal Hasar.
♦ Disponible solamente en la ver
sión v051122 (y posteriores).
● En la versión v010724 (y anteriores) el mnemónico de esta
constante embebida es SONIDO
A continuación se describen los posibles valores que puede tomar cada uno de los parámetros de comportamiento de la impresora fiscal Hasar:
ALTO_HOJA
Permite indicar, si el modelo de impresora fiscal Hasar lo admite, el alto de la hoja de
papel o formulario continuo a emplear para emisión de comprobantes.
ALTOS
ALTO_A4
ALTO_CARTA
ALTO_OFICIO
ALTO_REDUCIDO
DECIMAL
65
67
79
77
HEXA
41
43
4F
4D
La tabla de la izquierda muestra la lista de constantes embebidas del OCX Fiscal Hasar que el soft
ware de gestión para puntos de venta puede emplear con objeto de especificar este parámetro
de comportamiento de la impresora fiscal Hasar.
Página 71 de 126
ANCHO_HOJA
Permite indicar, si el modelo de impresora fiscal Hasar lo admite, el ancho de la hoja de
papel o formulario continuo a emplear para emisión de comprobantes.
ANCHOS
ANCHO_NORMAL
ANCHO_REDUCIDO
DECIMAL
78
77
HEXA
4E
4D
La tabla de la izquierda muestra la lista de constantes embebidas del OCX Fiscal Hasar que el
software de gestión para puntos de venta puede
emplear con objeto de especificar este parámetro de comportamiento de la impresora fiscal Hasar.
CHEQUEO_DESBORDE
Permite indicar, si el modelo de impresora fiscal Hasar lo admite, si el chequeo de desborde de montos límite para comprobantes se realiza contra cada comando que cause
acumulación, o solamente se realiza al cerrar el documento.
Los valores posibles son:
P
Otro caracter
En todo momento.
Solo al cerrar el comprobante.
CHEQUEO_TAPA_ABIERTA
Permite indicar, si el modelo de impresora fiscal Hasar lo admite, si se debe imprimir aunque la tapa se encuentre abierta.
Los valores posibles son:
P
Otro caracter
Imprime con tapa abierta.
No imprimir.
COPIAS_DOCUMENTOS
Permite indicar, si el modelo de impresora fiscal Hasar lo admite, la cantidad máxima de
ejemplares que se podrán emitir de un mismo documento.
COPIAS
CUADRUPLICADO
DUPLICADO
NO_COPIAS
ORIGINAL
TRIPLICADO
DECIMAL
52
50
48
49
51
HEXA
34
32
30
31
33
La tabla de la izquierda muestra la lista de constantes embebidas del OCX Fiscal Hasar que el
software de gestión para puntos de venta puede
emplear con objeto de especificar este parámetro de comportamiento de la impresora fiscal
Hasar.
CORTAR_PAPEL
Permite indicar, si el modelo de impresora fiscal Hasar lo admite, el tipo de corte a realizar al finalizar un comprobante.
CORTE
CORTE_PARCIAL
CORTE_TOTAL
NO_CORTE
DECIMAL
80
70
78
HEXA
50
46
4E
La tabla de la izquierda muestra la lista de constantes embebidas del OCX Fiscal Hasar que el
software de gestión para puntos de venta puede
emplear con objeto de especificar este paráme-
Página 72 de 126
tro de comportamiento de la impresora fiscal Hasar.
ESTACION_REPORTES_XZ
Permite indicar, si el modelo de impresora fiscal Hasar lo admite, la estación de impresión
donde se emitirán, por defecto, los reportes ‘X’ y cierres diarios ‘Z’.
ESTACION
ESTACION_SLIP
ESTACION_TICKET
DECIMAL
83
84
HEXA
53
54
La tabla de la izquierda muestra la lista de constantes embebidas del OCX Fiscal Hasar que el
software de gestión para puntos de venta puede
emplear con objeto de especificar este parámetro de comportamiento de la impresora fiscal Hasar.
IMPRESION_CAMBIO
Permite indicar, si el modelo de impresora fiscal Hasar lo admite, si debe imprimirse –de
corresponder- la leyenda “CAMBIO $ 0.00”.
Los valores posibles son:
P
Otro caracter
Imprimir leyenda.
No imprimir.
IMPRESION_LEYENDAS
Permite indicar, si el modelo de impresora fiscal Hasar lo admite, si deben imprimirse –de
corresponder- las leyendas opcionales (Ingresos Brutos, A consumidor Final, etc.)
Los valores posibles son:
P
Otro caracter
Imprimir leyendas.
No imprimir.
IMPRESION_MARCO
Permite indicar, si el modelo de impresora fiscal Hasar lo admite, si debe imprimirse el
marco de los comprobantes.
Los valores posibles son:
P
Otro caracter
Imprimir marco.
No imprimir.
MODO_IMPRESION
Permite indicar, si el modelo de impresora fiscal Hasar lo admite, el modo de comportamiento respecto de la impresión de comprobantes.
MODO
NO_USO_ESTACION_TICKET
USO_ESTACION_TICKET
DECIMAL
65
77
HEXA
41
4D
La tabla de la izquierda muestra la lista
de constantes embebidas del OCX Fiscal
Hasar que el software de gestión para
puntos de venta puede emplear con objeto de especificar este parámetro de comportamiento de la impresora fiscal Hasar.
Página 73 de 126
PAGO_SALDO
Permite indicar, si el modelo de impresora fiscal Hasar lo admite, el texto a imprimir como medio de pago, que se asociará al monto pendiente de saldar, cuando se cierre un
comprobante fiscal.
Por ejemplo: Cuenta Corriente
REIMPRESION_CANCELADOS
Permite indicar, si el modelo de impresora fiscal Hasar lo admite, si debe reimprimirse el
comprobante cancelado por corte de energía.
Los valores posibles son:
P
Otro caracter
Reimprimir comprobante.
No reimprimir.
Tener presente que en la reimpresión el número de comprobante es incrementado (de
tratarse de comprobantes fiscales, notas de crédito, o remitos).
SONIDO_AVISO / SONIDO
Permite indicar, si el modelo de impresora fiscal Hasar lo admite, si emitirse sonido de
advertencia ante la falta de papel.
Los valores posibles son:
P
Otro caracter
Señal sonora activada.
Desactivada.
Casi la totalidad de los parámetros de comportamiento permiten invocar al método ConfigurarControlador( ) sin que resulte necesario efectuar un cierre diario "Z" (invocar al método ReporteZ( )). Otros requieren estar fuera de todo documento para proceder al cambio.
El software de gestión para puntos de venta debería ofrecer estas opciones de configuración al usuario final, teniendo en cuenta el modelo de impresora fiscal Hasar.
Ejemplo de uso:
· Valido para el OCX Fiscal Hasar v010724 (y posteriores)
Dim cambiar As ParametrosDeConfiguracion
Dim valor As NumeroDeCopias
…
Cambiar = COPIAS_DOCUMENTOS
valor = TRIPLICADO
…
HASAR1.ConfigurarControlador cambiar, valor
…
Página 74 de 126
ConfigurarControladorCompleto( )
METODO
Disponible en versiones: v010724 (y posteriores).
String de comando: GeneralConfiguration
Argumentos:
repcfg
Obligatorio. Permite indicar si se imprimirá un reporte de la configuración
realizada.
Valores posibles:
Verdadero
Falso
defparam
Imprimir reporte.
No imprimir.
Obligatorio. Permite indicar si para aquellos argumentos que se omitan se
empleará el valor que por defecto se programó en la impresora fiscal
Hasar a la salida de fábrica.
Valores posibles:
Verdadero
Falso
Usar valores por defecto.
No utilizarlos.
limitecf
Opcional. Permite indicar el monto máximo que puede alcanzar un comprobante ‘B’ a consumidor final, sin datos del cliente.
La normativa fiscal vigente establece este límite (valor que puede cambiar en el futuro) en $ 1000.00 (pesos un mil).
limitetf
Opcional. Permite indicar el monto máximo que puede alcanzar un tique
factura o un tique nota de crédito / débito.
La normativa fiscal vigente establece este límite (valor que puede cambiar en el futuro) en $ 10000.00 (pesos diez mil).
ivanoi
Opcional. Permite indicar la sobretasa de IVA para comprobantes que se
emitan a responsables no inscriptos. No Vigente.
Programar siempre como “0.00”.
copias
Opcional. Permite indicar, si el modelo de impresora fiscal Hasar lo admite, la máxima cantidad de ejemplares que se podrán imprimir de un mismo comprobante (no automáticamente).
Valor por defecto: ORIGINAL
Valores posibles:
COPIAS
DECIMAL
HEXA
La tabla de la izquierda muestra
Página 75 de 126
TRIPLICADO
51
33
ra fiscal Hasar.
cambio
de especificar este parámetro de
comportamiento de la impreso-
Opcional. Permite indicar si –de corresponder- se imprimirá en el comprobante la leyenda “CAMBIO $ 0.00”.
Valor por defecto: No imprimir.
Valores posibles:
P
Otro caracter
leyendas
Opcional. Permite indicar si –de corresponder- se omitirá la impresión en
el comprobante de las leyendas opcionales (Ingresos Brutos, A Consumidor
Final, etc.).
Valor por defecto: Imprimir.
Valores posibles:
P
Otro caracter
corte
Imprimir leyenda.
No imprimir.
Imprimir leyendas opcionales.
No imprimir.
Opcional. Permite indicar, si el modelo de impresora fiscal Hasar lo admite, el tipo de corte de papel a realizar al finalizar un comprobante.
Valor por defecto: Total.
Valores posibles:
CORTE
CORTE_PARCIAL
CORTE_TOTAL
NO_CORTE
DECIMAL
80
70
78
HEXA
50
46
4E
La tabla de la izquierda muestra
la lista de constantes embebidas
del OCX Fiscal Hasar que el software de gestión para puntos de
venta puede emplear con objeto
de especificar este parámetro de comportamiento de la impresora fiscal
Hasar.
marco
Opcional. Permite indicar, si el modelo de impresora fiscal Hasar lo admite, si se imprime el marco de los comprobantes.
Valor por defecto: No imprimir.
Valores posibles:
P
Otro caracter
reimpr
Imprimir marco.
No imprimir.
Opcional. Permite indicar, si el modelo de impresora fiscal Hasar lo admite, si se realiza reimpresión de comprobantes cancelados por corte de
energía.
Valor por defecto: Reimprimir.
Valores posibles:
Página 76 de 126
P
Otro caracter
Reimprimir comprobante.
No imprimir.
txtsaldo
Opcional. Permite indicar, si el modelo de impresora fiscal Hasar lo admite, el texto que se imprimirá descripción de medio de pago si se cierra un
comprobante con saldo pendiente de pago.
Valor por defecto: “Cuenta Corriente”.
sonido
Opcional. Permite indicar, si el modelo de impresora fiscal Hasar lo admite, si se emitirá sonido de advertencia ante falta de papel.
Valor por defecto: Emitir sonido.
Valores posibles:
P
Otro caracter
alto
♦
Señal sonora activa.
Desactivada.
Opcional. Versión v010724 (y anteriores) no disponible.
Permite indicar, si el modelo de impresora fiscal Hasar lo admite, el alto
de la hoja de papel o formulario continuo a emplear para emisión de
comprobantes.
Valor por defecto: ALTO_REDUCIDO.
Valores posibles:
ALTOS
ALTO_A4
ALTO_CARTA
ALTO_OFICIO
ALTO_REDUCIDO
DECIMAL
65
67
79
77
HEXA
41
43
4F
4D
La tabla de la izquierda muestra
la lista de constantes embebidas
del OCX Fiscal Hasar que el soft
ware de gestión para puntos de
venta puede emplear con objeto
de especificar este parámetro de
comportamiento de la impresora fiscal Hasar.
ancho
♦
Opcional. Versión v010724 (y anteriores) no disponible.
Permite indicar, si el modelo de impresora fiscal Hasar lo admite, el ancho de la hoja de papel o formulario continuo a emplear para emisión de
comprobantes.
Valor por defecto: ANCHO_REDUCIDO.
Valores posibles:
ANCHOS
ANCHO_NORMAL
ANCHO_REDUCIDO
DECIMAL
78
77
HEXA
4E
4D
La tabla de la izquierda muestra
la lista de constantes embebidas del OCX Fiscal Hasar que el
software de gestión para puntos
de venta puede emplear con objeto de especificar este parámetro de
comportamiento de la impresora fiscal Hasar.
repestac
♦
Opcional. Versión v010724 (y anteriores) no disponible.
Permite indicar, si el modelo de impresora fiscal Hasar lo admite, la estación de impresión por defecto para emitir reportes ‘X’, o ‘Z’.
Valor por defecto: ESTACION_TICKET.
Página 77 de 126
Valores posibles:
ESTACION
ESTACION_SLIP
ESTACION_TICKET
DECIMAL
83
84
HEXA
53
54
La tabla de la izquierda muestra
la lista de constantes embebidas
del OCX Fiscal Hasar que el software de gestión para puntos de
venta puede emplear con objeto de especificar este parámetro de comportamiento de la impresora fiscal Hasar.
modoimpr ♦
Opcional. Versión v010724 (y anteriores) no disponible.
Permite indicar, si el modelo de impresora fiscal Hasar lo admite, el modo
de impresión.
Valor por defecto: Mixto.
Valores posibles.
MODO
NO_USO_ESTACION_TICKET
USO_ESTACION_TICKET
DECIMAL
65
77
HEXA
41
4D
La tabla de la izquierda
muestra la lista de
constantes embebidas
del OCX Fiscal Hasar que
el software de gestión para puntos de venta puede emplear con objeto de
especificar este parámetro de comportamiento de la impresora fiscal
Hasar.
♦ Sólo disponible en la versión v051122 (y posteriores) del OCX Fiscal Hasar.
El método ConfigurarControladorCompleto( ) permite al software de gestión para puntos
de venta modificar parámetros de comportamiento de la impresora fiscal Hasar que, en su
mayoría, están asociados directa o indirectamente a la normativa fiscal vigente.
El software de gestión para puntos de venta debería ofrecer estas opciones de
configuración al usuario final.
El software de gestión para puntos de venta podrá invocar al método ConfigurarControladorCompleto( ) si previamente ha realizado un cierre diario "Z" (invocando al método ReporteZ( )).
Ejemplos de uso:
· Valido para el OCX Fiscal Hasar v010724 (y anteriores)
…
Dim repcfg As Boolean, defparam As Boolean
Dim limitecf As String, limitetf As String, ivanoi As String, cambio As String
Dim Leyendas As String, marco As String, reimpr As String, txtsaldo As String
Página 78 de 126
Dim sonido As String
Dim copias As NumeroDeCopias
Dim corte As TiposDeCorteDePapel
…
repcfg = True
defparam = False
limitecf = “1000.00”
limitetf = “10000.00”
ivanoi = “0.00”
copias = DUPLICADO
cambio = “P”
marco = “P”
reimpr = “P”
txtsaldo = “Contado efectivo…”
sonido = “P”
…
HASAR1.ReporteZ
HASAR1.ConfigurarControladorCompleto repcfg, defparam, limitecf, limitetf, _
ivanoi, copias, cambio, leyendas, corte, marco, reimpr, txtsaldo, sonido
…
· Valido para el OCX Fiscal Hasar v051122 (y posteriores)
…
Dim repcfg As Boolean, defparam As Boolean
Dim limitecf As String, limitetf As String, ivanoi As String, cambio As String
Dim Leyendas As String, marco As String, reimpr As String, txtsaldo As String
Dim sonido As String
Dim copias As NumeroDeCopias
Dim corte As TiposDeCorteDePapel
Dim alto As TiposDeAltoHoja
Dim ancho As TiposDeAnchoHoja
Dim repestac As TiposdeEstacion
Dim modoimpr As TiposDeModoImpresion
…
repcfg = True
defparam = False
limitecf = “1000.00”
limitetf = “10000.00”
ivanoi = “0.00”
copias = DUPLICADO
cambio = “P”
marco = “P”
reimpr = “P”
txtsaldo = “Contado efectivo…”
sonido = “P”
alto = ALTO_A4
Página 79 de 126
ancho = ANCHO_NORMAL
repestac = ESTACION_TICKET
modoimpr = USO_ESTACION_TICKET
…
HASAR1.ReporteZ
HASAR1.ConfigurarControladorCompleto repcfg, defparam, limitecf, limitetf, _
ivanoi, copias, cambio, leyendas, corte, marco, reimpr, txtsaldo, sonido, _
alto, ancho, repestac, modoimpr
…
Página 80 de 126
ConfigurarControladorPorBloque( )
METODO
Disponible en versiones: v010724 (y posteriores).
String de comando: ConfigureControllerByBlock
Argumentos:
limitecf
Opcional. Permite indicar el monto máximo que puede alcanzar un comprobante ‘B’ a consumidor final, sin datos del cliente.
La normativa fiscal vigente establece este límite (valor que puede cambiar en el futuro) en $ 1000.00 (pesos un mil).
limitetf
Opcional. Permite indicar el monto máximo que puede alcanzar un tique
factura o un tique nota de crédito / débito.
La normativa fiscal vigente establece este límite (valor que puede cambiar en el futuro) en $ 10000.00 (pesos diez mil).
ivanoi
Opcional. Permite indicar la sobretasa de IVA para comprobantes que se
emitan a responsables no inscriptos. No Vigente.
Programar siempre como “0.00”.
copias
Opcional. Permite indicar, si el modelo de impresora fiscal Hasar lo admite, la máxima cantidad de ejemplares que se podrán imprimir de un mismo comprobante (no automáticamente).
Valor por defecto: ORIGINAL
Valores posibles:
COPIAS
CUADRUPLICADO
DUPLICADO
NO_COPIAS
ORIGINAL
TRIPLICADO
ra fiscal Hasar.
cambio
DECIMAL
52
50
48
49
51
HEXA
34
32
30
31
33
La tabla de la izquierda muestra
la lista de constantes embebidas
del OCX Fiscal Hasar que el software de gestión para puntos de
venta puede emplear con objeto
de especificar este parámetro de
comportamiento de la impreso-
Opcional. Permite indicar si –de corresponder- se imprimirá en el comprobante la leyenda “CAMBIO $ 0.00”.
Valor por defecto: No imprimir.
Valores posibles:
P
Otro caracter
leyendas
Imprimir leyenda.
No imprimir.
Opcional. Permite indicar si –de corresponder- se omitirá la impresión en
el comprobante de las leyendas opcionales (Ingresos Brutos, A Consumidor
Final, etc.).
Valor por defecto: Imprimir.
Página 81 de 126
Valores posibles:
P
Otro caracter
corte
Imprimir leyendas opcionales.
No imprimir.
Opcional. Permite indicar, si el modelo de impresora fiscal Hasar lo admite, el tipo de corte de papel a realizar al finalizar un comprobante.
Valor por defecto: Total.
Valores posibles:
CORTE
CORTE_PARCIAL
CORTE_TOTAL
NO_CORTE
DECIMAL
80
70
78
HEXA
50
46
4E
La tabla de la izquierda muestra
la lista de constantes embebidas
del OCX Fiscal Hasar que el software de gestión para puntos de
venta puede emplear con objeto
de especificar este parámetro de comportamiento de la impresora fiscal
Hasar.
El método ConfigurarControladorPorBloque( ) permite al software de gestión para puntos
de venta modificar parámetros de comportamiento de la impresora fiscal Hasar que, en su
mayoría, están asociados directa o indirectamente a la normativa fiscal vigente.
El software de gestión para puntos de venta debería ofrecer estas opciones de
configuración al usuario final.
El software de gestión para puntos de venta podrá invocar al método ConfigurarControladorPorBloque( ) si previamente ha realizado un cierre diario "Z" (invocando al método ReporteZ( )).
Ejemplo de uso:
· Valido para el OCX Fiscal Hasar v010724 (y posteriores)
…
Dim repcfg As Boolean, defparam As Boolean
Dim limitecf As String, limitetf As String, ivanoi As String, cambio As String
Dim Leyendas As String
Dim copias As NumeroDeCopias
Dim corte As TiposDeCorteDePapel
…
repcfg = True
defparam = False
limitecf = “1000.00”
limitetf = “10000.00”
ivanoi = “0.00”
Página 82 de 126
copias = DUPLICADO
cambio = “P”
marco = “P”
…
HASAR1.ReporteZ
HASAR1.ConfigurarControladorCompleto repcfg, defparam, limitecf, limitetf, _
ivanoi, copias, cambio, leyendas, corte
…
Página 83 de 126
CortarComprobanteNoFiscal( )
METODO
Disponible en versiones: v010724 (y posteriores).
String de comando: CutNonFiscalReceipt
Argumentos:
No requiere.
Este método permite al software de gestión para puntos de venta provocar el corte de papel (en rollo) cuando esté emitiendo un comprobante no fiscal. No es aplicable sobre formularios continuos u hojas sueltas.
Ejemplo de uso:
· Valido para el OCX Fiscal Hasar v010724 (y posteriores)
…
HASAR1.CortarComprobanteNoFiscal
…
Página 84 de 126
DatosCliente( )
METODO
Disponible en versiones: v010724 (y posteriores).
String de comando: SetCustomerData
Argumentos:
rsocial
Obligatorio. Permite indicar la razón social del cliente al cual se le emitirá un
comprobante.
nrodoc
Obligatorio. Permite indicar el número del documento presentado por el cliente. A lo sumo puede ser de 11 (once) dígitos.
El caso que el argumento tipodoc tome el valor TIPO_CUIT o TIPO_CUIL debe
ser de exactamente 11 (once) dígitos, y satisfacer el algoirtmo de verificación
correspondiente. Si toma el valor TIPO_PASAPORTE puede ser alfanumérico,
siempre y cuando la impresora fiscal Hasar soporte esa característica.
tipodoc
Obligatorio. Permite indicar el tipo de documento presentado por el cliente.
DOCUMENTO
TIPO_CI
TIPO_CUIL
♦
TIPO_CUIT
TIPO_DNI
TIPO_LC
TIPO_LE
TIPO_NINGUNO
TIPO_PASAPORTE
DECIMAL
52
76
67
50
49
48
32
51
HEXA
34
4C
43
32
31
30
20
33
La tabla de la izquierda muestra la
lista de constantes embebidas del
OCX Fiscal Hasar que el software de
gestión para puntos de venta puede
emplear con objeto de especificar
este argumento del método DatosCliente( ).
♦ Sólo disponible en la versión v051122 (y posteriores) del OCX Fiscal Hasar.
En el caso particular que este argumento tome el valor TIPO_NINGUNO, el
OCX Fiscal Hasar ignorará el contenido del argumento nrodoc cuando el método DatosCliente( ) genere el string del comando SetCustomerData.
respons
Obligatorio. Permite indicar la responsabilidad frente a IVA del cliente al que
se le emitirá un comprobante.
RESPONSABILIDAD
BIENES_DE_USO
CONSUMIDOR_FINAL
EVENTUAL
EVENTUAL_SOCIAL
MONOTRIBUTO
MONOTRIBUTO_SOCIAL
NO_CATEGORIZADO
NO_RESPONSABLE
RESPONSABLE_EXENTO
RESPONSABLE_INSCRIPTO
◊
♦
♦
♦
DECIMAL
66
67
86
87
77
83
84
65
69
73
HEXA
42
43
56
57
4D
53
54
41
45
49
La tabla de la izquierda
muestra la lista de
constantes embebidas
del OCX Fiscal Hasar
que el software de gestión para puntos de
venta puede emplear
con objeto de especificar este argumento del
método DatosCliente( )
Página 85 de 126
RESPONSABLE_NO_INSCRIPTO ◊
78
4E
♦ Sólo disponible en la versión v051122 (y posteriores) del OCX Fiscal
Hasar.
◊
domic
No se encuentra vigente en la normativa fiscal actual. Se encuentra en
desuso.
Optativo. Permite indicar el domicilio del cliente al que se le emite el comprobante. Este argumento debe indicarse sólo si la impresora fiscal Hasar lo
requiere en el string de comando SetCustomerData que soporta.
El método DatosCliente( ) debe ser invocado por el software de gestión para puntos de
venta en forma previa al método de apertura de un comprobante fiscal, o al método de
apertura de una nota de crédito. Esto se debe a que toda la información del cliente se
imprime en el encabezado del comprobante, tarea que lleva a cabo el comando de apertura.
Este método puede ser opcionalmente omitido en algunos modelos de impresoras fiscales
Hasar, pero solamente en el caso de emisión de comprobantes "B" a consumidor final. En
tal caso, el monto del comprobante queda limitado a $1000.00 (pesos un mil) por exigencias de la normativa fiscal vigente.
El desarrollador del software de gestión para puntos de venta debe tener presente que:
· Consumidor final es la única responsabilidad frente a IVA donde el tipo de documento
del cliente puede ser cualquiera.
· Para el resto de las responsabilidades siempre se debe indicar TIPO_CUIT como tipo de
documento del cliente.
Ejemplo de uso:
· Valido para el OCX Fiscal Hasar v010724 (y posteriores)
…
Dim rsocial As String, nrodoc As String, domic As String
Dim tipodoc As TiposDeDocumento
Dim respons As TiposDeResponsabilidades
…
rsocial = “Horacio Nes”
nrodoc = “99999999995”
tipodoc = TIPO_CUIT
respons = RESPONSABLE_INSCRIPTO
domic = “Rio Seco 507…”
…
HASAR1.DatosCliente rsocial, nrodoc, tipodoc, respons, domic
…
Página 86 de 126
DescripcionStatusFiscal( )
METODO
Disponible en versiones: v010724 (y posteriores).
String de comando: No genera.
Argumentos:
valor
Obligatorio. Permite indicar un valor representativo de un determinado bit, dentro del campo de estado fiscal, para obtener un texto descriptivo asociado.
Este método permite al software de gestión para puntos de venta puede mostrar al usuario final un mensaje asociado a la generación de los eventos ErrorFiscal( ), o EventoFiscal(), o porque la propiedad HuboErrorFiscal( ) retornó verdadero.
VALOR
DECIMAL
F_ALWAYS_ZERO
◊
4
F_DATE_SET_FAIL
◊
2048
F_FISCAL_MEMORY_FAIL
1
F_FISCAL_MEMORY_FULL
128
F_FISCAL_MEMORY_NEAR_FULL
256
F_FISCAL_TERMINAL_CERTIFIED
512
F_FISCAL_TERMINAL_FISCALIZED
1024
F_INVALID_COMMAND
32
F_INVALID_FIELD_DATA
16
F_INVOICE_OPEN
◊
16384
F_LOGIC_OR_0_8
◊
32768
F_RECEIPT_OPEN
8192
F_RECEIPT_SLIP_OPEN
4096
F_TOTAL_OVERFLOW
64
F_UNRECOGNIZED_COMMAND
8
F_WORKING_MEMORY_FAIL
2
HEXA
4
800
1
80
100
200
400
20
10
4000
8000
2000
1000
40
8
2
La tabla de la izquierda muestra la
lista de constantes embebidas del
OCX Fiscal Hasar que el software de
gestión para puntos de venta puede
emplear con objeto de identificar la
causa del disparo del evento ErrorFiscal( ), EventoFiscal( ), o de la colocación en verdadero de la propiedad HuboErrorFiscal( ).
◊ DEPRECADO , No disponible en el
OCX Fiscal Hasar v051122 (y posteriores).
Ejemplos de uso:
· Validos para el OCX Fiscal Hasar v010724 (y posteriores)
…
Dim texto As String
Dim valor As FiscalBits
…
valor = F_INVALID_FIELD_DATA
…
texto = HASAR1.DescripcionStatusFiscal(valor)
…
Página 87 de 126
…
Dim texto As String
Dim valor As FiscalBits
…
If (HASAR1.HuboErrorFiscal) Then
…
valor = F_INVALID_FIELD_DATA
…
texto = HASAR1.DescripcionStatusFiscal(valor)
…
End If
…
Private Sub HASAR1_ErrorFiscal(ByVal Flags As Long)
…
MsgBox “Error Fiscal: “ & HASAR1.DescripcionStatusFiscal(valor)
…
End Sub
Si la propiedad EventosIndividuales() del OCX Fiscal Hasar está configurada con el valor
falso, no se podrá utilizar el número crudo -que ingresa como argumento- generado por
junto al disparo de los eventos mencionados anteriormente (se deben identificar previamente los bits con valor 1 –uno- para procesarlos individualmente).
Página 88 de 126
DescripcionStatusImpresora( )
METODO
Disponible en versiones: v010724 (y posteriores).
String de comando: No genera.
Argumentos:
valor
Obligatorio. Permite indicar un valor representativo de un determinado bit, dentro del campo de estado de impresora, para obtener un texto descriptivo asociado.
Este método permite al software de gestión para puntos de venta puede mostrar al usuario final un mensaje asociado a la generación de los eventos ErrorImpresora( ), o EventoImpresora( ), o porque una de las propiedades HuboErrorMecanico( ) o HuboFaltapapel()
retornó verdadero.
VALOR
P_ALWAYS_ZERO_1
P_ALWAYS_ZERO_2
P_ALWAYS_ZERO_3
P_ALWAYS_ZERO_4
P_ALWAYS_ZERO_5
P_ALWAYS_ZERO_6
P_ALWAYS_ZERO_7
P_BUFFER_EMPTY
P_BUFFER_FULL
P_DRAWER_CLOSED
P_JOURNAL_PAPER_LOW
P_LOGIC_OR_2_3_4_5_8_14
P_OFFLINE
P_PRINTER_ERROR
P_RECEIPT_PAPER_LOW
P_SPLIT_PLATEN_OPEN
◊
◊
◊
◊
◊
◊
◊
◊
◊
◊
DECIMAL
1
2
512
1024
2048
4096
8192
128
64
16384
16
32768
8
4
32
256
HEXA
1
2
200
400
800
1000
2000
80
40
4000
10
8000
8
4
20
100
La tabla de la izquierda muestra la
lista de constantes embebidas del
OCX Fiscal Hasar que el software de
gestión para puntos de venta puede
emplear con objeto de identificar la
causa del disparo del evento ErrorImpresora( ), EventoImpresora( ), o
de la colocación en verdadero de alguna de las propiedades HuboErrorMecanico( ) o HuboFaltaPapel( ).
◊ DEPRECADO , No disponible en el
OCX Fiscal Hasar v051122 (y posteriores).
Ejemplos de uso:
· Validos para el OCX Fiscal Hasar v010724 (y posteriores)
…
Dim texto As String
Dim valor As FiscalBits
…
valor = P_OFFLINE
…
texto = HASAR1.DescripcionStatusImpresora(valor)
…
Página 89 de 126
…
Dim texto As String
Dim valor As FiscalBits
…
If (HASAR1.HuboErrorMecanico) Then
…
valor = P_PRINTER_ERROR
…
texto = HASAR1.DescripcionStatusImpresora(valor)
…
End If
…
Private Sub HASAR1_ErrorImpresora(ByVal Flags As Long)
…
MsgBox “Error Impresora: “ & HASAR1.DescripcionStatusImpresora(valor)
…
End Sub
Página 90 de 126
DescuentoGeneral( )
METODO
Disponible en versiones: v010724 (y posteriores).
String de comando: GeneralDiscount
Argumentos:
descrip
Obligatorio. Permite indicar un texto asociado al monto de descuento/recargo a realizar sobre el subtotal del comprobante en curso.
monto
Obligatorio. Permite indicar el monto de descuento/recargo a aplicar sobre
el subtotal del comprobante en curso.
neg
Obligatorio. Permite indicar como afecta el monto al subtotal del comprobante en curso.
Los valores posibles son:
verdadero
El monto será interpretado por el OCX Fiscal Hasar como realización de un descuento.
falso
El monto será interpretado por el OCX Fiscal Hasar como realización de un recargo.
Este método permite al software de gestión para puntos de venta realizar un descuento/recargo sobre el monto total del comprobante. Cada vez que se realiza un descuento/recargo, el monto aplicado será prorrateado por la impresora fiscal Hasar entre todas
las alícuotas de IVA intervinientes en el comprobante fiscal (o nota de crédito) que se está
emitiendo.
El método DescuentoGeneral( ) puede ser invocado más de una vez si fuese necesario, pero una vez ejecutado con éxito el string de comando generado ya no se pueden realizar
más ventas.
El comando generado por el método DescuentoGeneral( ) no afecta a los montos de impuestos internos fijos acumulados en el comprobante que se esté emitiendo.
Se debe tener presente al aplicar descuentos generales que la normativa fiscal vigente no permite cerrar comprobantes con subtotal en cero (o negativo).
Ejemplo de uso:
· Valido para el OCX Fiscal Hasar v010724 (y posteriores)
Página 91 de 126
…
Dim descrip As String
Dim monto As Double
Dim neg As Boolean
…
descrip = “Oferta Especial…”
monto = 45.34
neg = True
…
HASAR1.DescuentoGeneral descrip, monto, neg
…
Página 92 de 126
DescuentoUltimoItem( )
METODO
Disponible en versiones: v010724 (y posteriores).
String de comando: LastItemDiscount
Argumentos:
descrip
Obligatorio. Permite indicar un texto asociado al monto de descuento/recargo a realizar sobre el último ítem vendido en el comprobante en curso.
monto
Obligatorio. Permite indicar el monto de descuento/recargo a aplicar sobre
el último ítem vendido en el comprobante en curso.
neg
Obligatorio. Permite indicar como afecta el monto al último ítem vendido en
el comprobante en curso.
Los valores posibles son:
verdadero
El monto será interpretado por el OCX Fiscal Hasar como realización de un descuento.
falso
El monto será interpretado por el OCX Fiscal Hasar como realización de un recargo.
Este método permite al software de gestión para puntos de venta realizar un descuento/recargo sobre el último ítem vendido en el comprobante. Cada vez que se realiza un
descuento/recargo, el monto aplicado será prorrateado por la impresora fiscal Hasar entre todos los componentes (monto neto y montos de impuestos) de la última venta (comando inmediatamente anterior).
El método DescuentoUltimoItem( ) sólo puede ser invocado una vez por cada ítem vendido
y, una vez ejecutado con éxito el string de comando generado, es posible continuar con
más ventas.
El comando generado por el método DescuentoUltimoItem( ) no afecta a los montos de
impuestos internos fijos acumulados en el comprobante que se esté emitiendo.
Ejemplo de uso:
· Valido para el OCX Fiscal Hasar v010724 (y posteriores)
…
Dim descrip As String
Dim monto As Double
Dim neg As Boolean
…
descrip = “Oferta Especial…”
Página 93 de 126
monto = 45.34
neg = True
…
HASAR1.DescuentoUltimoItem descrip, monto, neg
…
Página 94 de 126
DetalleRecibo( )
METODO
Disponible en versiones: v010724 (y posteriores).
String de comando: ReceiptFiscalText
Argumentos:
descrip
Obligatorio. Permite indicar el texto a imprimir en el Recibo ‘A’, ‘B/C’, o ‘X’.
El texto se imprime a continuación de la leyenda “En concepto de: “.
Este método permite al software de gestión para puntos de venta imprimir líneas de texto
en un recibo ("A", "B/C", o "X") que conformarán el detalle de "En concepto de...", con objeto explicar el monto del mismo.
El método DetalleRecibo() separa el texto recibido como argumento en dos o más líneas
en caso de superar el máximo aceptado por la impresora fiscal Hasar para una línea.
El desarrollador del software de gestión para puntos de venta deberá consultar en el manual de comandos de la impresora fiscal Hasar en uso la longitud máxima para cada línea
de texto, y la máxima cantidad de líneas soportadas.
Ejemplo de uso:
· Valido para el OCX Fiscal Hasar v010724 (y posteriores)
…
Dim descrip As String
…
Descrip = “Anticipo futuras compras…”
…
HASAR1.DetalleRecibo descrip
…
Página 95 de 126
DevolucionDescuento( )
METODO
Disponible en versiones: v010724 (y posteriores).
String de comando: ReturnRecharge
Argumentos:
descrip
Obligatorio. Permite indicar un texto para imprimir, asociado a la bonificación / recargo, o la devolución de envases.
monto
Obligatorio. Permite indicar el monto de descuento/recargo, o de devolución
de envases.
alicuota
Obligatorio. Permite indicar la tasa de IVA que afecta al monto de descuento/recargo, o devolución de envases.
impint
Obligatorio. El valor que se indique en este argumento establece el impuesto
interno que afecta al monto de descuento/recargo, o devolución de envases.
El valor de impint y la interpretación que de él hace el OCX Fiscal Hasar depende la programación de tres de sus propiedades: KIVA( ), ImpuestorInternosFijos( ), e ImpuestosInternosPorMonto( ).
INTERPRETACION
Imp. int. Fijo
Factor K
Imp. int. Variable
Porcentaje
(impuesto interno variable)
Monto Fijo
(impuesto interno fijo)
negat
oper
PROPIEDAD
KIVA( )
ImpuestoInternoFijo( )
ImpuestoInternoPorMonto( )
VALOR
Verdadero
Verdadero
Falso
KIVA( )
ImpuestoInternoFijo( )
ImpuestoInternoPorMonto( )
Verdadero
Falso
Falso
KIVA( )
ImpuestoInternoFijo( )
ImpuestoInternoPorMonto( )
Falso
Falso
Falso
KIVA( )
ImpuestoInternoFijo( )
ImpuestoInternoPorMonto( )
Falso
Verdadero
Verdadero
Obligatorio. Valor booleano que permite indicar si al operación será positiva,
o negativa.
Verdadero
La operación es negativa.
Falso
La operación es positiva.
Obligatorio. Permite indicar si la operación corresponde a un descuento/recargo, o a una devolución de envases.
Página 96 de 126
OPERACION
DESCUENTO_RECARGO
DEVOLUCION_DE_ENVASES
DECIMAL
66
69
HEXA La tabla de la izquierda
42
contiene la lista de cons45
tantes embedidas del OCX
Fiscal Hasar que pueden uti
lizarse como valores posibles del argumento oper.
Uno de los usos del método DevolucionDescuento( ) permite al software de gestión para
puntos de venta indicar un monto de descuento/recargo que en la impresora fiscal Hasar
se traduce en su aplicación sobre todos los ítems vendidos que se encuentren afectados
por la alícuota de IVA indicada mediante el argumento alicuota, y el impuesto interno indicado mediante el argumento impint.
El otro uso del método DevoluciónDescuento( ) permite al software de gestión para puntos
de venta el manejo de la devolución de envases.
El método DevolucionDescuento( ) puede ser invocado más de una vez si fuese necesario,
pero una vez invocado no se pueden realizar más ventas.
Ejemplo de uso:
· Valido para el OCX Fiscal Hasar v010724 (y posteriores)
…
Dim descrip As String
Dim monto As Double, alicuota As Double, impint As Double
Dim negat As Boolean
Dim oper As TiposDeDescuentos
…
descrip = “Bonificación…”
monto = 15.00
alicuota = 21.00
impint = 10.00
negat = True
oper = DESCUENTO_RECARGO
…
HASAR1.KIVA = False
HASAR1.ImpuestoInternoFijo = False
HASAR1.ImpuestoInternoPorMonto = False
…
HASAR1.DevolucionDescuento descrip, monto, alicuota, impint, negat, oper´
…
En el ejemplo anterior se realiza un descuento de $ 15.00 .-, monto afectado por un 21 %
de IVA y un 10 % de impuestos internos. Si los impuestos declarados están incluidos en el
monto de descuento, o se los debe agregar, será una interpretación que hará el OCX Fiscal
Hasar observando el valor de su propiedad PrecioBase( ).
Página 97 de 126
DevolverPago( )
METODO
Disponible en versiones: v051122 (y posteriores).
String de comando: TotalTender
Argumentos:
descrip
Obligatorio. Permite indicar la descripción de un pago realizado previamente,
en el comprobante en curso, cuyo monto coincide con el indicado en el argumento monto.
monto
Obligatorio. Permite indicar el monto de un pago realizado previamente, en
el comprobante en curso, cuya descripción coincide con el indicado en el argumento descrip.
txtadic
Opcional. Permite indicar el texto adicional de un pago con tarjeta de crédito/débito realizado previamente, en el comprobante en curso, donde además
su descripción y monto coinciden con lo indicado en los argumentos descrip y
monto.
saldo
Opcional. Permite obtener el monto pendiente de pago para el comprobante
en curso. Se trata de la diferencia entre el total del comprobante y los pagos
realizados.
El método DevolverPago( ) permite al software de gestión para puntos de venta realizar la
anulación de un pago realizado previamente en el comprobante en curso. En la impresora
fiscal Hasar se traduce como la impresión de un pago negativo.
Las devoluciones de pagos son contabilizadas por la impresora fiscal Hasar como si se tratara de comandos de pago habituales. Es decir, la suma de pagos y devoluciones de pagos
no puede superar el máximo de pagos admitidos por la impresora fiscal Hasar en uso (notar que se genera el mismo string de comando que en el caso de uso del método ImprimirPago( )).
La devolución de pagos es una prestación que no está disponible en todos los modelos de
impresoras fiscales Hasar.
En la devolución de un pago previo (dentro del mismo comprobante) deben coincidir exactamente: descripción del pago, monto, y –de existir- descripción adicional. Cualquier diferencia existente en alguno de estos datos causará que la impresora fiscal Hasar rechace
el string del comando generado.
Ejemplo de uso:
· Valido para el OCX Fiscal Hasar v010724 (y posteriores)
Página 98 de 126
…
Dim descrip As String
Dim monto As Double
Dim txtadic As Variant, saldo As variant
…
descrip = “TC Plasticard…”
monto = 154.30
txtadic = “ Nro: ****3456”
…
HASAR1.Imprimir Pago descrip, monto, txtadic, saldo
MsgBox “Falta pagar: $ “, saldo
HASAR1.ImprimirPago “Efectivo…”, 100.00, , saldo
MsgBox “Falta pagar: $ “, saldo
HASAR1.DevolverPago descrip, monto, txtadic, saldo
MsgBox “Falta pagar: $ “, saldo
…
Página 99 de 126
DNFHFarmacias( )
METODO
Disponible en versiones: v010724 (y posteriores).
String de comando: DNFHFarmacias
Argumentos:
copias
Obligatorio. Permite indicar la cantidad de ejemplares que se emitiran del mismo comprobante.
El método DNFHFarmacias( ) permite al software de gestión para puntos de venta emitir
un comprobante, destinado a obras sociales, por las ventas realizadas a afiliados a las
mismas.
El contenido del comprobante de farmacias es obtenido automáticamente por la impresora fiscal Hasar a partir del tique o tique factura emitido en forma previa e inmediata. Son
considerados, solamente, los primeros 20 ítems del tique o tique factura.
El comprobante que se genera mediante el método DNFHFarmacias( ) no se encuentra disponible en todos los modelos de impresoras fiscales Hasar.
El comprobante que se genera mediante el método DNFHFarmacias( ), en las impresoras
fiscales Hasar más modernas, ha sido reemplazado por el documento no fiscal homologado
“Uso Interno Farmacia” cuya confección es responsabilidad del software de gestíon para
puntos de venta, ofreciendo mayor flexibilidad a la hora de su emisión.
Ejemplo de uso:
· Valido para el OCX Fiscal Hasar v010724 (y posteriores)
…
Dim copias As Long
…
copias = 2
…
HASAR1.CerrarComprobanteFiscal
HASAR1.DNFHFarmacias copias
…
Página 100 de 126
DNFHReparto( )
METODO
Disponible en versiones: v010724 (y posteriores).
String de comando: DNFHReparto
Argumentos:
copias
Obligatorio. Permite indicar la cantidad de ejemplares que se emitiran del mismo comprobante.
El método DNFHReparto( ) permite al software de gestión para puntos de venta emitir un
comprobante, destinado a repartos, por las ventas realizadas con envío a domicilio.
El contenido del comprobante de reparto es obtenido automáticamente por la impresora
fiscal Hasar a partir del tique o tique factura emitido en forma previa e inmediata. Son
considerados, solamente, los primeros 20 ítems del tique o tique factura.
El comprobante que se genera mediante el método DNFHReparto( ) no se encuentra disponible en todos los modelos de impresoras fiscales Hasar.
El comprobante que se genera mediante el método DNFHReparto( ), en las impresoras fiscales Hasar más modernas, ha sido reemplazado por el documento no fiscal homologado
“Talón de Reparto” cuya confección es responsabilidad del software de gestíon para puntos de venta, ofreciendo mayor flexibilidad a la hora de su emisión.
Ejemplo de uso:
· Valido para el OCX Fiscal Hasar v010724 (y posteriores)
…
Dim copias As Long
…
copias = 2
…
HASAR1.CerrarComprobanteFiscal
HASAR1.DNFHReparto copias
…
Página 101 de 126
Enviar( )
METODO
Disponible en versiones: v010724 (y posteriores).
String de comando: No genera.
Argumentos:
comando
Obligatorio. Permite indicar un string de comando destinado a la impresora
fiscal.
Este método permite al software de gestión para puntos de venta enviar a la impresora
fiscal Hasar un string de comando construido por la aplicación, siguiendo las indicaciones
sintácticas dadas en el manual de comandos correspondiente.
El uso del método Enviar( ) está previsto para aquellos casos donde el OCX Fiscal Hasar se
encuentra desactualizado respecto de la impresora fiscal Hasar a manejar. Cuando esto
último ocurre, la propiedad Modelo( ) no posee una constante embebida que identifique al
equipo fiscal con el que se va a dialogar. En consecuencia, la propiedad mencionada se
debe configurar con la identificación del modelo más similar –desde el punto de vista de
conjunto de comandos soportados- a la impresora fiscal Hasar en uso.
Por ejemplo, si la impresora fiscal Hasar es el modelo SMH/P-715F v01.00 y el OCX Fiscal
Hasar es versión v010724, la propiedad Modelo( ) debe configurarse con el valor de la cons
tante embebida MODELO_615.
Cada vez que se invoca un método/propiedad del OCX Fiscal Hasar, el string de comando
que se genera es el apropiado para la impresora fiscal Hasar que se identifica mediante la
propiedad Modelo( ). Si no hay coincidencia con el modelo físicamente conectado, puede
ocurrir que el string de comando sea rechazado por la impresora fiscal Hasar, o al momento de invocar el método/propiedad el OCX Fiscal Hasar genere una excepción.
Es en estos casos donde el software de gestión para puntos de venta debe construir directamente el string de comando, tal como espera recibirlo la impresora fiscal Hasar, y recurriendo al método Enviar( ) para que llegue a destino.
El método Enviar( ) no está pensando para que todos los strings de comandos sean construidos por software de gestión para puntos de venta (para ello existe la librería winfis32.dll), sino para poder resolver pequeñas incompatibilidades sin tener que actualizar
la versión de OCX Fiscal Hasar.
Ejemplos de uso:
· Valido para el OCX Fiscal Hasar v051122 (y posteriores)
…
HASAR1.Modelo = MODELO_715
…
HASAR1.CerrarDNFH
…
Página 102 de 126
En el ejemplo anterior se ha cerrado un documento no fiscal homologado en la forma
habitual. Ello es posible porque la impresora fiscal Hasar SMH/P-715F soporta este tipo de
documentos y porque el OCX Fiscal Hasar v051122 posee un método para generar el string
de comando de cierre correspondiente.
Sin embargo, en el OCX Fiscal Hasar v010724 no es posible generar lo mismo con tanta sim
pleza, debido a que no posee la constante embebida MODELO_715 y no posee el método
CerrarDNFH( ).
· Valido para el OCX Fiscal Hasar v010724 (y anteriores)
Para cerrar un documento no fiscal homologado en una impresora fiscal SMH/P-715F se
debe proceder como se muestra en el siguiente ejemplo.
…
Dim comando As String
…
HASAR1.Modelo = MODELO_615
…
comando = Chr(129)
HASAR1.Enviar comando
…
‘// Caracter ASCII 129 decimal
Notar que en este caso se ha hecho uso del método Enviar( ).
Página 103 de 126
EnviarStatPrn( )
METODO
Disponible en versiones: v010724 (y posteriores).
String de comando: StatPRN
Argumentos: No requiere.
Este método permite al software de gestión para puntos de venta realizar consultas de estado intermedio a la impresora fiscal Hasar; siempre y cuando las consultas de este tipo
estén soportadas. Es decir, la impresora fiscal Hasar acepta el comando StatPRN.
Se denomina estado intermedio al período de tiempo que normalmente transcurre entre
la llegada de un comando a la impresora fiscal Hasar y la devolución de su correspondiente respuesta (sea inmediata o demorada).
Cuando se inicia una demora en la entrega de la respuesta esperada la impresora fiscal
Hasar informa que tal situación ocurre entregando una primera respuesta que corresponde
al comando StatPRN (como si éste se hubiera enviado). Tal situación se traduce en el OCX
Fiscal Hasar seteando la propiedad HuboStatPrn( ) con el valor Verdadero.
La demora en la entrega de la respuesta a un comando puede ocurrir por la propia naturaleza de la ejecución del comando enviado, por falta de papel, etc.
Mientras la respuesta esperada se encuentra demorada se puede consultar a la impresora
fiscal Hasar enviando un comando StatPRN mediante el método EnviarStatPrn( ).
Si la respuesta que se recibe corresponde al comando StatPRN enviado -la propiedad
HuboStatPrn( ) se encuentra en Verdadero- se puede enviar otro comando StatPRN (nuevamente con EnviarStatPrn( )).
Si la respuesta recibida es la esperada, entonces se puede enviar el siguiente comando a
la impresora fiscal Hasar.
Host (PC)
Comando enviado
Host (PC)
Comando enviado
Caso Normal
Impresora fiscal Hasar
Respuesta a Comando
Caso con consulta de estado intermedio
Impresora fiscal Hasar
Respuesta a StatPRN
Comando StatPRN
Comando StatPRN
Respuesta a StatPRN
Respuesta a StatPRN
Comando StatPRN
Respuesta a comando
Página 104 de 126
El manejo de la consulta de estado intermedio puede hacerlo:
▪ Directamente el OCX Fiscal Hasar (transparente para el software).
▪ El software de gestión para puntos de venta.
En el segundo caso deben configurarse adecuadamente las propiedades ReintentoConstante( ) y ModoStatPrn( ); ambas disponibles en el OCX Fiscal Hasar v010724 (y posteriores).
Ejemplos de uso:
· Valido para el OCX Fiscal Hasar v010724 (y anteriores)
En estas versiones del OCX Fiscal Hasar se hace más trabajoso determinar si la impresora
fiscal Hasar soporta consultas de estado intermedio (obviamente, se puede consultar el
manual de comandos para ver si es aceptado el comando StatPRN).
Una forma de determinación es invocar al método EnviarStatPrn( ). Si se genera el evento
ErrorFiscal( ) por Comando Desconocido la impresora fiscal Hasar no soporta consulta de
estado intermedio.
Asumiendo que la impresora fiscal Hasar soporta este tipo de consultas…
…
HASAR1.ReintentoConstante = False
HASAR1.ModoStatPrn = True
…
HASAR1.AbrrirComprobanteFiscal TICKET_C
If (HASAR1.HuboStatPrn) Then
Do
HASAR1.EnviarStatPrn
While(Not(HASAR1.HuboStatPrn))
End If
…
· Valido para el OCX Fiscal Hasar v051122 (y posteriores)
Con estas versiones del OCX Fiscal Hasar es más sencillo saber si la impresora fiscal soporta consulta de estado intermedio debido a que se cuenta con la propiedad SoportaStatPrn( ).
…
If (HASAR1.SoportaStatPrn) Then
HASAR1.ReintentoConstante = False
HASAR1.ModoStatPrn = True
…
‘// También puede ser False en esta versión
‘// del OCX Fiscal Hasar
Página 105 de 126
HASAR1.AbrrirComprobanteFiscal TICKET_C
If (HASAR1.HuboStatPrn) Then
Do
HASAR1.EnviarStatPrn
While(Not(HASAR1.HuboStatPrn))
End If
End If
…
Página 106 de 126
EspecificarIVANoInscripto( )
METODO
Disponible en versiones: v010724 (y posteriores).
String de comando: ChargeNonRegisteredTax
Argumentos:
monto
Obligatorio. Permite indicar el monto de sobretasa de IVA calculado por el
software de gestión para puntos de venta.
La normativa fiscal vigente ha eliminado las responsabilidades: IVA No Inscripto y
Venta Bienes de Uso; razón por la cual el método EspecificarIVANoInscripto( ) no debería ser invocado nunca.
Las impresoras fiscales Hasar cuentan con un parámetro de configuración que es la sobretasa de IVA a aplicar (50 % -actualmente, los nuevos modelos salen de fábrica con el valor
0.00 % programado-) sobre cada una de las alícuotas de IVA intervinientes en el comprobante en emisión, cuando el emisor es un Responsable Inscripto y el receptor es un Responsable No Inscripto (categoría actualmente en desuso).
Puede ocurrir que por exigencias de la normativa fiscal vigente el software de gestión para puntos de venta deba calcular el monto que se origina por aplicación de la sobretasa de
IVA a determinados ítems, y no corresponda aplicar el monto que calcula automáticamente la impresora fiscal Hasar. Esto se debe a que la impresora fiscal Hasar aplica la sobretasa de IVA sobre el total de la factura, y no sobre un grupo de terminado de ítems.
La invocación al método EspecificarIVANoInscripto( ) sólo corresponde cuando la aplicación de la sobretasa de IVA es parcial. Si fuese total, no se necesita del envío del string
del comando ChargeNonRegisteredTax.
Ejemplo de uso:
· Valido para el OCX Fiscal Hasar v010724 (y posteriores)
…
Dim monto As Double
…
monto = 124.67
HASAR1.EspecificarIVANoInscripto monto
…
Página 107 de 126
EspecificarNombreDeFantasia( )
METODO
Disponible en versiones: v010724 (y anteriores).
v051122 (y posteriores) DEPRECADO
String de comando: SetFantasyName
Argumentos:
texto1
Obligatorio. Permite indicar el texto correspondiente a la primera línea de impresión del nombre de fantasía.
texto2
Obligatorio. Permite indicar el texto correspondiente a la segunda línea de impresión del nombre de fantasía.
El método EspecificarNombreDeFantasía( ) permite al software de gestión para puntos de
venta cargar la memoria de trabajo de la impresora fiscal Hasar con dos líneas de texto
cuyo contenido suele ser el nombre de fantasía empleado por el comercio, o la empresa, y
que no tiene porque coincidir con la razón social.
La ubicación de la impresión de las líneas de fantasía, así como la longitud de los textos
debe consultarse en el manual de comandos de la impresora fiscal Hasar en uso.
Si bien para el OCX Fiscal Hasar v051122 el método EspecificarNombreDeFantasia( ) se encuentra DEPRECADO, posee la propiedad NombreDeFantasia( ) que genera el mismo comando pero haciendo más flexible la programación.
Ejemplo de uso:
· Valido para el OCX Fiscal Hasar v010724 (y anteriores)
…
Dim texto1 As String, texto2 As String
…
texto1 = “Nombre fantasía línea 1…”
texto2 = “Nombre fantasía línea 2…”
…
HASAR1.EspecificarNombreDeFantasia texto1, texto2
…
Si bien el contenido de las variables texto1 o texto2 puede ser un string vacío, no pueden
ser ambos vacíos en una misma invocación al método EspecificarNombreDeFantasia( ).
Como mínimo, alguna de las dos variables debe contener al menos un carácter –aunque
éste sea un espacio-.
Página 108 de 126
EspecificarPercepcionGlobal( )
METODO
Disponible en versiones: v010724 (y posteriores)
String de comando: Perceptions
Argumentos:
texto
Obligatorio. Permite indicar una descripción identificatoria de la percepción
que se está incluyendo en el total del comprobante.
monto
Obligatorio. Permite indicar el monto de la percepción que se está incluyendo
en el total del comprobante.
Este método permite al software de gestión para puntos de venta imprimir en un comprobante fiscal (o una nota de crédito) el detalle de una percepción realizada al cliente. Se
trata de percepciones aplicadas sobre el total del comprobante.
Es responsabilidad del software de gestión para puntos de venta la aplicación (cuando correspondiere) y el cálculo del monto de la percepción, de acuerdo a las indicaciones de la
normativa fiscal vigente.
Ejemplo de uso:
· Valido para el OCX Fiscal Hasar v010724 (y anteriores)
…
Dim texto As String
Dim monto As Double
…
texto = “Percepción RG 3337…”
monto = 43.56
…
HASAR1.EspecificarPercepcionGlobal texto, monto
…
Página 109 de 126
EspecificarPercepcionPorIVA( )
METODO
Disponible en versiones: v010724 (y posteriores)
String de comando: Perceptions
Argumentos:
texto
Obligatorio. Permite indicar una descripción identificatoria de la percepción
que se está incluyendo en el total del comprobante.
monto
Obligatorio. Permite indicar el monto de la percepción que se está incluyendo en el total del comprobante.
alicuota
Obligatorio. Permite indicar la alícuota de IVA sujeta a la aplicación de la
percepción. Debe haberse registrado al menos un ítem con dicha alícuota en
el comprobante en emisión.
Este método permite al software de gestión para puntos de venta imprimir en un comprobante fiscal (o una nota de crédito) el detalle de una percepción realizada al cliente. Se
trata de percepciones aplicadas sobre ítems afectados por determinada alícuota de IVA.
Es responsabilidad del software de gestión para puntos de venta la aplicación (cuando correspondiere) y el cálculo del monto de la percepción, de acuerdo a las indicaciones de la
normativa fiscal vigente.
Ejemplo de uso:
· Valido para el OCX Fiscal Hasar v010724 (y anteriores)
…
Dim texto As String
Dim monto As Double, alicuota As Double
…
texto = “Percepción RG 3337…”
monto = 43.56
alicuota = 21.00
…
HASAR1.EspecificarPercepcionGlobal texto, monto, alicuota
…
Página 110 de 126
EstadoInternoImpresor( )
METODO
Disponible en versiones: v051122 (y posteriores)
String de comando: PrinterInternalStatus
Argumentos:
codigo
Obligatorio. Permite obtener un código numérico de hasta 5 dígitos que identifica un error, advertencia o, simplemente, el estado interno de la impresora
como tal.
texto
Obligatorio. Descripción de hasta 200 caracteres. Mensaje asociado al argumento codigo.
Las impresoras fiscales Hasar pueden pensarse como un equipo formado por dos partes:
· La impresora no fiscal. Estándar. Tal como la conocemos desde siempre.
· El módulo fiscal. Todo el diálogo entre el software de gestión para puntos de venta y la
impresora fiscal Hasar, se realiza a través de este módulo.
El método EstadoInternoImpresor( ) permite al software de gestión para puntos de venta
consultar a la impresora fiscal Hasar acerca del estado interno de la impresora no fiscal
que la compone.
El string de comando que genera el método EstadoInternoImpresor( ) tiene sentido de utilización, por el momento, al dialogar con impresoras fiscales Hasar de tipo láser.
Por el momento, el comando generado solamente es aceptado por el modelo SMH/PL-23F;
en todas sus versiones homologadas a la fecha.
Ejemplo de uso:
· Valido para el OCX Fiscal Hasar v051122 (y posteriores)
…
Dim codigo As Variant, texto As Variant
…
HASAR1.EstadoInternoImpresor codigo, texto
MsgBox “codigo = “ & codigo & “ ; texto = “ & texto
…
Página 111 de 126
Finalizar( )
METODO
Disponible en versiones: v010724 (y posteriores)
String de comando: No requiere
Argumentos: No requiere
Este método permite al software de gestión para puntos de venta dar por terminada una
sesión de trabajo, y liberando los recursos asociados a las comunicaciones con la impresora fiscal Hasar.
Es responsabilidad del software de gestión para puntos de venta invocar al método Finalizar( ) cada vez que termina su ejecución (cualquiera sea el punto de salida utilizado).
Ejemplo de uso:
· Valido para el OCX Fiscal Hasar v010724 (y posteriores)
…
HASAR1.Finalizar
…
Página 112 de 126
ImprimirCodigoDeBarras( )
METODO
Disponible en versiones: v010724 (y posteriores)
String de comando: BarCode
Argumentos:
tipo
Obligatorio. Permite indicar el tipo de código de barras que se va a imprimir.
CODIGO
DECIMAL HEXA La tabla de la izquierda lista
las constantes embebidas del
48
30
CODIGO_DE_BORRADO ♦
OCX Fiscal Hasar que se pueCODIGO_TIPO_EAN_13
49
31
den utilizar como valor posiCODIGO_TIPO_EAN_8
50
32
ble para este argumento.
CODIGO_TIPO_ITS
52
34
CODIGO_TIPO_UPCA
51
33
♦ Esta constante embebida está disponible en el OCX Fiscal Hasar v051122
(y posteriores).
codigo
Obligatorio. Permite indicar el string que permitirá generar el código de barras a imprimir.
impr_nro
Obligatorio. Permite indicar si, bajo el código de barras, se imprimen los caracteres indicados en el argumento codigo.
impr_ya
Obligatorio. Permite indicar si el código de barras se imprime en cuanto es
recibido el string de comando, o queda programado para imprimirse cuando
corresponda, de acuerdo al comprobante en emisión.
Este método del OCX Fiscal Hasar permite al software de gestión para puntos de venta
imprimir (siempre que el tipo de comprobante lo permita y el modelo de impresora fiscal
Hasar lo admita) un código de barras en el comprobante en emisión.
El único tipo de comprobante que admite la impresión del código de barras en el momento de la impresión, e inlcuso imprimir más de un código por comprobante, es el DNF (Documento No Fiscal). En los demás tipos de comprobantes la unicación del código de barras
está preestablecida.
Al indicar el tipo y codigo del código de barras a imprimir, tener presentes las siguientes
pautas:
EAN 13
EAN 8
ITS
UPCA
12 dígitos exactos (no incluir dígito verificador).
7 dígitos exactos (no incluir dígito verificador).
Cantidad par de dígitos hasta un máximo de 16 pares (*).
11 dígitos exactos (no incluir dígito verificador).
(*) La cantidad máxima de pares de dígitos puede variar no sólo de un modelo
a otro de impresora fiscal Hasar, sino también entre documentos disponibles
sobre un mismo modelo.
Página 113 de 126
Ejemplo de uso:
· Valido para el OCX Fiscal Hasar v010724 (y posteriores)
…
Dim tipo As TiposDeCodigo
Dim codigo As String
Dim impr_nro As Boolean, impr_ya As Boolean
…
tipo = CODIGO_TIPO_EAN_13
codigo = “779123456789”
impr_nro = True
impr_ya = False
…
HASAR1.ImprimirCodigoDebarras tipo, codigo, impr_nro, impr_ya
…
Página 114 de 126
ImprimirFirmaOpcionalEnCierre( )
METODO
Disponible en versiones: v051122 (y posteriores)
String de comando: PrintSignDNFH
Argumentos:
firma
Obligatorio. Permite la (des)habilitación en determinados documentos no fiscales homologados de la impresión de firma y aclaración al pie del cuerpo.
Por defecto, la firma y aclaración es impresa siempre.
Este método del OCX Fiscal Hasar permite al software de gestión para puntos de venta
(des)habilitar la impresión de la firma y aclaración, siempre que el comprobante en emisión sea alguno de los siguientes:
▪
▪
▪
▪
Talón de cambio.
Talón de Regalo.
Talón de Reparto.
Uso Interno Farmacias.
Si bien algunos modelos y/o versiones de impresoras fiscales Hasar pueden emitir otros tipos de documentos no fiscales homologados que incluyen impresión de firma al pie del
cuerpo (notas de crédito, por ejemplo), el comando generado por el método ImprimirFirmaOpcionalEnCierre( ) sólo tiene efecto sobre los indicados en la lista anterior.
Ejemplo de uso:
· Valido para el OCX Fiscal Hasar v051122 (y posteriores)
…
Dim firma As Boolean
…
firma = False
…
HASAR1.ImprimirFirmaOpcionalEnCierre firma
…
Página 115 de 126
ImprimirInfoEnDNFH( )
METODO
Disponible en versiones: v051122 (y posteriores)
String de comando: PrintSignDNFH
Argumentos:
Página 116 de 126
Página 117 de 126
Página 118 de 126
Propiedades disponibles en el OCX Fiscal Hasar
La tabla siguiente a incluye a todas las propiedades disponibles para cada una de las versiones del OCX Fiscal Hasar liberadas hasta la fecha de publicación de esta guía de referencia.
PROPIEDADES
Baudios
CajonAbierto
ContadorImpresoraOcupada
DescripcionDocumentoEnCurso
DescripcionesLargas
DescripcionEstadoControlador
DireccionIP
DobleAncho
DocumentoDeReferencia
DocumentoEnCurso
Encabezado
EstadoControlador
EventosIndividuales
FechaHoraFiscal
HuboErrorFiscal
HuboErrorMecanico
HuboFaltaPapel
HuboStatPRN
ImpuestoInternoFijo
ImpuestoInternoPorMonto
IndicadorFiscal
IndicadorImpresora
InformacionRemito
Interlineado
KIVA
Modelo
ModoStatPRN
NombreDeFantasia
PaginasDeUltimoDocumento
PrecioBase
PrimerNumeroDeDocumentoActual
Puerto
ReintentoConstante
Reintentos
Respuesta
ResumenIVA
SoportaStatPRN
TiempoDeEspera
Transporte
UltimaFactura
UltimaNotaCreditoA
UltimaNotaCreditoBC
UltimoDocumentoFiscalA
VERSIONES
v051122 v010724
SI
SI
SI
SI
SI
SI
SI
SI
SI
SI
SI
SI
SI
SI
SI
SI
SI
SI
SI
SI
SI
SI
SI
SI
SI
SI
SI
SI
SI
SI
SI
SI
SI
SI
SI
SI
SI
SI
SI
SI
♦
SI
SI
SI
SI
SI
SI
SI
SI
SI
SI
SI
SI
SI
SI
SI
SI
SI
SI
SI
SI
SI
SI
SI
SI
♦
SI
SI
SI
Página 119 de 126
PROPIEDADES
UltimoDocumentoFiscalBC
UltimoDocumentoFueCancelado
UltimoRemito
UltimoTicket
UsarASCII
UsarDisplay
VerificacionCompletaDeErrores
Version
♦
VERSIONES
v051122 v010724
SI
SI
SI
SI
♦
SI
SI
SI
SI
SI
SI
-
Este símbolo en la tabla anterior indica que para la versión del OCX Fiscal Hasar, a cuya columna pertenece, la propiedad de la correspondiente fila ha sido deprecada.
Algunas de las propiedades disponibles en el OCX Fiscal Hasar mantienen una relación uno
a uno con los strings de comandos soportados por los diferentes modelos y versiones de
impresoras fiscales Hasar. De hecho, los argumentos que requieren las propiedades son los
mínimos y necesarios para construir dichos strings. El envío de cada comando es transparente para el software de gestión para puntos de venta.
Si bien son muy pocas, algunas de las propiedades del OCX Fiscal Hasar requieren múltiples argumentos. Si bien es aceptado en el estándar COM para diseño de objetos ActiveX,
este hecho puede ser un inconveniente para algunos lenguajes de programación visual. El
desarrollador del software de gestión para puntos de venta deberá consultar la documentación correspondiente a su entorno de desarrollo para verificar si la mencionada situación es subsanable. De no serlo, el OCX Fiscal Hasar provee el método Enviar( ) para resolver dicha incompatibilidad.
Es responsabilidad del desarrollador del software de gestión para puntos de venta consultar, además de esta guía de referencia, el manual de comandos de la impresora fiscal
Hasar para informarse de lo esperado por dichos equipos en cada comando, de lo que puede entregar como respuesta a cada uno de ellos, en que casos puede ser rechazado, del
comportamiento de la impresora fiscal Hasar, etc., etc..
Según el modelo de impresora fiscal Hasar el manual de comandos a consultar debe ser:
Modelo Impresora Fiscal Hasar
(CIF) Centro Integral de Facturación
Página Completa
Térmicas
Tiqueadoras
Manual de
comandos
‘Publicif.pdf’
‘Publfact.pdf’
‘Publterm.pdf’
‘Publtick.pdf’
Todos los documentos mencionados se incluyen en el ZIP de drivers fiscales que se puede
descargar (gratuitamente) del sitio web de Grupo HASAR.
Es responsabilidad del software de gestión para puntos de venta garantizar la exactitud de
la información pasada en los argumentos, así como el tratamiento de los eventos y excepciones que pudieran generarse con motivo de la invocación a una propiedad del OCX Fiscal
Hasar.
Página 120 de 126
En las próximas páginas se describen en detalle cada una de las propiedades disponibles
en el OCX Fiscal Hasar.
Página 121 de 126
Eventos generables por el OCX Fiscal Hasar
La tabla siguiente a incluye a todos los eventos generables para cada una de las versiones
del OCX Fiscal Hasar liberadas hasta la fecha de publicación de esta guía de referencia.
EVENTOS
ErrorFiscal
ErrorImpresora
EventoCajon
EventoFiscal
EventoImpresora
Falta Papel
ImpresoraNoResponde
ImpresoraOcupada
ImpresoraOK
ProgresoDeteccion
VERSIONES
v051122 v010724
SI
SI
SI
SI
SI
SI
SI
SI
SI
SI
SI
SI
SI
SI
SI
SI
SI
SI
SI
SI
Página 122 de 126
Excepciones generables por el OCX Fiscal Hasar
La tabla siguiente a incluye a todas las excepciones generables para cada una de las versiones del OCX Fiscal Hasar liberadas hasta la fecha de publicación de esta guía de referencia.
EXCEPCIONES
H_ERR_ABORT
H_ERR_ALREADYOPEN
H_ERR_ATOMIC
H_ERR_BAD_PROTOCOL
H_ERR_BIND_SOCKET
H_ERR_CF_NOT_DETECTED
H_ERR_COMMAND_MISMATCH
H_ERR_COMMUNICATIONS_ANOMALY
H_ERR_CONNECTION
H_ERR_DEPRECATED_FUNCTION
H_ERR_FIELD_INVALID
H_ERR_FIELD_NOT_FOUND
H_ERR_FIELD_OPTIONAL
H_ERR_FILENAME
H_ERR_GENERIC
H_ERR_HANDLER
H_ERR_INIT_SOCKET
H_ERR_INVALID_BIT
H_ERR_INVALID_BUFFER
H_ERR_INVALID_DATE
H_ERR_INVALID_PARAMETER
H_ERR_INVALID_PORT
H_ERR_INVALIDPTR
H_ERR_INVALID_STATE
H_ERR_INVALID_TIME
H_ERR_IP_FORMAT
H_ERR_MANDATORY_PARAMETER
H_ERR_MAX_RETRIES
H_ERR_NOMEM
H_ERR_NO_MORE_ITEMS
H_ERR_NOT_EXECUTED
H_ERR_NOT_OPENED
H_ERR_NOT_SUPPORTED
H_ERR_NOTOPENYET
H_ERR_OPEN
H_ERR_PRINTER_NOT_FOUND
H_ERR_READ
H_ERR_SELECT
H_ERR_SERIAL_PARAMETERS
H_ERR_STATPRN
H_ERR_TIMEOUT
H_ERR_VERSION_SOCKET
H_ERR_WRITE
VERSIONES
v051122 v010724
SI
SI
SI
SI
SI
SI
SI
SI
SI
SI
SI
SI
SI
SI
SI
SI
SI
SI
SI
SI
SI
SI
♦
SI
♦
SI
SI
SI
SI
♦
SI
SI
SI
♦
SI
♦
SI
SI
SI
SI
SI
SI
♦
SI
SI
SI
♦
SI
SI
SI
SI
SI
SI
SI
SI
SI
SI
SI
♦
SI
SI
SI
SI
Página 123 de 126
EXCEPCIONES
H_ERR_WRONG_PROTOCOL
♦
VERSIONES
v051122 v010724
SI
-
Este símbolo en la tabla anterior indica que para la versión del OCX Fiscal Hasar, a cuya columna pertenece, la excepción de la correspondiente fila no es generable.
Página 124 de 126
Página 125 de 126
Noviembre 05 , 2009 – Rev. 000
COPYRIGHT © 2009 - CÍA. HASAR SAIC
_ El presente documento se halla sujeto a cambios sin previo aviso.
_ Cía. HASAR SAIC no asume responsabilidad alguna por errores u omisiones contenidas en
este documento, ni asume responsabilidad alguna por los datos y/o perjuicios que el uso de
esta información pudiera causar.
_ Este documento no puede ser reproducido, total o parcialmente, ni almacenado para su
posterior reproducción por cualquier método o medio, sin autorización escrita de Cía. HASAR
SAIC.
Página 126 de 126
Source Exif Data:
File Type : PDF File Type Extension : pdf MIME Type : application/pdf PDF Version : 1.3 Linearized : Yes Create Date : 2010:05:26 13:09:11-03:00 Modify Date : 2010:05:26 13:09:11-03:00 Page Count : 126 Creation Date : 2010:05:26 16:09:11Z Mod Date : 2010:05:26 16:09:11Z Producer : Acrobat Distiller 5.0 (Windows) Author : Ricardo D. Cardenes Metadata Date : 2010:05:26 16:09:11Z Creator : Ricardo D. Cardenes Title : Microsoft Word - Manual OCX Fiscal Hasar v051122.docEXIF Metadata provided by EXIF.tools