anonymous Log in
Search
Recents:
v3.0
gx-l
regla Printer en web no me funciona
23/09/20 17:37

ngarcia

Replies: 36

Utilizo 16u9 generando c#
No me toma lo cargado en el formulario en gxprn.ini.
Siempre carga la impresora default.
A alguien le ha pasado?
--
Nahuel García - Saico sistemas
-----------------------------------------
Para Suscribirse/Desuscribirse:
http://www.gxtechnical.com/cgi-bin/hforum.exe?2,3,30,1
Por consultas owner-gx-l@gxtech.com.uy
Replies

fsalomon

23/09/20 19:29
Hola Nahuel, es impresión en el cliente? utilizas gxprintserver.jar? Cuéntame un poco tu escenario para poder ayudarte. Saludos, Libre de virus. www.avast.com <#DAB4FAD8-2DD7-40BB-A1B8-4E2AA1F9FDF2> On Wed, Sep 23, 2020 at 5:38 PM Nahuel Garcia

ngarcia

24/09/20 10:55
Hola Federico. Gracias por responder. Es impresión en el cliente. Estoy generando una aplicación web en c#. Mi idea es enviar directo a la impresora, por ahora me aparece el diálogo de impresión y no me selecciona la impresora que tengo en gxprn.ini ni la cantidad de copias. Me selecciona la impresora default Pongo gxprn.ini [General_Config_info] Version=3 CheckPaperSize=0 XOffset=0 YOffset=0 [facturas] Printer=SUBSUELO#:1 Mode=0 Orientation=1 PaperSize=9 PaperLength=2970 PaperWidth=2100 Scale=100 Copies=2 DefaultSource=7 PrintQuality=600 Color=0 Duplex=1 TextEject=FF XOffset=0 YOffset=0 El mié., 23 de sep. de 2020 a la(s) 19:29, Federico Salomón ( fsalomon@genexus.com)

fsalomon

24/09/20 11:06
Hola Nahuel, cómo estás? Bien. Entonces supongo que estarás usando este mecanismo. El caso de la definición de la regla printer, se agregó en el Upgrade 10. Info aquí . Como comentario adicional: el nombre de la impresora en la propiedad Printer del gxprn.ini debe ser exactamente el mismo que se muestra en el diálogo de Printers de Windows. Espero te sirva la información. Saludos, On Thu, Sep 24, 2020 at 10:55 AM Nahuel Garcia

ngarcia

25/09/20 16:22
No, porque genero c# El jue., 24 de sep. de 2020 a la(s) 11:06, Federico Salomón ( fsalomon@genexus.com)

ngarcia

25/09/20 16:25
En cuanto a lo que comentas del upgrade 10 intentaré probaré con eso. Muchas gracias El vie., 25 de sep. de 2020 a la(s) 16:22, Nahuel Garcia ( ngarcia@saico.com.uy)

fsalomon

25/09/20 16:38
Hola Nahuel, que tal? El cambio del u10 aplica a la solución que te comenté. No importa si generas csharp, el mecanismo puede ser invocado desde cualquiera de los generadores. Saludos, > On 25 Sep 2020, at 16:26, Nahuel Garcia

ngarcia

25/09/20 16:53
Y funciona para reportes gráficos o solo texto? Para aclarar: cuando me preguntaste si era impresión desde el cliente te refieres a que un usuario desde su computadora quiere imprimir en una impresora local O al uso de Output device localtion? Si es la segunda opción al generar me da este error "El nombre 'SetPrintAtClient' no existe en el contexto actual" El vie., 25 de sep. de 2020 a la(s) 16:38, Federico Salomón ( fsalomon@genexus.com)

fsalomon

27/09/20 20:43
Hola Nahuel, qué tal? Funciona en ambos casos. En el documento que te pasé verás cómo tienen que definirse las propiedades del Procedure para cada caso (son iguales en realidad, lo que cambia es a nivel del layout del reporte si es Text o Graphic mode). Saludos, On Fri, Sep 25, 2020 at 4:54 PM Nahuel Garcia

ngarcia

28/09/20 11:48
Estoy probando. Incluí esta línea en el start de la masterpage: Form.JScriptSrc.Add("gxprint.js") Hice el reporte como indica. Cuando ejecuto el comando: java -jar gxprintserver.jar Tengo este error: Error occurred during initializacion of VN java/lang/NoClassDefFoundError: java/lang/Object Al hacer call al reporte el navegador me da el error: Error de red tratando de comunicarse con el servidor (http://localhost:8000/print) El dom., 27 de sep. de 2020 a la(s) 20:43, Federico Salomón ( fsalomon@genexus.com)

fsalomon

28/09/20 12:02
Hola Nahuel, un par de consultas: - qué versión de java estás utilizando para correr el gxprintserver? - en el cmd queda el output completo del error? En ese caso envíamelo por favor Saludos, p.d. el error al ejecutar el reporte se da justamente porque no estás pudiendo correr el servicio de impresión por el error que mencionas. On Mon, Sep 28, 2020 at 11:48 AM Nahuel Garcia

ngarcia

28/09/20 13:15
El pc de desarrollo es un windows 7 de 32 bits. Java es 1.8.0.161 [image: imagen.png] El lun., 28 de sep. de 2020 a la(s) 12:02, Federico Salomón ( fsalomon@genexus.com)

fsalomon

28/09/20 13:20
Si ejecutas un java -version en el cmd, responde? ¿Tienes la variable de ambiente JAVA_HOME definida correctamente? On Mon, Sep 28, 2020 at 1:16 PM Nahuel Garcia

ngarcia

28/09/20 13:29
java -version me tira el mismo error El lun., 28 de sep. de 2020 a la(s) 13:20, Federico Salomón ( fsalomon@genexus.com)

fsalomon

28/09/20 13:32
Bueno, entonces el problema lo tienes en la definición de las variables de ambiente. Revisa la definición de JAVA_HOME para ver si apunta al directorio correcto. Saludos, On Mon, Sep 28, 2020 at 1:30 PM Nahuel Garcia

ngarcia

28/09/20 15:26
Reinstalé java, agregué las variables de entorno JAVA_HOME y JRE_HOME y comenzó a funcionar. Ahora estoy peleando con ejecutar el comando desde la aplicación El lun., 28 de sep. de 2020 a la(s) 13:32, Federico Salomón ( fsalomon@genexus.com)

ngarcia

28/09/20 16:51
Creé un bat con esto dentro: java -jar "C:\Desarrollo\MercadoWebgx16\.Net\web\gxprintserver.jar" Si lo ejecuto "a mano" desde windows funciona luego me imprime correctamente. Pero si lo ejecuto desde la aplicación web, me aparece un proceso "java", pero no imprime. Alguna idea de que puede ser? El lun., 28 de sep. de 2020 a la(s) 15:26, Nahuel Garcia ( ngarcia@saico.com.uy)

hugao118

28/09/20 17:04
Hola La solución está diseñada para que ese aplicativo gxprintserver.jar se ejecute en el cliente, si lo ejecutas desde la aplicación web con un Shell se ejecutará en el servidor. Saludos. Cordialmente. _______________________________ *Hugo Armando Cadena MantillaIngeniero de Sistemas* Bucaramanga - Colombia On Mon, Sep 28, 2020 at 2:52 PM Nahuel Garcia

ngarcia

28/09/20 17:32
Gracias Hugo El lun., 28 de sep. de 2020 a la(s) 17:04, Hugo Armando Cadena Mantilla ( hugao1118@gmail.com)

hugao118

28/09/20 17:36
Acá, tienes un link donde se habla de la solución y donde se explica la arquitectura. https://wiki.genexus.com/commwiki/servlet/wiki?33912,Web+printing+on+client+printer+%28without+an+applet%29 Saludos. Cordialmente. _______________________________ *Hugo Armando Cadena MantillaIngeniero de Sistemas* Bucaramanga - Colombia On Mon, Sep 28, 2020 at 3:32 PM Nahuel Garcia

ngarcia

29/09/20 12:07
Instalé Gx16u11 porque no estaban funcionando correctamente los formularios con GXPRN.INI Regeneré todo el proyecto y actualmente no imprime. Es decir, pasé de que imprima en la impresora default a que no imprima. Al ejecutar java -jar gxprintserver.jar obtengo: WARNING: could not find gxprintserver.properties file. A default port (8000) and protocol (http) will be used. SUCCESS: HTTP Print server listening at port: 8000 No obtengo errores al imprimir. Alguna idea de que puede estar pasando? Gracias El lun., 28 de sep. de 2020 a la(s) 13:32, Federico Salomón ( fsalomon@genexus.com)

fsalomon

29/09/20 12:23
Hola Nahuel, ese output de consola está OK. Lo que dice es que como no se halló un archivo de configuración, correrá en el puerto y protocolo default. Osea que tu servicio va a estar corriendo en: http://host:8000. ¿Puedes revisar si en la consola del navegador se ejecuta correctamente el post a dicho servicio? En caso de que sí, revisa también la cola de impresión para ver si está llegando la solicitud de impresión. Saludos, On Tue, Sep 29, 2020 at 12:07 PM Nahuel Garcia

ngarcia

29/09/20 14:47
Te cuento que no veo ningún POST Lo único que veo es un GET gxprint.js A la impresora no va nada El mar., 29 de sep. de 2020 a la(s) 12:23, Federico Salomón ( fsalomon@genexus.com)

fsalomon

29/09/20 14:49
Si, que se haga el get del js está bien. Además, debería ejecutarse la invocación al servicio cuando invocas al Procedure que es reporte (ese es el post). ¿Cómo haces la llamada al Procedure? Saludos, On Tue, Sep 29, 2020 at 2:48 PM Nahuel Garcia

ngarcia

29/09/20 14:56
Me encontré con esto que no se si tenga que ver: TypeError: f is undefined replaceAll http://localhost/Mercado.Net/gxgral.js?144151:292 toInvariant http://localhost/Mercado.Net/gxgral.js?144151:305 parseFloat http://localhost/Mercado.Net/gxgral.js?144151:305 rowValueHandler http://localhost/Mercado.Net/gxgral.js?144151:572 sumFrm http://localhost/Mercado.Net/gxgral.js?144151:574 verticalFormula http://localhost/Mercado.Net/gxgral.js?144151:572 sumFrm http://localhost/Mercado.Net/gxgral.js?144151:574 Valid_Linimp http://localhost/Mercado.Net/ingresotrlin.js?202092910514543:3 closure http://localhost/Mercado.Net/gxgral.js?144151:667 jQuery 25 w http://localhost/Mercado.Net/gxgral.js?144151:876 u http://localhost/Mercado.Net/gxgral.js?144151:877 jQuery 3 afterAjaxCallHandler http://localhost/Mercado.Net/gxgral.js?144151:1126 ajaxCallHandler http://localhost/Mercado.Net/gxgral.js?144151:1128 closure http://localhost/Mercado.Net/gxgral.js?144151:667 doCallHandler http://localhost/Mercado.Net/gxgral.js?144151:921 doHandleRequest http://localhost/Mercado.Net/gxgral.js?144151:917 closure http://localhost/Mercado.Net/gxgral.js?144151:667 doCall http://localhost/Mercado.Net/gxgral.js?144151:920 doAjaxCall http://localhost/Mercado.Net/gxgral.js?144151:1126 call http://localhost/Mercado.Net/gxgral.js?144151:1125 u http://localhost/Mercado.Net/gxgral.js?144151:877 u http://localhost/Mercado.Net/gxgral.js?144151:877 jQuery 2 u http://localhost/Mercado.Net/gxgral.js?144151:877 u http://localhost/Mercado.Net/gxgral.js?144151:877 jQuery 2 u http://localhost/Mercado.Net/gxgral.js?144151:877 u http://localhost/Mercado.Net/gxgral.js?144151:877 jQuery 2 u http://localhost/Mercado.Net/gxgral.js?144151:877 u http://localhost/Mercado.Net/gxgral.js?144151:877 jQuery 2 u http://localhost/Mercado.Net/gxgral.js?144151:877 u http://localhost/Mercado.Net/gxgral.js?144151:877 jQuery 2 u http://localhost/Mercado.Net/gxgral.js?144151:877 u http://localhost/Mercado.Net/gxgral.js?144151:877 jQuery 2 u http://localhost/Mercado.Net/gxgral.js?144151:877 u http://localhost/Mercado.Net/gxgral.js?144151:877 c jQuery replaceAll@http://localhost/Mercado.Net/gxgral.js?144151:292:207 toInvariant@http://localhost/Mercado.Net/gxgral.js?144151:305:402 parseFloat@http://localhost/Mercado.Net/gxgral.js?144151:305:133 rowValueHandler@http://localhost/Mercado.Net/gxgral.js?144151:572:486 sumFrm/<@http://localhost/Mercado.Net/gxgral.js?144151:574:70 verticalFormula@http://localhost/Mercado.Net/gxgral.js?144151:572:46 sumFrm@http://localhost/Mercado.Net/gxgral.js?144151:574:17 this.Valid_Linimp/<@ http://localhost/Mercado.Net/ingresotrlin.js?202092910514543:3:12697 Function.prototype.closure/<@ http://localhost/Mercado.Net/gxgral.js?144151:667:317 e@http://localhost/Mercado.Net/jquery.js?144151:2:30005 l/

ngarcia

29/09/20 15:08
PImpriG.Call(&MovId,&MovPlaId,&MovForm) y hasta que instalé u11 funcionaba PImpriG tiene: - Main: false - Call protocol: internal - Report output: Only to printer - Output device: Client - Rules: - Printer(&MovForm); - Output_file("ImprimeMov",'pdf'); El mar., 29 de sep. de 2020 a la(s) 14:49, Federico Salomón ( fsalomon@genexus.com)

fsalomon

29/09/20 15:22
Ese error que comentas no parecería estar relacionado al mecanismo de impresión. Ese error te daba antes de pasarte a u11? Puedes probar ese mismo caso en otro objeto donde no se de ese error de scripts que comentas? On Tue, Sep 29, 2020 at 3:09 PM Nahuel Garcia

ngarcia

29/09/20 16:07
No se si daba el error antes de u11, ya que a nivel del programa no cambia nada. O al menos no he notado cambios. Aislé la parte de la impresión a un main de prueba y sigue igual. Es decir, no haciendo el POST. El mar., 29 de sep. de 2020 a la(s) 15:22, Federico Salomón ( fsalomon@genexus.com)

ngarcia

29/09/20 17:01
Hay problema con que el navegador corra en el mismo pc en que está alojada la aplicación web? El mar., 29 de sep. de 2020 a la(s) 15:22, Federico Salomón ( fsalomon@genexus.com)

rpicado

29/09/20 17:14
Nahuel, Para que funcione, en el cliente se debe tener que poner al inicio del equipo el siguiente jar para que lo ejecute el explorador y redireccione la impresión [image: image.png] en windows 10 lo pones en el inicio del equipo. Además hay que agregar en rules Output_file("ChequesBancor", "PDF"); Yo las instale en este entorno, compilando con - Sistema Operativo del Servidor: Windows server 2012 R2 - Sistema Operativo de la Maquina que va a Imprimir: Windows 7 - Impresora (Marca y Modelo): EPSON LX 350 - Compilado en Ev. 2 y Gx16 Instalar JS (gxprint.js) en el Servidor La ubicación es la carpeta static de la aplicación. El JS que se provee está configurado en el puerto 8000. [image: image.png] Instalar JAR (gxprintserver.jar) en la máquina utilizada para imprimir directamente, y para que se ejecute automáticamente cuando se inicio el proceso El servicio debe quedar como automático y el puerto 8000 abierto. Ingresar la Dirección http://localhost:8000/ Si en el navegador aparece la siguiente pantalla, no está funcionando correctamente. Error más común Firewall bloqueando el puerto 8000 [image: image.png] Si en el navegador aparece la siguiente pantalla, está funcionando el printserver correctamente. Configurar en el driver de la impresora, que imprima con genérico text only. Configurar el set de caracteres de la impresora con uno que tenga caracteres en castellano. Ejemplo: Brascii, latin 1, 859, 8859. En caso de que el set de caracteres del Tomcat esté diferente a “ISO-88591”, en el Catalina.bat del tomcat para Windows configurar: export JAVA_OPTS=%JAVA_OPTS% -Djava.Dfile.Encoding="ISO-8859-1" Este cambio se realiza únicamente en la máquina virtual de Java. No afecta el Servidor. Espero que se entienda todo. Un saludo El mar., 29 de sep. de 2020 a la(s) 16:08, Nahuel Garcia ( ngarcia@saico.com.uy)

ngarcia

29/09/20 17:42
Muchas gracias Roberto por tu respuesta. Primero te cuento que la aplicación es csharp. Estoy ejecutando gxprintserver.jar en el cliente (que a la vez es servidor) como pusiste. Tengo output_file, también regla printer y output device location = client gxprint.js está en la carpeta web en mi caso. Al ejecutar localhost:8000 tengo error 404. El reporte es gráfico. Me funcionaba (a medias porque no consideraba gxprn.ini en Gx16u9) y dejó de funcionar en Gx16u11 El mar., 29 de sep. de 2020 a la(s) 17:14, Roberto Picado ( roberto.picado@gmail.com)

rdg.ruben

29/09/20 18:22
Como comentario, entiendo que para que esté disponible y no de error 404 tienes que ejecutar el servicio. Lo que hago es hacer .bat que está en la misma carpeta que el .jar lo levanto y el servicio está disponible. [image: image.png] [image: image.png] [image: image.png] [image: image.png] esto es lo que pongo en el bat echo .:: GX PRINT SERVER ::. @echo off color 9F java -jar gxprintserver.jar pause Espero te sirva. *L**ic. Ruben Dario Gonzalez* Desarrollo *Movil*: +595 971 333040 *E-mail*: rdg.ruben@gmail.com El mar., 29 sept. 2020 a las 16:42, Nahuel Garcia ()

rpicado

29/09/20 18:33
Esto lo utilice hace un tiempo, pero me parece tambien que tenes que configurar en la impresora que quede con el mismo nombre que utilizas en el Output_file, porque así se lleva la redirección. Si recuerdo otra cosa te aviso, por ahora es todo. Un saludo El mar., 29 de sep. de 2020 a la(s) 18:24, Rubén Darío González ( rdg.ruben@gmail.com)

rdg.ruben

29/09/20 18:36
yo no pongo ningun nombre lo dejo vacío ('') para que tome el que está predeterminado. *L**ic. Ruben Dario Gonzalez* Desarrollo *Movil*: +595 971 333040 *E-mail*: rdg.ruben@gmail.com El mar., 29 sept. 2020 a las 17:33, Roberto Picado (< roberto.picado@gmail.com>)

fsalomon

29/09/20 20:59
Nahuel, para validar que el servicio esté realmente escuchando, la url a donde tienes que acceder es: http://localhost:8000/print si está ok te va a devolver: {"Status":true} Luego, tenés que validar que el gxprint.js también se esté cargando bien (ya lo mencionaste pero por las dudas puedes revisarlo). Probé un caso de prueba mío en U11 y mandó bien: [image: image.png] Si no consigues hacerlo funcionar seguimos el caso por privado y compartimos luego la solución al foro. Saludos, On Tue, Sep 29, 2020 at 5:43 PM Nahuel Garcia

ngarcia

30/09/20 10:06
Me devuelve {"Status":true} Lo que noto que no pasaba con u9 es que el reporte no "ejecuta". Grabo en un log al principio y no pasa por ahi El mar., 29 de sep. de 2020 a la(s) 20:59, Federico Salomón ( fsalomon@genexus.com)

ngarcia

01/10/20 17:12
Solucionado: Faltaba agregar el Tipo MIME: ini al IIS El mié., 30 de sep. de 2020 a la(s) 10:06, Nahuel Garcia ( ngarcia@saico.com.uy)


Back to gx-l