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

0 2
0 63

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 80

Hola a todos,

Por un requerimiento del cliente, tenermos un BS Rest Api con un montón de métodos, necesitamos obtener la IP del invocador, el método y cual es el tiempo que la API ha tomado para procesar.

He encontrado el evento onPreDispatch donde puedo capturar la IP, ClassMethod, etc.. Estoy usando una variable global para guardar esta información.

0 2
0 147

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.

0 2
0 147

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.

0 2
0 165
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 124
Pregunta
· 31 ene, 2024
¿Cómo clonar un namespace?

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.

1 6
0 127

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

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 104
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 126

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 133

¡Hola a todos!

Estoy intentando exportar una clase a xml y quitar la etiqueta "xmlns" de la clase madre. Estas son mis clases para crear el XML.

Class Class.Test Extends (%RegisteredObject, %XML.Adaptor)
{ 

Parameter NAMESPACE = "http://mynamespace.com/test"; 
Property Person As Class.Person; Property Address As Class.Address; 

}
Class Class.Person Extends (%RegisteredObject, %XML.Adaptor)
{ 

Parameter NAMESPACE = "http://mynamespace.com/test"; 
Property name As %String; Property age As %String; 

}
Class Class.Address Extends (%RegisteredObject, %XML.Adaptor)
{ 

Parameter NAMESPACE = "http://mynamespace.com/test"; 
Property location As %String; 

}

0 2
0 217

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 79

¡Hola!

En Atelier, puedo hacer clic en File --> New --> Class File; en File --> New --> Custom File, etc. para lanzar distintos wizards y plantillas que me ayudan a crear de forma rápida clases DeepSee KPI, manifiestos %Installer, Web Services, etc. Por supuesto, también están disponibles en Studio.

¿Hay algo similar en VSCode? Si es así, ¿dónde? He mirado en varios vídeos y en la documentación, pero no he encontrado nada.

¡Gracias!

David

0 4
0 900

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 54

¿Es posible ver el plan de ejecución de una sentencia SQL en IRIS?

Como esto:

explain plan for
select  e.ename,r.rname
from    employees  e
join    roles       r on (r.id = e.role_id)
join    departments d on (d.id = e.dept_id)
where   e.staffno <= 10
and     d.dname in ('Department Name 1','Department Name 2');

Que devuelve esto:

0 1
0 134