Re: [java-l] Llamar a un evento como si de una subrutina se llamase


<Objects>
<Object>
<ObjCls>13</ObjCls>
<ObjId>1580</ObjId>
<ObjName>ConsolaMedicoV2</ObjName>
</Object>
</Objects>Event Start
call(PAddTransaccion,&Pgmname,&Pgmdesc)
call(Pcontrol,&Pgmname,'')

&EstudioPaciente.Visible=0

pdf.Visible = 0

&CurrentPage = 1
&CurrentPage.Visible = Boolean.False

Grid1.Rows = 10

//&FechaTurnoDesde=Serverdate()
&FechaTurnoHasta=Serverdate()
&FechaTurnoDesdeHora=&FechaTurnoDesde
&FechaTurnoHastaHora=&FechaTurnoHasta
&FechaTurnoHastaHora=tadd(&FechaTurnoHastaHora,86340)

&audio=LoadBitmap("audio.png")
&audio.Tooltiptext="Escuchar Informe"

&informe=LoadBitmap("InformeMedical.png")
&informe.Tooltiptext="Ver Informe"

&imagendicom=LoadBitmap("imagen_web.png")
&imagendicom.Tooltiptext="Ver Imágenes Web"

&EstudioPaciente=LoadBitmap("imagen_web_completo.png")

&medical=LoadBitmap("medical_workstation.png")
&medical.Tooltiptext="Medical WorkStation"

//&pedidomedico=LoadBitmap("pedidomedico.png")
//&pedidomedico.Tooltiptext="Ver Pedido Médico"

For Each
Where ParametrosId=2013
&scanner=val(ParametrosValor)
EndFor
If &scanner=0
&pedidomedico.Visible=0
EndIf

mensaje1.Visible=0
Mensajes.Visible=0
scanner.Visible=0
mensaje.Visible=0

For Each
Where ParametrosId=512
&color=trim(ParametrosValor)
&rojo=val(substr(&color,1,3))
&verde=val(substr(&color,5,3))
&azul=val(substr(&color,9,3))

&ColorNoInformado=RGB(&rojo,&verde,&azul)
EndFor

For Each
Where ParametrosId=513
&color=trim(ParametrosValor)
&rojo=val(substr(&color,1,3))
&verde=val(substr(&color,5,3))
&azul=val(substr(&color,9,3))

&ColorInformado=RGB(&rojo,&verde,&azul)
EndFor

For Each
Where ParametrosId=514
&color=trim(ParametrosValor)
&rojo=val(substr(&color,1,3))
&verde=val(substr(&color,5,3))
&azul=val(substr(&color,9,3))

&ColorEntregado=RGB(&rojo,&verde,&azul)
EndFor
EndEvent // Start

Event Refresh
&FechaTurnoDesdeHora=&FechaTurnoDesde
&FechaTurnoHastaHora=&FechaTurnoHasta
&FechaTurnoHastaHora=tadd(&FechaTurnoHastaHora,86340)
Do 'LoadGridState'
Do 'FixCurrentPage'
Do 'EnableDisablePagingButtons'
Do 'SaveGridState'
Do 'CargarFiltros'
EndEvent

Sub 'FixCurrentPage'
If Grid1.PageCount = 0
&CurrentPage = 0
Else
If &CurrentPage > Grid1.PageCount
&CurrentPage = Grid1.PageCount
Else
If &CurrentPage < 1
&CurrentPage = 1
EndIf
EndIf
EndIf
EndSub

Sub 'EnableDisablePagingButtons'
// Only enable the paging buttons appropriate for the current page.

If &CurrentPage > 1
First.Enabled = Boolean.True
First.Bitmap = LoadBitmap(!"botonFirst.gif")
First.TooltipText = "GXM_first"
Else
First.Enabled = Boolean.False
First.Bitmap = LoadBitmap(!"disabledButtonFirst.gif")
First.TooltipText = ""
EndIf

If &CurrentPage > 1
Previous.Enabled = Boolean.True
Previous.Bitmap = LoadBitmap(!"botonPrevious.gif")
Previous.TooltipText = "GXM_previous"
Else
Previous.Enabled = Boolean.False
Previous.Bitmap = LoadBitmap(!"disabledButtonPrevious.gif")
Previous.TooltipText = ""
EndIf

If &CurrentPage < Grid1.PageCount
Next.Enabled = Boolean.True
Next.Bitmap = LoadBitmap(!"botonNext.gif")
Next.TooltipText = "GXM_next"
Else
Next.Enabled = Boolean.False
Next.Bitmap = LoadBitmap(!"disabledButtonNext.gif")
Next.TooltipText = ""
EndIf

If &CurrentPage < Grid1.PageCount
Last.Enabled = Boolean.True
Last.Bitmap = LoadBitmap(!"botonLast.gif")
Last.TooltipText = "GXM_last"
Else
Last.Enabled = Boolean.False
Last.Bitmap = LoadBitmap(!"disabledButtonLast.gif")
Last.TooltipText = ""
EndIf
EndSub


/*** Subroutines and events for user interaction. ***/

Event First.Click
&FechaTurnoDesdeHora=&FechaTurnoDesde
&FechaTurnoHastaHora=&FechaTurnoHasta
&FechaTurnoHastaHora=tadd(&FechaTurnoHastaHora,86340)
&CurrentPage = 1
CtrlExport.Visible=1
Do 'SaveGridPage'
Grid1.FirstPage()
EndEvent

Event Previous.Click
&FechaTurnoDesdeHora=&FechaTurnoDesde
&FechaTurnoHastaHora=&FechaTurnoHasta
&FechaTurnoHastaHora=tadd(&FechaTurnoHastaHora,86340)
CtrlExport.Visible=1
&CurrentPage = &CurrentPage - 1
Do 'SaveGridPage'
Grid1.PreviousPage()
EndEvent

Event Next.Click
&FechaTurnoDesdeHora=&FechaTurnoDesde
&FechaTurnoHastaHora=&FechaTurnoHasta
&FechaTurnoHastaHora=tadd(&FechaTurnoHastaHora,86340)
CtrlExport.Visible=1
&CurrentPage = &CurrentPage + 1
Do 'SaveGridPage'
Grid1.NextPage()
EndEvent

Event Last.Click
&FechaTurnoDesdeHora=&FechaTurnoDesde
&FechaTurnoHastaHora=&FechaTurnoHasta
&FechaTurnoHastaHora=tadd(&FechaTurnoHastaHora,86340)
CtrlExport.Visible=1
&CurrentPage = Grid1.PageCount
Do 'SaveGridPage'
Grid1.LastPage()
EndEvent

Event 'Search'
&CurrentPage = 1
//Do 'SaveGridState'
Grid1.FirstPage()
EndEvent


/*** Subroutines used to load and save the grid state. ***/

Sub 'LoadGridState'
If (&HTTPRequest.Method = HttpMethod.Get)
// Load grid state from session.
&GridState.FromXml(&Session.Get(&PgmName + !"GridState"))


If &GridState.CurrentPage > 0
&CurrentPage = &GridState.CurrentPage
Grid1.GotoPage(&CurrentPage)
EndIf

/*
If &GridState.FilterValues.Count >= 14
&EstudioId.FromString(&GridState.FilterValues.Item(1).Value)
&ServicioId.FromString(&GridState.FilterValues.Item(2).Value)
&MedicoId.FromString(&GridState.FilterValues.Item(3).Value)
&EquipoId.FromString(&GridState.FilterValues.Item(4).Value)
&TurnoId.FromString(&GridState.FilterValues.Item(5).Value)
&FechaTurnoDesde.FromString(&GridState.FilterValues.Item(6).Value)
&FechaTurnoHasta.FromString(&GridState.FilterValues.Item(7).Value)
&FinanciadorId.FromString(&GridState.FilterValues.Item(8).Value)
&UsuLogin.FromString(&GridState.FilterValues.Item(9).Value)
&PacienteApellido.FromString(&GridState.FilterValues.Item(10).Value)
&PacienteNombres.FromString(&GridState.FilterValues.Item(11).Value)
&PacienteDocumento.FromString(&GridState.FilterValues.Item(12).Value)
&reprogramar.FromString(&GridState.FilterValues.Item(13).Value)
&confirmar.FromString(&GridState.FilterValues.Item(14).Value)
EndIf
*/

EndIf
EndSub




Sub 'SaveGridPage'
// Save current page in session.
&GridState.FromXml(&Session.Get(&PgmName + !"GridState"))
&GridState.CurrentPage = &CurrentPage
&Session.Set(&PgmName + !"GridState", &GridState.ToXml())
EndSub

Sub 'SaveGridState'
&GridState.FromXml(&Session.Get(&PgmName + !"GridState"))

// Save grid state in session.
&GridState.CurrentPage = &CurrentPage
&GridState.FilterValues.Clear()

//&GridStateFilterValue = new GridState.FilterValue()
//&GridState.FilterValues.Add(&GridStateFilterValue)

&Session.Set(&PgmName + !"GridState", &GridState.ToXml())
EndSub


Event Enter
Grid1.FirstPage()
&FechaTurnoDesdeHora=&FechaTurnoDesde
&FechaTurnoHastaHora=&FechaTurnoHasta
&FechaTurnoHastaHora=tadd(&FechaTurnoHastaHora,86340)
EndEvent // Enter


Event 'Export'
// Generate Excel spreadsheet and download it.

//PExportTurno.Call(&TurnoId,&EstudioId,&ServicioId,&MedicoId,&EquipoId,&FechaTurnoDesde,&FechaTurnoHasta,&FinanciadorId,&UsuLogin,&PacienteDocumento,&reprogramar,&PersonaApellido,&PersonaNombres,&ExcelFilename,&ErrorMessage)
//If (&ExcelFilename <> "")
// Link(&ExcelFilename)
//Else
// msg(&ErrorMessage)
//Endif
EndEvent

Event Grid1.Load
//&res = sleep(3)
&Nombre.Enabled=0
&Nombre=udp(PNombreMedicoEquipo,TurnoId)

If &Nombre=NULLValue(&Nombre)
&Nombre=ServicioNombre
EndIf

&Informado.Enabled=0

&Informado=udp(PEstadoEstudio,TurnoId,EstudioId,EstudioOrden)
&DicomEstado = udp(PEstadoEstudio,TurnoId,EstudioId,EstudioOrden)

For Each
Where ParametrosId=2015
&PathScaneo=trim(ParametrosValor)
EndFor

&PathScaneo=trim(&PathScaneo)+trim(str(TurnoId))+".jpg"

&Existe=FILEEXIST(&PathScaneo)

If &Existe=1
&pedidomedico=LoadBitmap("pedidomedico.png")
&pedidomedico.Tooltiptext="Ver Pedido Médico"
EndIf

If &Existe=0
&pedidomedico=LoadBitmap("pedidomedico-des.png")
&pedidomedico.Tooltiptext="Pedido Médico NO Escaneado"
EndIf


for each
where Dicom_estuid = trim(UIdEstudio)
&PAC = Dicom_pac
endfor

&nombreArchivoIco = trim(&PAC) + "_" + trim(UIdEstudio)

Do Case
Case &Informado=0
&Informado.BackColor=&ColorNoInformado
&informe = loadbitmap("transparente.png")
&informe.Tooltiptext = "Sin Informar"

Case &Informado=1
&Informado.BackColor=&ColorInformado
&nombreArchivoIco += ".pdf"

Case &Informado=2
&nombreArchivoIco += ".pdf"
&Informado.BackColor=&ColorEntregado

Case &Informado=4 //PREINFORMADO
&Informado.BackColor=rgb(167,192,220)
&nombreArchivoIco += "Preliminar.pdf"
EndCase

&directorioLocal = "C:\Program Files (x86)\Apache Software Foundation\Tomcat 5.0\webapps\HIS\InformesMedical\ " //Candidato a parámetro
&archivo.Source = trim(&directorioLocal) + trim(&nombreArchivoIco)
&RutaDelPdf = &archivo.Source.ToString()
//&res = FILEEXIST(&archivo)
if &archivo.Exists()
&informe = loadbitmap("PostPdf.png")
&informe.Tooltiptext = "PDF Generado"
&pdf = 1
else
&informe = loadbitmap("prepdf.png")
&informe.Tooltiptext = "PDF Generado"
&pdf = 0
endif
Do 'GuardarFiltros'
EndEvent





Event 'word'
if &Informado = 0 /*******************************************SIN INFORMAR*/
msg("Informe sin realizar")
else /************************************************************EN EL CASO DE QUE ESTÉ INFORMADO**/

for each
where Dicom_estuid = trim(UIdEstudio)
&PAC = Dicom_pac
endfor
&PathInformesMedical = "D:\Program Files (x86)\VM MEDICAL WORKSTATION\Informes" //SIN LA BARRA DEL FINAL YA QUE LA PONE LA CLASE EXTERNA
&CarpetaDestino = "InformesMedical" //SIN LA BARRA DEL FINAL YA QUE LA PONE LA CLASE EXTERNA y SIN BARRA DEL PRINCIPIO

if &Informado = 4 //Para ponerle la marca de agua
&Finalizado = 0
endif

if &Informado = 1 or &Informado = 2 //Para no ponerle la marca de agua
&Finalizado = 1
endif

&NombreInforme = trim(&PAC) + "_" + trim(UIdEstudio)

if &pdf = 0 /********************************************************************* para generar el PDF*/



&urlGeneradorPdf = &Session.Get('url')

&urlGeneradorPdf += "Doc2Pdf?Informe=" + trim(&NombreInforme) + "&Origen=" + trim(&PathInformesMedical) + "&Destino=" + trim(&CarpetaDestino) + "&Finalizado=" + trim(str(&Finalizado))

word.Source = &urlGeneradorPdf
word.Height = 600
word.Width = 600
//&res = sleep(7)
Do 'GuardarFiltros'

Call(HPruebas, &urlGeneradorPdf)
else /************************************************************************** para visualizar el pdf*/

&urlVisualizadorPdf = &Session.Get('url')
&urlLimpia = strReplace(&urlVisualizadorPdf, "/servlet/", "")

if &Finalizado = 0
&pathPDF = trim(&urlLimpia) + "/" + trim(&CarpetaDestino) + "/" + trim(&NombreInforme) + "Preliminar.pdf"
else
&pathPDF = trim(&urlLimpia) + "/" + trim(&CarpetaDestino) + "/" + trim(&NombreInforme) + ".pdf"
endif

&pathPDF = StrReplace(&pathPDF, " ", "%20")

Do 'MostrarInforme'

endif//Distingue entre generar y visualizar

endif //Distingue entre Sin Informar e Informado y Preinformado

EndEvent // 'word'


Sub 'MostrarInforme'
pdf.Caption = '<script language="JavaScript" type="text/javascript">' + newline()
pdf.Caption += 'window.open("' + &pathPDF + '");' + newline()
pdf.Caption += "</script>"
Endsub

Event 'audio' //Hsonido quedará obsoleto

&PathArchivoAudioMedical = "D:\Program Files (x86)\VM MEDICAL WORKSTATION\Audio\MACIAS ROSA_1.2.840.113619.2.3.274.4073.2008.1.31.13158.wav"

&PathArchivoDestinoEnRis = "C:\Program Files (x86)\Apache Software Foundation\Tomcat 5.0\webapps\HIS\AudioInformes\AudiosDelMedical"
&PathArchivoDestinoEnRis2 = '"C:\Program Files (x86)\Apache Software Foundation\Tomcat 5.0\webapps\HIS\AudioInformes\AudiosDelMedical\"'

&directorioDestinoRis.Source = &PathArchivoDestinoEnRis

if not &directorioDestinoRis.Exists()
&directorioDestinoRis.Create()
endif

&barra = "\ "
&barra2 = strreplace(&barra, " ", "")

&fileOrigen.Source = &PathArchivoAudioMedical
&rutaCopiado = &PathArchivoDestinoEnRis + &barra2 + trim(UIdEstudio) + ".wav"
&fileOrigen.Copy(&rutaCopiado)

&fileOrigen.Source = &PathArchivoDestinoEnRis + &barra2 + trim(UIdEstudio) + ".wav"
if not &fileOrigen.Exists()
msg("El fichero no se ha copiado correctamente")
endif

//YA LO TENGO COPIADO EN LA RUTA DE DESTINO, AHORA SÓLO TENGO QUE LLAMAR AL REPRODUCTOR PARA QUE LO REPRODUZCA

&rutaGuardado = "AudioInformes" + '/' + "AudiosDelMedical"
&urlReproductor = &Session.Get('url')
reproductor.Visible = 1
reproductor.Height = 0
reproductor.Width = 0
&urlLimpia = StrReplace(&urlReproductor, "/servlet", "")
//Hay que ponerle la extensión porque el applet no la reconoce si no.
//paginaReproductor.Source = &urlLimpia + "MostrarReproductor.html?IdentificadorInforme=" + trim(str(&InformesId)) + ".wav" + "&Guardado=" + trim(&rutaGuardado) + "&ServidorGuardado=" + &urlLimpia
reproductor.Source = &urlLimpia + "MostrarReproductor.html?IdentificadorInforme=" + trim(UIdEstudio) + ".wav" + "&Guardado=" + trim(&rutaGuardado) + "&ServidorGuardado=" + &urlLimpia


EndEvent // 'audio'

Event 'turno'
&link=Link(HMuestraTurno,TurnoId,0)

mensaje.Caption = '<script type=text/javascript>'
mensaje.Caption += ' GB_show('+"'Muestra Turno',"+"'"+Link(&link)+"'"+', 630, 920)'
mensaje.Caption += '</script>'
EndEvent // 'turno'

Event 'imagen'
For Each
Where ParametrosId=29
&MWL=val(ParametrosValor)
EndFor

If &MWL=1
&MWL_UiDeEstudio=UIdEstudio

If &MWL_UiDeEstudio<>NULLValue(&MWL_UiDeEstudio)
&control=1
EndIf
//Call(PControlImagen,TurnoId,EstudioId,&control,&MWL_UiDeEstudio)

If &control=1

For Each
Where ParametrosId=2012
&WebServer=trim(ParametrosValor)
EndFor

//&url="http://"+trim(&WebServer)+"/vm-pacs-connector/viewer.jnlp?studyUID="+trim(&MWL_UiDeEstudio)+"&usuario=ris123&grupo=SUPERUSER&host="+trim(&WebServer)+"&tipo=VISUALIZADOR&modalidad=VM-"
//msg(&url)

//WebServer.Source="http://vmwebserver.visualmedica.com:8080/vm-pacs-connector/viewer.jnlp?studyUID=1.2.840.113619.2.55.1.1762893027.2199.1320959237.480&usuario=ris123&grupo=SUPERUSER&host=vmwebserver.visualmedica.com&tipo=VISUALIZADOR&modalidad=VM-"
WebServer.Source="http://"+trim(&WebServer)+"/vm-pacs-connector/viewer.jnlp?studyUID="+trim(&MWL_UiDeEstudio)+"&usuario=ris123&grupo=SUPERUSER&host="+trim(&WebServer)+"&tipo=VISUALIZADOR&modalidad=VM-"
WebServer.Height=0
WebServer.Width=0

Else
For each
Where MensajeId=165
&MensajeId=MensajeId
&cartel=MensajeTipo
&Linea1=MensajeLinea1
&Linea2=MensajeLinea2
&Linea3=MensajeLinea3
EndFor
mensaje.Caption = '<script src="../images/js/impromptu.js" type="text/javascript" language="javascript" charset="utf-8"></script>'+NewLine()
+'<link href="../images/js/example.css" media="screen" rel="stylesheet" />'+NewLine()
+'<script>'+NewLine()
+"$.prompt('<p valing=middle style=font-size:1.5em;>"+trim(&Linea1)+" - "+trim(str(&MensajeId))+"</p><p style=font-size:1.3em;>"+trim(&Linea2)+"</p><p style=font-size:1.1em;>"+trim(&Linea3)+"</p>',{"+NewLine()
+'});'+NewLine()
+'</script>'
EndIf
Else

For each
Where MensajeId=220
&MensajeId=MensajeId
&cartel=MensajeTipo
&Linea1=MensajeLinea1
&Linea2=MensajeLinea2
&Linea3=MensajeLinea3
EndFor
mensaje.Caption = '<script src="../images/js/impromptu.js" type="text/javascript" language="javascript" charset="utf-8"></script>'+NewLine()
+'<link href="../images/js/example.css" media="screen" rel="stylesheet" />'+NewLine()
+'<script>'+NewLine()
+"$.prompt('<p valing=middle style=font-size:1.5em;>"+trim(&Linea1)+" - "+trim(str(&MensajeId))+"</p><p style=font-size:1.3em;>"+trim(&Linea2)+"</p><p style=font-size:1.1em;>"+trim(&Linea3)+"</p>',{"+NewLine()
+'});'+NewLine()
+'</script>'
EndIf
EndEvent // 'imagen'

Event 'estudios_anteriores'
For Each
Where ParametrosId=29
&MWL=val(ParametrosValor)
EndFor

If &MWL=1
Call(PControlImagen,TurnoId,EstudioId,&control,&MWL_UiDeEstudio)

If &control=1
&link=Link(HWebServer,TurnoId,EstudioId,2)

mensaje.Caption = '<script type=text/javascript>'
mensaje.Caption += 'ventana=window.open( " '+link(&link)+'", "WebServer", "width=1200, height=650,left=10,top=10, toolbar = no, location = no, directories = no, status = yes, menubar = no, scrollbars = yes, resizable = yes, copyhistory = no");'
mensaje.Caption += 'ventana.focus();'
mensaje.Caption += 'function keepFocus() { if (ventana && ventana.focus) ventana.focus(); } setTimeout("keepFocus()", 500);'
mensaje.Caption += '</script>'
Else
//msg("estudio sin imágenes")
For each
Where MensajeId=166
&MensajeId=MensajeId
&cartel=MensajeTipo
&Linea1=MensajeLinea1
&Linea2=StrReplace(MensajeLinea2,"&var",PacienteAlias)
&Linea3=MensajeLinea3
EndFor

mensaje.Caption = '<script src="../images/js/impromptu.js" type="text/javascript" language="javascript" charset="utf-8"></script>'+NewLine()
+'<link href="../images/js/example.css" media="screen" rel="stylesheet" />'+NewLine()
+'<script>'+NewLine()
+"$.prompt('<p valing=middle style=font-size:1.5em;>"+trim(&Linea1)+" - "+trim(str(&MensajeId))+"</p><p style=font-size:1.3em;>"+trim(&Linea2)+"</p><p style=font-size:1.1em;>"+trim(&Linea3)+"</p>',{"+NewLine()
+'});'+NewLine()
+'</script>'
EndIf

Else
For each
Where MensajeId=220
&MensajeId=MensajeId
&cartel=MensajeTipo
&Linea1=MensajeLinea1
&Linea2=MensajeLinea2
&Linea3=MensajeLinea3
EndFor
mensaje.Caption = '<script src="../images/js/impromptu.js" type="text/javascript" language="javascript" charset="utf-8"></script>'+NewLine()
+'<link href="../images/js/example.css" media="screen" rel="stylesheet" />'+NewLine()
+'<script>'+NewLine()
+"$.prompt('<p valing=middle style=font-size:1.5em;>"+trim(&Linea1)+" - "+trim(str(&MensajeId))+"</p><p style=font-size:1.3em;>"+trim(&Linea2)+"</p><p style=font-size:1.1em;>"+trim(&Linea3)+"</p>',{"+NewLine()
+'});'+NewLine()
+'</script>'
EndIf
EndEvent // 'estudios_anteriores'

Event 'medical'
For Each
Where ParametrosId=29
&MWL=val(ParametrosValor)
EndFor
If &MWL=1
/*
For Each
Where MWL_TurnoId=TurnoId
Where MWL_IdEstudio=str(EstudioId)
&MWL_UiDeEstudio=trim(MWL_UiDeEstudio)
&MWL_IdPaciente=trim(MWL_IdPaciente)
EndFor
*/
&MWL_UiDeEstudio=UIdEstudio

For Each
Where ParametrosId=2016
&PathMedical=ParametrosValor
EndFor

&MWL_UiDeEstudio="R.I.S."+&MWL_UiDeEstudio


//msg(&PathMedical)
//msg(&MWL_UiDeEstudio)

&SucurUrl=&Session.Get('url')

&SucurUrl=strreplace(&SucurUrl,"servlet/","")

pagina2.Source=trim(&SucurUrl)+"AppletRIS.html?dir="+&PathMedical+"&id="+&MWL_UiDeEstudio
pagina2.Height=0
pagina2.Width=0

/*
Mensajes.Caption= "<APPLET CODE='appletris.RIS' ARCHIVE ='../images/AppletRIS.jar' WIDTH=0 HEIGHT=0>"
Mensajes.Caption+= "<PARAM NAME='dir' VALUE='"+&PathMedical+"'>"
Mensajes.Caption+= "<PARAM NAME='id' VALUE='"+&MWL_UiDeEstudio+"'>"
Mensajes.Caption+= "</APPLET>"
*/
Else
For each
Where MensajeId=220
&MensajeId=MensajeId
&cartel=MensajeTipo
&Linea1=MensajeLinea1
&Linea2=MensajeLinea2
&Linea3=MensajeLinea3
EndFor
mensaje.Caption = '<script src="../images/js/impromptu.js" type="text/javascript" language="javascript" charset="utf-8"></script>'+NewLine()
+'<link href="../images/js/example.css" media="screen" rel="stylesheet" />'+NewLine()
+'<script>'+NewLine()
+"$.prompt('<p valing=middle style=font-size:1.5em;>"+trim(&Linea1)+" - "+trim(str(&MensajeId))+"</p><p style=font-size:1.3em;>"+trim(&Linea2)+"</p><p style=font-size:1.1em;>"+trim(&Linea3)+"</p>',{"+NewLine()
+'});'+NewLine()
+'</script>'
EndIf
EndEvent // 'medical'

Event 'P_Medico'

For Each
Where ParametrosId=2014
&PathCliente=trim(ParametrosValor)
EndFor

For Each
Where ParametrosId=2015
&PathScaneo=trim(ParametrosValor)
EndFor

For Each
Where ParametrosId=2024
&extension=trim(ParametrosValor)
EndFor

//&PathScaneo=trim(&PathScaneo)+trim(str(TurnoId))+".bmp" //Ahora en .jpg
&PathScaneo=trim(&PathScaneo)+trim(str(TurnoId))+trim(&extension)
&PathCliente=trim(&PathCliente)+trim(str(TurnoId))+trim(&extension)
//msg(&Path)

&Existe=FILEEXIST(&PathScaneo)

If &Existe=1
/*
//Scanner.Caption= "<APPLET CODE='MostrarImprimir.MostrarImprimir' ARCHIVE ='../images/mostrarimprimir.jar' WIDTH=0 HEIGHT=0>"
Scanner.Caption= "<APPLET CODE='MostrarImprimir.MostrarImprimir' ARCHIVE ='../images/mostrarimagen.jar' WIDTH=0 HEIGHT=0>"
//Scanner.Caption+= "<PARAM NAME='dir' VALUE='C:/scan.bmp'>"
Scanner.Caption+= "<PARAM NAME='dir' VALUE='"+&PathCliente+"'>"
Scanner.Caption+= "</APPLET>"
*/
&SucurUrl=&Session.Get('url')

&SucurUrl=strreplace(&SucurUrl,"servlet/","")
pagina1.Source=trim(&SucurUrl)+"mostrarimprimir.html?variable="+&PathCliente
pagina1.Height=0
pagina1.Width=0
Else
For each
Where MensajeId=192
&MensajeId=MensajeId
&cartel=MensajeTipo
&Linea1=MensajeLinea1
&Linea2=MensajeLinea2
&Linea3=MensajeLinea3
EndFor
mensaje.Caption = '<script src="../images/js/impromptu.js" type="text/javascript" language="javascript" charset="utf-8"></script>'+NewLine()
+'<link href="../images/js/example.css" media="screen" rel="stylesheet" />'+NewLine()
+'<script>'+NewLine()
+"$.prompt('<p valing=middle style=font-size:1.5em;>"+trim(&Linea1)+" - "+trim(str(&MensajeId))+"</p><p style=font-size:1.3em;>"+trim(&Linea2)+"</p><p style=font-size:1.1em;>"+trim(&Linea3)+"</p>',{"+NewLine()
+'});'+NewLine()
+'</script>'
EndIf
EndEvent // 'P_Medico'

Sub 'CargarFiltros'
If (&HTTPRequest.Method = HttpMethod.Get)
// Load grid state from session.
&GridState.FromXml(&Session.Get(&PgmName + !"Filtros"))



If &GridState.FilterValues.Count >= 6
&EstudioId.FromString(&GridState.FilterValues.Item(1).Value)
&TurnoId.FromString(&GridState.FilterValues.Item(2).Value)
&FechaTurnoDesde.FromString(&GridState.FilterValues.Item(3).Value)
&FechaTurnoHasta.FromString(&GridState.FilterValues.Item(4).Value)
&PacienteApellido.FromString(&GridState.FilterValues.Item(5).Value)
&PacienteNombres.FromString(&GridState.FilterValues.Item(5).Value)

EndIf

EndIf
EndSub

Sub 'GuardarFiltros'
// Save current page in session.
&GridState.FromXml(&Session.Get(&PgmName + !"Filtros"))
&GridState.FilterValues.Clear()

&GridStateFilterValue = new GridState.FilterValue()
&GridStateFilterValue.Value =&EstudioId.ToString() //1 -> EstudioId
&GridState.FilterValues.Add(&GridStateFilterValue)

&GridStateFilterValue = new GridState.FilterValue()
&GridStateFilterValue.Value =&TurnoId.ToString() //2 -> TurnoId
&GridState.FilterValues.Add(&GridStateFilterValue)

&GridStateFilterValue = new GridState.FilterValue()
&GridStateFilterValue.Value =&FechaTurnoDesde.ToString() //3 -> FechaTurnoDesde
&GridState.FilterValues.Add(&GridStateFilterValue)

&GridStateFilterValue = new GridState.FilterValue()
&GridStateFilterValue.Value =&FechaTurnoHasta.ToString() //4 -> FechaTurnoHasta
&GridState.FilterValues.Add(&GridStateFilterValue)

&GridStateFilterValue = new GridState.FilterValue()
&GridStateFilterValue.Value =&PacienteApellido.ToString() //5 -> PacienteApellido
&GridState.FilterValues.Add(&GridStateFilterValue)

&GridStateFilterValue = new GridState.FilterValue()
&GridStateFilterValue.Value =&PacienteNombres.ToString() //6 -> PacienteNombre
&GridState.FilterValues.Add(&GridStateFilterValue)

&Session.Set(&PgmName + !"Filtros", &GridState.ToXml())
EndSub


begin:vcard
fn:Carolina Fievet
n:Fievet;Carolina
email;internet:carol.fievet@gmail.com
tel;work:Analista Genexus
x-mozilla-html:TRUE
version:2.1
end:vcard

Con un poco de alambre todo se soluciona, pero no es de lo que más me gusta. No obstante acá os adjunto el archivo por si dais con la clave o queréis calentaros la cabeza. Mi cabecita ya no da para más. Yo mañana ya le comentaré al mi jefe el qué o no se puede hacer. El evento en el que estoy es: Event 'word'. A ver si sacáis algo en claro porque el código es algo complejo (al menos para mi)

Un saludo a todos y miles de gracias aunque ya lo tengo medio resuelto (introduciendo pasos intermedios).
Que tengáis una linda tarde!!


El 19/12/2012 03:52 p.m., Leandro Minatel escribió:
Carolina, no se si te pueda servir, pero cuando surgen este tipo de situaciones complejas, enviar el archivo por mail soluciona la mayoria de ellos....

Eso si, no te aseguro que se presenten nuevos problemas aun mas complejos....

Slds



2012/12/19 Carolina Fievet <carol.fievet@gmail.com>

La verdad es algo complejo. Tengo un servlet desarrollado en java que me genera un pdf a partir de un *.doc (para así interconectar con otra aplicación previa) y el caso es que ese servlet está en una página embebida. Después de haber generado el pdf tengo que mostrarlo por pantalla. El caso es que este proceso de generación se demora unos segundos (dependiendo del tamaño del archivo, las imágenes...), por lo que tengo que esperar a que termine de generarse para mostrarlo.
El problema es que genexus no espera a que termine de cargar la página embebida por completo, e intenta mostrarlo y me lanza un error ya que no encuentra el pdf (porque empieza a ejecutar el servlet a posteriori de hacer un submit). La opción que se me ocurrió fue hacerlo en 2 pasos (dos clicks con un único botón) de manera que con el primer click generase el pdf y con el segundo click lo mostrase, pero no me actualiza la grilla y vuelve a ejecutar el primer evento (el de generación) de nuevo.
No obstante muchísimas gracias por vuestro tiempo y sugerencias. Voy a intentar poner un webpanel de por medio que me ejecute el servlet y me cambie el estado del botón de la grilla para al siguiente click me lo pueda mostrar!!
Muchísimas gracias!! Ya os contaré qué tal!! Que tengáis un lindo día!! :-) :-P

-----------------------------------------
Para Suscribirse/Desuscribirse:
http://www.gxtechnical.com/cgi-bin/hforum.exe?2,3,30,20
Por consultas owner-java-l@gxtech.com.uy


0 Response to "Re: [java-l] Llamar a un evento como si de una subrutina se llamase"

Publicar un comentario