Pregunta Kurro Lopez · dic 16, 2025

Hola a todos.

Tengo una duda con respecto a la prioridad a la hora de aplicar una configuración por defecto.

Tengo unos Business Services que utilizan la misma clase, por lo que quiero que todos ellos tengan una configuración de "Schedule" común.

Pero hay uno de ellos que no quiero que se le aplique esta configuración por defecto, por lo que he intentado ponerle el valor vacío de Schedule para ese elemento por el nombre:

En este caso, tengo los elementos que utilicen la clase Kurro.BS.SFTP.Marca tengan por defecto el valor CargaFicheros

Pero uno de los elementos (Kurro.BS.SFTP.

1
0 32
InterSystems Developer Community is a community of 26,276 amazing developers
¡Somos un lugar donde los programadores de InterSystems IRIS aprenden y comparten, se mantienen actualizados, crecen juntos y se divierten!
Pregunta Jaume Marcet · nov 5, 2025

Tengo el siguiente código, con el que pretendo enviar el fichero pepe.XML que está en mi directorio C:\TEMP:

 httprequest=##class(%Net.HttpRequest).%New()
 httprequest.Username="dfgsdgsd"
 httprequest.Password="sdfbnnb"
 httprequest.Port=2222
 httprequest.Server="https://app.net
 httprequest.SetParam("API-Key","jh2871371naou1b82397"
 httprequest.SetParam("content-type", "application/xml"
 httprequest.Post("C:\TEMP\pepe.XML",2)
 response=httprequest.HttpResponse
 !,response
(Los datos no son reales.

4
0 83
Pregunta Kurro Lopez · oct 21, 2025

Hola comunidad,

Tengo un servicio que utiliza EnsLib.RecordMap.Service.FTPService para capturar ficheros en un directorio FTP.

Necesitaría que en lugar de cargarlos todos a la vez, los hiciera de uno en uno.

Tengo una clase que extiende de esta clase porque hace procesos previos, lo guarda todo en la clase RecordMap y luego los procesa todos los registros a la vez.

Cuando invoco al BP, lo hace a través del método set tStatus = ..SendRequest(message, 1)

He puesto el flag SynchronousSend = 1, pero sigue procesando todos a la

4
0 79
Pregunta Laura Blázquez García · oct 6, 2025

Antes cada vez que salía un error del estilo:

Unknown status code: 9 (<UNDEFINED>,ztoken+57^test.OAuth.1,)

Podíamos abrir el Studio, la clase en cuestión que había dado error, hacer click en el icono  y en el buscador poner ztoken+57:

Y esto nos llevaba exactamente a la línea que estaba dando el error:

Ahora que trabajamos desde VSCode, hay alguna forma de hacer esto? Sino, qué alternativa tendríamos?

1
0 83
Pregunta Kurro Lopez · mayo 28, 2025

Hola comunidad,

Me preguntaba si sería posible usar algo como EnsLib.SQL.InboundAdapter con tablas en IRIS.

Esta biblioteca monitoriza cuándo se inserta un registro en una tabla de una base de datos externa, por lo que requiere un DSN para conectarse a dicha base de datos.

Mi objetivo es realizar una llamada a una API externa que tarda mucho tiempo, podría tardar casi una hora (o más) en completar sus procesos, pero no quiero bloquear el proceso principal.

4
0 53
Pregunta Laura Blázquez García · abr 24, 2025

Hola!

Recientemente he estado probando a crear nuestro propio repositorio de paquetes con IPM. He podido crearlo sin problemas, y he visto que, al final, nuestro repositorio IPM no deja de ser una instancia de IRIS. En el ejemplo del que he partido, utiliza la versión community. Y mi pregunta es,  para tener nuestro repositorio disponible para toda la compañía, ¿podemos seguir con la versión community, o debe ser una versión enterprise con licencia?

Y ya que estoy, ¿hay alguna forma de saber qué paquetes se han descargado, y por quién?

Muchas gracias!

5
0 78
Pregunta Laura Blázquez García · ene 21, 2025

Tengo una tabla con un campo TimeStamp. Necesito crearle un índice para mejorar la ejecución de consultas. Pero estoy dándole vueltas a cuál podría ser la mejor opción.

Había pensado en separar el campo TimeStamp en dos campos: Date y Hour, siendo este último un campo Integer que solo almacene la hora, ya que las búsquedas, en realidad, se hacen o solo por fecha, o por fecha y hora, sin contar minutos ni segundos. A estos dos nuevos campos le puedo poner un índice de tipo bitmap, al TimeStamp no.

5
0 170
Pregunta David Robson · dic 23, 2024

Hola a todos,

Estoy buscando alguna herramienta que se pueda utilizar como base para crear una interfaz que permita a un usuario no técnico reenviar mensajes de manera sencilla. La idea es que el usuario pueda encontrar un mensaje HL7 ya enviado y reenviarlo modificando campos específicos del mensaje sin necesidad de tener ningún conocimiento técnico.

Un ejemplo sería algo similar al buscador de Ensemble, pero con un enfoque menos técnico y mucho más intuitivo y que solo permita cambiar 1 o 2 campos. ¿Existe alguna solución en la comunidad o algo que pueda adaptar para este propósito?

2
0 75
Pregunta Bernabé Martín · dic 21, 2024

Saludos Comunidad,

Soy consciente que mis preguntas son irrelevantes en una Comunidad de especialistas en últimas tecnologías.

Estoy jubilado hace tiempo, ya tengo unos años a la espalda, pero sigo utilizando mis antiguos conocimientos para mantener la mente funcionando y hacer mis personales “programillas”, en argot antiguo, y mantener mis bases de datos antiguas.

Sé que inevitablemente he de pasar a IRIS, ya que mi versión 5.2 de Cache caduca en 2030, por ello me he puesto manos a la obra, NO tengo ganas de pasar mis antiguos programas a la nueva tecnología.

1
0 127
Pregunta Cesar Ferre Arasa · dic 5, 2024

Esta pregunta apareció originalmente en los comentarios del post: Cómo instalar Apache en sistemas operativos compatibles con IRIS
 

Buenas

Primero que nada saludos, hace tiempo que no nos vemos...

Estoy instalando Iris 2024.3 sobre un Iris 2023.1, en un servidor Windows Server, con la novedad que se elimina el private web server.

De entrada ya no se detecta que el servidor Apache 2.4 en el upgrade a 2024.

2
0 99
Pregunta Kurro Lopez · oct 18, 2024

Hola a todos,

Tenemos una restricción en una base de datos de SQL con un índice único.

Queremos capturar la excepción cuando intenta insertar o actualizar un valor que incumpla la condición del índice único.

// run the query
Set tSC = ..Adapter.ExecuteUpdateParmArray(.nrows,SQL,.param)

// Check if there is any error
If $$$ISERR(tSC)
{
	Set msgError = $System.Status.GetErrorText(tSC) 
	// Check here if the native error code is 2601 (Cannot insert duplicate key row into object 'MYPATIENTS' with unique index 'UQ_UNIQUE_INDEX')
	??????
}

He intentado capturar el valor de .

1
0 78
Pregunta Daniel Aguilar · jul 10, 2024

Buenas tardes,

Estoy intentando arrancar una instancia de la Community Edition con Docker y me da el siguiente error. 

He probado a descargar directamente el template de object-script del OpenExchange, pero me pasa siempre una de estas dos cosas:

 

1 - Se queda iniciando eternamente

[+] Building 147.
3
0 204
Pregunta Enric Moya Sánchez · jun 14, 2024
Buenos dias
Cuando ejecuto algun comando en el webterminal que tiene mucha salida (por ejemplo zw ^IRIS.Msg), el comando se ejecuta bien pero el webterminal se queda en negro durante mucho rato (15 minutos) hasta que me da la salida.
Supongo que es algo de que le cuesta dar todo el texto a traves de la web, ya que el comando en sí tarda muy poco en ejecutarse.

¿Alguien más con este problema, alguna solucion?

Gracias

4
0 257
Pregunta Abel Magana · mayo 29, 2024

Tengo un sistema Scada iFIX que soporta VBA comunicando con IRIS mediante sockets. En el entorno VBA del iFIX empleo el control MSWINSCK.OCX que funciona perfectamente con la versión antigua del iFIX. Al querer pasar a la nueva versión de iFIX este control ya no me funciona, es por eso que quiero intentar solucionar el problema comunicando directamente con el OPC que está debajo del iFIX. La idea es mandarle un bit 1 desde IRIS cuando actualizo unos datos, el OPC debería recibirlo en un TAG y el iFIX podría leer del OPC ese bit.

2
0 146
Pregunta Yone Moreno · mayo 21, 2024

Buenos días, 🙂

Me gustaría plantear una duda, que tiene que ver cómo gestionar %GlobalCharacterStream que representan JSONS.

Gracias por leer esta cuestión, gracias por su ayuda, y gracias por su tiempo y atención.

En concreto, en un cierto Proceso, estábamos consultando a 2 Operaciones, cuya respuesta convertíamos a una Property llamada informesAutorizadosRangoFechas la cual es %GlobalCharacterStream cuyo contenido es un JSON con la misma estructura.

2
0 140
Pregunta Saul Perez · abr 24, 2024

Estoy intentando realizar una conexión a una base de datos de SQLServer, pero recibo este error:

ERROR <Ens>ErrOutConnectFailed: JDBC Connect failed for 'SQLEmails' (jdbc:sqlserver://;serverName=nombredelservidor.es;databaseName=DKVMAIL_PRE) / 'SQLSeverDKVMAIL_PRE' with error ERROR #5023: Remote Gateway Error: JDBC Gateway connection failed for jdbc:sqlserver://;serverName=nombredelservidor.es;databaseName=DKVMAIL_PRE error: Remote JDBC error: com.microsoft.sqlserver.jdbc.

2
0 149
Pregunta Kurro Lopez · abr 10, 2024

Hola comunidad,

Estoy llamando a una API que está devolviendo el contenido de un fichero como Content del response. Estoy capturando el binariu pero necesito convertir este Stream a uan cadena Base64.

Estoy intentando convertir un %Stream.GlobalBinary a Base64 usando el siguiente código, pero no funciona.

do stream1.Rewind()
set response = ""
while 'stream1.AtEnd {
    set temp=stream.Read(4000)
    set temp=$systemEncryption.
1
0 177
Pregunta Miguel Ángel Jiménez Santana · ene 29, 2024

Buenos días.

Queremos distribuir y proporcionar desarrollos, para Partners y Clientes, con los puedan configurar sus producciones creando Operaciones y Servicios de Negocio basados en Clases Base que ya hemos desarrollado y empaquetado, ellos luego podrán incluir sus propios mapeos, rutas y demás en sus producciones, pero sin poder acceder a la implementación de esas clases base que nosotros proporcionamos. Sería el equivalente a ofrecer una librería con objetos compilados en C y el archivo .H con sus interfaces, pero no el código.

12
1 375
Pregunta Laura Blázquez García · mar 1, 2024

Estoy utilizando RestForms2 para disponer de una API Rest sobre unas tablas de forma rápida.

El caso es que he añadido un trigger a las tablas para que, cada vez que se inserte/actualice/borre un registro, registre en una tabla de históricos los cambios, pudiendo ver el valor original y el nuevo de cada propiedad.

Pero el trigger solamente salta si la inserción se realiza mediante SQL. No salta creando un nuevo objeto.

Quería cambiar la definición del trigger, pero no se me ocurre cómo.

2
0 189
Pregunta Kurro Lopez · feb 12, 2024

Hola a todos,

Como sabéis, es muy complicado depurar una API Rest de Business Service porque el objeto se crea cuando las aplicaciones reciben una solicitud, por lo que no podemos tener el JobId que podemos usar para depurar.

https://docs.intersystems.com/iris20211/csp/docbook/DocBook.UI.Page.cls…

Entonces, estoy tratando de obtener el JobId cuando se crea la clase, escribir una traza en el método OnInit() y escribir el JobId en es traza.

Method OnInit() As %Status
{
	$$$LOGINFO("JobId: "_$JOB)
	hang 20 break
	Quit .
2
0 265
Pregunta Kurro Lopez · feb 7, 2024

Hola comunidad,

Si, ya sé que hay otra pregunta con el mismo problema "VS Code - debugging doesn't work", pero mi instancia de IRIS no está usando IIS.

Hace tiempo, podía depurar sin problemas, pero después de algunas actualizaciones de Visual Studio, tengo el siguiente error

Failed to start the debug session. Check that the Intersystems server's web server supports WebSockets

He activado el protocolo WebSocket en el servidor (Windows Server 2019) pero sigue sin funcionar.

La instancia de IRIS no está usando IIS, creo que está usando el Apache por defecto.

¿Necesito hacer algo en especial?

2
0 178
Pregunta Kurro Lopez · ene 31, 2024

Hola comunidad.

Hemos desarrollado una nueva versión de una producción, todo el código es nuevo y ha cambiado BP. Esta aplicación carga información para algunas marcas y la almacena en la base de datos.

El cliente quiere implementar los cambios solo para algunas marcas porque quiere verificar las marcas pequeñas antes de implementarlos para todas las marcas.

Mi propuesta es crear un nuevo namespace, con el nuevo código, y deshabilitar todas las marcas excepto la marca que quiere probar.

Me pregunto cuál es la mejor manera de clonar el namespace.

6
0 226
Pregunta Jose-Tomas Salvador · oct 21, 2022

Buenos días, tardes, noches,... wink

Una pequeña reflexión/pregunta para hoy... es una realidad que las nuevas versiones de IRIS for Health son cada vez más potentes en cuanto a capacidades FHIR. Permiten consumir recursos FHIR con extrema facilidad, podemos crear conexiones con end-points de servidores FHIR externos muy facilmente y hacer que IRIS actúe de passthrough o que consuma esos recursos... o, más aún, podemos definir y poner en funcionamiento un repositorio FHIR, literalmente, en menos de 5 minutos.

Sin embargo, hay una cosa que echo en falta en proyectos de tipo FHIR Façade, cuando tenemos que implementar una capa FHIR sobre un sistema que "no habla" FHIR. Se trata de la posiblidad de tener ayuda en nuestro IDE (Studio o VS Code) a la hora de codificar la lógica que crearía el o los objetos dinámicos (%DynamicObject) que representan los recursos FHIR que queremos definir...

3
0 137
Pregunta Lorenzo Scalese · jun 14, 2023

¡Hola!

Me gustaría encontrar programáticamente todas las clases que no están actualizadas en un namespace.

Con IRIS Studio, podemos ver el signo "+", pero no sé cómo hacerlo con un script.

Set sql = "SELECT ID, Name FROM %Dictionary.ClassDefinition WHERE NOT ID %STARTSWITH ?"
Set params($Increment(params)) = "%"
Set tResult = ##class(%SQL.Statement).%ExecDirect(, sql, params...)

If (tResult.%SQLCODE'=0)&&(tResult.%SQLCODE'=100) Set sc = $$$ERROR($$$SQLError, tResult.%SQLCODE, tResult.%Message) Quit sc

While tResult.%Next() {
    // if class not up to date ??
}

¿Alguien tiene alguna idea?

1
0 103