El sistema Gestar utiliza mucho esta función y en muchos casos, todos los selectores de cuentas y controles derivados de LookupBox dejarán de funcionar mostrando en la consola un error como el siguiente:
Como solución temporal se podrá asistir a los usuarios a que utilicen Internet Explorer, en donde la función sigue vigente.
Para solucionar definitivamente este inconveniente, deberá cambiar las llamadas a esta función por window.open. pasándole un nombre de ventana y un alto y un ancho a la ventana. Es obligatorio enviar un ancho y un alto, ya que de lo contrario puede que la url a abrir se abra en una nueva pestaña o del tamaño de la pantalla, haciendo que se vea incorrectamente el contenido.
Aquí se muestran ejemplos de código con el reemplazo:
'Clásica customización del control LookupBox (funcion Render) If bModal Then btnSearch.Attributes.Item("onclick") = "window.showModalDialog(crmlubtTypeUrl_" & Name & "('" & sMode & "',''), window, '');" Else btnSearch.Attributes.Item("onclick") = "window.open(crmlubtTypeUrl_" & Name & "('" & sMode & "',''), '', '');" End If 'NUEVO CODIGO: Se crea una variable para alojar las opciones de la nueva ventana Dim modalOptions modalOptions = "" If bModal Then modalOptions = "width=600,height=600" End If 'Se agrega el nombre de ventana _blank y se agregan las opciones para forzar abrir en una nueva ventana btnSearch.Attributes.Item("onclick") = "window.open(crmlubtTypeUrl_" & Name & "('" & sMode & "',''), '_blank', '" & modalOptions & "');"
Las ventanas modales podían acceder a los campos de su pantalla "padre" a través de la propiedad "window.dialogArguments". Al cambiar la apertura de la ventana por la función "window.open" ahora se deberá acceder a la ventana padre a través del objeto "window.opener" en la ventana hija
No hay comentarios:
Publicar un comentario