Entrar
¿Nuevo usuario? Inscribirme
ifclipper · Impresoras Fiscales & Clipper
? ¿Ya estás suscrito? Entra a Yahoo!

Consejos

¿Sabías que...?
Podés cambiar el orden de los mensajes. Simplemente hacé clic en el enlace de columna fecha. Tus preferencias se guardarán, por lo tanto no necesitarás hacerlo otra vez cuando vuelvas a entrar.

Mensajes

  Mensajes Ayuda
Avanzado
Mensajes 8086 - 8115 de 8385   Más reciente  |  < Más reciente  |  Más antiguo >  |  Más antiguo
Mensajes: Mostrar resúmenes de los mensajes   (Agrupar por tema) Clasificar por fecha v  
#8115 De: Claudio Torrillo <clipsupp@...>
Fecha: Mar, 7 de Oct, 2008 5:42 pm
Asunto: Re: Migraciones
clipsupp
Sin conexión Sin conexión
Enviar correo Enviar correo
 
José Luis:
 
Para destacar. Yo no represento a nadie. Ya Clipper pasó a la historia y GraphX deberá dar cuentas de ello, cuando alguien escriba el libro de las idioteces informáticas de siglo XX.
 
Ahora, repecto del envoltorio, pues no hay problemas. Sin embargo hede hacerte notar 1 cosa, en cualquier lenguaje (.Net incluido) existe la posibilidad de emular el funcionamiento de las CA-Clipper Tools, mediante las correspondientes rutinas de API (en punto net serán clases y métodos, etc)
 
Yo había avanzado en xHarbour pero lamentablemente no contaba con al impresora el tiempo necesario para finalizar las pruebas, sin embargo ya podía emitir comprobantes en impresoras EPSON que son las más complicadas de manejar en Windows.
 
Mi postura al respecto es no usar ningún tipo de componente ya que lamentablemente pueden tener problemas en diversos entornos y además de complicar el desarrollo con una capa adicional no controlable ni normalizada.
 
Muchos de los lectores, recientemente se han expresado a favor o encontra de una u otra marca de impresoras, incluso algunos sostiene que "solo instalo el sistema si se reemplazan las impresoras tal por cual". Bueno, yo no comulgo con esa idea, si tengo que instalar un sistema es un sistema de Facturación y brindo el soporte a la impresora que corresponda, no complico la vida del cliente.
 
Esa es la filosofía de las rutinas fiscales, ser compatibles con todo lo que se necesite y a eso debemos tender.
 
Vamos muchachos, sean PROFESIONALES.!!!!
 
Claudio G. Torrillo
www.xcsa.com.ar

--- El mar 7-oct-08, Jose Luis Otermin <otermin@...> escribió:
De: Jose Luis Otermin <otermin@...>
Asunto: Re: [ifclipper] Migraciones
Para: ifclipper@...
Fecha: martes, 7 de octubre de 2008, 11:22 am


Claudio,
 
Muchas gracias por tu comentario.
 
Justamente vi que los colegas están enfrentando el dilema de hacer funcionar sus sistemas sobre plataformas No-DOS.
 
Tus rutinas son harto conocidas y creo que son el camino más corto para normalizar los fuentes en esa dirección.
Sin embargo, Windows se reserva el derecho de jorobar nuestras aplicaciones cada vez que logramos estabilizarlas.
 
Una de las desventajas que he notado es el temor o exceso de precaución (por llamarle de alguna forma) al cambiar de plataforma de programación.
 
Sé que todo cambio de paradigma trae sus inconvenientes y sin embargo he visto cómo has conseguido normalizar el impacto de incorporar las impresoras fiscales a los sistemas sin tener que romperse la cabeza.
 
Pues bien, én ese sentido quise informar a los colegas que ese temor es innecesario.
Por eso he comentado sobre el uso del preprocesador a título personal y no como Soporte Técnico de Alaska Software.
 
De más está decir que agradezco tu permiso implícito en dejarme comentar las bondades de un producto que es básicamente competencia de aquel que representas.
 
No deseo faltarte el respeto. Si lo consideras asi te ruego me lo indiques. 
Por favor acepta mis disculpas si así lo pareció.
 
Cuando mencioné en el último párrafo de mi mensaje anterior que las impresoras fiscales pueden usarse con los controles ActiveX es porque así también es posible sortear los inconvenientes que Windows plantea a las comunicaciones con los dispositivos fiscales.
 
Estoy puliendo el código fuente de un envoltorio que maneja de forma simple al control ActiveX de la impresora Hasar.
Espero tenerlo listo para este viernes y publicarlo en esta lista para beneficio de todos si no te parece mal.
 
Una vez más, gracias por tu paciencia.
 
Saludos
 
José Luis Otermin
------------ --------- --------- --------- --------- ----
HardCoded Systems SH
+54-9-11-4417- 7774
+54-11-4503- 1761
------------ --------- --------- --------- --------- ----
 
 
 
----- Original Message -----
Sent: Tuesday, October 07, 2008 11:09 AM
Subject: Re: [ifclipper] Migraciones

José luis y Otros listeros.
 
Yo personalmente agrdezco las indicaciones que nos brindas y todos tus aportes, pero sólamente pido que nos circunscribamos a los temas concernientes a la temática de la lista.
 
Como la mayoría sabemos, TodoClipper es la lista para estos temas. IFClipper es para Impresoras fiscales, y dentro de ello la migración de los sitemas no está dentro de la temática.
 
Sin embargo, si quieres comentar como adaptar las rutinas que muchos de nosostros tenemos en Clipper + CA-Tools a Alaska o a Harbour con el menor impacto posible, todos los comentarios serán bien recibidos.

Claudio G. Torrillo
www.xcsa.com. ar

--- El mar 7-oct-08, Jose Luis Otermin <otermin@gmail. com> escribió:
De: Jose Luis Otermin <otermin@gmail. com>
Asunto: [ifclipper] Migraciones
Para: ifclipper@gruposyah oo.com.ar
Fecha: martes, 7 de octubre de 2008, 9:06 am

Estimados Colegas,
 
Sé que los cambios traen incertidumbres sobre todo cuando uno cree que abandona el terreno conocido para pisar uno que no se sabe bien dónde va a parar.
 
Al comienzo parece que el mundo OOP fuera como entrar en una gruta sin una antorcha.
La primera impresión es que todo tiene demasiada complicación.
Coincido.
 
Sin embargo, se puede simplificar muchísimo todo eso con el uso del preprocesador como primer medida. Y con la separación de tareas en procedimientos se logra una primera atomización de la complejidad.
 
Por ejemplo:
 
Estas son las declaraciones del preprocesador:
 
#COMMAND SUBMENU <oMenuBar> NEW   => <oMenuBar> := XbpImageMenu( ):new():create( oDos2Gui )
#COMMAND SUBMENU <oMenuBar> TITLE <cTitle>  => <oMenuBar>:Title := <cTitle>
#COMMAND SUBMENU <oMenuBar> BARTEXT <cText> => <oMenuBar>:BarText := <cText>
#COMMAND SUBMENU <oMenuBar> CREATE          => _oMbar:addItem( {<oMenuBar>,,, XBPMENUBAR_MIA_ OWNERDRAW} )
 
#COMMAND ADD MENUITEM CAPTION <cCaption> ACTION <cAction> [IMAGE <nImage>] [MESSAGE <cToolTip>] TO <oMenuBar> => <oMenuBar>:addItem( {<cCaption>, {|| <cAction>}, , XBPMENUBAR_MIA_ OWNERDRAW }, [<nImage>] ,[<cToolTip>] )
 
 
Y así se crea un sistema de menú como el del Office 2007.
 
PROCEDURE CreaMenu( oDlg )
    MENUBAR NEW
       SUBMENU oVentas NEW
       SUBMENU oVentas TITLE "Ventas"
       SUBMENU oVentas BARTEXT "Ventas"
       SUBMENU oVentas CREATE
          ADD MENUITEM CAPTION "~Archivos"  ACTION ARVENTAS("C" )  TO oVentas
          ADD MENUITEM CAPTION "~Procesos"  ACTION PRVENTAS("C" )  TO oVentas
          ADD MENUITEM CAPTION "~Consultas" ACTION CONVENTAS("C" ) TO oVentas
 
Como puede apreciarse, la complejidad de las declaraciones OOP ha quedado oculta atrás de la instrucción #COMMAND.
Probablemente no se hace uso de esta herramienta como para explotarla en su potencial debido a que no es sencillo comprender su funcionamiento, pero para quien esté interesado por favor no deje de escribir su mensaje aquí o a mi correo.
Es una herramienta demasiado potente como para abandonarla.
 
Además es el mejor camino para migrar el código hacia otras plataformas tanto como para realizar ajustes de impacto global en la aplicación sin tener que tocar TODOS los fuentes uno x uno.
 
Las soluciones "mágicas" pasan por transformar al texto de un formato en otro.
Sencillamente se toma el modelo verboso de CLIPPER (heredado de dBASE) y se convierte en llamados a funciones.
Lo inverso también es sencillo (quizá aun más).
 
Lo que parece incomodar a la hora de cambiar de plataforma es el hecho que ahora existen múltiples estados para administrar en vez de sólo uno.
Porque el usuario puede ejecutar simultáneamente (en realidad, uno a uno, alternadamente) varias modificaciones de estado (hizo click en la barra de scroll, subió el valor de un botón de incremento - spinbutton-, eligió un valor en una lista o marcó varios y finalmente agrandó la pantalla. Todo eso antes de dar click en "Ok".
 
Eso parece un océano de problemas.
 
En realidad no lo es.
 
Cada objeto guarda en su propia memoria el estado en que estaba.
Cuando el usuario da click en "Ok" el control pasa al estadio siguiente y para nuestra fortuna, todos esos objetos estaban vinculados a un objeto más grande que los contenía: El Padre. Que en nuestro ejemplo es el formulario.
A ese formulario (que llamaremos oForm) le pedimos que nos diga cuántos objetos tiene como hijos:
 
aListaHijos := oForm:childList( )
 
FOR i:=1 to LEN(aListaHijos)
     oHijo := aListaHijos[ i]
     DO CASE
     CASE oHijo:className( ) == "XbpMLE" // MemoLineEditor.
         // Es un control de edicion de Memo.
         cTexto := oHijo:getData( )
         cCampo := oHijo:cargo
         REPLACE &(cCampo) WITH cTexto
     CASE oHijo:className( ) == "XbpComboBox" 
         // En un Combo hay dos elementos:
         // El campo texto (XbpSLE - SingleLineEditor)
         // y una lista (XbpListBox)
         cTexto := oHijo:XbpSLE: getData()
         cCampo := oHijo:cargo
         REPLACE &(cCampo) WITH cTexto
etc.
Como se verá no es complicado.
Para el caso de las impresoras fiscales la cosa es aun más sencilla.
Se produce una llamada al control ActiveX y ya.
 
Si el tema les parece interesante, por favor siéntanse cómodos de preguntar.
 
Espero haber disipado algún temor (o confirmado varios jajaja )
 
Saludos
 
José Luis Otermin
------------ --------- --------- --------- --------- ----
HardCoded Systems SH
+54-9-11-4417- 7774
+54-11-4503- 1761
------------ --------- --------- --------- --------- ----
 
PD: Los correos que firmo con mi firma personal representan mi opinion personal.
No deben interpretarse como expresiones de la empresa Alaska Software.



Yahoo! Cocina
Recetas prácticas y comida saludable
Visitá http://ar.mujer. yahoo.com/ cocina/



Yahoo! Cocina
Recetas prácticas y comida saludable
Visitá http://ar.mujer.yahoo.com/cocina/

#8114 De: "Jose Luis Otermin" <otermin@...>
Fecha: Mar, 7 de Oct, 2008 2:22 pm
Asunto: Re: Migraciones
otermin
Sin conexión Sin conexión
Enviar correo Enviar correo
 

Claudio,
 
Muchas gracias por tu comentario.
 
Justamente vi que los colegas están enfrentando el dilema de hacer funcionar sus sistemas sobre plataformas No-DOS.
 
Tus rutinas son harto conocidas y creo que son el camino más corto para normalizar los fuentes en esa dirección.
Sin embargo, Windows se reserva el derecho de jorobar nuestras aplicaciones cada vez que logramos estabilizarlas.
 
Una de las desventajas que he notado es el temor o exceso de precaución (por llamarle de alguna forma) al cambiar de plataforma de programación.
 
Sé que todo cambio de paradigma trae sus inconvenientes y sin embargo he visto cómo has conseguido normalizar el impacto de incorporar las impresoras fiscales a los sistemas sin tener que romperse la cabeza.
 
Pues bien, én ese sentido quise informar a los colegas que ese temor es innecesario.
Por eso he comentado sobre el uso del preprocesador a título personal y no como Soporte Técnico de Alaska Software.
 
De más está decir que agradezco tu permiso implícito en dejarme comentar las bondades de un producto que es básicamente competencia de aquel que representas.
 
No deseo faltarte el respeto. Si lo consideras asi te ruego me lo indiques. 
Por favor acepta mis disculpas si así lo pareció.
 
Cuando mencioné en el último párrafo de mi mensaje anterior que las impresoras fiscales pueden usarse con los controles ActiveX es porque así también es posible sortear los inconvenientes que Windows plantea a las comunicaciones con los dispositivos fiscales.
 
Estoy puliendo el código fuente de un envoltorio que maneja de forma simple al control ActiveX de la impresora Hasar.
Espero tenerlo listo para este viernes y publicarlo en esta lista para beneficio de todos si no te parece mal.
 
Una vez más, gracias por tu paciencia.
 
Saludos
 
José Luis Otermin
----------------------------------------------------
HardCoded Systems SH
+54-9-11-4417-7774
+54-11-4503-1761
----------------------------------------------------
 
 
 
----- Original Message -----
Sent: Tuesday, October 07, 2008 11:09 AM
Subject: Re: [ifclipper] Migraciones

José luis y Otros listeros.
 
Yo personalmente agrdezco las indicaciones que nos brindas y todos tus aportes, pero sólamente pido que nos circunscribamos a los temas concernientes a la temática de la lista.
 
Como la mayoría sabemos, TodoClipper es la lista para estos temas. IFClipper es para Impresoras fiscales, y dentro de ello la migración de los sitemas no está dentro de la temática.
 
Sin embargo, si quieres comentar como adaptar las rutinas que muchos de nosostros tenemos en Clipper + CA-Tools a Alaska o a Harbour con el menor impacto posible, todos los comentarios serán bien recibidos.

Claudio G. Torrillo
www.xcsa.com.ar

--- El mar 7-oct-08, Jose Luis Otermin <otermin@gmail.com> escribió:
De: Jose Luis Otermin <otermin@gmail.com>
Asunto: [ifclipper] Migraciones
Para: ifclipper@gruposyahoo.com.ar
Fecha: martes, 7 de octubre de 2008, 9:06 am

Estimados Colegas,
 
Sé que los cambios traen incertidumbres sobre todo cuando uno cree que abandona el terreno conocido para pisar uno que no se sabe bien dónde va a parar.
 
Al comienzo parece que el mundo OOP fuera como entrar en una gruta sin una antorcha.
La primera impresión es que todo tiene demasiada complicación.
Coincido.
 
Sin embargo, se puede simplificar muchísimo todo eso con el uso del preprocesador como primer medida. Y con la separación de tareas en procedimientos se logra una primera atomización de la complejidad.
 
Por ejemplo:
 
Estas son las declaraciones del preprocesador:
 
#COMMAND SUBMENU <oMenuBar> NEW   => <oMenuBar> := XbpImageMenu( ):new():create( oDos2Gui )
#COMMAND SUBMENU <oMenuBar> TITLE <cTitle>  => <oMenuBar>:Title := <cTitle>
#COMMAND SUBMENU <oMenuBar> BARTEXT <cText> => <oMenuBar>:BarText := <cText>
#COMMAND SUBMENU <oMenuBar> CREATE          => _oMbar:addItem( {<oMenuBar>,,, XBPMENUBAR_MIA_ OWNERDRAW} )
 
#COMMAND ADD MENUITEM CAPTION <cCaption> ACTION <cAction> [IMAGE <nImage>] [MESSAGE <cToolTip>] TO <oMenuBar> => <oMenuBar>:addItem( {<cCaption>, {|| <cAction>}, , XBPMENUBAR_MIA_ OWNERDRAW }, [<nImage>] ,[<cToolTip>] )
 
 
Y así se crea un sistema de menú como el del Office 2007.
 
PROCEDURE CreaMenu( oDlg )
    MENUBAR NEW
       SUBMENU oVentas NEW
       SUBMENU oVentas TITLE "Ventas"
       SUBMENU oVentas BARTEXT "Ventas"
       SUBMENU oVentas CREATE
          ADD MENUITEM CAPTION "~Archivos"  ACTION ARVENTAS("C" )  TO oVentas
          ADD MENUITEM CAPTION "~Procesos"  ACTION PRVENTAS("C" )  TO oVentas
          ADD MENUITEM CAPTION "~Consultas" ACTION CONVENTAS("C" ) TO oVentas
 
Como puede apreciarse, la complejidad de las declaraciones OOP ha quedado oculta atrás de la instrucción #COMMAND.
Probablemente no se hace uso de esta herramienta como para explotarla en su potencial debido a que no es sencillo comprender su funcionamiento, pero para quien esté interesado por favor no deje de escribir su mensaje aquí o a mi correo.
Es una herramienta demasiado potente como para abandonarla.
 
Además es el mejor camino para migrar el código hacia otras plataformas tanto como para realizar ajustes de impacto global en la aplicación sin tener que tocar TODOS los fuentes uno x uno.
 
Las soluciones "mágicas" pasan por transformar al texto de un formato en otro.
Sencillamente se toma el modelo verboso de CLIPPER (heredado de dBASE) y se convierte en llamados a funciones.
Lo inverso también es sencillo (quizá aun más).
 
Lo que parece incomodar a la hora de cambiar de plataforma es el hecho que ahora existen múltiples estados para administrar en vez de sólo uno.
Porque el usuario puede ejecutar simultáneamente (en realidad, uno a uno, alternadamente) varias modificaciones de estado (hizo click en la barra de scroll, subió el valor de un botón de incremento - spinbutton-, eligió un valor en una lista o marcó varios y finalmente agrandó la pantalla. Todo eso antes de dar click en "Ok".
 
Eso parece un océano de problemas.
 
En realidad no lo es.
 
Cada objeto guarda en su propia memoria el estado en que estaba.
Cuando el usuario da click en "Ok" el control pasa al estadio siguiente y para nuestra fortuna, todos esos objetos estaban vinculados a un objeto más grande que los contenía: El Padre. Que en nuestro ejemplo es el formulario.
A ese formulario (que llamaremos oForm) le pedimos que nos diga cuántos objetos tiene como hijos:
 
aListaHijos := oForm:childList( )
 
FOR i:=1 to LEN(aListaHijos)
     oHijo := aListaHijos[ i]
     DO CASE
     CASE oHijo:className( ) == "XbpMLE" // MemoLineEditor.
         // Es un control de edicion de Memo.
         cTexto := oHijo:getData( )
         cCampo := oHijo:cargo
         REPLACE &(cCampo) WITH cTexto
     CASE oHijo:className( ) == "XbpComboBox" 
         // En un Combo hay dos elementos:
         // El campo texto (XbpSLE - SingleLineEditor)
         // y una lista (XbpListBox)
         cTexto := oHijo:XbpSLE: getData()
         cCampo := oHijo:cargo
         REPLACE &(cCampo) WITH cTexto
etc.
Como se verá no es complicado.
Para el caso de las impresoras fiscales la cosa es aun más sencilla.
Se produce una llamada al control ActiveX y ya.
 
Si el tema les parece interesante, por favor siéntanse cómodos de preguntar.
 
Espero haber disipado algún temor (o confirmado varios jajaja )
 
Saludos
 
José Luis Otermin
------------ --------- --------- --------- --------- ----
HardCoded Systems SH
+54-9-11-4417- 7774
+54-11-4503- 1761
------------ --------- --------- --------- --------- ----
 
PD: Los correos que firmo con mi firma personal representan mi opinion personal.
No deben interpretarse como expresiones de la empresa Alaska Software.



Yahoo! Cocina
Recetas prácticas y comida saludable
Visitá http://ar.mujer.yahoo.com/cocina/


#8113 De: Claudio Torrillo <clipsupp@...>
Fecha: Mar, 7 de Oct, 2008 2:09 pm
Asunto: Re: Migraciones
clipsupp
Sin conexión Sin conexión
Enviar correo Enviar correo
 
José luis y Otros listeros.
 
Yo personalmente agrdezco las indicaciones que nos brindas y todos tus aportes, pero sólamente pido que nos circunscribamos a los temas concernientes a la temática de la lista.
 
Como la mayoría sabemos, TodoClipper es la lista para estos temas. IFClipper es para Impresoras fiscales, y dentro de ello la migración de los sitemas no está dentro de la temática.
 
Sin embargo, si quieres comentar como adaptar las rutinas que muchos de nosostros tenemos en Clipper + CA-Tools a Alaska o a Harbour con el menor impacto posible, todos los comentarios serán bien recibidos.

Claudio G. Torrillo
www.xcsa.com.ar

--- El mar 7-oct-08, Jose Luis Otermin <otermin@...> escribió:
De: Jose Luis Otermin <otermin@...>
Asunto: [ifclipper] Migraciones
Para: ifclipper@...
Fecha: martes, 7 de octubre de 2008, 9:06 am

Estimados Colegas,
 
Sé que los cambios traen incertidumbres sobre todo cuando uno cree que abandona el terreno conocido para pisar uno que no se sabe bien dónde va a parar.
 
Al comienzo parece que el mundo OOP fuera como entrar en una gruta sin una antorcha.
La primera impresión es que todo tiene demasiada complicación.
Coincido.
 
Sin embargo, se puede simplificar muchísimo todo eso con el uso del preprocesador como primer medida. Y con la separación de tareas en procedimientos se logra una primera atomización de la complejidad.
 
Por ejemplo:
 
Estas son las declaraciones del preprocesador:
 
#COMMAND SUBMENU <oMenuBar> NEW   => <oMenuBar> := XbpImageMenu( ):new():create( oDos2Gui )
#COMMAND SUBMENU <oMenuBar> TITLE <cTitle>  => <oMenuBar>:Title := <cTitle>
#COMMAND SUBMENU <oMenuBar> BARTEXT <cText> => <oMenuBar>:BarText := <cText>
#COMMAND SUBMENU <oMenuBar> CREATE          => _oMbar:addItem( {<oMenuBar>,,, XBPMENUBAR_MIA_ OWNERDRAW} )
 
#COMMAND ADD MENUITEM CAPTION <cCaption> ACTION <cAction> [IMAGE <nImage>] [MESSAGE <cToolTip>] TO <oMenuBar> => <oMenuBar>:addItem( {<cCaption>, {|| <cAction>}, , XBPMENUBAR_MIA_ OWNERDRAW }, [<nImage>] ,[<cToolTip>] )
 
 
Y así se crea un sistema de menú como el del Office 2007.
 
PROCEDURE CreaMenu( oDlg )
    MENUBAR NEW
       SUBMENU oVentas NEW
       SUBMENU oVentas TITLE "Ventas"
       SUBMENU oVentas BARTEXT "Ventas"
       SUBMENU oVentas CREATE
          ADD MENUITEM CAPTION "~Archivos"  ACTION ARVENTAS("C" )  TO oVentas
          ADD MENUITEM CAPTION "~Procesos"  ACTION PRVENTAS("C" )  TO oVentas
          ADD MENUITEM CAPTION "~Consultas" ACTION CONVENTAS("C" ) TO oVentas
 
Como puede apreciarse, la complejidad de las declaraciones OOP ha quedado oculta atrás de la instrucción #COMMAND.
Probablemente no se hace uso de esta herramienta como para explotarla en su potencial debido a que no es sencillo comprender su funcionamiento, pero para quien esté interesado por favor no deje de escribir su mensaje aquí o a mi correo.
Es una herramienta demasiado potente como para abandonarla.
 
Además es el mejor camino para migrar el código hacia otras plataformas tanto como para realizar ajustes de impacto global en la aplicación sin tener que tocar TODOS los fuentes uno x uno.
 
Las soluciones "mágicas" pasan por transformar al texto de un formato en otro.
Sencillamente se toma el modelo verboso de CLIPPER (heredado de dBASE) y se convierte en llamados a funciones.
Lo inverso también es sencillo (quizá aun más).
 
Lo que parece incomodar a la hora de cambiar de plataforma es el hecho que ahora existen múltiples estados para administrar en vez de sólo uno.
Porque el usuario puede ejecutar simultáneamente (en realidad, uno a uno, alternadamente) varias modificaciones de estado (hizo click en la barra de scroll, subió el valor de un botón de incremento - spinbutton-, eligió un valor en una lista o marcó varios y finalmente agrandó la pantalla. Todo eso antes de dar click en "Ok".
 
Eso parece un océano de problemas.
 
En realidad no lo es.
 
Cada objeto guarda en su propia memoria el estado en que estaba.
Cuando el usuario da click en "Ok" el control pasa al estadio siguiente y para nuestra fortuna, todos esos objetos estaban vinculados a un objeto más grande que los contenía: El Padre. Que en nuestro ejemplo es el formulario.
A ese formulario (que llamaremos oForm) le pedimos que nos diga cuántos objetos tiene como hijos:
 
aListaHijos := oForm:childList( )
 
FOR i:=1 to LEN(aListaHijos)
     oHijo := aListaHijos[ i]
     DO CASE
     CASE oHijo:className( ) == "XbpMLE" // MemoLineEditor.
         // Es un control de edicion de Memo.
         cTexto := oHijo:getData( )
         cCampo := oHijo:cargo
         REPLACE &(cCampo) WITH cTexto
     CASE oHijo:className( ) == "XbpComboBox" 
         // En un Combo hay dos elementos:
         // El campo texto (XbpSLE - SingleLineEditor)
         // y una lista (XbpListBox)
         cTexto := oHijo:XbpSLE: getData()
         cCampo := oHijo:cargo
         REPLACE &(cCampo) WITH cTexto
etc.
Como se verá no es complicado.
Para el caso de las impresoras fiscales la cosa es aun más sencilla.
Se produce una llamada al control ActiveX y ya.
 
Si el tema les parece interesante, por favor siéntanse cómodos de preguntar.
 
Espero haber disipado algún temor (o confirmado varios jajaja )
 
Saludos
 
José Luis Otermin
------------ --------- --------- --------- --------- ----
HardCoded Systems SH
+54-9-11-4417- 7774
+54-11-4503- 1761
------------ --------- --------- --------- --------- ----
 
PD: Los correos que firmo con mi firma personal representan mi opinion personal.
No deben interpretarse como expresiones de la empresa Alaska Software.



Yahoo! Cocina
Recetas prácticas y comida saludable
Visitá http://ar.mujer.yahoo.com/cocina/

#8112 De: "Jose Luis Otermin" <otermin@...>
Fecha: Mar, 7 de Oct, 2008 12:06 pm
Asunto: Migraciones
otermin
Sin conexión Sin conexión
Enviar correo Enviar correo
 
Estimados Colegas,
 
Sé que los cambios traen incertidumbres sobre todo cuando uno cree que abandona el terreno conocido para pisar uno que no se sabe bien dónde va a parar.
 
Al comienzo parece que el mundo OOP fuera como entrar en una gruta sin una antorcha.
La primera impresión es que todo tiene demasiada complicación.
Coincido.
 
Sin embargo, se puede simplificar muchísimo todo eso con el uso del preprocesador como primer medida. Y con la separación de tareas en procedimientos se logra una primera atomización de la complejidad.
 
Por ejemplo:
 
Estas son las declaraciones del preprocesador:
 
#COMMAND SUBMENU <oMenuBar> NEW   => <oMenuBar> := XbpImageMenu():new():create( oDos2Gui )
#COMMAND SUBMENU <oMenuBar> TITLE <cTitle>  => <oMenuBar>:Title := <cTitle>
#COMMAND SUBMENU <oMenuBar> BARTEXT <cText> => <oMenuBar>:BarText := <cText>
#COMMAND SUBMENU <oMenuBar> CREATE          => _oMbar:addItem( {<oMenuBar>,,, XBPMENUBAR_MIA_OWNERDRAW} )
 
#COMMAND ADD MENUITEM CAPTION <cCaption> ACTION <cAction> [IMAGE <nImage>] [MESSAGE <cToolTip>] TO <oMenuBar> => <oMenuBar>:addItem( {<cCaption>, {|| <cAction>}, , XBPMENUBAR_MIA_OWNERDRAW }, [<nImage>] ,[<cToolTip>] )
 
 
Y así se crea un sistema de menú como el del Office 2007.
 
PROCEDURE CreaMenu( oDlg )
    MENUBAR NEW
       SUBMENU oVentas NEW
       SUBMENU oVentas TITLE "Ventas"
       SUBMENU oVentas BARTEXT "Ventas"
       SUBMENU oVentas CREATE
          ADD MENUITEM CAPTION "~Archivos"  ACTION ARVENTAS("C")  TO oVentas
          ADD MENUITEM CAPTION "~Procesos"  ACTION PRVENTAS("C")  TO oVentas
          ADD MENUITEM CAPTION "~Consultas" ACTION CONVENTAS("C") TO oVentas
 
Como puede apreciarse, la complejidad de las declaraciones OOP ha quedado oculta atrás de la instrucción #COMMAND.
Probablemente no se hace uso de esta herramienta como para explotarla en su potencial debido a que no es sencillo comprender su funcionamiento, pero para quien esté interesado por favor no deje de escribir su mensaje aquí o a mi correo.
Es una herramienta demasiado potente como para abandonarla.
 
Además es el mejor camino para migrar el código hacia otras plataformas tanto como para realizar ajustes de impacto global en la aplicación sin tener que tocar TODOS los fuentes uno x uno.
 
Las soluciones "mágicas" pasan por transformar al texto de un formato en otro.
Sencillamente se toma el modelo verboso de CLIPPER (heredado de dBASE) y se convierte en llamados a funciones.
Lo inverso también es sencillo (quizá aun más).
 
Lo que parece incomodar a la hora de cambiar de plataforma es el hecho que ahora existen múltiples estados para administrar en vez de sólo uno.
Porque el usuario puede ejecutar simultáneamente (en realidad, uno a uno, alternadamente) varias modificaciones de estado (hizo click en la barra de scroll, subió el valor de un botón de incremento - spinbutton-, eligió un valor en una lista o marcó varios y finalmente agrandó la pantalla. Todo eso antes de dar click en "Ok".
 
Eso parece un océano de problemas.
 
En realidad no lo es.
 
Cada objeto guarda en su propia memoria el estado en que estaba.
Cuando el usuario da click en "Ok" el control pasa al estadio siguiente y para nuestra fortuna, todos esos objetos estaban vinculados a un objeto más grande que los contenía: El Padre. Que en nuestro ejemplo es el formulario.
A ese formulario (que llamaremos oForm) le pedimos que nos diga cuántos objetos tiene como hijos:
 
aListaHijos := oForm:childList()
 
FOR i:=1 to LEN(aListaHijos)
     oHijo := aListaHijos[i]
     DO CASE
     CASE oHijo:className() == "XbpMLE" // MemoLineEditor.
         // Es un control de edicion de Memo.
         cTexto := oHijo:getData()
         cCampo := oHijo:cargo
         REPLACE &(cCampo) WITH cTexto
     CASE oHijo:className() == "XbpComboBox" 
         // En un Combo hay dos elementos:
         // El campo texto (XbpSLE - SingleLineEditor)
         // y una lista (XbpListBox)
         cTexto := oHijo:XbpSLE:getData()
         cCampo := oHijo:cargo
         REPLACE &(cCampo) WITH cTexto
etc.
Como se verá no es complicado.
Para el caso de las impresoras fiscales la cosa es aun más sencilla.
Se produce una llamada al control ActiveX y ya.
 
Si el tema les parece interesante, por favor siéntanse cómodos de preguntar.
 
Espero haber disipado algún temor (o confirmado varios jajaja )
 
Saludos
 
José Luis Otermin
----------------------------------------------------
HardCoded Systems SH
+54-9-11-4417-7774
+54-11-4503-1761
----------------------------------------------------
 
PD: Los correos que firmo con mi firma personal representan mi opinion personal.
No deben interpretarse como expresiones de la empresa Alaska Software.

#8111 De: "re675432" <sharley@...>
Fecha: Mar, 7 de Oct, 2008 7:21 am
Asunto: Una mano... por favor...
re675432
Sin conexión Sin conexión
Enviar correo Enviar correo
 
Hola Eduardo.
El costo de migrar de una plataforma de 16 bits a otra de 32 bits (o
64) actualmente es CERO (0) esfuerzo.
Esto se hace tanto con la herramienta que propone Jose Luis (Alaska
xBase++) como con la herramienta que propone Ciro (C2W).
Y la verdad es que es casi mágico ya que agregando una cantidad
ínfima de lineas abandonamos las limitaciones de los 16 bits y
subimos un escalón.
Ahora... como bien dice Jose Luis, que estos utilitarios permitan
cambiar de plataforma no significa que necesariamente nos conviertan
nuestras aplicaciones a un modo gráfico "pleno" y con manejo de
eventos.
Y creo que justamente en eso reside su virtud... podemos convertir
nuestros sistemas a un modo de trabajo con menores limitaciones, sin
riesgos y conservando toda la funcionalidad operativa actual y -
paralelamente- ir agregándole al sistema los elementos visuales que
dotarán al producto de toda su estética y funcionalidad gráfica.
Esto es una gran ventaja cuando nos vemos en la necesidad de
brindarle al cliente un producto remozado y acorde a los tiempos
actuales sin mayores demoras.
No se como es el grado de exigencia de tu clientela pero si yo a
cualquiera de mis clientes le digo que tendrá que esperar entre 12 y
18 meses para tener lo mismo que tiene ahora pero en entorno gráfico
me dará una buena patada en el... pompis y buscará otro producto ya
desarrollado.
Y convengamos que de 12 a 18 meses es un tiempo razonable para
desarrollar, probar y depurar una aplicación mediana.
En cambio en mi caso -con C2W- demoré menos de 10 dias en "traducir"
un sistema completo de gestión administrativa (Ventas, Compras,
Stock, Tesorería, Contabilidad, Estadísticas, interfaces con AFIP,
interfaces con Rentas, consolidación de sucursales, y una larga lista
de etceteras) y entregarle al cliente un sistema de 32 bits, con una
interface semi-visual y con la confiabilidad anterior porque en
definitiva siguen siendo los mismos prg's.
La posibilidad de imprimir en impresoras de cualquier tipo o en
formato pdf o mandar mail desde el sistema ya la tenía de antes con
la versión DOS.
Ahora de a poco voy cambiando las pantallas de ingreso de datos para
agregarle todos los "chiches" (listbox, checkbox, radiobuttons, etc.)
a los cuales nos acostumbró nuestro amigo Bill.
Mientras tanto el cliente sigue utilizando nuestros sistemas y
nuestros servicios.
Otro tema que vos mencionás se refiere a las aplicaciones cliente/
servidor que permiten una mejora operatoria por internet.
Y la verdad es que acá tambien hay soluciones mágicas.
Actualmente existe un rdd gratuito que permite seguir usando las
tablas dbf/cdx bajo un esquema cliente servidor.
Se llama "LETODB" (http://sourceforge.net/projects/letodb/) y no solo
funciona muy bien sino que su implementación se logra agregando sólo
dos (2) lineas en el programa principal y luego ni siquiera hay que
tocar una coma en cada prg.
Ignoro la velocidad de actualización que hay en los foros de Fivewin
pero te aseguro que la cantidad de herramientas "mágicas" que han
aparecido recientemente y que se comentan en otras listas es
maravillosa.
Voy con mi propio ejemplo:
Partí de una base de un sistema Clipper 5.3 bastante bien escrito y
encapsulado (modestia aparte... jejeje).
Con el agregado de DOSPRINTER (http://www.geocities.com/dosprint/) y
modificando un par de lineas de programa solucioné todo lo
relacionado a  impresión, previsualización, email y reportes en
formato pdf.
Con la compilación bajo C2W pase a 32 bits y apariencia semi visual
nuevamente modificando dos lineas del programa principal.
Y por último y modificando otras dos lineas puedo trabajar en forma
cliente/servidor.
Para mi las soluciones mágicas SI existen y trabajan muy bien... y
considerando que tengo 50 años de edad calculo que me quedará un
horizonte de no más de 10 años de programación, entonces no me
resulta atractivo el sacrificio de hacer todo desde cero.
Y nuevamente parafraseando a Jose Luis: "...nuestro cliente quiere
ver la factura impresa y al cliente pagando en la caja. Le interesa
que las modificaciones que pide se entreguen rápido, que la
aplicación de mostrador funcione todo el tiempo que tiene abierto el
negocio, que las DDJJ para Hacienda sean correctas. Eso pagan
nuestros clientes..."

Saludos...
Ricardo Sassy



At 20:06 29/09/2008, you wrote:

Gente

Aunque este tema de las migraciones no es nada nuevo, quiero decir
que a mi parecer y el de muchos, que he leido sus opiniones. Q no es
por despreciar, pero herramientas que dicen convertir algo q ni tiene
la misma filosofia, ni basica. A mi entender se podria lograr con una
herramienta MAGICA y sin trabajo alguno.
La pregunta es. Pero a que costo?

Basicamente clipper es un sistema de programacion estructurado lineal
basado en funciones.
Los desarrolos para WIN su filosofia es desarrollo por eventos.

Es lo mismo que una herramienta magica, nos permita trasladar
nuestros sistemas de clipper con DBF, y por magia, las convierta en
cliente/servidor de MySQL.
Si haces pruebas van a funcionar.
Pero a que costo.
Teniendo en cuenta que la filosofia de trabajo, de DBF que usamos. No
tiene nada que ver con MySQL, y uso de Internet.
Cuando con DBFs armamos browses que muestra datos de miles de
registros.
Como vas a trasladar esos miles de registros por internet, para que
el usuario seleccione un registro.
Es logico pasar miles de registro por intenet sin un filtrado??
Cual es el costo de hacer esto??

Lo mismo pasa con la programacion de clipper DOS a WIN.
Es logico eso? A que costo??

Bueno la idea de hablar de estos temas, es para que pensemos un poco.
Y para que no nos vendan ideas magicas. Cuando la realidad del
desarrollo es otra.

Si safas, pero por cuanto tiempo.
Despues los clientes nos quieren matar por que no funcionan nuestros
cambios.

Espero les sea util.


Un abrazo




On Mon, 29 Sep 2008 19:29:57 -0300, Ricardo Sassy wrote
> Hola Federico.
> La página del desarrollador es esta: http://sistemascvc.tripod.com/
id10.html
> Alli puedes bajar una demo totalmente funcional.
> El grupo Yahoo es este:
> http://es.groups.yahoo.com/group/clip2win/
> Dentro de los files del grupo vas a encontrar ejemplos de sistemas
ya migrados.
> El utilitario C2W lo que permite es -básicamente- convertir los
programas
> Clipper a formato visual y 32 bits agregándo sólo dos lineas de
código en
> el programa principal.
> Muchos de nosotros hemos migrado los sistemas Clipper usando esta
> herramienta sin mayores problemas.
> Una vez que migraste un sistema puedes ir agregándole de a poco
módulos
> escritos en ooHg y de esa forma ir modernizando los programas sin
> descontinuar el uso de los mismos.
>
> Saludos...
> Ricardo Sassy

#8110 De: "Eduardo Martinez" <eduardo862005@...>
Fecha: Mar, 7 de Oct, 2008 3:30 am
Asunto: Programnador Clipper / Visual FoxPro
eduardo862005
Sin conexión Sin conexión
Enviar correo Enviar correo
 
Analista Programador con mas de 15 años de experiencia en Cipper 5.2 y
Visual FoxPro, MySQL, FiveWin. se ofrece para trabajar Full Time /
Partime, amplia experiencia, en distintos rubros y responsabilidad.
Dejar Mensaje a Eduardo Martinez

#8109 De: "Jose Luis Otermin" <otermin@...>
Fecha: Dom, 5 de Oct, 2008 10:52 pm
Asunto: Re: Una mano... por favor...
otermin
Sin conexión Sin conexión
Enviar correo Enviar correo
 
Buenas tardes Eduardo,
 
Hay muchas formas de migrar un sistema.
Inevitablemente de DOS a Windows tenés una cuestión básica de arquitectura:
DOS no contempla que exista otra tarea ejecutándose sobre el mismo procesador, (no hablo del SideKick residente), ni tampoco tiene cosas en pantalla como los eventos.
Los eventos son eso que el usuario gusta hacer: Click sobre la barra del título de la ventana, agrandar, achicar, saltar de un objeto a otro, hacer click en cualquiera de los botones de pantalla en cualquier momento (eso hacemos con Word y con Excel).
Ningún producto puede migrar DOS  a windows sin tener restricciones.
¿Qué restricciones?
Bueno, en mi caso mi herramienta de migración pasa por el preprocesador y convierto tus instrucciones a llamadas a un método de un objeto.
El objeto es una máquina Clipper virtual.
Máquina Clipper porque emula todo el comportamiento de Clipper (conserva estados y mantiene una sola pantalla al frente) todo lo que se ejecuta siempre está relacionado con lo último que se ejecutó.
En los lenguajes visuales el procedimiento se atomiza y se convierte en un proceso granular de acceso al azar puesto que el usuario es el rey.
Te preguntarás entonces ¿cómo es que hay quienes me dicen que se convierte Clipper a Windows con dos instrucciones? (yo lo hice hace 4 años).
 
En el fuente donde está el MAIN agregas:
 
#include "dos2gui.ch"
 
y luego, debajo de la declaración del procedimiento MAIN escribis:
 
SET GUI ON
 
y ya está.
He distribuido decenas de demos a usuarios de aquí y otros foros.
Podés pedirles que te cuenten o podes escribirme.
 
Como un ejemplo de la traducción hecha con preprocesador te muestro:
 
#xtranslate TBrowseDB( [<nTop>], [<nLeft>], [<nBottom>], [<nRight>]) =>;
            oDos2GUI:TBrowseNew([<nTop>], [<nLeft>], [<nBottom>], [<nRight>] )
 
#xtranslate TBColumnNew( [<cHeading>], [<bVarBlock>] ) =>;
            oDos2GUI:TBColumn( [<cHeading>], [<bVarBlock>] )
 
#translate :headsep([<cSep>]) => :sizeCols := .T.
#translate :freeze([<nCols>]) => :setLeftFrozen( oDos2GUI:CalcFrozen([<nCols>]) )
#translate <oBrowse>:refreshall() => ;;
Como verás se puede "convertir" sin necesidad de reprogramar.
Lo que se convierte es el aspecto de la aplicación.
NO su filosofía.
 
SI, el usuario podrá hacer click en varios lugares y seleccionar el campo donde ingresará datos, si aceptará toda la pantalla o si cerrará la ventana con la crucecita.
Pero lo que no se podrá cambiar es el hecho que un usuario NO podrá tener dos ventanas abiertas desde la misma aplicación compartiendo la misma tabla de datos como por ejemplo: Viendo dos facturas una al lado de la otra en una ventanita. ¿por qué? porque en Clipper existe sólo un puntero de registro por tabla por programa.
Si adaptamos la programación de monotarea (pantalla completa) a una multitarea (con varias ventanas abiertas con varios procesos en paralelo) entonces SI habrá posibilidades de hacer lo que dije.
 
Todos los sistemas de conversión ofrecidos en el mercado ofrecen conversión cosmética y a partir de allí una conversión gradual a OOP.
 
La OOP no es imprescindible. Es cierto.
Tampoco son imprescindibles las PC, con un buen S/36 con RPG II se puede hacer la facturación y liquidar los sueldos.
Es más, tampoco es necesario el ratón y tampoco el teclado.
Con un buen lector de tarjetas perforadas se puede ingresar los datos.
Y los listados por pantalla con gráficos son para los "ñañosos". (él los llamaba diferente ;-) )
 
Si, así decia uno de mis amigos y socios en los 90.
 
Pero los tiempos cambian.
Los entornos visuales llegaron para quedarse y seguramente la siguiente evolución serán con pantallas táctiles substituyendo al teclado o como ya se propuso, un lector 3D por interferencia de laser con teclado virtual proyectado sobre cualquier superficie plana como ya se ha mostrado en las exposiciones.
 
Nosotros seguimos proveyendo soporte para lo básico:
 
Nuestro cliente quiere ver la factura impresa y al cliente pagando en la caja.
A el no le importan las guerras entre los fabricantes de procesadores ni si la herramienta que usamos ganó tres medallas, aplauso y beso.
Le interesa que las modificaciones que pide se entreguen rápido, que la aplicación de mostrador funcione todo el tiempo que tiene abierto el negocio, que las DDJJ para Hacienda sean correctas. Eso pagan nuestros clientes.
 
Para hacer una aplicación bonita visualmente es necesario estudiar.
No demasiado tiempo, pero gratis, cero costo, no es.
Tanto Ciro como yo proveemos una herramienta de migración automatizada.
Son directas, con métodos semejantes, con tecnologías diferentes pero con un mismo objetivo.
 
Pero una cosa hay que tener en cuenta:
Convertir gráficamente la aplicación es patear el problema del aprendizaje para más adelante.
 
Espero haber ayudado
 
Saludos
 
José Luis Otermin
----------------------------------------------------
HardCoded Systems SH
+54-9-11-4417-7774
+54-11-4503-1761
----------------------------------------------------
 
 
----- Original Message -----
Sent: Monday, September 29, 2008 8:06 PM
Subject: Re: [ifclipper] Una mano... por favor...

Gente

Aunque este tema de las migraciones no es nada nuevo, quiero decir que a mi parecer y el de muchos, que he leido sus opiniones. Q no es por despreciar, pero herramientas que dicen convertir algo q ni tiene la misma filosofia, ni basica. A mi entender se podria lograr con una herramienta MAGICA y sin trabajo alguno.
La pregunta es. Pero a que costo?

Basicamente clipper es un sistema de programacion estructurado lineal basado en funciones.
Los desarrolos para WIN su filosofia es desarrollo por eventos.

Es lo mismo que una herramienta magica, nos permita trasladar nuestros sistemas de clipper con DBF, y por magia, las convierta en cliente/servidor de MySQL.
Si haces pruebas van a funcionar.
Pero a que costo.
Teniendo en cuenta que la filosofia de trabajo, de DBF que usamos. No tiene nada que ver con MySQL, y uso de Internet.
Cuando con DBFs armamos browses que muestra datos de miles de registros.
Como vas a trasladar esos miles de registros por internet, para que el usuario seleccione un registro.
Es logico pasar miles de registro por intenet sin un filtrado??
Cual es el costo de hacer esto??

Lo mismo pasa con la programacion de clipper DOS a WIN.
Es logico eso? A que costo??

Bueno la idea de hablar de estos temas, es para que pensemos un poco.
Y para que no nos vendan ideas magicas. Cuando la realidad del desarrollo es otra.

Si safas, pero por cuanto tiempo.
Despues los clientes nos quieren matar por que no funcionan nuestros cambios.

Espero les sea util.


Un abrazo




On Mon, 29 Sep 2008 19:29:57 -0300, Ricardo Sassy wrote

> Hola Federico.
> La página del desarrollador es esta: http://sistemascvc.tripod.com/id10.html
> Alli puedes bajar una demo totalmente funcional.
> El grupo Yahoo es este:
> http://es.groups.yahoo.com/group/clip2win/
> Dentro de los files del grupo vas a encontrar ejemplos de sistemas ya migrados.
> El utilitario C2W lo que permite es -básicamente- convertir los programas
> Clipper a formato visual y 32 bits agregándo sólo dos lineas de código en
> el programa principal.
> Muchos de nosotros hemos migrado los sistemas Clipper usando esta
> herramienta sin mayores problemas.
> Una vez que migraste un sistema puedes ir agregándole de a poco módulos
> escritos en ooHg y de esa forma ir modernizando los programas sin
> descontinuar el uso de los mismos.
>
> Saludos...
> Ricardo Sassy
>
> At 16:31 29/09/2008, you wrote:
> >Ricardo de donde puedo obtener c2w y me podrias proporcionar un codigo de
> >ejemplo desde ya muchas gracias
> >
> >Federico de Maussion
> >Deán Funes - Córdoba
> > Argentina
> >
> >Ricardo Sassy escribió:
> > >
> > > Hola Gustavo.
> > > Con C2W lo solucioné transitoriamente trabajando la impresora en modo
> > > spool (la verdad es que este modo es muy práctico y fácil de usar).
> > > De todas formas estoy esperando la respuesta de otro colega (Guillermo
> > > Luhning) que me dijo que usando una lib específica llamada
> > > h32032bc.lib pudo usar las impresoras Hasar en C2W en modo nativo.
> > > Mientras tanto me sigo defendiendo en el modo spool.
> > > Por las dudas... ¿alguien tendrá la librería que menciono más arriba?.
> > >
> > > Saludos...
> > > Ricardo Sassy
> > >
> > > At 15:31 29/09/2008, you wrote:
> > >
> > >> Mario : Disculpa la intromison en el tema, es que tengo el mismo
> > >> problema. Tengo dearrollado un modulo de facturación en clipper52
> > >> funcionando correctamente y debi migrar el sistema , para lo cual
> > >> utilice la herramienta de Ciro C2W, pero no puedo hacer funcionar
> > >> la impresora. Me fui guiando con las instrucciones bajas de Hasar
> > >> pero no hay caso.
> > >> Podrias mandar un ejemplo , desde ya muchas gracias
> > >>
> > >> Gustavo Gabriele
> > >>
> > >> ----------------------------------------------------------
> > >> *De:* ifclipper@gruposyahoo.com.ar
> > >> [mailto:ifclipper@gruposyahoo.com.ar
> > >> <mailto:ifclipper@gruposyahoo.com.ar>] *En nombre de
> > >> *mariomansilla@arnet.com.ar
> > >> *Enviado el:* Lunes, 29 de Septiembre de 2008 01:32 p.m.
> > >> *Para:* ifclipper@gruposyahoo.com.ar
> > >> *Asunto:* Re: [ifclipper] Una mano... por favor...
> > >>
> > >>
> > >> Hola Ricardo :
> > >> Disculpas recien hoy veo tu mensaje , yo
> > >> pude hacer funcionar las impresoras fiscales hasar con la
> > >> winfis32.dll y las epson con las ocx de epson , pero con HMG oficial .
> > >> Aun no he tenido tiempo de probar las ocx de hasar .
> > >> Cualquier cosa avisame .
> > >> Saludos .
> > >> Mario Mansilla
> > >>
> > >>
> > >>
> > >>
> > >> > Hola Eduardo.
> > >> > Te agradezco la info.
> > >> > Estoy usando ooHg + Harbour 1.0.
> > >> > El problema que acabo de descubrir es que no puedo acceder a
> > >> ninguna dll.
> > >> > Probé un ejemplo básico con una dll que tiene funciones que te
> > >> devuelven
> > >> > el
> > >> > nro. de serie del disco y tampoco funciona.
> > >> > EL programa ejecuta sin errores pero alga pasa que no anda.
> > >> > Inclusive si le cambio el nombre a la dll tampo saltan errores asi que
> > >> > tiene que ser algo muy elemental.
> > >> >
> > >> >
> > >> Desde ya gracias...
> > >> > ¿Alquien probó acceder a la impresora usando los controles ocx?.
> > >> >
> > >> > Saludos...
> > >> > Ricardo Sassy
> > >> >
> > >> > At 18:58 27/09/2008, you wrote:
> > >> >>Ricardo
> > >> >>
> > >> >>En puertosur estamos armando una clase fiscal para xHarbour consola.
> > >> >>No tengo idea si va a funcionar con Harbour.
> > >> >>Solo te puedo decir q ayer la hice andar pero con xHarbour 1.00
> > >> >> compilacion de
> > >> >>PuertoSur.
> > >> >>Otra version no me funciono. No tengo ni idea de como es el estado de
> > >> >> Harbour
> > >> >>y la compativilidad.
> > >> >>
> > >> >>Direcciones de correo electrónico del grupo
> > >> >>
> > >> >> Enlace relacionado: http://www.puertosur.org
> > >> <http://www.puertosur.org/>
> > >> >> Enviar mensaje: PuertoSur@gruposyahoo.com.ar
> > >> >> Suscribirse: PuertoSur-subscribe@gruposyahoo.com.ar
> > >> >> Cancelar suscripción: PuertoSur-unsubscribe@gruposyahoo.com.ar
> > >> >> Propietario: PuertoSur-owner@gruposyahoo.com.ar
> > >> >>
> > >> >>On Sat, 27 Sep 2008 18:01:01 -0300, Ricardo Sassy wrote
> > >> >> > Hola Juan Carlos
> > >> >> > Uso Harbour 1.0 en modo consola.
> > >> >> > No tengo ningún warning ni nada raro en la compilación.
> > >> >> > El exe se genera normalmente y su ejecución no produce erorres de
> > >> >> ningún tipo.
> > >> >> > Incluso intenté algo tan básico como esto:
> > >> >> > cInfo := CallDll ( "VersionDLLFiscal" , "WINFIS32.DLL" )
> > >> >> > alert(cInfo)
> > >> >> > y devuelve un string vacio.
> > >> >> >
> > >> >> > Evidentemente me falta hacer algo que desconozco.
> > >> >> > Por las dudas... ¿que fecha y tamaño tiene la winfis32.dll que
> > >> estás
> > >> >> usando?.
> > >> >> > Estoy usando una del 01/12/2005 de 61440 bytes.
> > >> >> > ¿Será que tengo una dll equivocada?.
> > >> >> >
> > >> >> > Saludos y gracias...
> > >> >> > Ricardo Sassy
> > >> >> >
> > >> >> > At 14:13 27/09/2008, you wrote:
> > >> >> >
> > >> >>--
> > >> >> Eduardo Rizzolo
> > >> >> Eldorado, Misiones Argentina
> > >> >> INF 0023
> > >> >> Correo principal y Msn Hotmail:fullpaint@pinturas-misioneras.com.ar
> > >> >> skype:fullpaint1
> > >> >> ICQ:39280741
> > >> >> www.creacionistas.com <http://www.creacionistas.com/> -> Que lindo
> > >> cuentito nos contaron!!
> > >> >> www.puertosur.org <http://www.puertosur.org/>
> > >> >>
> > >> >>
> > >> >>------------------------------------
> > >> >>
> > >> >>Enlaces a Yahoo! Grupos
> > >> >>
> > >> >>
> > >> >>
> > >> >>
> > >> >
> > >> >
> > >
> >
> >__________________________________________________
> >Correo Yahoo!
> >Espacio para todos tus mensajes, antivirus y antispam ¡gratis!
> >¡Abrí tu cuenta ya! - http://correo.yahoo.com.ar
> >
> >------------------------------------
> >
> >Enlaces a Yahoo! Grupos
> >
> >
> >
> >
>
>


--
Eduardo Rizzolo
Eldorado, Misiones Argentina
INF 0023
Correo principal y Msn Hotmail:fullpaint@pinturas-misioneras.com.ar
skype:fullpaint1
ICQ:39280741
www.creacionistas.com -> Que lindo cuentito nos contaron!!
www.puertosur.org


#8108 De: "HQ Sistemas" <hqsi@...>
Fecha: Dom, 5 de Oct, 2008 9:35 pm
Asunto: RE: Una mano... por favor...
hqsistemasmdp
Sin conexión Sin conexión
Enviar correo Enviar correo
 

Eduardo : Es un tema muy amplio para discutir, por su puesto que no hay herramientas ni soluciones maginas. No se si desarrollas para terceros o simplemente para Pinturerias Misioneras, ni si hace mucho años que estas en el tema.

 

En mi caso en particular llevo mas de 25 años en el desarrollo, pasando de sistemas 36 (ya mas de uno debe estar sacando cuentas con los dedos por la edad, jajaj), RPG – COBOL – FORTRAN – CPM -BASIC – QBASIC – SUMMER 87 – CLIPPER , PHP MySQL, Etc y en estos momentos seria muy complejo convertir todos los sistemas a un lenguaje netamente orientado a objetos y su supuetas bondades, (1) Gracias a dios todos estan funcionando casi correctamente (2) Periodos de pruebas seria imposible, ninguna empresa en estos momentos lo aceptaria.

Yo opte por C2W , lo  cual me permitio pasar a 32bit, muy simplemente y a partir de alli comezar a cambiar la estetica del mismo y aplicar las nuevas posibilidades.(oohg – Harbour)

 

Lo que dire sonara un  poco pedante (a varios de la lista, pienso que tambien les ocurrio), pero varias veces ingrese a empresas que tenian sistemas desarrollados con todas las herramientas de Bill ,( super vistosos, con muchos iconos y fotitos, recontra orientadoa objetos), a realizar demos de nuestros sistemas (anticipando que esta desarrollado en Clipper/dos) y optaron por el nuestro, por su estabilidad, facilidad en manejo y muchas mas prestaciones.

 

Si tenes la politica de que haces algo para safar, me parece que te equivocastes de profesion, y entonces sì los clientes te van a matar. Tu sistema puede ser orientado a objetos ó estructutado ò lineal, como lo quieras llamar, pero si el analisis con el cual lo vas a desarrollar (el corazon del programa)  es un desastre, no vale ninguno de los metodos antes mencionados

 

Bueno espero que no se alla notado mucho que soy de la vieja escuela, aunque muchas veces un buen diagrama de flujo no viene nada mal (jajajajajaj)

 

Saludos a todos

 

Gustavo Gabriele


De: ifclipper@... [mailto:ifclipper@...] En nombre de Eduardo Rizzolo
Enviado el: Lunes, 29 de Septiembre de 2008 08:07 p.m.
Para: ifclipper@...
Asunto: Re: [ifclipper] Una mano... por favor...

 

Gente

Aunque este tema de las migraciones no es nada nuevo, quiero decir que a mi parecer y el de muchos, que he leido sus opiniones. Q no es por despreciar, pero herramientas que dicen convertir algo q ni tiene la misma filosofia, ni basica. A mi entender se podria lograr con una herramienta MAGICA y sin trabajo alguno.
La pregunta es. Pero a que costo?

Basicamente clipper es un sistema de programacion estructurado lineal basado en funciones.
Los desarrolos para WIN su filosofia es desarrollo por eventos.

Es lo mismo que una herramienta magica, nos permita trasladar nuestros sistemas de clipper con DBF, y por magia, las convierta en cliente/servidor de MySQL.
Si haces pruebas van a funcionar.
Pero a que costo.
Teniendo en cuenta que la filosofia de trabajo, de DBF que usamos. No tiene nada que ver con MySQL, y uso de Internet.
Cuando con DBFs armamos browses que muestra datos de miles de registros.
Como vas a trasladar esos miles de registros por internet, para que el usuario seleccione un registro.
Es logico pasar miles de registro por intenet sin un filtrado??
Cual es el costo de hacer esto??

Lo mismo pasa con la programacion de clipper DOS a WIN.
Es logico eso? A que costo??

Bueno la idea de hablar de estos temas, es para que pensemos un poco.
Y para que no nos vendan ideas magicas. Cuando la realidad del desarrollo es otra.

Si safas, pero por cuanto tiempo.
Despues los clientes nos quieren matar por que no funcionan nuestros cambios.

Espero les sea util.


Un abrazo




On Mon, 29 Sep 2008 19:29:57 -0300, Ricardo Sassy wrote

> Hola Federico.
> La página del desarrollador es esta: http://sistemascvc.tripod.com/id10.html
> Alli puedes bajar una demo totalmente funcional.
> El grupo Yahoo es este:
> http://es.groups.yahoo.com/group/clip2win/
> Dentro de los files del grupo vas a encontrar ejemplos de sistemas ya migrados.
> El utilitario C2W lo que permite es -básicamente- convertir los programas
> Clipper a formato visual y 32 bits agregándo sólo dos lineas de código en
> el programa principal.
> Muchos de nosotros hemos migrado los sistemas Clipper usando esta
> herramienta sin mayores problemas.
> Una vez que migraste un sistema puedes ir agregándole de a poco módulos
> escritos en ooHg y de esa forma ir modernizando los programas sin
> descontinuar el uso de los mismos.
>
> Saludos...
> Ricardo Sassy
>
> At 16:31 29/09/2008, you wrote:
> >Ricardo de donde puedo obtener c2w y me podrias proporcionar un codigo de
> >ejemplo desde ya muchas gracias
> >
> >Federico de Maussion
> >Deán Funes - Córdoba
> > Argentina
> >
> >Ricardo Sassy escribió:
> > >
> > > Hola Gustavo.
> > > Con C2W lo solucioné transitoriamente trabajando la impresora en modo
> > > spool (la verdad es que este modo es muy práctico y fácil de usar).
> > > De todas formas estoy esperando la respuesta de otro colega (Guillermo
> > > Luhning) que me dijo que usando una lib específica llamada
> > > h32032bc.lib pudo usar las impresoras Hasar en C2W en modo nativo.
> > > Mientras tanto me sigo defendiendo en el modo spool.
> > > Por las dudas... ¿alguien tendrá la librería que menciono más arriba?.
> > >
> > > Saludos...
> > > Ricardo Sassy
> > >
> > > At 15:31 29/09/2008, you wrote:
> > >
> > >> Mario : Disculpa la intromison en el tema, es que tengo el mismo
> > >> problema. Tengo dearrollado un modulo de facturación en clipper52
> > >> funcionando correctamente y debi migrar el sistema , para lo cual
> > >> utilice la herramienta de Ciro C2W, pero no puedo hacer funcionar
> > >> la impresora. Me fui guiando con las instrucciones bajas de Hasar
> > >> pero no hay caso.
> > >> Podrias mandar un ejemplo , desde ya muchas gracias
> > >>
> > >> Gustavo Gabriele
> > >>
> > >> ----------------------------------------------------------
> > >> *De:* ifclipper@gruposyahoo.com.ar
> > >> [mailto:ifclipper@gruposyahoo.com.ar
> > >> <mailto:ifclipper@gruposyahoo.com.ar>] *En nombre de
> > >> *mariomansilla@arnet.com.ar
> > >> *Enviado el:* Lunes, 29 de Septiembre de 2008 01:32 p.m.
> > >> *Para:* ifclipper@gruposyahoo.com.ar
> > >> *Asunto:* Re: [ifclipper] Una mano... por favor...
> > >>
> > >>
> > >> Hola Ricardo :
> > >> Disculpas recien hoy veo tu mensaje , yo
> > >> pude hacer funcionar las impresoras fiscales hasar con la
> > >> winfis32.dll y las epson con las ocx de epson , pero con HMG oficial .
> > >> Aun no he tenido tiempo de probar las ocx de hasar .
> > >> Cualquier cosa avisame .
> > >> Saludos .
> > >> Mario Mansilla
> > >>
> > >>
> > >>
> > >>
> > >> > Hola Eduardo.
> > >> > Te agradezco la info.
> > >> > Estoy usando ooHg + Harbour 1.0.
> > >> > El problema que acabo de descubrir es que no puedo acceder a
> > >> ninguna dll.
> > >> > Probé un ejemplo básico con una dll que tiene funciones que te
> > >> devuelven
> > >> > el
> > >> > nro. de serie del disco y tampoco funciona.
> > >> > EL programa ejecuta sin errores pero alga pasa que no anda.
> > >> > Inclusive si le cambio el nombre a la dll tampo saltan errores asi que
> > >> > tiene que ser algo muy elemental.
> > >> >
> > >> >
> > >> Desde ya gracias...
> > >> > ¿Alquien probó acceder a la impresora usando los controles ocx?.
> > >> >
> > >> > Saludos...
> > >> > Ricardo Sassy
> > >> >
> > >> > At 18:58 27/09/2008, you wrote:
> > >> >>Ricardo
> > >> >>
> > >> >>En puertosur estamos armando una clase fiscal para xHarbour consola.
> > >> >>No tengo idea si va a funcionar con Harbour.
> > >> >>Solo te puedo decir q ayer la hice andar pero con xHarbour 1.00
> > >> >> compilacion de
> > >> >>PuertoSur.
> > >> >>Otra version no me funciono. No tengo ni idea de como es el estado de
> > >> >> Harbour
> > >> >>y la compativilidad.
> > >> >>
> > >> >>Direcciones de correo electrónico del grupo
> > >> >>
> > >> >> Enlace relacionado: http://www.puertosur.org
> > >> <http://www.puertosur.org/>
> > >> >> Enviar mensaje: PuertoSur@gruposyahoo.com.ar
> > >> >> Suscribirse: PuertoSur-subscribe@gruposyahoo.com.ar
> > >> >> Cancelar suscripción: PuertoSur-unsubscribe@gruposyahoo.com.ar
> > >> >> Propietario: PuertoSur-owner@gruposyahoo.com.ar
> > >> >>
> > >> >>On Sat, 27 Sep 2008 18:01:01 -0300, Ricardo Sassy wrote
> > >> >> > Hola Juan Carlos
> > >> >> > Uso Harbour 1.0 en modo consola.
> > >> >> > No tengo ningún warning ni nada raro en la compilación.
> > >> >> > El exe se genera normalmente y su ejecución no produce erorres de
> > >> >> ningún tipo.
> > >> >> > Incluso intenté algo tan básico como esto:
> > >> >> > cInfo := CallDll ( "VersionDLLFiscal" , "WINFIS32.DLL" )
> > >> >> > alert(cInfo)
> > >> >> > y devuelve un string vacio.
> > >> >> >
> > >> >> > Evidentemente me falta hacer algo que desconozco.
> > >> >> > Por las dudas... ¿que fecha y tamaño tiene la winfis32.dll que
> > >> estás
> > >> >> usando?.
> > >> >> > Estoy usando una del 01/12/2005 de 61440 bytes.
> > >> >> > ¿Será que tengo una dll equivocada?.
> > >> >> >
> > >> >> > Saludos y gracias...
> > >> >> > Ricardo Sassy
> > >> >> >
> > >> >> > At 14:13 27/09/2008, you wrote:
> > >> >> >
> > >> >>--
> > >> >> Eduardo Rizzolo
> > >> >> Eldorado, Misiones Argentina
> > >> >> INF 0023
> > >> >> Correo principal y Msn Hotmail:fullpaint@pinturas-misioneras.com.ar
> > >> >> skype:fullpaint1
> > >> >> ICQ:39280741
> > >> >> www.creacionistas.com <http://www.creacionistas.com/> -> Que lindo
> > >> cuentito nos contaron!!
> > >> >> www.puertosur.org <http://www.puertosur.org/>
> > >> >>
> > >> >>
> > >> >>------------------------------------
> > >> >>
> > >> >>Enlaces a Yahoo! Grupos
> > >> >>
> > >> >>
> > >> >>
> > >> >>
> > >> >
> > >> >
> > >
> >
> >__________________________________________________
> >Correo Yahoo!
> >Espacio para todos tus mensajes, antivirus y antispam ¡gratis!
> >¡Abrí tu cuenta ya! - http://correo.yahoo.com.ar
> >
> >------------------------------------
> >
> >Enlaces a Yahoo! Grupos
> >
> >
> >
> >
>
>


--
Eduardo Rizzolo
Eldorado, Misiones Argentina
INF 0023
Correo principal y Msn Hotmail:fullpaint@pinturas-misioneras.com.ar
skype:fullpaint1
ICQ:39280741
www.creacionistas.com -> Que lindo cuentito nos contaron!!
www.puertosur.org


#8107 De: "Eduardo Rizzolo" <fullpaint@...>
Fecha: Dom, 28 de Sep, 2008 3:17 pm
Asunto: Re: Una mano... por favor...
fullpaint
Sin conexión Sin conexión
Enviar correo Enviar correo
 
La winfis32.dll de hasar la estoy usando con xHarbour.
Comunica, envia y recibe perfectamente.
Pero como te comente intente con una version anterior y no funco.

Te paso el reporte de envios y recepcion.


#ifndef   _FIVEWIN_CH
#INCLUDE "hbdll.ch"

DLL32 FUNCTION OpenComFiscal ( nCom AS INT, nMode AS INT ) AS INT PASCAL LIB "WINFIS32.DLL"
DLL32 FUNCTION MandaPaqueteFiscal ( nHandler AS INT, cBuffer AS LPSTR ) AS INT PASCAL LIB "WINFIS32.DLL"
DLL32 FUNCTION UltimaRespuesta ( nHandler AS INT, cBuffer AS LPSTR )  AS INT PASCAL LIB "WINFIS32.DLL"
DLL32 FUNCTION CloseComFiscal ( nHandler AS INT ) AS VOID PASCAL LIB "WINFIS32.DLL"
DLL32 FUNCTION ReOpenComFiscal ( nCom AS INT ) AS INT PASCAL LIB "WINFIS32.DLL"
DLL32 FUNCTION InitFiscal ( nHandler AS INT ) AS INT PASCAL LIB "WINFIS32.DLL"
DLL32 FUNCTION VersionDLLFiscal (  ) AS INT PASCAL LIB "WINFIS32.DLL"
DLL32 FUNCTION BusyWaitingMode ( nMode AS INT ) AS VOID PASCAL LIB "WINFIS32.DLL"
DLL32 FUNCTION CambiarVelocidad ( nPortNumber AS INT, nNewSpeed AS LONG) AS VOID PASCAL LIB "WINFIS32.DLL"
DLL32 FUNCTION SearchPrn ( nHandler AS INT ) AS LONG PASCAL LIB "WINFIS32.DLL"
DLL32 FUNCTION ProtocolMode ( nMode AS INT ) AS INT PASCAL LIB "WINFIS32.DLL"
DLL32 FUNCTION SetCommandRetries ( nRetries AS INT ) AS INT PASCAL LIB "WINFIS32.DLL"
DLL32 FUNCTION Abort ( nPortNumber AS INT ) AS VOID PASCAL LIB "WINFIS32.DLL"

#else

#INCLUDE "dll.ch"


DLL32 FUNCTION OpenComFiscal ( nCom AS _INT, nMode AS _INT ) AS _INT PASCAL LIB "WINFIS32.DLL"
DLL32 FUNCTION MandaPaqueteFiscal ( nHandler AS _INT, cBuffer AS LPSTR ) AS _INT PASCAL LIB "WINFIS32.DLL"
DLL32 FUNCTION UltimaRespuesta ( nHandler AS _INT, cBuffer AS LPSTR )  AS _INT PASCAL LIB "WINFIS32.DLL"
DLL32 FUNCTION CloseComFiscal ( nHandler AS _INT ) AS VOID PASCAL LIB "WINFIS32.DLL"
DLL32 FUNCTION ReOpenComFiscal ( nCom AS _INT ) AS _INT PASCAL LIB "WINFIS32.DLL"
DLL32 FUNCTION InitFiscal ( nHandler AS _INT ) AS _INT PASCAL LIB "WINFIS32.DLL"
DLL32 FUNCTION VersionDLLFiscal (  ) AS _INT PASCAL LIB "WINFIS32.DLL"
DLL32 FUNCTION BusyWaitingMode ( nMode AS _INT ) AS VOID PASCAL LIB "WINFIS32.DLL"
DLL32 FUNCTION CambiarVelocidad ( nPortNumber AS _INT, nNewSpeed AS LONG) AS VOID PASCAL LIB "WINFIS32.DLL"
DLL32 FUNCTION SearchPrn ( nHandler AS _INT ) AS LONG PASCAL LIB "WINFIS32.DLL"
DLL32 FUNCTION ProtocolMode ( nMode AS _INT ) AS _INT PASCAL LIB "WINFIS32.DLL"
DLL32 FUNCTION SetCommandRetries ( nRetries AS _INT ) AS _INT PASCAL LIB "WINFIS32.DLL"
DLL32 FUNCTION Abort ( nPortNumber AS _INT ) AS VOID PASCAL LIB "WINFIS32.DLL"


#endif


##I1:Port:109/26/0810:58:27
##IC:Buena conexion:(HANDLER/nBaudRate)    0    9600    09/26/08    10:58:34
##M:    9X
    09/26/08    10:58:34
##M:    C0808610                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                           09/26/08    10:58:34
##aR:Campo n.1:C080
##aR:Campo n.2:8610                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      
##M:    Status del impresor:1100 0000 1000 0000  Int:     49280.00    09/26/08    10:58:34
##I1:Port:1    09/26/08    12:25:07
##IC:Buena conexion:(HANDLER/nBaudRate)    0    9600    09/26/08    12:25:14
##M:    9X    09/26/08    12:25:14
##M:    RRR:C080060010012401214627572025.75351.570.000.000.00000.000.000.000.000.000                                                                                                                                                                                                                                                                                                                                                                                                                                      09/26/08    12:25:32
##aR:Campo n.1:C080
##aR:Campo n.2:0600
##aR:Campo n.3:1
##aR:Campo n.4:0
##aR:Campo n.5:0
##aR:Campo n.6:1
##aR:Campo n.7:24
##aR:Campo n.8:0
##aR:Campo n.9:12146
##aR:Campo n.10:2757
##aR:Campo n.11:2025.75
##aR:Campo n.12:351.57
##aR:Campo n.13:0.00
##aR:Campo n.14:0.00
##aR:Campo n.15:0.00
##aR:Campo n.16:0
##aR:Campo n.17:0
##aR:Campo n.18:0.00
##aR:Campo n.19:0.00
##aR:Campo n.20:0.00
##aR:Campo n.21:0.00
##aR:Campo n.22:0.00
##aR:Campo n.23:0                                                                                                                                                                                                                                                                                                                                                                                                                                 
##M:    Status del impresor:1100 0000 1000 0000  Int:     49280.00    09/26/08    12:25:32
##I1:Port:1    09/26/08    12:41:22
##IC:Buena conexion:(HANDLER/nBaudRate)    0    9600    09/26/08    12:41:29
##M:    9X    09/26/08    12:41:29
##M:    RRR:C08006001001001214727570.000.000.000.000.00000.000.000.000.000.000                                                                                                                                                                                                                                                                                                                                                                                                                                            09/26/08    12:41:48
##aR:Campo n.1:C080
##aR:Campo n.2:0600
##aR:Campo n.3:1
##aR:Campo n.4:0
##aR:Campo n.5:0
##aR:Campo n.6:1
##aR:Campo n.7:0
##aR:Campo n.8:0
##aR:Campo n.9:12147
##aR:Campo n.10:2757
##aR:Campo n.11:0.00
##aR:Campo n.12:0.00
##aR:Campo n.13:0.00
##aR:Campo n.14:0.00
##aR:Campo n.15:0.00
##aR:Campo n.16:0
##aR:Campo n.17:0
##aR:Campo n.18:0.00
##aR:Campo n.19:0.00
##aR:Campo n.20:0.00
##aR:Campo n.21:0.00
##aR:Campo n.22:0.00
##aR:Campo n.23:0                                                                                                                                                                                                                                                                                                                                                                                                                                       
##M:    Status del impresor:1100 0000 1000 0000  Int:     49280.00    09/26/08    12:41:48
##M:    Status Fiscal:0000 0110 0000 0000  Int:      1536.00    09/26/08    12:41:48
##I1:Port:1    09/26/08    12:44:19
##IC:Buena conexion:(HANDLER/nBaudRate)    0    9600    09/26/08    12:44:26
##M:    9X    09/26/08    12:44:26
##M:    RRR:C08006002002001214727570.000.000.000.000.00000.000.000.000.000.000                                                                                                                                                                                                                                                                                                                                                                                                                                            09/26/08    12:44:44
##aR:Campo n.1:C080
##aR:Campo n.2:0600
##aR:Campo n.3:2
##aR:Campo n.4:0
##aR:Campo n.5:0
##aR:Campo n.6:2
##aR:Campo n.7:0
##aR:Campo n.8:0
##aR:Campo n.9:12147
##aR:Campo n.10:2757
##aR:Campo n.11:0.00
##aR:Campo n.12:0.00
##aR:Campo n.13:0.00
##aR:Campo n.14:0.00
##aR:Campo n.15:0.00
##aR:Campo n.16:0
##aR:Campo n.17:0
##aR:Campo n.18:0.00
##aR:Campo n.19:0.00
##aR:Campo n.20:0.00
##aR:Campo n.21:0.00
##aR:Campo n.22:0.00
##aR:Campo n.23:0                                                                                                                                                                                                                                                                                                                                                                                                                                       
##M:    Status del impresor:1100 0000 1000 0000  Int:     49280.00    09/26/08    12:44:44
##M:    Status Fiscal:0000 0110 0000 0000  Int:      1536.00    09/26/08    12:44:44
##I1:Port:1    09/26/08    12:46:10
##IC:Buena conexion:(HANDLER/nBaudRate)    0    9600    09/26/08    12:46:16
##M:    9X    09/26/08    12:46:16
##M:    RRR:C08006003003001214727570.000.000.000.000.00000.000.000.000.000.000                                                                                                                                                                                                                                                                                                                                                                                                                                            09/26/08    12:46:35
##aR:Campo n.1:C080
##aR:Campo n.2:0600
##aR:Campo n.3:3
##aR:Campo n.4:0
##aR:Campo n.5:0
##aR:Campo n.6:3
##aR:Campo n.7:0
##aR:Campo n.8:0
##aR:Campo n.9:12147
##aR:Campo n.10:2757
##aR:Campo n.11:0.00
##aR:Campo n.12:0.00
##aR:Campo n.13:0.00
##aR:Campo n.14:0.00
##aR:Campo n.15:0.00
##aR:Campo n.16:0
##aR:Campo n.17:0
##aR:Campo n.18:0.00
##aR:Campo n.19:0.00
##aR:Campo n.20:0.00
##aR:Campo n.21:0.00
##aR:Campo n.22:0.00
##aR:Campo n.23:0                                                                                                                                                                                                                                                                                                                                                                                                                                       
##M:    Status del impresor:1100 0000 1000 0000  Int:     49280.00    09/26/08    12:46:35
##M:    Status Fiscal:0000 0110 0000 0000  Int:      1536.00    09/26/08    12:46:35


On Sat, 27 Sep 2008 21:07:20 -0300, Ricardo Sassy wrote
> Hola Eduardo.
> Te agradezco la info.
> Estoy usando ooHg + Harbour 1.0.
> El problema que acabo de descubrir es que no puedo acceder a ninguna dll.
> Probé un ejemplo básico con una dll que tiene funciones que te devuelven el
> nro. de serie del disco y tampoco funciona.
> EL programa ejecuta sin errores pero alga pasa que no anda.
> Inclusive si le cambio el nombre a la dll tampo saltan errores asi que
> tiene que ser algo muy elemental.
>
> Desde ya gracias...
> ¿Alquien probó acceder a la impresora usando los controles ocx?.
>
> Saludos...
> Ricardo Sassy
>
> At 18:58 27/09/2008, you wrote:
> >Ricardo
> >
> >En puertosur estamos armando una clase fiscal para xHarbour consola.
> >No tengo idea si va a funcionar con Harbour.
> >Solo te puedo decir q ayer la hice andar pero con xHarbour 1.00 compilacion de
> >PuertoSur.
> >Otra version no me funciono. No tengo ni idea de como es el estado de Harbour
> >y la compativilidad.
> >
> >Direcciones de correo electrónico del grupo
> >
> > Enlace relacionado: http://www.puertosur.org
> > Enviar mensaje: PuertoSur@gruposyahoo.com.ar
> > Suscribirse: PuertoSur-subscribe@gruposyahoo.com.ar
> > Cancelar suscripción: PuertoSur-unsubscribe@gruposyahoo.com.ar
> > Propietario: PuertoSur-owner@gruposyahoo.com.ar
> >
> >On Sat, 27 Sep 2008 18:01:01 -0300, Ricardo Sassy wrote
> > > Hola Juan Carlos
> > > Uso Harbour 1.0 en modo consola.
> > > No tengo ningún warning ni nada raro en la compilación.
> > > El exe se genera normalmente y su ejecución no produce erorres de
> > ningún tipo.
> > > Incluso intenté algo tan básico como esto:
> > > cInfo := CallDll ( "VersionDLLFiscal" , "WINFIS32.DLL" )
> > > alert(cInfo)
> > > y devuelve un string vacio.
> > >
> > > Evidentemente me falta hacer algo que desconozco.
> > > Por las dudas... ¿que fecha y tamaño tiene la winfis32.dll que estás
> > usando?.
> > > Estoy usando una del 01/12/2005 de 61440 bytes.
> > > ¿Será que tengo una dll equivocada?.
> > >
> > > Saludos y gracias...
> > > Ricardo Sassy
> > >
> > > At 14:13 27/09/2008, you wrote:
> > >
> >--
> > Eduardo Rizzolo
> > Eldorado, Misiones Argentina
> > INF 0023
> > Correo principal y Msn Hotmail:fullpaint@pinturas-misioneras.com.ar
> > skype:fullpaint1
> > ICQ:39280741
> > www.creacionistas.com -> Que lindo cuentito nos contaron!!
> > www.puertosur.org
> >
> >
> >------------------------------------
> >
> >Enlaces a Yahoo! Grupos
> >
> >
> >
> >
>
>


--
Eduardo Rizzolo
Eldorado, Misiones Argentina
INF 0023
Correo principal y Msn Hotmail:fullpaint@...
skype:fullpaint1
ICQ:39280741
www.creacionistas.com -> Que lindo cuentito nos contaron!!
www.puertosur.org


#8106 De: "Eduardo Rizzolo" <fullpaint@...>
Fecha: Lun, 29 de Sep, 2008 11:06 pm
Asunto: Re: Una mano... por favor...
fullpaint
Sin conexión Sin conexión
Enviar correo Enviar correo
 
Gente

Aunque este tema de las migraciones no es nada nuevo, quiero decir que a mi parecer y el de muchos, que he leido sus opiniones. Q no es por despreciar, pero herramientas que dicen convertir algo q ni tiene la misma filosofia, ni basica. A mi entender se podria lograr con una herramienta MAGICA y sin trabajo alguno.
La pregunta es. Pero a que costo?

Basicamente clipper es un sistema de programacion estructurado lineal basado en funciones.
Los desarrolos para WIN su filosofia es desarrollo por eventos.

Es lo mismo que una herramienta magica, nos permita trasladar nuestros sistemas de clipper con DBF, y por magia, las convierta en cliente/servidor de MySQL.
Si haces pruebas van a funcionar.
Pero a que costo.
Teniendo en cuenta que la filosofia de trabajo, de DBF que usamos. No tiene nada que ver con MySQL, y uso de Internet.
Cuando con DBFs armamos browses que muestra datos de miles de registros.
Como vas a trasladar esos miles de registros por internet, para que el usuario seleccione un registro.
Es logico pasar miles de registro por intenet sin un filtrado??
Cual es el costo de hacer esto??

Lo mismo pasa con la programacion de clipper DOS a WIN.
Es logico eso? A que costo??

Bueno la idea de hablar de estos temas, es para que pensemos un poco.
Y para que no nos vendan ideas magicas. Cuando la realidad del desarrollo es otra.

Si safas, pero por cuanto tiempo.
Despues los clientes nos quieren matar por que no funcionan nuestros cambios.

Espero les sea util.


Un abrazo




On Mon, 29 Sep 2008 19:29:57 -0300, Ricardo Sassy wrote

> Hola Federico.
> La página del desarrollador es esta: http://sistemascvc.tripod.com/id10.html
> Alli puedes bajar una demo totalmente funcional.
> El grupo Yahoo es este:
> http://es.groups.yahoo.com/group/clip2win/
> Dentro de los files del grupo vas a encontrar ejemplos de sistemas ya migrados.
> El utilitario C2W lo que permite es -básicamente- convertir los programas
> Clipper a formato visual y 32 bits agregándo sólo dos lineas de código en
> el programa principal.
> Muchos de nosotros hemos migrado los sistemas Clipper usando esta
> herramienta sin mayores problemas.
> Una vez que migraste un sistema puedes ir agregándole de a poco módulos
> escritos en ooHg y de esa forma ir modernizando los programas sin
> descontinuar el uso de los mismos.
>
> Saludos...
> Ricardo Sassy
>
> At 16:31 29/09/2008, you wrote:
> >Ricardo de donde puedo obtener c2w y me podrias proporcionar un codigo de
> >ejemplo desde ya muchas gracias
> >
> >Federico de Maussion
> >Deán Funes - Córdoba
> > Argentina
> >
> >Ricardo Sassy escribió:
> > >
> > > Hola Gustavo.
> > > Con C2W lo solucioné transitoriamente trabajando la impresora en modo
> > > spool (la verdad es que este modo es muy práctico y fácil de usar).
> > > De todas formas estoy esperando la respuesta de otro colega (Guillermo
> > > Luhning) que me dijo que usando una lib específica llamada
> > > h32032bc.lib pudo usar las impresoras Hasar en C2W en modo nativo.
> > > Mientras tanto me sigo defendiendo en el modo spool.
> > > Por las dudas... ¿alguien tendrá la librería que menciono más arriba?.
> > >
> > > Saludos...
> > > Ricardo Sassy
> > >
> > > At 15:31 29/09/2008, you wrote:
> > >
> > >> Mario : Disculpa la intromison en el tema, es que tengo el mismo
> > >> problema. Tengo dearrollado un modulo de facturación en clipper52
> > >> funcionando correctamente y debi migrar el sistema , para lo cual
> > >> utilice la herramienta de Ciro C2W, pero no puedo hacer funcionar
> > >> la impresora. Me fui guiando con las instrucciones bajas de Hasar
> > >> pero no hay caso.
> > >> Podrias mandar un ejemplo , desde ya muchas gracias
> > >>
> > >> Gustavo Gabriele
> > >>
> > >> ----------------------------------------------------------
> > >> *De:* ifclipper@gruposyahoo.com.ar
> > >> [mailto:ifclipper@gruposyahoo.com.ar
> > >> <mailto:ifclipper@gruposyahoo.com.ar>] *En nombre de
> > >> *mariomansilla@arnet.com.ar
> > >> *Enviado el:* Lunes, 29 de Septiembre de 2008 01:32 p.m.
> > >> *Para:* ifclipper@gruposyahoo.com.ar
> > >> *Asunto:* Re: [ifclipper] Una mano... por favor...
> > >>
> > >>
> > >> Hola Ricardo :
> > >> Disculpas recien hoy veo tu mensaje , yo
> > >> pude hacer funcionar las impresoras fiscales hasar con la
> > >> winfis32.dll y las epson con las ocx de epson , pero con HMG oficial .
> > >> Aun no he tenido tiempo de probar las ocx de hasar .
> > >> Cualquier cosa avisame .
> > >> Saludos .
> > >> Mario Mansilla
> > >>
> > >>
> > >>
> > >>
> > >> > Hola Eduardo.
> > >> > Te agradezco la info.
> > >> > Estoy usando ooHg + Harbour 1.0.
> > >> > El problema que acabo de descubrir es que no puedo acceder a
> > >> ninguna dll.
> > >> > Probé un ejemplo básico con una dll que tiene funciones que te
> > >> devuelven
> > >> > el
> > >> > nro. de serie del disco y tampoco funciona.
> > >> > EL programa ejecuta sin errores pero alga pasa que no anda.
> > >> > Inclusive si le cambio el nombre a la dll tampo saltan errores asi que
> > >> > tiene que ser algo muy elemental.
> > >> >
> > >> >
> > >> Desde ya gracias...
> > >> > ¿Alquien probó acceder a la impresora usando los controles ocx?.
> > >> >
> > >> > Saludos...
> > >> > Ricardo Sassy
> > >> >
> > >> > At 18:58 27/09/2008, you wrote:
> > >> >>Ricardo
> > >> >>
> > >> >>En puertosur estamos armando una clase fiscal para xHarbour consola.
> > >> >>No tengo idea si va a funcionar con Harbour.
> > >> >>Solo te puedo decir q ayer la hice andar pero con xHarbour 1.00
> > >> >> compilacion de
> > >> >>PuertoSur.
> > >> >>Otra version no me funciono. No tengo ni idea de como es el estado de
> > >> >> Harbour
> > >> >>y la compativilidad.
> > >> >>
> > >> >>Direcciones de correo electrónico del grupo
> > >> >>
> > >> >> Enlace relacionado: http://www.puertosur.org
> > >> <http://www.puertosur.org/>
> > >> >> Enviar mensaje: PuertoSur@gruposyahoo.com.ar
> > >> >> Suscribirse: PuertoSur-subscribe@gruposyahoo.com.ar
> > >> >> Cancelar suscripción: PuertoSur-unsubscribe@gruposyahoo.com.ar
> > >> >> Propietario: PuertoSur-owner@gruposyahoo.com.ar
> > >> >>
> > >> >>On Sat, 27 Sep 2008 18:01:01 -0300, Ricardo Sassy wrote
> > >> >> > Hola Juan Carlos
> > >> >> > Uso Harbour 1.0 en modo consola.
> > >> >> > No tengo ningún warning ni nada raro en la compilación.
> > >> >> > El exe se genera normalmente y su ejecución no produce erorres de
> > >> >> ningún tipo.
> > >> >> > Incluso intenté algo tan básico como esto:
> > >> >> > cInfo := CallDll ( "VersionDLLFiscal" , "WINFIS32.DLL" )
> > >> >> > alert(cInfo)
> > >> >> > y devuelve un string vacio.
> > >> >> >
> > >> >> > Evidentemente me falta hacer algo que desconozco.
> > >> >> > Por las dudas... ¿que fecha y tamaño tiene la winfis32.dll que
> > >> estás
> > >> >> usando?.
> > >> >> > Estoy usando una del 01/12/2005 de 61440 bytes.
> > >> >> > ¿Será que tengo una dll equivocada?.
> > >> >> >
> > >> >> > Saludos y gracias...
> > >> >> > Ricardo Sassy
> > >> >> >
> > >> >> > At 14:13 27/09/2008, you wrote:
> > >> >> >
> > >> >>--
> > >> >> Eduardo Rizzolo
> > >> >> Eldorado, Misiones Argentina
> > >> >> INF 0023
> > >> >> Correo principal y Msn Hotmail:fullpaint@pinturas-misioneras.com.ar
> > >> >> skype:fullpaint1
> > >> >> ICQ:39280741
> > >> >> www.creacionistas.com <http://www.creacionistas.com/> -> Que lindo
> > >> cuentito nos contaron!!
> > >> >> www.puertosur.org <http://www.puertosur.org/>
> > >> >>
> > >> >>
> > >> >>------------------------------------
> > >> >>
> > >> >>Enlaces a Yahoo! Grupos
> > >> >>
> > >> >>
> > >> >>
> > >> >>
> > >> >
> > >> >
> > >
> >
> >__________________________________________________
> >Correo Yahoo!
> >Espacio para todos tus mensajes, antivirus y antispam ¡gratis!
> >¡Abrí tu cuenta ya! - http://correo.yahoo.com.ar
> >
> >------------------------------------
> >
> >Enlaces a Yahoo! Grupos
> >
> >
> >
> >
>
>


--
Eduardo Rizzolo
Eldorado, Misiones Argentina
INF 0023
Correo principal y Msn Hotmail:fullpaint@...
skype:fullpaint1
ICQ:39280741
www.creacionistas.com -> Que lindo cuentito nos contaron!!
www.puertosur.org


#8105 De: "Eduardo Rizzolo" <fullpaint@...>
Fecha: Jue, 2 de Oct, 2008 10:20 am
Asunto: RE: Una mano... por favor...
fullpaint
Sin conexión Sin conexión
Enviar correo Enviar correo
 

Colegas y Amigos


Vamos sean vivos!!!
El tiempo que van a gastar en armar el spool este, pueden usarlo para armar las cosas como corresponden y definitivamente.
Bueno, se daran cuenta que comparto en un 100% lo que dice Claudio.

Ayer pase 5 horas pasando mi sistema de clipper DOS a xHarbour consola.
Y las impresoras fiscales de Hasar, fiscal.lib. Las rutinas pasan como estan a trabajar con la winfis32.dll.
No tocan nada. Si las cosas estan bien echas, no hace falta reescribir el codigo.

Con lo que estan implementando, les aseguro que es pan para hoy. Pero tambien pueden escribir el codigo y que quede definitivamente.

Ya estoy en 32 bit con mis sistemas de clipper DOS, tengo acceso a otro mundo de cosas, y todo por consola. MySQL, hass, tipos distintos de datos, DLL, cosas en modo nativo y consola (ole,dlls,etc),no tiene el limite de 64k para los string, que tenes los objetos nativos, multihilo tambien, la posibilidad de compilar generando codigo c nativo en lugar de pcode,el limite con los arrays (no hay limite), etc....ssss
Y estoy a un paso de 64 bits.

Les aseguro que lo que tienen echo con fiscal.lib pasa de una.
Solo tienen que pegar 2 cosillas que se los paso, y eso pasa de una.
Yo ya me queme las pestañas, Uds solo tienen que cortar y pegar.

Realmente no se imaginan lo simple que es, es solo animarse!!!

Desde ya les digo, lib externas las pierden!!!
Y es lo que pasa con la fiscal.lib.
Pero pasa de una usando unas funciones de conversion y la declaracion de DLL, y el soporte nativo para DLL de xHarbour.

Para los que recien inician en el tema, en Puerto Sur (www.puertosur.org) estamos escribiendo una clase para impresoras fiscales para xHarbour puro. Asi que va a servir para xHarbour + consola o GUIs!!!

(Grupo dedicado a la programación en Lenguajes XBase, formado por un grupo de programadores sin ánimo de lucro, con la simple pasión que tenemos en un lenguaje en común.)

Direcciones de correo electrónico del grupo



Les repito que a los que tienen armado con fiscal.lib, pasa de una.

Vamos fuerza!! No se desanimen!!!   ::))))

Edu


On Wed, 1 Oct 2008 22:13:30 -0300, Claudio Torrillo wrote
> Muchachos, me alegro por el descubrimiento.
>  
> Pero … lamento meter la púa … jeje. Ojo, la caja de alfajores ya es un compromiso asumido!!!
>  
> Sin embargo,  el problema ya Ricardo lo expuso, se rompe la concomitancia y además, atenti!!, la reglamentación aclara que debe haber para cada punto de atención una IF.
>  
> Volviendo al Spooler, no entiendo; aún, cual es el objetivo de HASAR, pero no es recomendable operar de esa forma y menos aún compartir la IF.
> Otro punto es la IP, es cierto, cualquier cosa que funciona en intranet, puede funcionar “teóricamente” por Internet, pero de allí a cumplir con reglamentaciones vigentes es otro tema.
>  
> No se olviden, que la mayoría de las empresas que utilizan ERP’s (algunos ni siquiera llegan a la E y lo llaman así igual) son por lo general empresas grandes donde la facturación por IF es insignificante respecto a de la facturación general (para la que suelen ser Auto Numeradores) y por lo tanto pueden obtener excepciones de parte de la AFIP.  
>  
> Si, ya sé que las inspecciones de la AFIP y bla, bla bla… pero recuerden que son SOLIDARIOS RESPONSABLES con el usuario de la IF (firme quien firme el formulario…)
>  
> Very happy sooling!!!!
>  
> Claudio Torrillo
> www.xcsa.com.ar
>  
>
>

> De: ifclipper@gruposyahoo.com.ar [mailto:ifclipper@gruposyahoo.com.ar] En nombre de Ricardo Sassy
> Enviado el: Miércoles, 01 de Octubre de 2008 08:51 p.m.
> Para: ifclipper@gruposyahoo.com.ar
> Asunto: Re: [ifclipper] Una mano... por favor...

>  
>
> Es fácil.
> 1º) Arrancás el wspooler con el parámetro "-k".
> 2º) Con el utilitario "sndcmd.exe" que viene con las Hasar, le mandas el archivo lote de comandos fiscales a la dirección ip de la pc donde está la impresora.
> Por defecto la impresora (mejor dicho el wspooler.exe) usa el puerto 1600 pero se puede cambiar.
> Funciona "pipi cucu" inclusive en una wan. El tráfico de datos es muy bajo y con una conexión a internet regular ya alcanza para trabajar.
> Incluso funciona prefectamente reemplazando la dirección ip con una dirección dns del tipo xxx.no-ip o xxx.dyndns.
> Siempre me pregunté cómo era que los grandes programas ERP podian imprimir en la fiscal en forma remota y con aplicaciones web y nosotros -de vuelo más bajo-  teníamos que andar renegando con los puertos, las velocidades, la humedad y la ceguera de la abuelita.
> Resultó ser una bol...ez de marca mayor.
> Es una lástima que los de Hasar no le den más "manija" a esta forma de trabajo porque la verdad es que nos ahorra muchos problemas.
> En la explicación original me olvidé decirles que para poder usar el wspooler.exe primero deben copiar el archivo winfis32.dll a la carpeta \windows\system32 ya que ese utilitario utiliza dicha dll.
>
> Saludos...
> Ricardo Sassy
>
> At 19:35 01/10/2008, you wrote:

> Noo No NO NO...ahora explica el tema de trabajar la impresora con IP....me parece interesante....
> salu2
> Carlos
> como te pregunto Gerardo esto es con Hasar unicamente  o Epson tiene algo parecido?...
>
 
>  
>  
>  
>  
> ----- Original Message -----
> From: Ricardo Sassy
> To: ifclipper@gruposyahoo.com.ar
> Sent: Wednesday, October 01, 2008 7:14 PM
> Subject: RE: [ifclipper] Una mano... por favor...
> El asado lo podemos hacer aunque la impresora funcione bien.
> Si hacen bien las cosas no van a tener problemas con la impresora.
> Estuve todo el fin de semana con una impresora que me prestó un cliente y me cansé de facturar y hacer cierres Z sin ningún problema.
> Incluso probé la opción de trabajar la impresora con el protocolo IP y anduvo excelente, pero la explicación la dejo para otra oportunidad.
> Para hacer una prueba simple del modo spool basta con cargar el programa spooler.exe con los parámetros que expliqué antes y tirarle en la carpeta que hayan  elegido el archivo FA.330 que lo van a encontrar entre los drivers y utilitarios de Hasar.
> Ese archivo es un pequeño lote de comandos par emitir una factura "A" pero revisen los importes unitarios para no meter la pata.
> Con facturar $ 0,10 + iva alcanza para probar.
> Agradezco lo de los alfajores. En el mail anterior puse mal la dirección: es Vidal 3916.
> Respecto del asado... en la bodeguita tengo un Rutini merlot que me mira con cariño.
> Saludos...
> Ricardo Sassy
> At 16:28 01/10/2008, you wrote:
>
>

> Ricardo : La palabra del programador es palabra santa, ya te aviso cundo salen para alla.
>  
> PD: Tomalo como una pequeña recompensa espiritual de todos los que dejamos de tomar Migral para el dolor de cabeza originado  por las impresoras fiscales.
> OjO , que si cuando lo probamos no funca, caemos todos a comer asado a tu casa  (jajajajajajajajajaja)
>  
> Un abrazo
> Gustavo Gabriele
>  
>  
>

> De: ifclipper@gruposyahoo.com.ar [mailto:ifclipper@gruposyahoo.com.ar] En nombre de Ricardo Sassy
> Enviado el: Miércoles, 01 de Octubre de 2008 03:21 p.m.
> Para: ifclipper@gruposyahoo.com.ar
> Asunto: RE: [ifclipper] Una mano... por favor...
>  
> Si hubiera sabido esto lo escribía un poco antes !!!!
> Jajajaja...
> Es verdad el dicho que dice "la necesidad tiene cara de hereje".
> Esto del spool lo descubrí y lo investigué como una alternativa por no poder hacer andar la fucking impresora fiscal desde Harbour.
> Si lo de los alfajores es cierto: Vidal 3016 Capital Federal; si no es cierto no importa... jajajaja.
> Saludos.
> Ricardo Sassy
>
>

> At 13:43 01/10/2008, you wrote:
>
>

> Ricardo , una maravilla mañana me pongo a probar.
>  
> Gustavo Gabriele
> PD :  Hay una caja de Alfajores Habanna y una de habanet esperado que digas donde los mando
>  
>

>

> Este mensaje ha sido verificado por el E-mail Protegido. Antivirus actualizado en 01/10/2008 / Versión: 0.93.1/8369

>


--
Eduardo Rizzolo
Eldorado, Misiones Argentina
INF 0023
Correo principal y Msn Hotmail:fullpaint@...
skype:fullpaint1
ICQ:39280741
www.creacionistas.com -> Que lindo cuentito nos contaron!!
www.puertosur.org


#8104 De: "Eduardo Rizzolo" <fullpaint@...>
Fecha: Lun, 29 de Sep, 2008 1:05 pm
Asunto: Re: Una mano... por favor...
fullpaint
Sin conexión Sin conexión
Enviar correo Enviar correo
 

Podes suscribirte al grupo esta en yahoo groups.
Estos son los correos de suscripcion. y la pag official del grupo. www.puertosur.org.

Te va a dar con el blog, donde ademas encontraras documentacion de los temas tratados.
Por ej, Walter Negro nos estuvo poniendo al dia con respecto a Multi hilo con xHarbour.

Direcciones de correo electrónico del grupo

Enlace relacionado: http://www.puertosur.org
Enviar mensaje: PuertoSur@gruposyahoo.com.ar
Suscribirse: PuertoSur-subscribe@gruposyahoo.com.ar
Cancelar suscripción: PuertoSur-unsubscribe@gruposyahoo.com.ar
Propietario: PuertoSur-owner@gruposyahoo.com.ar



On Mon, 29 Sep 2008 09:03:55 -0300, Compucity - \(064\) 30904 \(Melo\) wrote
>
> Eduardo, la verdad que ni idea de harbour, siempre he usado xHabour.
> Contame algo del grupo en qué están, tienen una página actual ?
> Ricardo
>  

> ----- Original Message -----
> From: Eduardo Rizzolo
> To: ifclipper@gruposyahoo.com.ar
> Sent: Saturday, September 27, 2008 6:58 PM
> Subject: Re: [ifclipper] Una mano... por favor...
>
> Ricardo
>
> En puertosur estamos armando una clase fiscal para xHarbour consola.
> No tengo idea si va a funcionar con Harbour.
> Solo te puedo decir q ayer la hice andar pero con xHarbour 1.00 compilacion de
> PuertoSur.
> Otra version no me funciono. No tengo ni idea de como es el estado de Harbour
> y la compativilidad.
>
> Direcciones de correo electrónico del grupo
>
> Enlace relacionado: http://www.puertosur.org
> Enviar mensaje: PuertoSur@gruposyahoo.com.ar
> Suscribirse: PuertoSur-subscribe@gruposyahoo.com.ar
> Cancelar suscripción: PuertoSur-unsubscribe@gruposyahoo.com.ar
> Propietario: PuertoSur-owner@gruposyahoo.com.ar
>
> On Sat, 27 Sep 2008 18:01:01 -0300, Ricardo Sassy wrote
> > Hola Juan Carlos
> > Uso Harbour 1.0 en modo consola.
> > No tengo ningún warning ni nada raro en la compilación.
> > El exe se genera normalmente y su ejecución no produce erorres de ningún tipo.
> > Incluso intenté algo tan básico como esto:
> > cInfo := CallDll ( "VersionDLLFiscal" , "WINFIS32.DLL" )
> > alert(cInfo)
> > y devuelve un string vacio.
> >
> > Evidentemente me falta hacer algo que desconozco.
> > Por las dudas... ¿que fecha y tamaño tiene la winfis32.dll que estás usando?.
> > Estoy usando una del 01/12/2005 de 61440 bytes.
> > ¿Será que tengo una dll equivocada?.
> >
> > Saludos y gracias...
> > Ricardo Sassy
> >
> > At 14:13 27/09/2008, you wrote:
> >
> --
> Eduardo Rizzolo
> Eldorado, Misiones Argentina
> INF 0023
> Correo principal y Msn Hotmail:fullpaint@pinturas-misioneras.com.ar
> skype:fullpaint1
> ICQ:39280741
> www.creacionistas.com -> Que lindo cuentito nos contaron!!
> www.puertosur.org
>
> __________ Información de ESET NOD32 Antivirus, versión de la base de firmas de virus 3479 (20080929) __________
>
> ESET NOD32 Antivirus ha comprobado este mensaje.
> http://www.eset.com
>



--
Eduardo Rizzolo
Eldorado, Misiones Argentina
INF 0023
Correo principal y Msn Hotmail:fullpaint@...
skype:fullpaint1
ICQ:39280741
www.creacionistas.com -> Que lindo cuentito nos contaron!!
www.puertosur.org


#8103 De: "Eduardo Rizzolo" <fullpaint@...>
Fecha: Jue, 2 de Oct, 2008 10:39 am
Asunto: Fw: RE: Una mano... por favor...
fullpaint
Sin conexión Sin conexión
Enviar correo Enviar correo
 

---------- Forwarded Message -----------
From: "Eduardo Rizzolo" <fullpaint@...>
To: ifclipper@...
Sent: Thu, 2 Oct 2008 08:20:21 -0200
Subject: RE: [ifclipper] Una mano... por favor...


Colegas y Amigos


Vamos sean vivos!!!
El tiempo que van a gastar en armar el spool este, pueden usarlo para armar las cosas como corresponden y definitivamente.
Bueno, se daran cuenta que comparto en un 100% lo que dice Claudio.

Ayer pase 5 horas pasando mi sistema de clipper DOS a xHarbour consola.
Y las impresoras fiscales de Hasar, fiscal.lib. Las rutinas pasan como estan a trabajar con la winfis32.dll.
No tocan nada. Si las cosas estan bien echas, no hace falta reescribir el codigo.

Con lo que estan implementando, les aseguro que es pan para hoy. Pero tambien pueden escribir el codigo y que quede definitivamente.

Ya estoy en 32 bit con mis sistemas de clipper DOS, tengo acceso a otro mundo de cosas, y todo por consola. MySQL, hass, tipos distintos de datos, DLL, cosas en modo nativo y consola (ole,dlls,etc),no tiene el limite de 64k para los string, que tenes los objetos nativos, multihilo tambien, la posibilidad de compilar generando codigo c nativo en lugar de pcode,el limite con los arrays (no hay limite), etc....ssss
Y estoy a un paso de 64 bits.

Les aseguro que lo que tienen echo con fiscal.lib pasa de una.
Solo tienen que pegar 2 cosillas que se los paso, y eso pasa de una.
Yo ya me queme las pestañas, Uds solo tienen que cortar y pegar.

Realmente no se imaginan lo simple que es, es solo animarse!!!

Desde ya les digo, lib externas las pierden!!!
Y es lo que pasa con la fiscal.lib.
Pero pasa de una usando unas funciones de conversion y la declaracion de DLL, y el soporte nativo para DLL de xHarbour.

Para los que recien inician en el tema, en Puerto Sur (www.puertosur.org) estamos escribiendo una clase para impresoras fiscales para xHarbour puro. Asi que va a servir para xHarbour + consola o GUIs!!!

(Grupo dedicado a la programación en Lenguajes XBase, formado por un grupo de programadores sin ánimo de lucro, con la simple pasión que tenemos en un lenguaje en común.)

Direcciones de correo electrónico del grupo



Les repito que a los que tienen armado con fiscal.lib, pasa de una.

Vamos fuerza!! No se desanimen!!!   ::))))

Edu


On Wed, 1 Oct 2008 22:13:30 -0300, Claudio Torrillo wrote
> Muchachos, me alegro por el descubrimiento.
>  
> Pero … lamento meter la púa … jeje. Ojo, la caja de alfajores ya es un compromiso asumido!!!
>  
> Sin embargo,  el problema ya Ricardo lo expuso, se rompe la concomitancia y además, atenti!!, la reglamentación aclara que debe haber para cada punto de atención una IF.
>  
> Volviendo al Spooler, no entiendo; aún, cual es el objetivo de HASAR, pero no es recomendable operar de esa forma y menos aún compartir la IF.
> Otro punto es la IP, es cierto, cualquier cosa que funciona en intranet, puede funcionar “teóricamente” por Internet, pero de allí a cumplir con reglamentaciones vigentes es otro tema.
>  
> No se olviden, que la mayoría de las empresas que utilizan ERP’s (algunos ni siquiera llegan a la E y lo llaman así igual) son por lo general empresas grandes donde la facturación por IF es insignificante respecto a de la facturación general (para la que suelen ser Auto Numeradores) y por lo tanto pueden obtener excepciones de parte de la AFIP.  
>  
> Si, ya sé que las inspecciones de la AFIP y bla, bla bla… pero recuerden que son SOLIDARIOS RESPONSABLES con el usuario de la IF (firme quien firme el formulario…)
>  
> Very happy sooling!!!!
>  
> Claudio Torrillo
> www.xcsa.com.ar
>  
>
>

> De: ifclipper@gruposyahoo.com.ar [mailto:ifclipper@gruposyahoo.com.ar] En nombre de Ricardo Sassy
> Enviado el: Miércoles, 01 de Octubre de 2008 08:51 p.m.
> Para: ifclipper@gruposyahoo.com.ar
> Asunto: Re: [ifclipper] Una mano... por favor...

>  
>
> Es fácil.
> 1º) Arrancás el wspooler con el parámetro "-k".
> 2º) Con el utilitario "sndcmd.exe" que viene con las Hasar, le mandas el archivo lote de comandos fiscales a la dirección ip de la pc donde está la impresora.
> Por defecto la impresora (mejor dicho el wspooler.exe) usa el puerto 1600 pero se puede cambiar.
> Funciona "pipi cucu" inclusive en una wan. El tráfico de datos es muy bajo y con una conexión a internet regular ya alcanza para trabajar.
> Incluso funciona prefectamente reemplazando la dirección ip con una dirección dns del tipo xxx.no-ip o xxx.dyndns.
> Siempre me pregunté cómo era que los grandes programas ERP podian imprimir en la fiscal en forma remota y con aplicaciones web y nosotros -de vuelo más bajo-  teníamos que andar renegando con los puertos, las velocidades, la humedad y la ceguera de la abuelita.
> Resultó ser una bol...ez de marca mayor.
> Es una lástima que los de Hasar no le den más "manija" a esta forma de trabajo porque la verdad es que nos ahorra muchos problemas.
> En la explicación original me olvidé decirles que para poder usar el wspooler.exe primero deben copiar el archivo winfis32.dll a la carpeta \windows\system32 ya que ese utilitario utiliza dicha dll.
>
> Saludos...
> Ricardo Sassy
>
> At 19:35 01/10/2008, you wrote:

> Noo No NO NO...ahora explica el tema de trabajar la impresora con IP....me parece interesante....
> salu2
> Carlos
> como te pregunto Gerardo esto es con Hasar unicamente  o Epson tiene algo parecido?...
>
 
>  
>  
>  
>  
> ----- Original Message -----
> From: Ricardo Sassy
> To: ifclipper@gruposyahoo.com.ar
> Sent: Wednesday, October 01, 2008 7:14 PM
> Subject: RE: [ifclipper] Una mano... por favor...
> El asado lo podemos hacer aunque la impresora funcione bien.
> Si hacen bien las cosas no van a tener problemas con la impresora.
> Estuve todo el fin de semana con una impresora que me prestó un cliente y me cansé de facturar y hacer cierres Z sin ningún problema.
> Incluso probé la opción de trabajar la impresora con el protocolo IP y anduvo excelente, pero la explicación la dejo para otra oportunidad.
> Para hacer una prueba simple del modo spool basta con cargar el programa spooler.exe con los parámetros que expliqué antes y tirarle en la carpeta que hayan  elegido el archivo FA.330 que lo van a encontrar entre los drivers y utilitarios de Hasar.
> Ese archivo es un pequeño lote de comandos par emitir una factura "A" pero revisen los importes unitarios para no meter la pata.
> Con facturar $ 0,10 + iva alcanza para probar.
> Agradezco lo de los alfajores. En el mail anterior puse mal la dirección: es Vidal 3916.
> Respecto del asado... en la bodeguita tengo un Rutini merlot que me mira con cariño.
> Saludos...
> Ricardo Sassy
> At 16:28 01/10/2008, you wrote:
>
>

> Ricardo : La palabra del programador es palabra santa, ya te aviso cundo salen para alla.
>  
> PD: Tomalo como una pequeña recompensa espiritual de todos los que dejamos de tomar Migral para el dolor de cabeza originado  por las impresoras fiscales.
> OjO , que si cuando lo probamos no funca, caemos todos a comer asado a tu casa  (jajajajajajajajajaja)
>  
> Un abrazo
> Gustavo Gabriele
>  
>  
>

> De: ifclipper@gruposyahoo.com.ar [mailto:ifclipper@gruposyahoo.com.ar] En nombre de Ricardo Sassy
> Enviado el: Miércoles, 01 de Octubre de 2008 03:21 p.m.
> Para: ifclipper@gruposyahoo.com.ar
> Asunto: RE: [ifclipper] Una mano... por favor...
>  
> Si hubiera sabido esto lo escribía un poco antes !!!!
> Jajajaja...
> Es verdad el dicho que dice "la necesidad tiene cara de hereje".
> Esto del spool lo descubrí y lo investigué como una alternativa por no poder hacer andar la fucking impresora fiscal desde Harbour.
> Si lo de los alfajores es cierto: Vidal 3016 Capital Federal; si no es cierto no importa... jajajaja.
> Saludos.
> Ricardo Sassy
>
>

> At 13:43 01/10/2008, you wrote:
>
>

> Ricardo , una maravilla mañana me pongo a probar.
>  
> Gustavo Gabriele
> PD :  Hay una caja de Alfajores Habanna y una de habanet esperado que digas donde los mando
>  
>

>

> Este mensaje ha sido verificado por el E-mail Protegido. Antivirus actualizado en 01/10/2008 / Versión: 0.93.1/8369

>


--
Eduardo Rizzolo
Eldorado, Misiones Argentina
INF 0023
Correo principal y Msn Hotmail:fullpaint@...
skype:fullpaint1
ICQ:39280741
www.creacionistas.com -> Que lindo cuentito nos contaron!!
www.puertosur.org


------- End of Forwarded Message -------


--
Eduardo Rizzolo
Eldorado, Misiones Argentina
INF 0023
Correo principal y Msn Hotmail:fullpaint@...
skype:fullpaint1
ICQ:39280741
www.creacionistas.com -> Que lindo cuentito nos contaron!!
www.puertosur.org


#8102 De: Ricardo Sassy <sharley@...>
Fecha: Jue, 2 de Oct, 2008 7:25 pm
Asunto: RE: Una mano... por favor...
re675432
Sin conexión Sin conexión
Enviar correo Enviar correo
 
Lo que dice Claudio es muy cierto.
Hay que tener cuidado ya que somos solidariamente responsables ante los organismos de control.
Pero... (siempre hay un pero) la verdad es que a esta altura del partido me parece que el tema de la concomitancia quedó en el olvido (lo cuál no nos exceptua de cumplir con la obligación).
La verdad es que salvo en los supermercados o en los negocios que tienen tickeadora, en los demás nunca vi que trabajen con concomitancia pura.
Voy a comprar repuestos para el auto y veo que el tipo teclea y teclea y de golpe tecla "mágica" y sale toda la factura completa.
Y asi en todos lados...
Incluso la gente de Epson asegura que la concomitancia se refiere a la prohibición de imprimir todas las facturas juntas al final del dia.
Muchos de mis clientes que trabajan sin concomitancia superaron inspecciones de la Afip sin problemas.
Por otro lado tengo clientes que no son lo suficientemente grandes como para ser autoimpresores pero tienen estructuras de sucursales y facturan por Terminal Server y en esos casos la concomitancia es casi técnicamente imposible.
De hecho la Afip contempla tantas excepciones que se tornó un tema difuso.
Por ejemplo... ¿alguien me sabe describir cómo se las arregla para usar controlador fiscal un feriante que no dispone de energía eléctrica y sin embargo está obligado a usarlo?.
Mi intención al describir esta modalidad era buscar una forma de desentenderse del lenguaje y del hardware.
Siempre hay mensajes relacionados con problemas para abrir los puertos, impresoras que se cuelgan, etc. entonces... ¿por qué no dejar que los fabricantes nos resuelvan esos temas y concentrarnos en la programación propiamente dicha?.
De todas formas, el modo spool en versión tcp/ip también puede trabajarse "linea a linea" y de esa forma respetar la concomitancia.
Asi y todo es bueno rescatar lo que dice Claudio y tener presente que si se adopta esta forma "batch" de trabajo estamos entrando en una zona con tintes  grisáceos.

Saludos...
Ricardo Sassy


At 22:13 01/10/2008, you wrote:
Muchachos, me alegro por el descubrimiento.
 
Pero … lamento meter la púa … jeje. Ojo, la caja de alfajores ya es un compromiso asumido!!!
 
Sin embargo,  el problema ya Ricardo lo expuso, se rompe la concomitancia y además, atenti!!, la reglamentación aclara que debe haber para cada punto de atención una IF.
 
Volviendo al Spooler, no entiendo; aún, cual es el objetivo de HASAR, pero no es recomendable operar de esa forma y menos aún compartir la IF.
Otro punto es la IP, es cierto, cualquier cosa que funciona en intranet, puede funcionar “teóricamente” por Internet, pero de allí a cumplir con reglamentaciones vigentes es otro tema.
 
No se olviden, que la mayoría de las empresas que utilizan ERP’s (algunos ni siquiera llegan a la E y lo llaman así igual) son por lo general empresas grandes donde la facturación por IF es insignificante respecto a de la facturación general (para la que suelen ser Auto Numeradores) y por lo tanto pueden obtener excepciones de parte de la AFIP. 
 
Si, ya sé que las inspecciones de la AFIP y bla, bla bla… pero recuerden que son SOLIDARIOS RESPONSABLES con el usuario de la IF (firme quien firme el formulario…)
 
Very happy sooling!!!!
 
Claudio Torrillo
www.xcsa.com.ar
 

De: ifclipper@... [mailto:ifclipper@...] En nombre de Ricardo Sassy
Enviado el: Miércoles, 01 de Octubre de 2008 08:51 p.m.
Para: ifclipper@...
Asunto: Re: [ifclipper] Una mano... por favor...
 

Es fácil.
1º) Arrancás el wspooler con el parámetro "-k".
2º) Con el utilitario "sndcmd.exe" que viene con las Hasar, le mandas el archivo lote de comandos fiscales a la dirección ip de la pc donde está la impresora.
Por defecto la impresora (mejor dicho el wspooler.exe) usa el puerto 1600 pero se puede cambiar.
Funciona "pipi cucu" inclusive en una wan. El tráfico de datos es muy bajo y con una conexión a internet regular ya alcanza para trabajar.
Incluso funciona prefectamente reemplazando la dirección ip con una dirección dns del tipo xxx.no-ip o xxx.dyndns.
Siempre me pregunté cómo era que los grandes programas ERP podian imprimir en la fiscal en forma remota y con aplicaciones web y nosotros -de vuelo más bajo-  teníamos que andar renegando con los puertos, las velocidades, la humedad y la ceguera de la abuelita.
Resultó ser una bol...ez de marca mayor.
Es una lástima que los de Hasar no le den más "manija" a esta forma de trabajo porque la verdad es que nos ahorra muchos problemas.
En la explicación original me olvidé decirles que para poder usar el wspooler.exe primero deben copiar el archivo winfis32.dll a la carpeta \windows\system32 ya que ese utilitario utiliza dicha dll.

Saludos...
Ricardo Sassy



At 19:35 01/10/2008, you wrote:
Noo No NO NO...ahora explica el tema de trabajar la impresora con IP....me parece interesante....
salu2
Carlos
como te pregunto Gerardo esto es con Hasar unicamente  o Epson tiene algo parecido?...
 
 
 
 
 
----- Original Message -----
From: Ricardo Sassy
To: ifclipper@...
Sent: Wednesday, October 01, 2008 7:14 PM
Subject: RE: [ifclipper] Una mano... por favor...
El asado lo podemos hacer aunque la impresora funcione bien.
Si hacen bien las cosas no van a tener problemas con la impresora.
Estuve todo el fin de semana con una impresora que me prestó un cliente y me cansé de facturar y hacer cierres Z sin ningún problema.
Incluso probé la opción de trabajar la impresora con el protocolo IP y anduvo excelente, pero la explicación la dejo para otra oportunidad.
Para hacer una prueba simple del modo spool basta con cargar el programa spooler.exe con los parámetros que expliqué antes y tirarle en la carpeta que hayan  elegido el archivo FA.330 que lo van a encontrar entre los drivers y utilitarios de Hasar.
Ese archivo es un pequeño lote de comandos par emitir una factura "A" pero revisen los importes unitarios para no meter la pata.
Con facturar $ 0,10 + iva alcanza para probar.
Agradezco lo de los alfajores. En el mail anterior puse mal la dirección: es Vidal 3916.
Respecto del asado... en la bodeguita tengo un Rutini merlot que me mira con cariño.
Saludos...
Ricardo Sassy
At 16:28 01/10/2008, you wrote:

Ricardo : La palabra del programador es palabra santa, ya te aviso cundo salen para alla.
 
PD: Tomalo como una pequeña recompensa espiritual de todos los que dejamos de tomar Migral para el dolor de cabeza originado  por las impresoras fiscales.
OjO , que si cuando lo probamos no funca, caemos todos a comer asado a tu casa  (jajajajajajajajajaja)
 
Un abrazo
Gustavo Gabriele
 
 

De: ifclipper@... [mailto:ifclipper@...] En nombre de Ricardo Sassy
Enviado el: Miércoles, 01 de Octubre de 2008 03:21 p.m.
Para: ifclipper@...
Asunto: RE: [ifclipper] Una mano... por favor...
 
Si hubiera sabido esto lo escribía un poco antes !!!!
Jajajaja...
Es verdad el dicho que dice "la necesidad tiene cara de hereje".
Esto del spool lo descubrí y lo investigué como una alternativa por no poder hacer andar la fucking impresora fiscal desde Harbour.
Si lo de los alfajores es cierto: Vidal 3016 Capital Federal; si no es cierto no importa... jajajaja.
Saludos.
Ricardo Sassy


At 13:43 01/10/2008, you wrote:

Ricardo , una maravilla mañana me pongo a probar.
 
Gustavo Gabriele
PD :  Hay una caja de Alfajores Habanna y una de habanet esperado que digas donde los mando
 

Este mensaje ha sido verificado por el E-mail Protegido. Antivirus actualizado en 01/10/2008 / Versión: 0.93.1/8369

#8101 De: "Sergio D.Castellari" <sergio1972ar@...>
Fecha: Jue, 2 de Oct, 2008 3:08 pm
Asunto: Re: Una mano... por favor...
sergio1972ar
Sin conexión Sin conexión
Enviar correo Enviar correo
 
Hola Ricardo!
 
¡Felicitaciones!!! Que buena explicación!!! Que clarito que lo hiciste!!!. Muchas, pero muchas gracias! Todavía no renegue con una de 'esas' pero te tendré en cuenta!.
 
Claudio: No importa, tenes razón...pero....marche preso!!!
 
Saludos,
Sergio
 
 
 
 
----- Original Message -----
Sent: Wednesday, October 01, 2008 12:01 AM
Subject: RE: [ifclipper] Una mano... por favor...

Bueno... aqui voy con la explicación del modo spool, aclarando que desde el punto de vista "legal" dicho modo de trabajo sólo se "aceptaría" en aquellos comercios que por su naturaleza está exceptuados de respetar la famosa concomitancia... (¿alguien la respeta?).

El modo "spool" de las impresoras Hasar es un modo de trabajo donde la impresora está todo el tiempo "viendo" lo que le tiran dentro de una carpeta predeterminada y tratando de procesar en forma batch los archivos que se colocan en dicha carpeta.
Si la impresora "encuentra" un archivo interpretable (desde el punto de vista de la impresora o sea con comandos fiscales) lo procesa y devuelve el resultado de ese proceso en otra carpeta predeterminada, con el mismo nombre del archivo de entrada pero con la extensión ".ANS"  (de "answer... ¿vieron?).
En otras palabras, la impresora esta a la espera de que desde nuestro aplicacativo generemos un archivo plano con la secuencia de comandos a ejecutar y le copiemos ese archivo a la carpeta donde "ella" está esperando.

El modo spool se poner en marcha ejecutando el programa WSPOOLER.EXE que es parte de los programas y drivers que se pueden bajar de la página de Hasar.
Este programa abre una sesión de DOS (que luego podemos minimizar) y queda en ejecución permanente hasta que lo cancelemos con CTRL-C.

Vamos a un ejemplo totalmente funcional para comprender los parámetros que necesita este programa:
WSPOOLER -p1 -v57600 -l -n -sC:\FISCAL\ENTRADA -aC:\FISCAL\SALIDA
"-p" es el parámetro donde le indicamos al programa cuál es el puerto COM a abrir para comunicarse con la impreosa.
"-v" es el parámetro donde le indicamos al programa cuál es la velocidad con que operaremos dicho puerto. Esta velocidad debe coincidir con la seteada en la impresora mediante el utilitario Pruf.
"-l" (ojo... ele de lagarto y no i de inútil) sirve para que el programa vaya generando un archivo log que nos puede servir hipotéticamente para detectar errores de comandos o de funcionamiento. Este archivo log se llama -por defecto- "spooler.log" y contiene información muy interesante para ver por qué a veces nos equivocamos en la sintáxis de un comando fiscal o por qué la impresora se niega a ejecutar un comando que creemos que está bien.
Este un ejemplo del contenido (acumulativo) de spooler.log:
30/09-23:04:20: **START SPOOLER**
30/09-23:04:20: A abrir COM1
30/09-23:04:21: Comando completado: *
30/09-23:04:21: Comando completado: *
30/09-23:04:21: Comando completado: D| |0.0|C|0
30/09-23:04:21: Comando completado: E
30/09-23:04:21: Comando completado: J
"-n" sirve para que en el archivo de respuestas que nos devuelve el programa spooler cada linea de respuestas esté encabezada por el comando que le dió origen.
Esto sirve para poder interpretar mejor ese archivo de respuestas y saber qué nos fué "contestando" la impresora por cada comando que le enviamos.
"-s" es el parámetro que sirve para indicarle al programa spooler cuál es la carpeta donde tiene que estar "a la escucha".
Cualquier archivo que "caiga" es esa carpeta será procesado y posteriormente borrado en forma automática por el programa spooler.exe.
"-a" es el parámetro donde le pido al programa spooler que me devuelva los resultados de la impresora fiscal.
Continuando con el ejemplo, si a la carpeta c:\fiscal\entrada le "tiro" un archivo denominado "99XZC208.FIS" (archivo que obviamente contiene una colección de comandos fiscales para -por ejemplo- emitir una factura), la respuesta de la impresora quedará en C:\FISCAL\SALIDA, en un archivo denominado "99XZC208.ANS".

Es responsabilidad de nuestros aplicativos revisar ese archivo de salida para cerciorarnos que la impresión finalizó correctamente y poder recuperar datos que sean necesarios para actualizar nuestras propias bases de datos.
En mi caso, por ejemplo, tomo de ese archivo el nro. de comprobante emitido, el punto de venta y el monto de iva total, para poder actualizar las bases del sistema en corcondancia con lo emitido por la impresora fiscal.

Los comandos que se le envian a la impresora son EXACTAMENTE LOS MISMOS que usamos habitualmente en el modo de trabajo normal.
Para los que hayan tomado el ejemplo de codificación Clipper que ofrece Hasar, cada linea de este archivo es el contenido de la variable "s" de los ejemplos.

Este es un ejemplo de archivo de comandos para emitir una factura "A":

bEmpresa Equis S.A.30702383923ICDomicilio...
@AS
BItem Uno1.01.021.0M0.00b
BItem Dos1.01.010.5M0.00b
CPSubtotal0
DEfectivo100.00T0
E

La primera linea carga los datos del cliente.
La segunda linea abre el comprobante factura "A",
La tercera y cuarta lineas cargan items de venta con distintas tasas de iva.
La quinta linea pide e imprime un subtotal.
La sexta linea es la del pago.
La séptima linea es la del cierre de comprobante.
Si miran con atención verán que el primer caracter es la representación ascii del comando fiscal.
Obviamente lo que aquí se ve como un símbolo raro es la representación del caracter CHR(28) que se utiliza como separador de campos.

Si todo está bien, la impresora nos devolverá un archivo con estas respuestas (siempre en relación el ejemplo de factura "A" de arriba):
b|1100000010000000|0000011000000000
@|1100000010000000|0011011000000000|00000049
B|1100000010000000|0011011000000000
B|1100000010000000|0011011000000000
C|1100000010000000|0011011000000000|2.0000|2.32|0.32|0.00|0.00|0.00
D|1100000010000000|0011011000000000|-97.68
E|1100000010000000|0000011000000000|00000049|1|2369-0800966608
Entonces simplemente hay que leer este archivo plano y en base al primer caracter ir interpretando y rescatando los datos que nos interesan.
Por ejemplo de la linea "E" yo saco el nro. de comprobante otorgado y el nro. de cai y de la linea "C" saco los totales de iva acumulados.
El contenido de cada linea de respuesta es posicionalmente hablando EXACTAMENTE lo que figura en el manual como respuesta a cada comando.
Para facilitar la intepretación de las respuestas, el programa spooler reemplaza el caracter CHR(28) por el caracter "|" (pipe) como separador de campos.

RESUMEN:
1º) Genero un archivo ascii con la colección de comandos necesarios para una tarea determinada (emitir factura "A", pedir un cierre "Z", etc.) y copiarlo a la carpeta de entrada del spooler.
Si se trabaja desde varios puestos de trabajo simultáneos con una única impresora fiscal es conveniente que el nombre del archivo sea en parte relacionado con el puesto de trabajo y en parte al azar.
2º) Esperar alrededor de 20 segundos hasta que la impresora finaliza la impresión y luego leer el archivo de respuestas (mismo nombre que el de entrada pero con extensión ".ANS").
3º) Interpretar el archivo leido y en base a eso interactuar con el aplicativo propio.

VENTAJAS:
1º) Se puede operar la impresora fiscal desde varios puestos de trabajo simultáneamente, con solo tener acceso desde nuestra pc "facturadora" a las carpetas de spool de la pc donde físicamente está conectada la impresora fiscal... que es donde está corriendo el programa spooler.exe.
2º) Nuestro aplicativo se desentiende de abrir y cerrar puertos, setear velocidades y toda la cháchara del hardware. Simplemente le enviamos a la carpeta de spool los comandos a ejecutar.
3º) La operación del aplicactivo es más veloz porque no tiene que esperar la respuesta individual a cada comando sino que lee todo junto, al final y desde un archivo plano.
4º) Como de la parte del hardware se encarga el programa spooler.exe, no importa en qué lenguaje programemos siempre que seamos capaces de generar un archivo plano con los comandos y copiarlo a otra carpeta.
5º) En escenarios de Terminal Server o VPN podemos facturar en las sucursales SIN NINGUN ESFUERZO Y SIN RENEGAR CON EL HARDWARE, usando los programas y archivos que están en el servidor central (esto es maravilloso !!!).

EJEMPLO DE CODIFICACION:
Acá transcibo un ejemplo de cómo abro un loop esperando el archivo de respuestas de la respuesta de la impresora (en forma exclusiva para asegurarme que no falta nada) y luego interpreto ese archivo.


FUNCTION spoolmanager(cTipoDocum)
    IF EMPTY(cSpoolDir) .OR. EMPTY(cAnswerDir)
       ALERT('FALTA DEFINIR CARPETAS SPOOL FISCAL')
       RETURN(.F.)
    ENDIF
    COPY FILE (cArchSpool) TO (cSpoolDir+cFileSPool)
    PONER_MJE(24,"Recuperando Datos Finales... Espere un momento." )
    INKEY(10)
    ********** ACA LEER RESULTADOS Y ASIGNAR nTic
    cArchAnswer := ALLTRIM(cAnswerDir+cFileAnswer)
    nCantLineas := 0
    nIntentos   := 20
    nTic        := 0
    DO WHILE nIntentos > 0
       IF FILE(cArchAnswer)
          DO WHILE FT_FUSE(cArchAnswer,16)<1
          ENDDO
          FT_FGOTOP()
          DO WHILE !FT_FEOF()
             ++nCantLineas
             AADD(aLineasLeidas,FT_FREADLN())
             FT_FSKIP()
          ENDDO
          FT_FUSE()
          FOR I=1 TO nCantLineas
              DO CASE
                 CASE cTipoDocum=='FACTURA'
                      IF LEFT(aLineasLeidas[I],1)='E'
                         nTic  := VAL(SUBST(aLineasLeidas[I],37,8))           //LINEA DE CIERRE DE COMPROBANTE (comando 'E')
                         cCai1 := (SUBST(aLineasLeidas[I],48,15))           //LINEA DE CIERRE DE COMPROBANTE (comando 'E')
                      ENDIF
                      IF LEFT(aLineasLeidas[I],1)='C'
                         nTotalZZ := VAL(TOMAMEDIO(aLineasLeidas[I],'|',4))    //LINEA DE SUBTOTAL              (comando 'C')
                         nIvaZZ   := VAL(TOMAMEDIO(aLineasLeidas[I],'|',5))    //LINEA DE SUBTOTAL              (comando 'C')
                      ENDIF
                 CASE cTipoDocum=='CREDITO'
                      IF LEFT(aLineasLeidas[I],1)=''
                         nTic  := VAL(SUBST(aLineasLeidas[I],37,8))           //LINEA DE CIERRE DE COMPROBANTE (comando 'E')
                         cCai1 := (SUBST(aLineasLeidas[I],48,15))           //LINEA DE CIERRE DE COMPROBANTE (comando 'E')
                      ENDIF
                      IF LEFT(aLineasLeidas[I],1)='p'
                         nIvaZZ   += VAL(TOMAMEDIO(aLineasLeidas[I],'|',5))    //LINEA DE SUBTOTAL
                         nTotalZZ += VAL(TOMAMEDIO(aLineasLeidas[I],'|',8))    //LINEA DE SUBTOTAL
                      ENDIF
                      IF LEFT(aLineasLeidas[I],1)='q'
                         nIvaZZ   += VAL(TOMAMEDIO(aLineasLeidas[I],'|',5))    //LINEA DE SUBTOTAL
                      ENDIF
              ENDCASE
          NEXT
          FERASE(cArchAnswer)
          FERASE(cArchSpool)
          EXIT
       ENDIF
       INKEY(.5)
       nIntentos := nIntentos - 1
       IF nIntentos = 0
          IF ALERT('ESPERANDO RESPUESTA IMPRESORA FISCAL...;¨CONTINUA?',{'SI','NO'}) < 2
             nIntentos := 10
          ENDIF
       ENDIF
    ENDDO
RETURN(.T.)


Espero haber sido claro.

Saludos...
Ricardo Sassy



8 29/09/2008, you wrote:

Ricardo : Si no es mucha molestia, me anoto para tu explicación y desde ya muchas gracias
 
Gustavo Gabriele
 

De: ifclipper@gruposyahoo.com.ar [mailto:ifclipper@gruposyahoo.com.ar] En nombre de Ricardo Sassy
Enviado el: Lunes, 29 de Septiembre de 2008 10:04 p.m.
Para: ifclipper@gruposyahoo.com.ar
Asunto: RE: [ifclipper] Una mano... por favor...
 

Si alguien necesita una explicación del modo spool me avisan.
Es muy fácil y hay que desentenderse de la apertura del puerto y todo eso.
Solamente enviar los comandos relacionados con el documento a imprimir o la consulta que se le quiera efectuar a la impresora.

Saludos...
Ricardo Sassy


At 19:26 29/09/2008, you wrote:
Mario : , alli Ricardo tiro una pista para utilizar la impresora en modo spooll del c2w, Igualmente muchas gracias
 
Gustavo
 

De: ifclipper@gruposyahoo.com.ar [mailto:ifclipper@gruposyahoo.com.ar] En nombre de mariomansilla@arnet.com.ar
Enviado el: Lunes, 29 de Septiembre de 2008 05:36 p.m.
Para: ifclipper@gruposyahoo.com.ar
Asunto: RE: [ifclipper] Una mano... por favor...
 

Hola Gustavo :
                          El ejemplo esta hecho para Hmg oficial , si te es util lo mismo te lo envio .
Saludos .
Mario Mansilla


> Mario : Disculpa la intromison en el tema, es que tengo el mismo problema.
> Tengo dearrollado un modulo de facturación en clipper52 funcionando
> correctamente y debi migrar el sistema , para lo cual utilice la
> herramienta
> de Ciro C2W, pero no puedo hacer funcionar la impresora. Me fui guiando
> con las instrucciones bajas de Hasar pero no hay caso.
> Podrias mandar un ejemplo , desde ya muchas gracias
>
> Gustavo Gabriele
>
> _____
>
>
De: ifclipper@gruposyahoo.com.ar [mailto:ifclipper@gruposyahoo.com.ar] En
> nombre de mariomansilla@arnet.com.ar
> Enviado el: Lunes, 29 de Septiembre de 2008 01:32 p.m.
> Para: ifclipper@gruposyahoo.com.ar
> Asunto: Re: [ifclipper] Una mano... por favor...
>
> Hola Ricardo :
> Disculpas recien hoy veo tu mensaje , yo pude
> hacer funcionar las impresoras fiscales hasar con la winfis32.dll y las
> epson con las ocx de epson , pero con HMG oficial .
> Aun no he tenido tiempo de probar las ocx de hasar .
> Cualquier cosa avisame .
> Saludos .
> Mario Mansilla
>
>
>
>
>> Hola Eduardo.
>> Te agradezco la info.
>> Estoy usando ooHg + Harbour 1.0.
>> El problema que acabo de descubrir es que no puedo acceder a ninguna
>> dll.
>> Probé un ejemplo básico con una dll que tiene funciones que te devuelven
>> el
>> nro. de serie del disco y tampoco funciona.
>> EL programa ejecuta sin errores pero alga pasa que no anda.
>> Inclusive si le cambio el nombre a la dll tampo saltan errores asi que
>> tiene que ser algo muy elemental.
>>
>>
>
Desde ya gracias...
>> ¿Alquien probó acceder a la impresora usando los controles ocx?.
>>
>> Saludos...
>> Ricardo Sassy
>>
>> At 18:58 27/09/2008, you wrote:
>>>Ricardo
>>>
>>>En puertosur estamos armando una clase fiscal para xHarbour consola.
>>>No tengo idea si va a funcionar con Harbour.
>>>Solo te puedo decir q ayer la hice andar pero con xHarbour 1.00
>>> compilacion de
>>>PuertoSur.
>>>Otra version no me funciono. No tengo ni idea de como es el estado de
>>> Harbour
>>>y la compativilidad.
>>>
>>>Direcciones de correo electrónico del grupo
>>>
>>> Enlace relacionado: http://www.puertosur.org
>>> Enviar mensaje: PuertoSur@gruposyahoo.com.ar
>>> Suscribirse: PuertoSur-subscribe@gruposyahoo.com.ar
>>> Cancelar suscripción: PuertoSur-unsubscribe@gruposyahoo.com.ar
>>> Propietario: PuertoSur-owner@gruposyahoo.com.ar
>>>
>>>On Sat, 27 Sep 2008 18:01:01 -0300, Ricardo Sassy wrote
>>> > Hola Juan Carlos
>>> > Uso Harbour 1.0 en modo consola.
>>> > No tengo ningún warning ni nada raro en la compilación.
>>> > El exe se genera normalmente y su ejecución no produce erorres de
>>> ningún tipo.
>>> > Incluso intenté algo tan básico como esto:
>>> > cInfo := CallDll ( "VersionDLLFiscal" , "WINFIS32.DLL" )
>>> > alert(cInfo)
>>> > y devuelve un string vacio.
>>> >
>>> > Evidentemente me falta hacer algo que desconozco.
>>> > Por las dudas... ¿que fecha y tamaño tiene la winfis32.dll que estás
>>> usando?.
>>> > Estoy usando una del 01/12/2005 de 61440 bytes.
>>> > ¿Será que tengo una dll equivocada?.
>>> >
>>> > Saludos y gracias...
>>> > Ricardo Sassy
>>> >
>>> > At 14:13 27/09/2008, you wrote:
>>> >
>>>--
>>> Eduardo Rizzolo
>>> Eldorado, Misiones Argentina
>>> INF 0023
>>> Correo principal y Msn Hotmail:fullpaint@pinturas-misioneras.com.ar
>>> skype:fullpaint1
>>> ICQ:39280741
>>> www.creacionistas.com -> Que lindo cuentito nos contaron!!
>>> www.puertosur.org
>>>
>>>
>>>------------------------------------
>>>
>>>Enlaces a Yahoo! Grupos
>>>
>>>
>>>
>>>
>>
>>
>
>



No virus found in this incoming message.
Checked by AVG - http://www.avg.com
Version: 8.0.173 / Virus Database: 270.7.5/1703 - Release Date: 02/10/2008 07:46 a.m.

#8100 De: "Eduardo Rizzolo" <fullpaint@...>
Fecha: Jue, 2 de Oct, 2008 10:37 am
Asunto: HOLA
fullpaint
Sin conexión Sin conexión
Enviar correo Enviar correo
 
HOLA


--
Eduardo Rizzolo
Eldorado, Misiones Argentina
INF 0023
Correo principal y Msn Hotmail:fullpaint@...
skype:fullpaint1
ICQ:39280741
www.creacionistas.com -> Que lindo cuentito nos contaron!!
www.puertosur.org


#8099 De: "Claudio Torrillo" <clipsupp@...>
Fecha: Jue, 2 de Oct, 2008 1:13 am
Asunto: RE: Una mano... por favor...
clipsupp
Sin conexión Sin conexión
Enviar correo Enviar correo
 

Muchachos, me alegro por el descubrimiento.

 

Pero … lamento meter la púa … jeje. Ojo, la caja de alfajores ya es un compromiso asumido!!!

 

Sin embargo,  el problema ya Ricardo lo expuso, se rompe la concomitancia y además, atenti!!, la reglamentación aclara que debe haber para cada punto de atención una IF.

 

Volviendo al Spooler, no entiendo; aún, cual es el objetivo de HASAR, pero no es recomendable operar de esa forma y menos aún compartir la IF.

Otro punto es la IP, es cierto, cualquier cosa que funciona en intranet, puede funcionar “teóricamente” por Internet, pero de allí a cumplir con reglamentaciones vigentes es otro tema.

 

No se olviden, que la mayoría de las empresas que utilizan ERP’s (algunos ni siquiera llegan a la E y lo llaman así igual) son por lo general empresas grandes donde la facturación por IF es insignificante respecto a de la facturación general (para la que suelen ser Auto Numeradores) y por lo tanto pueden obtener excepciones de parte de la AFIP.  

 

Si, ya sé que las inspecciones de la AFIP y bla, bla bla… pero recuerden que son SOLIDARIOS RESPONSABLES con el usuario de la IF (firme quien firme el formulario…)

 

Very happy sooling!!!!

 

Claudio Torrillo

www.xcsa.com.ar

 


De: ifclipper@... [mailto:ifclipper@...] En nombre de Ricardo Sassy
Enviado el: Miércoles, 01 de Octubre de 2008 08:51 p.m.
Para: ifclipper@...
Asunto: Re: [ifclipper] Una mano... por favor...

 

Es fácil.
1º) Arrancás el wspooler con el parámetro "-k".
2º) Con el utilitario "sndcmd.exe" que viene con las Hasar, le mandas el archivo lote de comandos fiscales a la dirección ip de la pc donde está la impresora.
Por defecto la impresora (mejor dicho el wspooler.exe) usa el puerto 1600 pero se puede cambiar.
Funciona "pipi cucu" inclusive en una wan. El tráfico de datos es muy bajo y con una conexión a internet regular ya alcanza para trabajar.
Incluso funciona prefectamente reemplazando la dirección ip con una dirección dns del tipo xxx.no-ip o xxx.dyndns.
Siempre me pregunté cómo era que los grandes programas ERP podian imprimir en la fiscal en forma remota y con aplicaciones web y nosotros -de vuelo más bajo-  teníamos que andar renegando con los puertos, las velocidades, la humedad y la ceguera de la abuelita.
Resultó ser una bol...ez de marca mayor.
Es una lástima que los de Hasar no le den más "manija" a esta forma de trabajo porque la verdad es que nos ahorra muchos problemas.
En la explicación original me olvidé decirles que para poder usar el wspooler.exe primero deben copiar el archivo winfis32.dll a la carpeta \windows\system32 ya que ese utilitario utiliza dicha dll.

Saludos...
Ricardo Sassy



At 19:35 01/10/2008, you wrote:

Noo No NO NO...ahora explica el tema de trabajar la impresora con IP....me parece interesante....
salu2
Carlos
como te pregunto Gerardo esto es con Hasar unicamente  o Epson tiene algo parecido?...
 
 
 
 
 

----- Original Message -----

From: Ricardo Sassy

To: ifclipper@gruposyahoo.com.ar

Sent: Wednesday, October 01, 2008 7:14 PM

Subject: RE: [ifclipper] Una mano... por favor...

El asado lo podemos hacer aunque la impresora funcione bien.

Si hacen bien las cosas no van a tener problemas con la impresora.

Estuve todo el fin de semana con una impresora que me prestó un cliente y me cansé de facturar y hacer cierres Z sin ningún problema.

Incluso probé la opción de trabajar la impresora con el protocolo IP y anduvo excelente, pero la explicación la dejo para otra oportunidad.

Para hacer una prueba simple del modo spool basta con cargar el programa spooler.exe con los parámetros que expliqué antes y tirarle en la carpeta que hayan  elegido el archivo FA.330 que lo van a encontrar entre los drivers y utilitarios de Hasar.

Ese archivo es un pequeño lote de comandos par emitir una factura "A" pero revisen los importes unitarios para no meter la pata.

Con facturar $ 0,10 + iva alcanza para probar.

Agradezco lo de los alfajores. En el mail anterior puse mal la dirección: es Vidal 3916.

Respecto del asado... en la bodeguita tengo un Rutini merlot que me mira con cariño.

Saludos...

Ricardo Sassy

At 16:28 01/10/2008, you wrote:

Ricardo : La palabra del programador es palabra santa, ya te aviso cundo salen para alla.

 

PD: Tomalo como una pequeña recompensa espiritual de todos los que dejamos de tomar Migral para el dolor de cabeza originado  por las impresoras fiscales.

OjO , que si cuando lo probamos no funca, caemos todos a comer asado a tu casa  (jajajajajajajajajaja)

 

Un abrazo

Gustavo Gabriele

 

 


De: ifclipper@gruposyahoo.com.ar [mailto:ifclipper@gruposyahoo.com.ar] En nombre de Ricardo Sassy

Enviado el: Miércoles, 01 de Octubre de 2008 03:21 p.m.

Para: ifclipper@gruposyahoo.com.ar

Asunto: RE: [ifclipper] Una mano... por favor...

 

Si hubiera sabido esto lo escribía un poco antes !!!!

Jajajaja...

Es verdad el dicho que dice "la necesidad tiene cara de hereje".

Esto del spool lo descubrí y lo investigué como una alternativa por no poder hacer andar la fucking impresora fiscal desde Harbour.

Si lo de los alfajores es cierto: Vidal 3016 Capital Federal; si no es cierto no importa... jajajaja.

Saludos.

Ricardo Sassy


At 13:43 01/10/2008, you wrote:

Ricardo , una maravilla mañana me pongo a probar.

 

Gustavo Gabriele

PD :  Hay una caja de Alfajores Habanna y una de habanet esperado que digas donde los mando

 



Este mensaje ha sido verificado por el E-mail Protegido. Antivirus actualizado en 01/10/2008 / Versión: 0.93.1/8369


#8098 De: fjdemaussion <fjdesoft@...>
Fecha: Jue, 2 de Oct, 2008 12:18 am
Asunto: Re: Una mano... por favor...
fjdesoft
Sin conexión Sin conexión
Enviar correo Enviar correo
 
Ricardo muchísimas gracias por la explicación.
Realmente  he estado renegando mucho sin poder obtener información al
respecto.

Federico de Maussion
Deán Funes - Córdoba
        Argentina

Ricardo Sassy escribió:
>
> Es fácil.
> 1º) Arrancás el wspooler con el parámetro "-k".
> 2º) Con el utilitario "sndcmd.exe" que viene con las Hasar, le mandas
> el archivo lote de comandos fiscales a la dirección ip de la pc donde
> está la impresora.
> Por defecto la impresora (mejor dicho el wspooler.exe) usa el puerto
> 1600 pero se puede cambiar.
> Funciona "pipi cucu" inclusive en una wan. El tráfico de datos es muy
> bajo y con una conexión a internet regular ya alcanza para trabajar.
> Incluso funciona prefectamente reemplazando la dirección ip con una
> dirección dns del tipo xxx.no-ip o xxx.dyndns.
> Siempre me pregunté cómo era que los grandes programas ERP podian
> imprimir en la fiscal en forma remota y con aplicaciones web y
> nosotros -de vuelo más bajo-  teníamos que andar renegando con los
> puertos, las velocidades, la humedad y la ceguera de la abuelita.
> Resultó ser una bol...ez de marca mayor.
> Es una lástima que los de Hasar no le den más "manija" a esta forma de
> trabajo porque la verdad es que nos ahorra muchos problemas.
> En la explicación original me olvidé decirles que para poder usar el
> wspooler.exe primero deben copiar el archivo winfis32.dll a la carpeta
> \windows\system32 ya que ese utilitario utiliza dicha dll.
>
> Saludos...
> Ricardo Sassy
>
>
>
> At 19:35 01/10/2008, you wrote:
>
>> Noo No NO NO...ahora explica el tema de trabajar la impresora con
>> IP....me parece interesante....
>> salu2
>> Carlos
>> como te pregunto Gerardo esto es con Hasar unicamente  o Epson tiene
>> algo parecido?...
>>
>>
>>
>>
>>
>>
>>     ----- Original Message -----
>>     From: Ricardo Sassy <mailto:sharley@...>
>>     To: ifclipper@...
>>     <mailto:ifclipper@...>
>>     Sent: Wednesday, October 01, 2008 7:14 PM
>>     Subject: RE: [ifclipper] Una mano... por favor...
>>
>>     El asado lo podemos hacer aunque la impresora funcione bien.
>>     Si hacen bien las cosas no van a tener problemas con la impresora.
>>     Estuve todo el fin de semana con una impresora que me prestó un
>>     cliente y me cansé de facturar y hacer cierres Z sin ningún problema.
>>     Incluso probé la opción de trabajar la impresora con el protocolo
>>     IP y anduvo excelente, pero la explicación la dejo para otra
>>     oportunidad.
>>     Para hacer una prueba simple del modo spool basta con cargar el
>>     programa spooler.exe con los parámetros que expliqué antes y
>>     tirarle en la carpeta que hayan  elegido el archivo FA.330 que lo
>>     van a encontrar entre los drivers y utilitarios de Hasar.
>>     Ese archivo es un pequeño lote de comandos par emitir una factura
>>     "A" pero revisen los importes unitarios para no meter la pata.
>>     Con facturar $ 0,10 + iva alcanza para probar.
>>     Agradezco lo de los alfajores. En el mail anterior puse mal la
>>     dirección: es Vidal 3916.
>>     Respecto del asado... en la bodeguita tengo un Rutini merlot que
>>     me mira con cariño.
>>
>>     Saludos...
>>     Ricardo Sassy
>>
>>     At 16:28 01/10/2008, you wrote:
>>>         Ricardo : La palabra del programador es palabra santa, ya te
>>>         aviso cundo salen para alla.
>>>
>>>         PD: Tomalo como una pequeña recompensa espiritual de todos
>>>         los que dejamos de tomar Migral para el dolor de cabeza
>>>         originado  por las impresoras fiscales.
>>>         OjO , que si cuando lo probamos no funca, caemos todos a
>>>         comer asado a tu casa  (jajajajajajajajajaja)
>>>
>>>         Un abrazo
>>>         Gustavo Gabriele
>>>
>>>
>>>        
------------------------------------------------------------------------
>>>         De: ifclipper@...
>>>         [mailto:ifclipper@...
>>>         <mailto:ifclipper@...>] En nombre de Ricardo
>>>         Sassy
>>>         Enviado el: Miércoles, 01 de Octubre de 2008 03:21 p.m.
>>>         Para: ifclipper@...
>>>         Asunto: RE: [ifclipper] Una mano... por favor...
>>>
>>>
>>>         Si hubiera sabido esto lo escribía un poco antes !!!!
>>>         Jajajaja...
>>>         Es verdad el dicho que dice "la necesidad tiene cara de hereje".
>>>         Esto del spool lo descubrí y lo investigué como una
>>>         alternativa por no poder hacer andar la fucking impresora
>>>         fiscal desde Harbour.
>>>         Si lo de los alfajores es cierto: Vidal 3016 Capital
>>>         Federal; si no es cierto no importa... jajajaja.
>>>
>>>         Saludos.
>>>         Ricardo Sassy
>>>
>>>
>>>
>>>         At 13:43 01/10/2008, you wrote:
>>>>             Ricardo , una maravilla mañana me pongo a probar.
>>>>
>>>>             Gustavo Gabriele
>>>>             PD :  Hay una caja de Alfajores Habanna y una de
>>>>             habanet esperado que digas donde los mando
>>>>
>>>>            
------------------------------------------------------------------------
>>     ------------------------------------------------------------------------
>>     Este mensaje ha sido verificado por el E-mail Protegido.
>>     Antivirus actualizado en 01/10/2008 / Versión: 0.93.1/8369
>>
>

__________________________________________________
Correo Yahoo!
Espacio para todos tus mensajes, antivirus y antispam ¡gratis!
¡Abrí tu cuenta ya! - http://correo.yahoo.com.ar

#8097 De: Ricardo Sassy <sharley@...>
Fecha: Mié, 1 de Oct, 2008 11:50 pm
Asunto: Re: Una mano... por favor...
re675432
Sin conexión Sin conexión
Enviar correo Enviar correo
 
Es fácil.
1º) Arrancás el wspooler con el parámetro "-k".
2º) Con el utilitario "sndcmd.exe" que viene con las Hasar, le mandas el archivo lote de comandos fiscales a la dirección ip de la pc donde está la impresora.
Por defecto la impresora (mejor dicho el wspooler.exe) usa el puerto 1600 pero se puede cambiar.
Funciona "pipi cucu" inclusive en una wan. El tráfico de datos es muy bajo y con una conexión a internet regular ya alcanza para trabajar.
Incluso funciona prefectamente reemplazando la dirección ip con una dirección dns del tipo xxx.no-ip o xxx.dyndns.
Siempre me pregunté cómo era que los grandes programas ERP podian imprimir en la fiscal en forma remota y con aplicaciones web y nosotros -de vuelo más bajo-  teníamos que andar renegando con los puertos, las velocidades, la humedad y la ceguera de la abuelita.
Resultó ser una bol...ez de marca mayor.
Es una lástima que los de Hasar no le den más "manija" a esta forma de trabajo porque la verdad es que nos ahorra muchos problemas.
En la explicación original me olvidé decirles que para poder usar el wspooler.exe primero deben copiar el archivo winfis32.dll a la carpeta \windows\system32 ya que ese utilitario utiliza dicha dll.

Saludos...
Ricardo Sassy



At 19:35 01/10/2008, you wrote:
Noo No NO NO...ahora explica el tema de trabajar la impresora con IP....me parece interesante....
salu2
Carlos
como te pregunto Gerardo esto es con Hasar unicamente  o Epson tiene algo parecido?...
 
 
 
 
 
----- Original Message -----
From: Ricardo Sassy
To: ifclipper@...
Sent: Wednesday, October 01, 2008 7:14 PM
Subject: RE: [ifclipper] Una mano... por favor...

El asado lo podemos hacer aunque la impresora funcione bien.
Si hacen bien las cosas no van a tener problemas con la impresora.
Estuve todo el fin de semana con una impresora que me prestó un cliente y me cansé de facturar y hacer cierres Z sin ningún problema.
Incluso probé la opción de trabajar la impresora con el protocolo IP y anduvo excelente, pero la explicación la dejo para otra oportunidad.
Para hacer una prueba simple del modo spool basta con cargar el programa spooler.exe con los parámetros que expliqué antes y tirarle en la carpeta que hayan  elegido el archivo FA.330 que lo van a encontrar entre los drivers y utilitarios de Hasar.
Ese archivo es un pequeño lote de comandos par emitir una factura "A" pero revisen los importes unitarios para no meter la pata.
Con facturar $ 0,10 + iva alcanza para probar.
Agradezco lo de los alfajores. En el mail anterior puse mal la dirección: es Vidal 3916.
Respecto del asado... en la bodeguita tengo un Rutini merlot que me mira con cariño.

Saludos...
Ricardo Sassy

At 16:28 01/10/2008, you wrote:
Ricardo : La palabra del programador es palabra santa, ya te aviso cundo salen para alla.
 
PD: Tomalo como una pequeña recompensa espiritual de todos los que dejamos de tomar Migral para el dolor de cabeza originado  por las impresoras fiscales.
OjO , que si cuando lo probamos no funca, caemos todos a comer asado a tu casa  (jajajajajajajajajaja)
 
Un abrazo
Gustavo Gabriele
 
 

De: ifclipper@... [mailto:ifclipper@...] En nombre de Ricardo Sassy
Enviado el: Miércoles, 01 de Octubre de 2008 03:21 p.m.
Para: ifclipper@...
Asunto: RE: [ifclipper] Una mano... por favor...
 

Si hubiera sabido esto lo escribía un poco antes !!!!
Jajajaja...
Es verdad el dicho que dice "la necesidad tiene cara de hereje".
Esto del spool lo descubrí y lo investigué como una alternativa por no poder hacer andar la fucking impresora fiscal desde Harbour.
Si lo de los alfajores es cierto: Vidal 3016 Capital Federal; si no es cierto no importa... jajajaja.

Saludos.
Ricardo Sassy



At 13:43 01/10/2008, you wrote:
Ricardo , una maravilla mañana me pongo a probar.
 
Gustavo Gabriele
PD :  Hay una caja de Alfajores Habanna y una de habanet esperado que digas donde los mando
 


Este mensaje ha sido verificado por el E-mail Protegido. Antivirus actualizado en 01/10/2008 / Versión: 0.93.1/8369


#8096 De: Ricardo Sassy <sharley@...>
Fecha: Mié, 1 de Oct, 2008 11:38 pm
Asunto: RE: Una mano... por favor...
re675432
Sin conexión Sin conexión
Enviar correo Enviar correo
 
Luego de haber sufrido algún tiempo con las Epson, lo que hago ahora es lo siguiente:
- Si es un potencial nuevo cliente y ya tiene Epson, no lo tomo salvo que cambie por Hasar (algunos lo han hecho).
- Si es un cliente preexistente le sugiero que compre Hasar, especialmente el modelo 330 que es un fierro.
En la actualidad no tengo ningún cliente con Epson ni quiero saber nada con esas impresoras.
Me pasó de todo: desde que se "coman" items en las facturas hasta que el total de los cierres Z no coincidan con los comprobantes emitidos.
Justamente con la última modificación de mis programas para poder trabajar optativamente en modo spool, aproveché para quitarles todos los residuos de código que me quedaba para las Epson.

Saludos...
Ricardo Sassy

At 19:25 01/10/2008, you wrote:
Ricardo, y que les decís a los clientes que tienen impresoras EPSON y te piden trabajar en red con las mismas?????
O tenés algo hecho para que las EPSON trabajen en red?
 
 
Gerardo J. Biagiotti
Analista de Sistemas
 
 


__________ Information from ESET Smart Security, version of virus signature database 3486 (20081001) __________

The message was checked by ESET Smart Security.

http://www.eset.com

#8095 De: "Ingenieria de Sistemas\(NQN\)" <ingenieriadesistemas@...>
Fecha: Mié, 1 de Oct, 2008 10:35 pm
Asunto: Re: Una mano... por favor...
ingsyscad
Sin conexión Sin conexión
Enviar correo Enviar correo
 
Noo No NO NO...ahora explica el tema de trabajar la impresora con IP....me parece interesante....
salu2
Carlos
como te pregunto Gerardo esto es con Hasar unicamente  o Epson tiene algo parecido?...
 
 
 
 
 
----- Original Message -----
Sent: Wednesday, October 01, 2008 7:14 PM
Subject: RE: [ifclipper] Una mano... por favor...

El asado lo podemos hacer aunque la impresora funcione bien.
Si hacen bien las cosas no van a tener problemas con la impresora.
Estuve todo el fin de semana con una impresora que me prestó un cliente y me cansé de facturar y hacer cierres Z sin ningún problema.
Incluso probé la opción de trabajar la impresora con el protocolo IP y anduvo excelente, pero la explicación la dejo para otra oportunidad.
Para hacer una prueba simple del modo spool basta con cargar el programa spooler.exe con los parámetros que expliqué antes y tirarle en la carpeta que hayan  elegido el archivo FA.330 que lo van a encontrar entre los drivers y utilitarios de Hasar.
Ese archivo es un pequeño lote de comandos par emitir una factura "A" pero revisen los importes unitarios para no meter la pata.
Con facturar $ 0,10 + iva alcanza para probar.
Agradezco lo de los alfajores. En el mail anterior puse mal la dirección: es Vidal 3916.
Respecto del asado... en la bodeguita tengo un Rutini merlot que me mira con cariño.

Saludos...
Ricardo Sassy

At 16:28 01/10/2008, you wrote:

Ricardo : La palabra del programador es palabra santa, ya te aviso cundo salen para alla.
 
PD: Tomalo como una pequeña recompensa espiritual de todos los que dejamos de tomar Migral para el dolor de cabeza originado  por las impresoras fiscales.
OjO , que si cuando lo probamos no funca, caemos todos a comer asado a tu casa  (jajajajajajajajajaja)
 
Un abrazo
Gustavo Gabriele
 
 

De: ifclipper@gruposyahoo.com.ar [mailto:ifclipper@gruposyahoo.com.ar] En nombre de Ricardo Sassy
Enviado el: Miércoles, 01 de Octubre de 2008 03:21 p.m.
Para: ifclipper@gruposyahoo.com.ar
Asunto: RE: [ifclipper] Una mano... por favor...
 

Si hubiera sabido esto lo escribía un poco antes !!!!
Jajajaja...
Es verdad el dicho que dice "la necesidad tiene cara de hereje".
Esto del spool lo descubrí y lo investigué como una alternativa por no poder hacer andar la fucking impresora fiscal desde Harbour.
Si lo de los alfajores es cierto: Vidal 3016 Capital Federal; si no es cierto no importa... jajajaja.

Saludos.
Ricardo Sassy



At 13:43 01/10/2008, you wrote:
Ricardo , una maravilla mañana me pongo a probar.
 
Gustavo Gabriele
PD :  Hay una caja de Alfajores Habanna y una de habanet esperado que digas donde los mando
 


Este mensaje ha sido verificado por el E-mail Protegido. Antivirus actualizado en 01/10/2008 / Versión: 0.93.1/8369


#8094 De: "Gerardo J. Biagiotti" <gjbiagiotti@...>
Fecha: Mié, 1 de Oct, 2008 10:25 pm
Asunto: RE: Una mano... por favor...
gjbiagiotti
Sin conexión Sin conexión
Enviar correo Enviar correo
 

Ricardo, y que les decís a los clientes que tienen impresoras EPSON y te piden trabajar en red con las mismas?????

O tenés algo hecho para que las EPSON trabajen en red?

 

 

Gerardo J. Biagiotti

Analista de Sistemas

 

 



__________ Information from ESET Smart Security, version of virus signature database 3486 (20081001) __________

The message was checked by ESET Smart Security.

http://www.eset.com

#8093 De: Ricardo Sassy <sharley@...>
Fecha: Mié, 1 de Oct, 2008 10:14 pm
Asunto: RE: Una mano... por favor...
re675432
Sin conexión Sin conexión
Enviar correo Enviar correo
 
El asado lo podemos hacer aunque la impresora funcione bien.
Si hacen bien las cosas no van a tener problemas con la impresora.
Estuve todo el fin de semana con una impresora que me prestó un cliente y me cansé de facturar y hacer cierres Z sin ningún problema.
Incluso probé la opción de trabajar la impresora con el protocolo IP y anduvo excelente, pero la explicación la dejo para otra oportunidad.
Para hacer una prueba simple del modo spool basta con cargar el programa spooler.exe con los parámetros que expliqué antes y tirarle en la carpeta que hayan  elegido el archivo FA.330 que lo van a encontrar entre los drivers y utilitarios de Hasar.
Ese archivo es un pequeño lote de comandos par emitir una factura "A" pero revisen los importes unitarios para no meter la pata.
Con facturar $ 0,10 + iva alcanza para probar.
Agradezco lo de los alfajores. En el mail anterior puse mal la dirección: es Vidal 3916.
Respecto del asado... en la bodeguita tengo un Rutini merlot que me mira con cariño.

Saludos...
Ricardo Sassy

At 16:28 01/10/2008, you wrote:
Ricardo : La palabra del programador es palabra santa, ya te aviso cundo salen para alla.
 
PD: Tomalo como una pequeña recompensa espiritual de todos los que dejamos de tomar Migral para el dolor de cabeza originado  por las impresoras fiscales.
OjO , que si cuando lo probamos no funca, caemos todos a comer asado a tu casa  (jajajajajajajajajaja)
 
Un abrazo
Gustavo Gabriele
 
 

De: ifclipper@... [mailto:ifclipper@...] En nombre de Ricardo Sassy
Enviado el: Miércoles, 01 de Octubre de 2008 03:21 p.m.
Para: ifclipper@...
Asunto: RE: [ifclipper] Una mano... por favor...
 

Si hubiera sabido esto lo escribía un poco antes !!!!
Jajajaja...
Es verdad el dicho que dice "la necesidad tiene cara de hereje".
Esto del spool lo descubrí y lo investigué como una alternativa por no poder hacer andar la fucking impresora fiscal desde Harbour.
Si lo de los alfajores es cierto: Vidal 3016 Capital Federal; si no es cierto no importa... jajajaja.

Saludos.
Ricardo Sassy



At 13:43 01/10/2008, you wrote:
Ricardo , una maravilla mañana me pongo a probar.
 
Gustavo Gabriele
PD :  Hay una caja de Alfajores Habanna y una de habanet esperado que digas donde los mando
 


#8092 De: "HQ Sistemas" <hqsi@...>
Fecha: Mié, 1 de Oct, 2008 7:28 pm
Asunto: RE: Una mano... por favor...
hqsistemasmdp
Sin conexión Sin conexión
Enviar correo Enviar correo
 

Ricardo : La palabra del programador es palabra santa, ya te aviso cundo salen para alla.

 

PD: Tomalo como una pequeña recompensa espiritual de todos los que dejamos de tomar Migral para el dolor de cabeza originado  por las impresoras fiscales.

OjO , que si cuando lo probamos no funca, caemos todos a comer asado a tu casa  (jajajajajajajajajaja)

 

Un abrazo

Gustavo Gabriele

 

 


De: ifclipper@... [mailto:ifclipper@...] En nombre de Ricardo Sassy
Enviado el: Miércoles, 01 de Octubre de 2008 03:21 p.m.
Para: ifclipper@...
Asunto: RE: [ifclipper] Una mano... por favor...

 

Si hubiera sabido esto lo escribía un poco antes !!!!
Jajajaja...
Es verdad el dicho que dice "la necesidad tiene cara de hereje".
Esto del spool lo descubrí y lo investigué como una alternativa por no poder hacer andar la fucking impresora fiscal desde Harbour.
Si lo de los alfajores es cierto: Vidal 3016 Capital Federal; si no es cierto no importa... jajajaja.

Saludos.
Ricardo Sassy



At 13:43 01/10/2008, you wrote:

Ricardo , una maravilla mañana me pongo a probar.
 
Gustavo Gabriele
PD :  Hay una caja de Alfajores Habanna y una de habanet esperado que digas donde los mando
 



#8091 De: "Jose Luis Otermin" <otermin@...>
Fecha: Mié, 1 de Oct, 2008 6:24 pm
Asunto: Se Busca Programador
otermin
Sin conexión Sin conexión
Enviar correo Enviar correo
 
Estimados colegas,

Uno de los usuarios de Xbase++ en Capital Federal necesita un programador para migrar sus productos a Xbase++.

Se necesita:
- Dominio de Clipper.
- Uso de la notación húngara (con el tipo de dato delante de la variable).
- Conocimientos de OOP.
- Deseo de aprender cosas nuevas.

No es inmediato.
Su necesidad es para dentro de 30 días.

Saludos

        José Luis Otermin
         Soporte Técnico
         Alaska Software

PS: Para utilizar la dirección de Alaska Sofware por favor remover _AT_ y substituir por @. Gracias

#8090 De: Ricardo Sassy <sharley@...>
Fecha: Mié, 1 de Oct, 2008 6:21 pm
Asunto: RE: Una mano... por favor...
re675432
Sin conexión Sin conexión
Enviar correo Enviar correo
 
Si hubiera sabido esto lo escribía un poco antes !!!!
Jajajaja...
Es verdad el dicho que dice "la necesidad tiene cara de hereje".
Esto del spool lo descubrí y lo investigué como una alternativa por no poder hacer andar la fucking impresora fiscal desde Harbour.
Si lo de los alfajores es cierto: Vidal 3016 Capital Federal; si no es cierto no importa... jajajaja.

Saludos.
Ricardo Sassy



At 13:43 01/10/2008, you wrote:
Ricardo , una maravilla mañana me pongo a probar.
 
Gustavo Gabriele
PD :  Hay una caja de Alfajores Habanna y una de habanet esperado que digas donde los mando
 


#8089 De: "Ingenieria de Sistemas\(NQN\)" <ingenieriadesistemas@...>
Fecha: Mié, 1 de Oct, 2008 5:51 pm
Asunto: Re: Una mano... por favor...
ingsyscad
Sin conexión Sin conexión
Enviar correo Enviar correo
 
A neuquen por via bariloche si queres pago yo el flete...ja ja ja ja ja ja   eso si con factura electronica por favor....
no soy Gustavo pero Carlos no es lo mismo????? ja ja ja ja suena casi parecido
 
 
salu2
Carlos
 
 
 
 
 
----- Original Message -----
Sent: Wednesday, October 01, 2008 1:43 PM
Subject: RE: [ifclipper] Una mano... por favor...

Ricardo , una maravilla mañana me pongo a probar.

Gustavo Gabriele

PD :  Hay una caja de Alfajores Habanna y una de habanet esperado que digas donde los mando


De: ifclipper@gruposyahoo.com.ar [mailto:ifclipper@gruposyahoo.com.ar] En nombre de Ricardo Sassy
Enviado el: Miércoles, 01 de Octubre de 2008 12:02 a.m.
Para: ifclipper@gruposyahoo.com.ar
Asunto: RE: [ifclipper] Una mano... por favor...

Bueno... aqui voy con la explicación del modo spool, aclarando que desde el punto de vista "legal" dicho modo de trabajo sólo se "aceptaría" en aquellos comercios que por su naturaleza está exceptuados de respetar la famosa concomitancia... (¿alguien la respeta?).

El modo "spool" de las impresoras Hasar es un modo de trabajo donde la impresora está todo el tiempo "viendo" lo que le tiran dentro de una carpeta predeterminada y tratando de procesar en forma batch los archivos que se colocan en dicha carpeta.
Si la impresora "encuentra" un archivo interpretable (desde el punto de vista de la impresora o sea con comandos fiscales) lo procesa y devuelve el resultado de ese proceso en otra carpeta predeterminada, con el mismo nombre del archivo de entrada pero con la extensión ".ANS"  (de "answer... ¿vieron?).
En otras palabras, la impresora esta a la espera de que desde nuestro aplicacativo generemos un archivo plano con la secuencia de comandos a ejecutar y le copiemos ese archivo a la carpeta donde "ella" está esperando.

El modo spool se poner en marcha ejecutando el programa WSPOOLER.EXE que es parte de los programas y drivers que se pueden bajar de la página de Hasar.
Este programa abre una sesión de DOS (que luego podemos minimizar) y queda en ejecución permanente hasta que lo cancelemos con CTRL-C.

Vamos a un ejemplo totalmente funcional para comprender los parámetros que necesita este programa:
WSPOOLER -p1 -v57600 -l -n -sC:\FISCAL\ENTRADA -aC:\FISCAL\SALIDA
"-p" es el parámetro donde le indicamos al programa cuál es el puerto COM a abrir para comunicarse con la impreosa.
"-v" es el parámetro donde le indicamos al programa cuál es la velocidad con que operaremos dicho puerto. Esta velocidad debe coincidir con la seteada en la impresora mediante el utilitario Pruf.
"-l" (ojo... ele de lagarto y no i de inútil) sirve para que el programa vaya generando un archivo log que nos puede servir hipotéticamente para detectar errores de comandos o de funcionamiento. Este archivo log se llama -por defecto- "spooler.log" y contiene información muy interesante para ver por qué a veces nos equivocamos en la sintáxis de un comando fiscal o por qué la impresora se niega a ejecutar un comando que creemos que está bien.
Este un ejemplo del contenido (acumulativo) de spooler.log:
30/09-23:04:20: **START SPOOLER**
30/09-23:04:20: A abrir COM1
30/09-23:04:21: Comando completado: *
30/09-23:04:21: Comando completado: *
30/09-23:04:21: Comando completado: D| |0.0|C|0
30/09-23:04:21: Comando completado: E
30/09-23:04:21: Comando completado: J
"-n" sirve para que en el archivo de respuestas que nos devuelve el programa spooler cada linea de respuestas esté encabezada por el comando que le dió origen.
Esto sirve para poder interpretar mejor ese archivo de respuestas y saber qué nos fué "contestando" la impresora por cada comando que le enviamos.
"-s" es el parámetro que sirve para indicarle al programa spooler cuál es la carpeta donde tiene que estar "a la escucha".
Cualquier archivo que "caiga" es esa carpeta será procesado y posteriormente borrado en forma automática por el programa spooler.exe.
"-a" es el parámetro donde le pido al programa spooler que me devuelva los resultados de la impresora fiscal.
Continuando con el ejemplo, si a la carpeta c:\fiscal\entrada le "tiro" un archivo denominado "99XZC208.FIS" (archivo que obviamente contiene una colección de comandos fiscales para -por ejemplo- emitir una factura), la respuesta de la impresora quedará en C:\FISCAL\SALIDA, en un archivo denominado "99XZC208.ANS".

Es responsabilidad de nuestros aplicativos revisar ese archivo de salida para cerciorarnos que la impresión finalizó correctamente y poder recuperar datos que sean necesarios para actualizar nuestras propias bases de datos.
En mi caso, por ejemplo, tomo de ese archivo el nro. de comprobante emitido, el punto de venta y el monto de iva total, para poder actualizar las bases del sistema en corcondancia con lo emitido por la impresora fiscal.

Los comandos que se le envian a la impresora son EXACTAMENTE LOS MISMOS que usamos habitualmente en el modo de trabajo normal.
Para los que hayan tomado el ejemplo de codificación Clipper que ofrece Hasar, cada linea de este archivo es el contenido de la variable "s" de los ejemplos.

Este es un ejemplo de archivo de comandos para emitir una factura "A":

bEmpresa Equis S.A.30702383923ICDomicilio...
@AS
BItem Uno1.01.021.0M0.00b
BItem Dos1.01.010.5M0.00b
CPSubtotal0
DEfectivo100.00T0
E

La primera linea carga los datos del cliente.
La segunda linea abre el comprobante factura "A",
La tercera y cuarta lineas cargan items de venta con distintas tasas de iva.
La quinta linea pide e imprime un subtotal.
La sexta linea es la del pago.
La séptima linea es la del cierre de comprobante.
Si miran con atención verán que el primer caracter es la representación ascii del comando fiscal.
Obviamente lo que aquí se ve como un símbolo raro es la representación del caracter CHR(28) que se utiliza como separador de campos.

Si todo está bien, la impresora nos devolverá un archivo con estas respuestas (siempre en relación el ejemplo de factura "A" de arriba):
b|1100000010000000|0000011000000000
@|1100000010000000|0011011000000000|00000049
B|1100000010000000|0011011000000000
B|1100000010000000|0011011000000000
C|1100000010000000|0011011000000000|2.0000|2.32|0.32|0.00|0.00|0.00
D|1100000010000000|0011011000000000|-97.68
E|1100000010000000|0000011000000000|00000049|1|2369-0800966608
Entonces simplemente hay que leer este archivo plano y en base al primer caracter ir interpretando y rescatando los datos que nos interesan.
Por ejemplo de la linea "E" yo saco el nro. de comprobante otorgado y el nro. de cai y de la linea "C" saco los totales de iva acumulados.
El contenido de cada linea de respuesta es posicionalmente hablando EXACTAMENTE lo que figura en el manual como respuesta a cada comando.
Para facilitar la intepretación de las respuestas, el programa spooler reemplaza el caracter CHR(28) por el caracter "|" (pipe) como separador de campos.

RESUMEN:
1º) Genero un archivo ascii con la colección de comandos necesarios para una tarea determinada (emitir factura "A", pedir un cierre "Z", etc.) y copiarlo a la carpeta de entrada del spooler.
Si se trabaja desde varios puestos de trabajo simultáneos con una única impresora fiscal es conveniente que el nombre del archivo sea en parte relacionado con el puesto de trabajo y en parte al azar.
2º) Esperar alrededor de 20 segundos hasta que la impresora finaliza la impresión y luego leer el archivo de respuestas (mismo nombre que el de entrada pero con extensión ".ANS").
3º) Interpretar el archivo leido y en base a eso interactuar con el aplicativo propio.

VENTAJAS:
1º) Se puede operar la impresora fiscal desde varios puestos de trabajo simultáneamente, con solo tener acceso desde nuestra pc "facturadora" a las carpetas de spool de la pc donde físicamente está conectada la impresora fiscal... que es donde está corriendo el programa spooler.exe.
2º) Nuestro aplicativo se desentiende de abrir y cerrar puertos, setear velocidades y toda la cháchara del hardware. Simplemente le enviamos a la carpeta de spool los comandos a ejecutar.
3º) La operación del aplicactivo es más veloz porque no tiene que esperar la respuesta individual a cada comando sino que lee todo junto, al final y desde un archivo plano.
4º) Como de la parte del hardware se encarga el programa spooler.exe, no importa en qué lenguaje programemos siempre que seamos capaces de generar un archivo plano con los comandos y copiarlo a otra carpeta.
5º) En escenarios de Terminal Server o VPN podemos facturar en las sucursales SIN NINGUN ESFUERZO Y SIN RENEGAR CON EL HARDWARE, usando los programas y archivos que están en el servidor central (esto es maravilloso !!!).

EJEMPLO DE CODIFICACION:
Acá transcibo un ejemplo de cómo abro un loop esperando el archivo de respuestas de la respuesta de la impresora (en forma exclusiva para asegurarme que no falta nada) y luego interpreto ese archivo.


FUNCTION spoolmanager(cTipoDocum)
    IF EMPTY(cSpoolDir) .OR. EMPTY(cAnswerDir)
       ALERT('FALTA DEFINIR CARPETAS SPOOL FISCAL')
       RETURN(.F.)
    ENDIF
    COPY FILE (cArchSpool) TO (cSpoolDir+cFileSPool)
    PONER_MJE(24,"Recuperando Datos Finales... Espere un momento." )
    INKEY(10)
    ********** ACA LEER RESULTADOS Y ASIGNAR nTic
    cArchAnswer := ALLTRIM(cAnswerDir+cFileAnswer)
    nCantLineas := 0
    nIntentos   := 20
    nTic        := 0
    DO WHILE nIntentos > 0
       IF FILE(cArchAnswer)
          DO WHILE FT_FUSE(cArchAnswer,16)<1
          ENDDO
          FT_FGOTOP()
          DO WHILE !FT_FEOF()
             ++nCantLineas
             AADD(aLineasLeidas,FT_FREADLN())
             FT_FSKIP()
          ENDDO
          FT_FUSE()
          FOR I=1 TO nCantLineas
              DO CASE
                 CASE cTipoDocum=='FACTURA'
                      IF LEFT(aLineasLeidas[I],1)='E'
                         nTic  := VAL(SUBST(aLineasLeidas[I],37,8))           //LINEA DE CIERRE DE COMPROBANTE (comando 'E')
                         cCai1 := (SUBST(aLineasLeidas[I],48,15))           //LINEA DE CIERRE DE COMPROBANTE (comando 'E')
                      ENDIF
                      IF LEFT(aLineasLeidas[I],1)='C'
                         nTotalZZ := VAL(TOMAMEDIO(aLineasLeidas[I],'|',4))    //LINEA DE SUBTOTAL              (comando 'C')
                         nIvaZZ   := VAL(TOMAMEDIO(aLineasLeidas[I],'|',5))    //LINEA DE SUBTOTAL              (comando 'C')
                      ENDIF
                 CASE cTipoDocum=='CREDITO'
                      IF LEFT(aLineasLeidas[I],1)=''
                         nTic  := VAL(SUBST(aLineasLeidas[I],37,8))           //LINEA DE CIERRE DE COMPROBANTE (comando 'E')
                         cCai1 := (SUBST(aLineasLeidas[I],48,15))           //LINEA DE CIERRE DE COMPROBANTE (comando 'E')
                      ENDIF
                      IF LEFT(aLineasLeidas[I],1)='p'
                         nIvaZZ   += VAL(TOMAMEDIO(aLineasLeidas[I],'|',5))    //LINEA DE SUBTOTAL
                         nTotalZZ += VAL(TOMAMEDIO(aLineasLeidas[I],'|',8))    //LINEA DE SUBTOTAL
                      ENDIF
                      IF LEFT(aLineasLeidas[I],1)='q'
                         nIvaZZ   += VAL(TOMAMEDIO(aLineasLeidas[I],'|',5))    //LINEA DE SUBTOTAL
                      ENDIF
              ENDCASE
          NEXT
          FERASE(cArchAnswer)
          FERASE(cArchSpool)
          EXIT
       ENDIF
       INKEY(.5)
       nIntentos := nIntentos - 1
       IF nIntentos = 0
          IF ALERT('ESPERANDO RESPUESTA IMPRESORA FISCAL...;¨CONTINUA?',{'SI','NO'}) < 2
             nIntentos := 10
          ENDIF
       ENDIF
    ENDDO
RETURN(.T.)


Espero haber sido claro.

Saludos...
Ricardo Sassy



8 29/09/2008, you wrote:

Ricardo : Si no es mucha molestia, me anoto para tu explicación y desde ya muchas gracias
 
Gustavo Gabriele
 


De: ifclipper@gruposyahoo.com.ar [mailto:ifclipper@gruposyahoo.com.ar] En nombre de Ricardo Sassy
Enviado el: Lunes, 29 de Septiembre de 2008 10:04 p.m.
Para: ifclipper@gruposyahoo.com.ar
Asunto: RE: [ifclipper] Una mano... por favor...
 

Si alguien necesita una explicación del modo spool me avisan.
Es muy fácil y hay que desentenderse de la apertura del puerto y todo eso.
Solamente enviar los comandos relacionados con el documento a imprimir o la consulta que se le quiera efectuar a la impresora.

Saludos...
Ricardo Sassy


At 19:26 29/09/2008, you wrote:

Mario : , alli Ricardo tiro una pista para utilizar la impresora en modo spooll del c2w, Igualmente muchas gracias
 
Gustavo
 


De: ifclipper@gruposyahoo.com.ar [mailto:ifclipper@gruposyahoo.com.ar] En nombre de mariomansilla@arnet.com.ar
Enviado el: Lunes, 29 de Septiembre de 2008 05:36 p.m.
Para: ifclipper@gruposyahoo.com.ar
Asunto: RE: [ifclipper] Una mano... por favor...
 

Hola Gustavo :
                          El ejemplo esta hecho para Hmg oficial , si te es util lo mismo te lo envio .
Saludos .
Mario Mansilla


> Mario : Disculpa la intromison en el tema, es que tengo el mismo problema.
> Tengo dearrollado un modulo de facturación en clipper52 funcionando
> correctamente y debi migrar el sistema , para lo cual utilice la
> herramienta
> de Ciro C2W, pero no puedo hacer funcionar la impresora. Me fui guiando
> con las instrucciones bajas de Hasar pero no hay caso.
> Podrias mandar un ejemplo , desde ya muchas gracias
>
> Gustavo Gabriele
>
> _____
>
>
De: ifclipper@gruposyahoo.com.ar [mailto:ifclipper@gruposyahoo.com.ar] En
> nombre de mariomansilla@arnet.com.ar
> Enviado el: Lunes, 29 de Septiembre de 2008 01:32 p.m.
> Para: ifclipper@gruposyahoo.com.ar
> Asunto: Re: [ifclipper] Una mano... por favor...
>
> Hola Ricardo :
> Disculpas recien hoy veo tu mensaje , yo pude
> hacer funcionar las impresoras fiscales hasar con la winfis32.dll y las
> epson con las ocx de epson , pero con HMG oficial .
> Aun no he tenido tiempo de probar las ocx de hasar .
> Cualquier cosa avisame .
> Saludos .
> Mario Mansilla
>
>
>
>
>> Hola Eduardo.
>> Te agradezco la info.
>> Estoy usando ooHg + Harbour 1.0.
>> El problema que acabo de descubrir es que no puedo acceder a ninguna
>> dll.
>> Probé un ejemplo básico con una dll que tiene funciones que te devuelven
>> el
>> nro. de serie del disco y tampoco funciona.
>> EL programa ejecuta sin errores pero alga pasa que no anda.
>> Inclusive si le cambio el nombre a la dll tampo saltan errores asi que
>> tiene que ser algo muy elemental.
>>
>>
>
Desde ya gracias...
>> ¿Alquien probó acceder a la impresora usando los controles ocx?.
>>
>> Saludos...
>> Ricardo Sassy
>>
>> At 18:58 27/09/2008, you wrote:
>>>Ricardo
>>>
>>>En puertosur estamos armando una clase fiscal para xHarbour consola.
>>>No tengo idea si va a funcionar con Harbour.
>>>Solo te puedo decir q ayer la hice andar pero con xHarbour 1.00
>>> compilacion de
>>>PuertoSur.
>>>Otra version no me funciono. No tengo ni idea de como es el estado de
>>> Harbour
>>>y la compativilidad.
>>>
>>>Direcciones de correo electrónico del grupo
>>>
>>> Enlace relacionado: http://www.puertosur.org
>>> Enviar mensaje: PuertoSur@gruposyahoo.com.ar
>>> Suscribirse: PuertoSur-subscribe@gruposyahoo.com.ar
>>> Cancelar suscripción: PuertoSur-unsubscribe@gruposyahoo.com.ar
>>> Propietario: PuertoSur-owner@gruposyahoo.com.ar
>>>
>>>On Sat, 27 Sep 2008 18:01:01 -0300, Ricardo Sassy wrote
>>> > Hola Juan Carlos
>>> > Uso Harbour 1.0 en modo consola.
>>> > No tengo ningún warning ni nada raro en la compilación.
>>> > El exe se genera normalmente y su ejecución no produce erorres de
>>> ningún tipo.
>>> > Incluso intenté algo tan básico como esto:
>>> > cInfo := CallDll ( "VersionDLLFiscal" , "WINFIS32.DLL" )
>>> > alert(cInfo)
>>> > y devuelve un string vacio.
>>> >
>>> > Evidentemente me falta hacer algo que desconozco.
>>> > Por las dudas... ¿que fecha y tamaño tiene la winfis32.dll que estás
>>> usando?.
>>> > Estoy usando una del 01/12/2005 de 61440 bytes.
>>> > ¿Será que tengo una dll equivocada?.
>>> >
>>> > Saludos y gracias...
>>> > Ricardo Sassy
>>> >
>>> > At 14:13 27/09/2008, you wrote:
>>> >
>>>--
>>> Eduardo Rizzolo
>>> Eldorado, Misiones Argentina
>>> INF 0023
>>> Correo principal y Msn Hotmail:fullpaint@pinturas-misioneras.com.ar
>>> skype:fullpaint1
>>> ICQ:39280741
>>> www.creacionistas.com -> Que lindo cuentito nos contaron!!
>>> www.puertosur.org
>>>
>>>
>>>------------------------------------
>>>
>>>Enlaces a Yahoo! Grupos
>>>
>>>
>>>
>>>
>>
>>
>
>


Este mensaje ha sido verificado por el E-mail Protegido. Antivirus actualizado en 01/10/2008 / Versión: 0.93.1/8366


#8088 De: "HQ Sistemas" <hqsi@...>
Fecha: Mié, 1 de Oct, 2008 4:43 pm
Asunto: RE: Una mano... por favor...
hqsistemasmdp
Sin conexión Sin conexión
Enviar correo Enviar correo
 

Ricardo , una maravilla mañana me pongo a probar.

 

Gustavo Gabriele

PD :  Hay una caja de Alfajores Habanna y una de habanet esperado que digas donde los mando

 


De: ifclipper@... [mailto:ifclipper@...] En nombre de Ricardo Sassy
Enviado el: Miércoles, 01 de Octubre de 2008 12:02 a.m.
Para: ifclipper@...
Asunto: RE: [ifclipper] Una mano... por favor...

 

Bueno... aqui voy con la explicación del modo spool, aclarando que desde el punto de vista "legal" dicho modo de trabajo sólo se "aceptaría" en aquellos comercios que por su naturaleza está exceptuados de respetar la famosa concomitancia... (¿alguien la respeta?).

El modo "spool" de las impresoras Hasar es un modo de trabajo donde la impresora está todo el tiempo "viendo" lo que le tiran dentro de una carpeta predeterminada y tratando de procesar en forma batch los archivos que se colocan en dicha carpeta.
Si la impresora "encuentra" un archivo interpretable (desde el punto de vista de la impresora o sea con comandos fiscales) lo procesa y devuelve el resultado de ese proceso en otra carpeta predeterminada, con el mismo nombre del archivo de entrada pero con la extensión ".ANS"  (de "answer... ¿vieron?).
En otras palabras, la impresora esta a la espera de que desde nuestro aplicacativo generemos un archivo plano con la secuencia de comandos a ejecutar y le copiemos ese archivo a la carpeta donde "ella" está esperando.

El modo spool se poner en marcha ejecutando el programa WSPOOLER.EXE que es parte de los programas y drivers que se pueden bajar de la página de Hasar.
Este programa abre una sesión de DOS (que luego podemos minimizar) y queda en ejecución permanente hasta que lo cancelemos con CTRL-C.

Vamos a un ejemplo totalmente funcional para comprender los parámetros que necesita este programa:
WSPOOLER -p1 -v57600 -l -n -sC:\FISCAL\ENTRADA -aC:\FISCAL\SALIDA
"-p" es el parámetro donde le indicamos al programa cuál es el puerto COM a abrir para comunicarse con la impreosa.
"-v" es el parámetro donde le indicamos al programa cuál es la velocidad con que operaremos dicho puerto. Esta velocidad debe coincidir con la seteada en la impresora mediante el utilitario Pruf.
"-l" (ojo... ele de lagarto y no i de inútil) sirve para que el programa vaya generando un archivo log que nos puede servir hipotéticamente para detectar errores de comandos o de funcionamiento. Este archivo log se llama -por defecto- "spooler.log" y contiene información muy interesante para ver por qué a veces nos equivocamos en la sintáxis de un comando fiscal o por qué la impresora se niega a ejecutar un comando que creemos que está bien.
Este un ejemplo del contenido (acumulativo) de spooler.log:
30/09-23:04:20: **START SPOOLER**
30/09-23:04:20: A abrir COM1
30/09-23:04:21: Comando completado: *
30/09-23:04:21: Comando completado: *
30/09-23:04:21: Comando completado: D| |0.0|C|0
30/09-23:04:21: Comando completado: E
30/09-23:04:21: Comando completado: J
"-n" sirve para que en el archivo de respuestas que nos devuelve el programa spooler cada linea de respuestas esté encabezada por el comando que le dió origen.
Esto sirve para poder interpretar mejor ese archivo de respuestas y saber qué nos fué "contestando" la impresora por cada comando que le enviamos.
"-s" es el parámetro que sirve para indicarle al programa spooler cuál es la carpeta donde tiene que estar "a la escucha".
Cualquier archivo que "caiga" es esa carpeta será procesado y posteriormente borrado en forma automática por el programa spooler.exe.
"-a" es el parámetro donde le pido al programa spooler que me devuelva los resultados de la impresora fiscal.
Continuando con el ejemplo, si a la carpeta c:\fiscal\entrada le "tiro" un archivo denominado "99XZC208.FIS" (archivo que obviamente contiene una colección de comandos fiscales para -por ejemplo- emitir una factura), la respuesta de la impresora quedará en C:\FISCAL\SALIDA, en un archivo denominado "99XZC208.ANS".

Es responsabilidad de nuestros aplicativos revisar ese archivo de salida para cerciorarnos que la impresión finalizó correctamente y poder recuperar datos que sean necesarios para actualizar nuestras propias bases de datos.
En mi caso, por ejemplo, tomo de ese archivo el nro. de comprobante emitido, el punto de venta y el monto de iva total, para poder actualizar las bases del sistema en corcondancia con lo emitido por la impresora fiscal.

Los comandos que se le envian a la impresora son EXACTAMENTE LOS MISMOS que usamos habitualmente en el modo de trabajo normal.
Para los que hayan tomado el ejemplo de codificación Clipper que ofrece Hasar, cada linea de este archivo es el contenido de la variable "s" de los ejemplos.

Este es un ejemplo de archivo de comandos para emitir una factura "A":

bEmpresa Equis S.A.30702383923ICDomicilio...
@AS
BItem Uno1.01.021.0M0.00b
BItem Dos1.01.010.5M0.00b
CPSubtotal0
DEfectivo100.00T0
E

La primera linea carga los datos del cliente.
La segunda linea abre el comprobante factura "A",
La tercera y cuarta lineas cargan items de venta con distintas tasas de iva.
La quinta linea pide e imprime un subtotal.
La sexta linea es la del pago.
La séptima linea es la del cierre de comprobante.
Si miran con atención verán que el primer caracter es la representación ascii del comando fiscal.
Obviamente lo que aquí se ve como un símbolo raro es la representación del caracter CHR(28) que se utiliza como separador de campos.

Si todo está bien, la impresora nos devolverá un archivo con estas respuestas (siempre en relación el ejemplo de factura "A" de arriba):
b|1100000010000000|0000011000000000
@|1100000010000000|0011011000000000|00000049
B|1100000010000000|0011011000000000
B|1100000010000000|0011011000000000
C|1100000010000000|0011011000000000|2.0000|2.32|0.32|0.00|0.00|0.00
D|1100000010000000|0011011000000000|-97.68
E|1100000010000000|0000011000000000|00000049|1|2369-0800966608
Entonces simplemente hay que leer este archivo plano y en base al primer caracter ir interpretando y rescatando los datos que nos interesan.
Por ejemplo de la linea "E" yo saco el nro. de comprobante otorgado y el nro. de cai y de la linea "C" saco los totales de iva acumulados.
El contenido de cada linea de respuesta es posicionalmente hablando EXACTAMENTE lo que figura en el manual como respuesta a cada comando.
Para facilitar la intepretación de las respuestas, el programa spooler reemplaza el caracter CHR(28) por el caracter "|" (pipe) como separador de campos.

RESUMEN:
1º) Genero un archivo ascii con la colección de comandos necesarios para una tarea determinada (emitir factura "A", pedir un cierre "Z", etc.) y copiarlo a la carpeta de entrada del spooler.
Si se trabaja desde varios puestos de trabajo simultáneos con una única impresora fiscal es conveniente que el nombre del archivo sea en parte relacionado con el puesto de trabajo y en parte al azar.
2º) Esperar alrededor de 20 segundos hasta que la impresora finaliza la impresión y luego leer el archivo de respuestas (mismo nombre que el de entrada pero con extensión ".ANS").
3º) Interpretar el archivo leido y en base a eso interactuar con el aplicativo propio.

VENTAJAS:
1º) Se puede operar la impresora fiscal desde varios puestos de trabajo simultáneamente, con solo tener acceso desde nuestra pc "facturadora" a las carpetas de spool de la pc donde físicamente está conectada la impresora fiscal... que es donde está corriendo el programa spooler.exe.
2º) Nuestro aplicativo se desentiende de abrir y cerrar puertos, setear velocidades y toda la cháchara del hardware. Simplemente le enviamos a la carpeta de spool los comandos a ejecutar.
3º) La operación del aplicactivo es más veloz porque no tiene que esperar la respuesta individual a cada comando sino que lee todo junto, al final y desde un archivo plano.
4º) Como de la parte del hardware se encarga el programa spooler.exe, no importa en qué lenguaje programemos siempre que seamos capaces de generar un archivo plano con los comandos y copiarlo a otra carpeta.
5º) En escenarios de Terminal Server o VPN podemos facturar en las sucursales SIN NINGUN ESFUERZO Y SIN RENEGAR CON EL HARDWARE, usando los programas y archivos que están en el servidor central (esto es maravilloso !!!).

EJEMPLO DE CODIFICACION:
Acá transcibo un ejemplo de cómo abro un loop esperando el archivo de respuestas de la respuesta de la impresora (en forma exclusiva para asegurarme que no falta nada) y luego interpreto ese archivo.


FUNCTION spoolmanager(cTipoDocum)
    IF EMPTY(cSpoolDir) .OR. EMPTY(cAnswerDir)
       ALERT('FALTA DEFINIR CARPETAS SPOOL FISCAL')
       RETURN(.F.)
    ENDIF
    COPY FILE (cArchSpool) TO (cSpoolDir+cFileSPool)
    PONER_MJE(24,"Recuperando Datos Finales... Espere un momento." )
    INKEY(10)
    ********** ACA LEER RESULTADOS Y ASIGNAR nTic
    cArchAnswer := ALLTRIM(cAnswerDir+cFileAnswer)
    nCantLineas := 0
    nIntentos   := 20
    nTic        := 0
    DO WHILE nIntentos > 0
       IF FILE(cArchAnswer)
          DO WHILE FT_FUSE(cArchAnswer,16)<1
          ENDDO
          FT_FGOTOP()
          DO WHILE !FT_FEOF()
             ++nCantLineas
             AADD(aLineasLeidas,FT_FREADLN())
             FT_FSKIP()
          ENDDO
          FT_FUSE()
          FOR I=1 TO nCantLineas
              DO CASE
                 CASE cTipoDocum=='FACTURA'
                      IF LEFT(aLineasLeidas[I],1)='E'
                         nTic  := VAL(SUBST(aLineasLeidas[I],37,8))           //LINEA DE CIERRE DE COMPROBANTE (comando 'E')
                         cCai1 := (SUBST(aLineasLeidas[I],48,15))           //LINEA DE CIERRE DE COMPROBANTE (comando 'E')
                      ENDIF
                      IF LEFT(aLineasLeidas[I],1)='C'
                         nTotalZZ := VAL(TOMAMEDIO(aLineasLeidas[I],'|',4))    //LINEA DE SUBTOTAL              (comando 'C')
                         nIvaZZ   := VAL(TOMAMEDIO(aLineasLeidas[I],'|',5))    //LINEA DE SUBTOTAL              (comando 'C')
                      ENDIF
                 CASE cTipoDocum=='CREDITO'
                      IF LEFT(aLineasLeidas[I],1)=''
                         nTic  := VAL(SUBST(aLineasLeidas[I],37,8))           //LINEA DE CIERRE DE COMPROBANTE (comando 'E')
                         cCai1 := (SUBST(aLineasLeidas[I],48,15))           //LINEA DE CIERRE DE COMPROBANTE (comando 'E')
                      ENDIF
                      IF LEFT(aLineasLeidas[I],1)='p'
                         nIvaZZ   += VAL(TOMAMEDIO(aLineasLeidas[I],'|',5))    //LINEA DE SUBTOTAL
                         nTotalZZ += VAL(TOMAMEDIO(aLineasLeidas[I],'|',8))    //LINEA DE SUBTOTAL
                      ENDIF
                      IF LEFT(aLineasLeidas[I],1)='q'
                         nIvaZZ   += VAL(TOMAMEDIO(aLineasLeidas[I],'|',5))    //LINEA DE SUBTOTAL
                      ENDIF
              ENDCASE
          NEXT
          FERASE(cArchAnswer)
          FERASE(cArchSpool)
          EXIT
       ENDIF
       INKEY(.5)
       nIntentos := nIntentos - 1
       IF nIntentos = 0
          IF ALERT('ESPERANDO RESPUESTA IMPRESORA FISCAL...;¨CONTINUA?',{'SI','NO'}) < 2
             nIntentos := 10
          ENDIF
       ENDIF
    ENDDO
RETURN(.T.)


Espero haber sido claro.

Saludos...
Ricardo Sassy



8 29/09/2008, you wrote:

Ricardo : Si no es mucha molestia, me anoto para tu explicación y desde ya muchas gracias
 
Gustavo Gabriele
 


De: ifclipper@gruposyahoo.com.ar [mailto:ifclipper@gruposyahoo.com.ar] En nombre de Ricardo Sassy
Enviado el: Lunes, 29 de Septiembre de 2008 10:04 p.m.
Para: ifclipper@gruposyahoo.com.ar
Asunto: RE: [ifclipper] Una mano... por favor...
 

Si alguien necesita una explicación del modo spool me avisan.
Es muy fácil y hay que desentenderse de la apertura del puerto y todo eso.
Solamente enviar los comandos relacionados con el documento a imprimir o la consulta que se le quiera efectuar a la impresora.

Saludos...
Ricardo Sassy


At 19:26 29/09/2008, you wrote:

Mario : , alli Ricardo tiro una pista para utilizar la impresora en modo spooll del c2w, Igualmente muchas gracias
 
Gustavo
 


De: ifclipper@gruposyahoo.com.ar [mailto:ifclipper@gruposyahoo.com.ar] En nombre de mariomansilla@arnet.com.ar
Enviado el: Lunes, 29 de Septiembre de 2008 05:36 p.m.
Para: ifclipper@gruposyahoo.com.ar
Asunto: RE: [ifclipper] Una mano... por favor...
 

Hola Gustavo :
                          El ejemplo esta hecho para Hmg oficial , si te es util lo mismo te lo envio .
Saludos .
Mario Mansilla


> Mario : Disculpa la intromison en el tema, es que tengo el mismo problema.
> Tengo dearrollado un modulo de facturación en clipper52 funcionando
> correctamente y debi migrar el sistema , para lo cual utilice la
> herramienta
> de Ciro C2W, pero no puedo hacer funcionar la impresora. Me fui guiando
> con las instrucciones bajas de Hasar pero no hay caso.
> Podrias mandar un ejemplo , desde ya muchas gracias
>
> Gustavo Gabriele
>
> _____
>
>
De: ifclipper@gruposyahoo.com.ar [mailto:ifclipper@gruposyahoo.com.ar] En
> nombre de mariomansilla@arnet.com.ar
> Enviado el: Lunes, 29 de Septiembre de 2008 01:32 p.m.
> Para: ifclipper@gruposyahoo.com.ar
> Asunto: Re: [ifclipper] Una mano... por favor...
>
> Hola Ricardo :
> Disculpas recien hoy veo tu mensaje , yo pude
> hacer funcionar las impresoras fiscales hasar con la winfis32.dll y las
> epson con las ocx de epson , pero con HMG oficial .
> Aun no he tenido tiempo de probar las ocx de hasar .
> Cualquier cosa avisame .
> Saludos .
> Mario Mansilla
>
>
>
>
>> Hola Eduardo.
>> Te agradezco la info.
>> Estoy usando ooHg + Harbour 1.0.
>> El problema que acabo de descubrir es que no puedo acceder a ninguna
>> dll.
>> Probé un ejemplo básico con una dll que tiene funciones que te devuelven
>> el
>> nro. de serie del disco y tampoco funciona.
>> EL programa ejecuta sin errores pero alga pasa que no anda.
>> Inclusive si le cambio el nombre a la dll tampo saltan errores asi que
>> tiene que ser algo muy elemental.
>>
>>
>
Desde ya gracias...
>> ¿Alquien probó acceder a la impresora usando los controles ocx?.
>>
>> Saludos...
>> Ricardo Sassy
>>
>> At 18:58 27/09/2008, you wrote:
>>>Ricardo
>>>
>>>En puertosur estamos armando una clase fiscal para xHarbour consola.
>>>No tengo idea si va a funcionar con Harbour.
>>>Solo te puedo decir q ayer la hice andar pero con xHarbour 1.00
>>> compilacion de
>>>PuertoSur.
>>>Otra version no me funciono. No tengo ni idea de como es el estado de
>>> Harbour
>>>y la compativilidad.
>>>
>>>Direcciones de correo electrónico del grupo
>>>
>>> Enlace relacionado: http://www.puertosur.org
>>> Enviar mensaje: PuertoSur@gruposyahoo.com.ar
>>> Suscribirse: PuertoSur-subscribe@gruposyahoo.com.ar
>>> Cancelar suscripción: PuertoSur-unsubscribe@gruposyahoo.com.ar
>>> Propietario: PuertoSur-owner@gruposyahoo.com.ar
>>>
>>>On Sat, 27 Sep 2008 18:01:01 -0300, Ricardo Sassy wrote
>>> > Hola Juan Carlos
>>> > Uso Harbour 1.0 en modo consola.
>>> > No tengo ningún warning ni nada raro en la compilación.
>>> > El exe se genera normalmente y su ejecución no produce erorres de
>>> ningún tipo.
>>> > Incluso intenté algo tan básico como esto:
>>> > cInfo := CallDll ( "VersionDLLFiscal" , "WINFIS32.DLL" )
>>> > alert(cInfo)
>>> > y devuelve un string vacio.
>>> >
>>> > Evidentemente me falta hacer algo que desconozco.
>>> > Por las dudas... ¿que fecha y tamaño tiene la winfis32.dll que estás
>>> usando?.
>>> > Estoy usando una del 01/12/2005 de 61440 bytes.
>>> > ¿Será que tengo una dll equivocada?.
>>> >
>>> > Saludos y gracias...
>>> > Ricardo Sassy
>>> >
>>> > At 14:13 27/09/2008, you wrote:
>>> >
>>>--
>>> Eduardo Rizzolo
>>> Eldorado, Misiones Argentina
>>> INF 0023
>>> Correo principal y Msn Hotmail:fullpaint@pinturas-misioneras.com.ar
>>> skype:fullpaint1
>>> ICQ:39280741
>>> www.creacionistas.com -> Que lindo cuentito nos contaron!!
>>> www.puertosur.org
>>>
>>>
>>>------------------------------------
>>>
>>>Enlaces a Yahoo! Grupos
>>>
>>>
>>>
>>>
>>
>>
>
>


#8087 De: Fernando Chirico <fernandochirico@...>
Fecha: Mié, 1 de Oct, 2008 2:16 pm
Asunto: RE: Una mano... por favor...
fernandochirico
Sin conexión Sin conexión
Enviar correo Enviar correo
 
Gracias Ricardo!!!

Simplemente Genial !!!

Saludos, Fernando Chirico.

--- Ricardo Sassy <sharley@...> escribió:


---------------------------------

Bueno... aqui voy con la explicación del modo spool,
aclarando que desdeel punto de vista "legal" dicho
modo de trabajo sólo se"aceptaría" en aquellos
comercios que por su naturaleza estáexceptuados de
respetar la famosa concomitancia... (¿alguien
larespeta?).



      
________________________________________________________________________________\
____
¡Buscá desde tu celular!

Yahoo! oneSEARCH ahora está en Claro

http://ar.mobile.yahoo.com/onesearch

#8086 De: "Ingenieria de Sistemas\(NQN\)" <ingenieriadesistemas@...>
Fecha: Mié, 1 de Oct, 2008 12:04 pm
Asunto: Re: Una mano... por favor...
ingsyscad
Sin conexión Sin conexión
Enviar correo Enviar correo
 
Mmmaaaarrrrrr  avilloso lo suyo...
salu2
Carlos
 
 
 
----- Original Message -----
Sent: Wednesday, October 01, 2008 12:01 AM
Subject: RE: [ifclipper] Una mano... por favor...

Bueno... aqui voy con la explicación del modo spool, aclarando que desde el punto de vista "legal" dicho modo de trabajo sólo se "aceptaría" en aquellos comercios que por su naturaleza está exceptuados de respetar la famosa concomitancia... (¿alguien la respeta?).

El modo "spool" de las impresoras Hasar es un modo de trabajo donde la impresora está todo el tiempo "viendo" lo que le tiran dentro de una carpeta predeterminada y tratando de procesar en forma batch los archivos que se colocan en dicha carpeta.
Si la impresora "encuentra" un archivo interpretable (desde el punto de vista de la impresora o sea con comandos fiscales) lo procesa y devuelve el resultado de ese proceso en otra carpeta predeterminada, con el mismo nombre del archivo de entrada pero con la extensión ".ANS"  (de "answer... ¿vieron?).
En otras palabras, la impresora esta a la espera de que desde nuestro aplicacativo generemos un archivo plano con la secuencia de comandos a ejecutar y le copiemos ese archivo a la carpeta donde "ella" está esperando.

El modo spool se poner en marcha ejecutando el programa WSPOOLER.EXE que es parte de los programas y drivers que se pueden bajar de la página de Hasar.
Este programa abre una sesión de DOS (que luego podemos minimizar) y queda en ejecución permanente hasta que lo cancelemos con CTRL-C.

Vamos a un ejemplo totalmente funcional para comprender los parámetros que necesita este programa:
WSPOOLER -p1 -v57600 -l -n -sC:\FISCAL\ENTRADA -aC:\FISCAL\SALIDA
"-p" es el parámetro donde le indicamos al programa cuál es el puerto COM a abrir para comunicarse con la impreosa.
"-v" es el parámetro donde le indicamos al programa cuál es la velocidad con que operaremos dicho puerto. Esta velocidad debe coincidir con la seteada en la impresora mediante el utilitario Pruf.
"-l" (ojo... ele de lagarto y no i de inútil) sirve para que el programa vaya generando un archivo log que nos puede servir hipotéticamente para detectar errores de comandos o de funcionamiento. Este archivo log se llama -por defecto- "spooler.log" y contiene información muy interesante para ver por qué a veces nos equivocamos en la sintáxis de un comando fiscal o por qué la impresora se niega a ejecutar un comando que creemos que está bien.
Este un ejemplo del contenido (acumulativo) de spooler.log:
30/09-23:04:20: **START SPOOLER**
30/09-23:04:20: A abrir COM1
30/09-23:04:21: Comando completado: *
30/09-23:04:21: Comando completado: *
30/09-23:04:21: Comando completado: D| |0.0|C|0
30/09-23:04:21: Comando completado: E
30/09-23:04:21: Comando completado: J
"-n" sirve para que en el archivo de respuestas que nos devuelve el programa spooler cada linea de respuestas esté encabezada por el comando que le dió origen.
Esto sirve para poder interpretar mejor ese archivo de respuestas y saber qué nos fué "contestando" la impresora por cada comando que le enviamos.
"-s" es el parámetro que sirve para indicarle al programa spooler cuál es la carpeta donde tiene que estar "a la escucha".
Cualquier archivo que "caiga" es esa carpeta será procesado y posteriormente borrado en forma automática por el programa spooler.exe.
"-a" es el parámetro donde le pido al programa spooler que me devuelva los resultados de la impresora fiscal.
Continuando con el ejemplo, si a la carpeta c:\fiscal\entrada le "tiro" un archivo denominado "99XZC208.FIS" (archivo que obviamente contiene una colección de comandos fiscales para -por ejemplo- emitir una factura), la respuesta de la impresora quedará en C:\FISCAL\SALIDA, en un archivo denominado "99XZC208.ANS".

Es responsabilidad de nuestros aplicativos revisar ese archivo de salida para cerciorarnos que la impresión finalizó correctamente y poder recuperar datos que sean necesarios para actualizar nuestras propias bases de datos.
En mi caso, por ejemplo, tomo de ese archivo el nro. de comprobante emitido, el punto de venta y el monto de iva total, para poder actualizar las bases del sistema en corcondancia con lo emitido por la impresora fiscal.

Los comandos que se le envian a la impresora son EXACTAMENTE LOS MISMOS que usamos habitualmente en el modo de trabajo normal.
Para los que hayan tomado el ejemplo de codificación Clipper que ofrece Hasar, cada linea de este archivo es el contenido de la variable "s" de los ejemplos.

Este es un ejemplo de archivo de comandos para emitir una factura "A":

bEmpresa Equis S.A.30702383923ICDomicilio...
@AS
BItem Uno1.01.021.0M0.00b
BItem Dos1.01.010.5M0.00b
CPSubtotal0
DEfectivo100.00T0
E

La primera linea carga los datos del cliente.
La segunda linea abre el comprobante factura "A",
La tercera y cuarta lineas cargan items de venta con distintas tasas de iva.
La quinta linea pide e imprime un subtotal.
La sexta linea es la del pago.
La séptima linea es la del cierre de comprobante.
Si miran con atención verán que el primer caracter es la representación ascii del comando fiscal.
Obviamente lo que aquí se ve como un símbolo raro es la representación del caracter CHR(28) que se utiliza como separador de campos.

Si todo está bien, la impresora nos devolverá un archivo con estas respuestas (siempre en relación el ejemplo de factura "A" de arriba):
b|1100000010000000|0000011000000000
@|1100000010000000|0011011000000000|00000049
B|1100000010000000|0011011000000000
B|1100000010000000|0011011000000000
C|1100000010000000|0011011000000000|2.0000|2.32|0.32|0.00|0.00|0.00
D|1100000010000000|0011011000000000|-97.68
E|1100000010000000|0000011000000000|00000049|1|2369-0800966608
Entonces simplemente hay que leer este archivo plano y en base al primer caracter ir interpretando y rescatando los datos que nos interesan.
Por ejemplo de la linea "E" yo saco el nro. de comprobante otorgado y el nro. de cai y de la linea "C" saco los totales de iva acumulados.
El contenido de cada linea de respuesta es posicionalmente hablando EXACTAMENTE lo que figura en el manual como respuesta a cada comando.
Para facilitar la intepretación de las respuestas, el programa spooler reemplaza el caracter CHR(28) por el caracter "|" (pipe) como separador de campos.

RESUMEN:
1º) Genero un archivo ascii con la colección de comandos necesarios para una tarea determinada (emitir factura "A", pedir un cierre "Z", etc.) y copiarlo a la carpeta de entrada del spooler.
Si se trabaja desde varios puestos de trabajo simultáneos con una única impresora fiscal es conveniente que el nombre del archivo sea en parte relacionado con el puesto de trabajo y en parte al azar.
2º) Esperar alrededor de 20 segundos hasta que la impresora finaliza la impresión y luego leer el archivo de respuestas (mismo nombre que el de entrada pero con extensión ".ANS").
3º) Interpretar el archivo leido y en base a eso interactuar con el aplicativo propio.

VENTAJAS:
1º) Se puede operar la impresora fiscal desde varios puestos de trabajo simultáneamente, con solo tener acceso desde nuestra pc "facturadora" a las carpetas de spool de la pc donde físicamente está conectada la impresora fiscal... que es donde está corriendo el programa spooler.exe.
2º) Nuestro aplicativo se desentiende de abrir y cerrar puertos, setear velocidades y toda la cháchara del hardware. Simplemente le enviamos a la carpeta de spool los comandos a ejecutar.
3º) La operación del aplicactivo es más veloz porque no tiene que esperar la respuesta individual a cada comando sino que lee todo junto, al final y desde un archivo plano.
4º) Como de la parte del hardware se encarga el programa spooler.exe, no importa en qué lenguaje programemos siempre que seamos capaces de generar un archivo plano con los comandos y copiarlo a otra carpeta.
5º) En escenarios de Terminal Server o VPN podemos facturar en las sucursales SIN NINGUN ESFUERZO Y SIN RENEGAR CON EL HARDWARE, usando los programas y archivos que están en el servidor central (esto es maravilloso !!!).

EJEMPLO DE CODIFICACION:
Acá transcibo un ejemplo de cómo abro un loop esperando el archivo de respuestas de la respuesta de la impresora (en forma exclusiva para asegurarme que no falta nada) y luego interpreto ese archivo.


FUNCTION spoolmanager(cTipoDocum)
    IF EMPTY(cSpoolDir) .OR. EMPTY(cAnswerDir)
       ALERT('FALTA DEFINIR CARPETAS SPOOL FISCAL')
       RETURN(.F.)
    ENDIF
    COPY FILE (cArchSpool) TO (cSpoolDir+cFileSPool)
    PONER_MJE(24,"Recuperando Datos Finales... Espere un momento." )
    INKEY(10)
    ********** ACA LEER RESULTADOS Y ASIGNAR nTic
    cArchAnswer := ALLTRIM(cAnswerDir+cFileAnswer)
    nCantLineas := 0
    nIntentos   := 20
    nTic        := 0
    DO WHILE nIntentos > 0
       IF FILE(cArchAnswer)
          DO WHILE FT_FUSE(cArchAnswer,16)<1
          ENDDO
          FT_FGOTOP()
          DO WHILE !FT_FEOF()
             ++nCantLineas
             AADD(aLineasLeidas,FT_FREADLN())
             FT_FSKIP()
          ENDDO
          FT_FUSE()
          FOR I=1 TO nCantLineas
              DO CASE
                 CASE cTipoDocum=='FACTURA'
                      IF LEFT(aLineasLeidas[I],1)='E'
                         nTic  := VAL(SUBST(aLineasLeidas[I],37,8))           //LINEA DE CIERRE DE COMPROBANTE (comando 'E')
                         cCai1 := (SUBST(aLineasLeidas[I],48,15))           //LINEA DE CIERRE DE COMPROBANTE (comando 'E')
                      ENDIF
                      IF LEFT(aLineasLeidas[I],1)='C'
                         nTotalZZ := VAL(TOMAMEDIO(aLineasLeidas[I],'|',4))    //LINEA DE SUBTOTAL              (comando 'C')
                         nIvaZZ   := VAL(TOMAMEDIO(aLineasLeidas[I],'|',5))    //LINEA DE SUBTOTAL              (comando 'C')
                      ENDIF
                 CASE cTipoDocum=='CREDITO'
                      IF LEFT(aLineasLeidas[I],1)=''
                         nTic  := VAL(SUBST(aLineasLeidas[I],37,8))           //LINEA DE CIERRE DE COMPROBANTE (comando 'E')
                         cCai1 := (SUBST(aLineasLeidas[I],48,15))           //LINEA DE CIERRE DE COMPROBANTE (comando 'E')
                      ENDIF
                      IF LEFT(aLineasLeidas[I],1)='p'
                         nIvaZZ   += VAL(TOMAMEDIO(aLineasLeidas[I],'|',5))    //LINEA DE SUBTOTAL
                         nTotalZZ += VAL(TOMAMEDIO(aLineasLeidas[I],'|',8))    //LINEA DE SUBTOTAL
                      ENDIF
                      IF LEFT(aLineasLeidas[I],1)='q'
                         nIvaZZ   += VAL(TOMAMEDIO(aLineasLeidas[I],'|',5))    //LINEA DE SUBTOTAL
                      ENDIF
              ENDCASE
          NEXT
          FERASE(cArchAnswer)
          FERASE(cArchSpool)
          EXIT
       ENDIF
       INKEY(.5)
       nIntentos := nIntentos - 1
       IF nIntentos = 0
          IF ALERT('ESPERANDO RESPUESTA IMPRESORA FISCAL...;¨CONTINUA?',{'SI','NO'}) < 2
             nIntentos := 10
          ENDIF
       ENDIF
    ENDDO
RETURN(.T.)


Espero haber sido claro.

Saludos...
Ricardo Sassy



8 29/09/2008, you wrote:

Ricardo : Si no es mucha molestia, me anoto para tu explicación y desde ya muchas gracias
 
Gustavo Gabriele
 

De: ifclipper@gruposyahoo.com.ar [mailto:ifclipper@gruposyahoo.com.ar] En nombre de Ricardo Sassy
Enviado el: Lunes, 29 de Septiembre de 2008 10:04 p.m.
Para: ifclipper@gruposyahoo.com.ar
Asunto: RE: [ifclipper] Una mano... por favor...
 

Si alguien necesita una explicación del modo spool me avisan.
Es muy fácil y hay que desentenderse de la apertura del puerto y todo eso.
Solamente enviar los comandos relacionados con el documento a imprimir o la consulta que se le quiera efectuar a la impresora.

Saludos...
Ricardo Sassy


At 19:26 29/09/2008, you wrote:
Mario : , alli Ricardo tiro una pista para utilizar la impresora en modo spooll del c2w, Igualmente muchas gracias
 
Gustavo
 

De: ifclipper@gruposyahoo.com.ar [mailto:ifclipper@gruposyahoo.com.ar] En nombre de mariomansilla@arnet.com.ar
Enviado el: Lunes, 29 de Septiembre de 2008 05:36 p.m.
Para: ifclipper@gruposyahoo.com.ar
Asunto: RE: [ifclipper] Una mano... por favor...
 

Hola Gustavo :
                          El ejemplo esta hecho para Hmg oficial , si te es util lo mismo te lo envio .
Saludos .
Mario Mansilla


> Mario : Disculpa la intromison en el tema, es que tengo el mismo problema.
> Tengo dearrollado un modulo de facturación en clipper52 funcionando
> correctamente y debi migrar el sistema , para lo cual utilice la
> herramienta
> de Ciro C2W, pero no puedo hacer funcionar la impresora. Me fui guiando
> con las instrucciones bajas de Hasar pero no hay caso.
> Podrias mandar un ejemplo , desde ya muchas gracias
>
> Gustavo Gabriele
>
> _____
>
>
De: ifclipper@gruposyahoo.com.ar [mailto:ifclipper@gruposyahoo.com.ar] En
> nombre de mariomansilla@arnet.com.ar
> Enviado el: Lunes, 29 de Septiembre de 2008 01:32 p.m.
> Para: ifclipper@gruposyahoo.com.ar
> Asunto: Re: [ifclipper] Una mano... por favor...
>
> Hola Ricardo :
> Disculpas recien hoy veo tu mensaje , yo pude
> hacer funcionar las impresoras fiscales hasar con la winfis32.dll y las
> epson con las ocx de epson , pero con HMG oficial .
> Aun no he tenido tiempo de probar las ocx de hasar .
> Cualquier cosa avisame .
> Saludos .
> Mario Mansilla
>
>
>
>
>> Hola Eduardo.
>> Te agradezco la info.
>> Estoy usando ooHg + Harbour 1.0.
>> El problema que acabo de descubrir es que no puedo acceder a ninguna
>> dll.
>> Probé un ejemplo básico con una dll que tiene funciones que te devuelven
>> el
>> nro. de serie del disco y tampoco funciona.
>> EL programa ejecuta sin errores pero alga pasa que no anda.
>> Inclusive si le cambio el nombre a la dll tampo saltan errores asi que
>> tiene que ser algo muy elemental.
>>
>>
>
Desde ya gracias...
>> ¿Alquien probó acceder a la impresora usando los controles ocx?.
>>
>> Saludos...
>> Ricardo Sassy
>>
>> At 18:58 27/09/2008, you wrote:
>>>Ricardo
>>>
>>>En puertosur estamos armando una clase fiscal para xHarbour consola.
>>>No tengo idea si va a funcionar con Harbour.
>>>Solo te puedo decir q ayer la hice andar pero con xHarbour 1.00
>>> compilacion de
>>>PuertoSur.
>>>Otra version no me funciono. No tengo ni idea de como es el estado de
>>> Harbour
>>>y la compativilidad.
>>>
>>>Direcciones de correo electrónico del grupo
>>>
>>> Enlace relacionado: http://www.puertosur.org
>>> Enviar mensaje: PuertoSur@gruposyahoo.com.ar
>>> Suscribirse: PuertoSur-subscribe@gruposyahoo.com.ar
>>> Cancelar suscripción: PuertoSur-unsubscribe@gruposyahoo.com.ar
>>> Propietario: PuertoSur-owner@gruposyahoo.com.ar
>>>
>>>On Sat, 27 Sep 2008 18:01:01 -0300, Ricardo Sassy wrote
>>> > Hola Juan Carlos
>>> > Uso Harbour 1.0 en modo consola.
>>> > No tengo ningún warning ni nada raro en la compilación.
>>> > El exe se genera normalmente y su ejecución no produce erorres de
>>> ningún tipo.
>>> > Incluso intenté algo tan básico como esto:
>>> > cInfo := CallDll ( "VersionDLLFiscal" , "WINFIS32.DLL" )
>>> > alert(cInfo)
>>> > y devuelve un string vacio.
>>> >
>>> > Evidentemente me falta hacer algo que desconozco.
>>> > Por las dudas... ¿que fecha y tamaño tiene la winfis32.dll que estás
>>> usando?.
>>> > Estoy usando una del 01/12/2005 de 61440 bytes.
>>> > ¿Será que tengo una dll equivocada?.
>>> >
>>> > Saludos y gracias...
>>> > Ricardo Sassy
>>> >
>>> > At 14:13 27/09/2008, you wrote:
>>> >
>>>--
>>> Eduardo Rizzolo
>>> Eldorado, Misiones Argentina
>>> INF 0023
>>> Correo principal y Msn Hotmail:fullpaint@pinturas-misioneras.com.ar
>>> skype:fullpaint1
>>> ICQ:39280741
>>> www.creacionistas.com -> Que lindo cuentito nos contaron!!
>>> www.puertosur.org
>>>
>>>
>>>------------------------------------
>>>
>>>Enlaces a Yahoo! Grupos
>>>
>>>
>>>
>>>
>>
>>
>
>


Este mensaje ha sido verificado por el E-mail Protegido. Antivirus actualizado en 30/09/2008 / Versión: 0.93.1/8362


Mensajes 8086 - 8115 de 8385   Más reciente  |  < Más reciente  |  Más antiguo >  |  Más antiguo
Avanzado

Copyright © 2009 Yahoo! de Argentina S.R.L. Todos los derechos reservados.
Política de privacidad - Condiciones del Servicio - Reglas de la comunidad de Yahoo! - Ayuda