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 60

¿Listo para fórmarte en InterSystems IRIS, IRIS for Health y Health Connect?

Desde InterSystems Iberia, ¡¡lanzamos oficialmente nuestros 2 primeros cursos de Formación Combinada!!

Nunca habrá sido tan fácil y accesible recibir formación en nuestra tecnologia como a partir de ahora... Y te preguntarás, ¿qué es esto de la formación combinada?. Vamos con ello...

2 0
0 107

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 94

Buenos días estoy intentando modificar un método Python que hace la impresión de un archivo PDF (usa la libreria Python.FPDF.Lib).

No encuentro mucha información al respecto y la que encuentro no me funciona como deseo, debo decir que es la primera vez que tengo que lidiar con Python y ando un poco perdido.

Alguien sabe como puedo hacer lo contrario de unbreakable() ?

0 6
0 72

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 126
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 105
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 83

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

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 74

Recientemente hemos empezado a utilizar Restforms2 para crear una API CRUD para un proyecto. Sin embargo hay algunas funcionalidades para las que no nos es suficiente. Para suplir esto, hemos creado una producción con un WS Rest que maneja las peticiones más complejas. Esto funciona muy bien, pero tenemos un problema, no tiene autenticación

0 1
0 239
Pregunta
· 2 feb, 2023
Importar Archivo XML

Hola !
Estamos investigando el tema de la generación de la factura electrónica.

Vemos que desde la página la factura e (Factura Electrónica - Últimas versiones Facturae), hay un enlace para descargar el fichero (Esquema XSD formato Facturae 3.2.2 [XML] [185,61 KB]).

Una vez descargado el fichero lo intentamos incorporar al studio de cache y nos da un error al importarlo.

Lo importamos desde: Herramientas -> Complementos -> Asistente de Esquemas XML. Seleccionamos el fichero que nos hemos descargado y aparentemente la estructura la pone bien pero luego da error importarlo (“DTD's explicity prohibited)”

0 1
0 145
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 109

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 119

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

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 67

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