como verán no hay mucha documentación acerca del uso de genexus, y en este caso lo la evo2 me ha tocado aprender.
Datos del Aprendizaje:
genexus X evo2
generando para Java
conexion a MySql
lo primero aqui les tengo el codigo:
este evento es de un userControl llamado: JSEVENTHANDLER lo descargar de
http://wiki.gxtechnical.com/commwiki/servlet/hwiki?JSEventHandler+-+User+Control,
ahi encontraran su uso y el download de userControl
las Variables:
htmlResul es un TextBlock
&tipoDoc char(6)
txtExt textblock
&Doc en un blob
&htmlUpload es html
Event JSEventHandler1.EventHandled
Do Case
Case JSEventHandler1.EventType = "change"
htmlResul.Caption='<script type="text/JavaScript">ext();</script>'+newline()
&tipoDoc=txtExt.Caption
EndCase
EndEvent
Event Start
&eventlist.Add("change")
JSEventHandler1.AttachedControl=&Doc.InternalName
&htmlUpload+='<script type="text/javascript">'+newline()
&htmlUpload+='function ext(){'+newline()
&htmlUpload+='var filename = document.getElementById("vDOC").value;'+newline()
&htmlUpload+='var ext=(filename.substring(filename.lastIndexOf("."))).toLowerCase();'+newline()
&htmlUpload+='var tipoDoc=ext.replace(".","");'+newline()
&htmlUpload+='var tipo=document.getElementById("TXTEXT");'+newline()
&htmlUpload+='var cbb=document.getElementById("vEXT");'+newline()
&htmlUpload+='if(tipoDoc=="xltx" || tipoDoc=="xlsx" || tipoDoc=="xls" || tipoDoc=="doc" || tipoDoc=="docx" || tipoDoc=="pdf"){tipo.firstChild.nodeValue=tipoDoc; cbb.value=tipoDoc;}else{alert("Documento no Valido"); cbb.value="NA"; tipo.firstChild.nodeValue="NA";};'+newline()
&htmlUpload+='}'+newline()
&htmlUpload+='</script>'+newline()
html.Caption=&htmlUpload
Endevent
la mecanica es la siguiente, pongo el blob en el webpanel
en las propiedades del &Doc pongo display en Link, y el LinkTarget en _Blank, esto me permite subir el archivo, ahora en la base da datos recuerden cambiar el max_allowed_packet es mas de 1MB para poder guardar documentos de mayor tamaño. recomendacion 20MB como maximo.
en el evento adjuntar del boton pueden poner un proc, que mande a guardar o usar BC en true de la transaccion y hacerlo con ello.
EJEMPLO DEL PROCEDIMIENTO:
new
DocNo=&numero //puede ser Autonumber tambien de no ser muchos documentos.
DocDes=&descripcion
DocTip=&tipodocumento
Doc=&Doc //tambien tiene que ser de tipo Blob.
endnew
si hay dudas o preguntas respondere a la brevedad!!, Muchas Gracias por ver mi blog.
Este ejemplo esta testeado en safari, Chrome, Mozilla, IE. a sus ultimas actualizaciones en fecha.
Hola, buena forma de usar el complemento.
ResponderEliminarestoy en el dilema de subir files (pdf, docs, etc y luego llamarlos por un link)
podrias subir el ejemplo completo? te lo agradeceria, me parece esta incompleto.
por ejemplo, la descripcion, N/A y como mostarlos en una grilla o una lista de los elementos subidos.
Gracias!
hola, CHANEL, disculpa que no te he podido contestar, ahora tengo una version mas compacta cumpliendo con los requerimientos de los que tu necesitas. si aun lo requieres te mando la forma en como lo hice.
EliminarLuis podrías compartirme esa nueva forma de hacerlo por favor. Te lo agradecería mucho.
EliminarHola Luis por favor podrías indicarme el nuevo proceso con la versión mas compacta.
EliminarTe lo agradecería
Muchas Gracias
Hola, sería posible que compartieras la nueva versión del código con nosotros?
ResponderEliminarGracias por adelantado.
Buen dia Luis
ResponderEliminartendrias la amabilidad de compartirme el form para la subida y visualizacion de archivos, estoy con este requerimento y esta un poco tedioso.
mi correo es hector.restrepo@techserc.com, de antemano muchas gracias por tu ayuda.
Hola, si serías tan amable por favor de compartir la nueva versión de código que mencionas. Mi correo es adriana.milepc@gmail.com
ResponderEliminarMuchas gracias de antemano.
Hola podrias compartirme el form por favor ... actualmente subo los archivos pero se graban como tmp y no puedo recuperarlos mas.
ResponderEliminarMi email es maximilianoespeche@gmail.com Saludos
Buen dia Maximiliano, con respecto a eso estas trabajando en Java y Mysql?
EliminarHola Luis, estoy trabajando en subir archivos como parte de un aplicativo, me puedes compartir tu solución. Trabajo este momento con Evolution 2
ResponderEliminarBuen dia Hernán, con respecto a eso estas trabajando en Java y Mysql?
EliminarHola
ResponderEliminarNecesito saber si este control lo puedo usar en Gx Evo 3.
Saludos
Efectivamente, e usercontrol es valido en la evo3. En unas horas finamente subire al blog la ultima version que tengo del formulario.
EliminarEstimado Luis Fernando.
ResponderEliminarMe ayudas con la ultima version de Upload a File con Genexus,
Estoy trabajando con la Evo3 y no funciona.
Me puedes compartir a mi correo demetole@gmail.com
Espero tun respuesta.
Luis buen dia, tengo varias con esto y aun no encuentro solucion, creo una plantilla .dotx,en word 2007, la grabo y le cree una carpeta en el modelo y esa ruta la llamo desde genexus y si encuentra el archivo , el inconveninete es que no me reemplza ciertas variables como pudeo hacer dinamico esta situacion y que se abran las plantillas de word?
ResponderEliminarMi corroe marjorie.cevallos2012@gmail.com
EliminarHola Marjorie,
EliminarSi bien entendi, lo que necesitas es descargar documentos word (plantillero) donde solo reemplazas la informacion de ciertos campos y necesitas que sea descargable para el usuario. Si es asi, con gusto te ayudo hare un form de eso y te mando el xpz.
Usas como generador C# o java?
Funciona Genexus 15 U12? Gracias
ResponderEliminardefinitivo que si!
Eliminarhola luis disculpa la molestia, quizas puedas ayudarme con algo que me esta costando resolver.
ResponderEliminarGenero un archivo .txt a partir de una tabla y luego quiero que el usuario pueda seleccionar en que carpeta guardarlo. Estoy usando EV03 con .NET. antes se usaba la sentencia GXSELDIR pero ahora en web no esta disponible
Hola Eduardo, deberias utilizar un control blob en modo diplay none para usarlo como seleccionador de archivo.
Eliminarmi email es edupolilla@hotmail.com por la dudas que tengas la solucion
ResponderEliminarBuenas... muy interesante tu blog... soy nueva en la materia del mundo gx, estoy desarrollando un sistema en donde tengo que permitir a mi usuario la carga y descarga de cualquier tipo de archivo (pdf, txt, jpg, etc). En mi transaccion, al ejecutarlo, subo el archivo y lo guardo en un campo tipo blob y no impacta en la bd, el sistema queda colgado y nunca cierra el proceso en la transaccion
ResponderEliminarEstoy utilizando gx evo 3 - generador: java - datastore: sqlserver
Agradeceria muchisimo tu ayuda
Mi mail es ruthygonzalez05@gmail.com
Hola Ruth, disculpas por la tardanza, aun lo requieres?
Eliminaraun sigo con el mismo inconveniente.. sera que podrias ayudarme??? actualmente estoy en otros proyectos pero este lo deje parado debido a que no puedo hacer lo que te comente... si me podrias ayudar te agradeceria un monton!!!
EliminarHola me podrías compartir la versión mas compacta que tienes. por favor. Gracias.
Eliminarvaldezalva@gmail.com
Buenos días, ¿en donde está publicada la nueva solución?.
ResponderEliminarBuen dia! tengo una consulta: la actual version no te sirve, que ocuparias hacer adicional a este ejemplo.
EliminarEste comentario ha sido eliminado por el autor.
ResponderEliminarHola tendrías el ejemplo para pasármelo para GxEvo2 gracias? mgigena.edu@gmail.com
ResponderEliminarHola Luis:
ResponderEliminarEstoy trabajando con GX Xev2, Java Y MYSQL.
No he logrado hacerlo andar.
Veo que pones &tipoDoc=txtExt.Caption
pero en ningun lugar veo que se le asigne algo a txtExt.Caption
¿Me puedes indicar si lleva algo?
Slds y gracias
Pablo Barrios
pbarrios.barbas@gmail.com