¿Alguien sabe si hay una manera fácil de saber si la ejecución del comando $ System.SQL.PurgeForTable ha ido bien / mal?

La documentación describe que se devuelve un string, pero de hecho hay un bonito Quit "" en el código.

¿Quizás dentro de PurgeForTable ^% apiSQL hay alguna variable de proceso establecida cuando va bien / mal?

¡Muchas gracias!

0 3
0 141
Pregunta
· 7 feb, 2024
Error depurando desde VS

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

0 2
0 141

He definido una clase con una propiedad de objeto dinámico:

Mi clase

El problema que me encuentro es que si la longitud de una propiedad json serializada es de más de 3641144 símbolos, el objeto no puede guardarla, con el siguiente error (MAXSTRING o STRINGSTACK):

Length: 100 Result: OK
Length: 3641143 Result: OK
Length: 3641144 Result: OK
Length: 3641145 Result: ERROR #5002: ObjectScript error: <MAXSTRING>%GetSerial+1^%Library.DynamicAbstractObject.1
Length: 7282288 Result: ERROR #5002: ObjectScript error: <STRINGSTACK>%GetSerial+1^%Library.DynamicAbstractObject.1

¿Hay algún método alternativo? Necesito almacenar jsons relativamente grandes (10-15 Mb) y las propiedades de objetos dinámicos permiten un acceso muy práctico.

$ZSTORAGE está establecido en -1.

0 2
0 140
Hola a todos,
Acabamos de migrar al nuevo servidor IRIS 2021.2 todas nuestras producciones en un servidor de desarrollo. Es un Windows 2019 Server.
He instalado Webterminal para tener una buena conexión al servido de forma remota, pero está lanzando el siguiente mensaje de error:
1 1
0 140

Recientemente me encontré con un HS Caché que no arranca informando que la Collation 30 no está disponible, pero no he encontrado una manera fácil de saber qué colación es 30.

Ejecutando el siguiente comando devuelve las Collations de la locale actual, pero no de todas ellas

Set Rset = ##class(%ResultSet).%New("%Library.Collate:CollationList")

d Rset.Execute()

While (Rset.Next()) {zw Rset.Number_": "_Rset.Name}

Gracias

0 1
0 136

Hola a todos,

Me pregunto si es posible llamar a un BO desde una enrutador HL7 de acuerdo con un parámetro del mensaje HL7

Quiero decir,

De acuerdo con la identidad del laboratorio, quiero llamar a otro proceso TCP para recuperar información sobre análisis de sangre.

Estamos creando el BO usando este patrón.

LAB.BO.TCP. + nombre del laboratorio.

El nombre del laboratorio se almacena en la tabla de consulta T_LABORATORIOS

Intenté asignar el nombre a una variable y ponerlo en la instrucción "send", pero no funciona.

1 1
0 123

Cuando inicio una instalación nueva de IRIS o de un contenedor, siempre encuentro los paquetes de interoperabilidad mapeados en el namespace USER.

¿Existe alguna utilidad para quitar este mapeo de forma sencilla, con un clic?
Quitar el mapeo global a global, rutina a rutina, paquete a paquete es muy aburrido.

Es decir: busco una utilidad dentro de IRIS.

La utilidad externa es obvia: Notepad (o cualquier otro editor de texto)
- limpiar iris,cpf,
- reiniciar IRIS

Es rápido, es eficiente, pero es muy tedioso.

0 1
0 119

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.

0 1
0 111

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.

0 2
0 102

Tenemos un escenario bastante complejo pero creo que es sencillo de explicar y que quede claro.

Estamos desarrollando un ejecutador de tareas que corre en un servidor con una timezone indiferente.

Las tareas se tienen que ejecutar cada dia pero a una hora definida para una cierta timezone

Guardamos en base de datos la hora a la que queremos ejecutar la tarea y de que timezone es (no vayas al pozo de guardar en UTC, ya que cuando tengas DST será a horas distintas)

0 2
0 90

¡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?

0 1
0 69

Tenemos múltiples segmentos NTE en el mensaje ADT. Necesito iterar a través de todos los segmentos NTE buscando "NAVIRADTHPT" en el campo NTE-4. He intentado que funcione con el siguiente código.

HL7.(NTE:4()) Contains "<NAVIRADTHPT>"

Así es como se ven los segmentos.

NTE|1||This patient is currently being seen for radiation therapy.|AHRADTHPT||20210223093342
NTE|2||This patient is currently being seen for radiation therapy.|NAVIRADTHPT||20210223113634

0 1
0 58