ir a la publicación Kurro Lopez · 27 abr, 2023 Salutic Soluciones ya tiene equipo para participar en el Hackaton de AutoML.... vamos a por todas !!!! Los que podáis, os animo a participar también
ir a la publicación Kurro Lopez · 19 abr, 2023 Voy a poner la respuesta que me han dado en el grupo general y que es una solución muy buena. Muchas gracias @Julian Matthews Hola Kurro. No estoy seguro de una función incorporada para esto, pero si quisieras tener la tuya propia: Class Demo.FunctionSets.Example { ClassMethod Format(InputString As %String, Params... As %String) As %String { Set OutputString = InputString For i = 1 : 1 : $GET(Params, 0){ Set OutputString = $Replace(OutputString,"{"_i_"}",Params(i)) } Quit OutputString } } Y entonces: Write ##Class(Demo.FunctionSets.example).Format("My name is {1} and I'm {2} years","Kurro","18") My name is Kurro and I'm 18 years Podeis ver la respuesta original en el siguiente enlace
ir a la publicación Kurro Lopez · 22 mar, 2023 El primero error me lo da cuando instalo el ZPM, y si intento incluir algun paquete me devuelve el mismo error pero no se instala nada
ir a la publicación Kurro Lopez · 20 sep, 2022 Muchas gracias, Efectivamente el problema estaba siendo originado porque la dirección al que se va a conectar es variable, por lo que no está configurado el componente con el parámetro de Server ni URL. Lo he solucionado de la siguiente forma: set ..Adapter.HTTPServer = pRequest.Url Set URL = pRequest.Url_"/search" set tHttpResponse = ##class(%Net.HttpResponse).%New() set tSC = ..Adapter.SendFormDataArray(.tHttpResponse,"POST",tHttpRequest,,,URL) if $$$ISERR(tSC) && (tHttpResponse="") $$$ThrowStatus(tSC) // Comprobamos cual es el código de respuesta set contenido = "" while (tHttpResponse.Data.AtEnd = 0) { set contenido = contenido_tHttpResponse.Data.Read() } do pResponse.%JSONImport(contenido) set pResponse.StatusCode = tHttpResponse.StatusCode Muchas gracias por la respuesta. Un saludo,Kurro Lopez
ir a la publicación Kurro Lopez · 25 jul, 2022 Gracias Pierre-Yves, Hice la recompilación pero no dio resultado, al final pudimos acceder al servidor donde estaba alojado y reinstalamos el WebTerminal descargandolo de la página oficial. Ya nos han advertido que no vamos a tener tanta suerte la próxima vez, porque no tenemos acceso al servidor donde está desplegado. Muchas gracias de nuevo
ir a la publicación Kurro Lopez · 27 abr, 2022 Al final no era un problema de firewall. El problema era que la instalación no compiló correctamente el código. No tomó la versión de ISC correctamente. Estoy usando la versión WebTerminal-v4.9.3, en la linea 1507 hay una inicialización del parámetro iscProductVersion <Parameter name="iscProductVersion"> <Description> In older Cache versions, method "GetISCProduct" does not exists</Description> <Expression>$case( ##class(%Dictionary.CompiledMethod).IDKEYExists("%SYSTEM.Version", "GetISCProduct"), 1: $CLASSMETHOD("%SYSTEM.Version", "GetISCProduct"), : 2 )</Expression> </Parameter> Después, en la linea 1611, comprueba cuál es la versión para asignar el role requerido: set requiredRole = $case(..#iscProductVersion >= 4, 1: "%DB_IRISSYS", : "%DB_CACHESYS") Pero, si compruebo cuál es mi versión, la respuesta es 3, en lugar de 4, por lo que está intentando asignar %DB_CACHESYS en lugar de %DB_IRISSYS, por lo que la compilación no termina. w ##class(%SYSTEM.Version).GetISCProduct() 3 Entonces, he modificado el fichero y cambiado la comparación ..#iscProductVersion para que compruebe si es mayor o igual a 3, y funciona. En la linea 1730, hay otra comparación para definir el dbPrefix, por lo que he cambiado esta linea también. set dbPrefix = $case(..#iscProductVersion >= 3, 1: "IRIS", : "CACHE") Ahora, tengo Webterminal funcionando bien. Nota: Estoy usando IRIS for Windows (x86-64) 2021.1 (Build 215U) Wed Jun 9 2021 09:39:22 EDT Saludos,Francisco Lopez
ir a la publicación Kurro Lopez · 21 abr, 2022 Gracias nuevamente por puntualizar estas cosas, así podemos planificar con mas eficacia la migración del servidor.
ir a la publicación Kurro Lopez · 21 abr, 2022 Muchas gracias Pierre-Yves, Entonces, para nuestro servidor de desarrollo lo mejor sería hacer lo siguiente: Crear los Namespaces en IRIS para que genere la estrcutura tal y como lo tenemos ahora en Ensemble (directorios, etc...) Parar las BBDD de modo seguro en Ensemble Parar las BBDD de modo seguro en IRIS Copiar los ficheros CACHE.DAT en los directorios que hemos creado en IRIS Renombrar CACHE.DAT por IRIS.DAT Levantar las BBDD de IRIS para que carguen las nuevas Revisar los mapeos de librerías (si los tiene) Disfrutar de IRIS como debe ser Muchas gracias por tu ayuda, me ha sido de gran utilidad. Ya contaré que tal ha ido la migración... son 15 namespaces a migrar, así que con paciencia y buena letra. Un saludo,Kurro