#ObjectScript

2 Seguidores · 231 Publicaciones

InterSystems ObjectScript es un lenguaje de programación para operar con datos mediante cualquier modelo de datos que se encuentre en InterSystems Data Platform (Objetos, relacionales, valores clave, documentos, globales) y desarrollar lógica empresarial para aplicaciones del lado del servidor en InterSystems Data Platform.

Consultar la documentación.

Anuncio Sergio Farago · mar 14, 2025

Hola, comunidad de IRIS,

InterSystems Certification está desarrollando un examen de certificación para profesionales desarrolladores de InterSystems IRIS, y si coincidís con la descripción del candidato al examen que se indica a continuación, nos gustaría que participéis en la prueba beta del examen.

0
0 52
Artículo Luis Angel Pérez Ramos · mar 13, 2025 1m read

¡Hola compañeros!

Otra vez más me he dado cuenta de que no hay una forma supersencilla de mostrar el error de la variable %Status, cosa que necesito con relativa frecuencia desde el terminal.

Sí, conozco las macros $$$, pero no son demasiado útiles en un terminal.

Habitualmente lo que hago es intentar recordar de memoria o copiar de algún sitio la fórmula:

USUARIO>w $System.State.DisplayError(st)
0
0 73
Artículo Luis Angel Pérez Ramos · mar 11, 2025 53m read

Desde la introducción de Embedded Python siempre ha estado la duda sobre su rendimiento respecto a ObjectScript y en más de una ocasión lo he comentado con @Guillaume Rongier , pues bien, aprovechando que estaba haciendo una pequeña aplicación para capturar los datos de los concursos públicos en España y poder realizar búsquedas utilizando las capacidades de VectorSearch he visto la oportunidad de realizar una pequeña prueba.

Datos para la prueba

0
0 79
Artículo Alessandra Carena · feb 11, 2025 7m read

Introducción

Una API REST (Representational State Transfer) es una interfaz que permite que diferentes aplicaciones se comuniquen entre sí a través del protocolo HTTP, utilizando operaciones estándar como GET, POST, PUT y DELETE. Las API REST son ampliamente utilizadas en el desarrollo de software para exponer servicios accesibles por otras aplicaciones, permitiendo la integración entre diferentes sistemas.

Sin embargo, para garantizar que las API sean fáciles de comprender y utilizar, es fundamental contar con una buena documentación. Aquí es donde entra en juego OpenAPI.

2
0 192
InterSystems Official Jose-Tomas Salvador · feb 11, 2025

Primero, ¡queremos desearos un Feliz Año Nuevo a toda la comunidad de desarrolladores! Esperamos traer muchas cosas buenas este año, y hoy queremos presentaros la última versión de la extensión Intersystems Language Server para VS Code. La mayoría de las mejoras del Language Server se experimentan a través de la interfaz de la extensión ObjectScript, por lo que es posible que no hayáis notado los avances en áreas como IntelliSense y las ayudas emergentes que se han lanzado a lo largo de 2024. Os animamos a echar un vistazo rápido al CHANGELOG del Language Server para descubrir lo que os habéis

0
0 83
InterSystems Official Mario Sanchez Macias · ene 16, 2025

InterSystems ha corregido un defecto que provoca la introducción de registros no válidos en la base de datos y en los ficheros de journal al utilizar una sintaxis específica de $LIST. La probabilidad de encontrar este defecto es muy baja, pero los impactos operativos pueden ser significativos.

Productos afectados

0
0 85
Artículo Ricardo Paiva · nov 5, 2024 2m read

Las funciones de agregación definidas por el usuario han sido compatibles con IRIS desde la versión 2021.1.0. Hace años deseaba tener esta funcionalidad antes de encontrar una forma alternativa y secreta de sobrescribir MAX y MIN en un tipo de dato personalizado, pero no tuve la oportunidad de probarlo realmente hasta hoy. Me pareció una experiencia/ejemplo interesante – ya antes surgió la pregunta de cómo obtener la Mediana en IRIS SQL – así que lo comparto aquí sin extenderme demasiado.

0
0 76
Artículo Jose-Tomas Salvador · oct 16, 2024 2m read

En ObjectScript, tenéis una amplia colección de funciones que devuelven algún valor, típicamente:

set variable = $somefunction(param1,param2, ...)

No hay nada especial en eso.  
Pero hay un conjunto de funciones que clasifico como del LADO IZQUIERDO.  
La especialidad de ellas es que también podéis usarlas a la izquierda del operador igual como un objetivo en el comando SET:

set $somefunction(param1,param2, ...) = value

La razón para plantear ese tema es que con IRIS 2024.1, después de muchos años, hay un "chico nuevo en el barrio".

$VECTOR()

1
0 62
Artículo Alberto Fuentes · sep 23, 2024 8m read

¡Hola, desarrolladores!

En esta serie de artículos hemos hablado del framework iris-datapipe, de cómo nos ayuda a crear "pipes" de datos para la ingesta y procesamiento, y de cómo instalarlo. Vamos a profundizar en cómo implementar uno de esos "pipes" paso a paso.

Si llegaste directamente a este artículo, te recomiendo revisar los anteriores y recordar que iris-datapipe incluye un QuickStart para que puedas explorar sus funcionalidades rápidamente 👌.

El ejemplo que abordaremos está incluido en el QuickStart, por lo que puedes utilizarlo como referencia.

Definir un nuevo Pipe

0
0 83
Artículo Alberto Fuentes · sep 20, 2024 5m read

¡Hola a todos de nuevo!

En el artículo anterior hablamos de iris-datapipe, un framework diseñado para ayudarte a definir "pipes" de datos con un patrón de ingesta y procesamiento. Hoy veremos cómo puedes instalarlo y configurarlo paso a paso.

iris-datapipe incluye un QuickStart, que te permite probarlo rápidamente utilizando un contenedor Docker preconfigurado.

Pero, ¿qué debes hacer si quieres usarlo en tu propia instancia?

InterSystems IRIS

Instalación del paquete

0
0 89
Artículo Ricardo Paiva · sep 6, 2024 5m read

En la sección anterior, exploramos el proceso de instalación y comenzamos a escribir el IRIS en Python nativo. Ahora procederemos a examinar el recorrido global y a interactuar con los objetos de la clase IRIS.

get: esta función se utiliza para obtener valores del nodo de recorrido

deftraversal_firstlevel_subscript():"""
    ^mygbl(235)="test66,62" and ^mygbl(912)="test118,78"
    """for  i in irispy.node('^mygbl'):
        print(i, gbl_node.get(i,''))
0
0 95
Artículo Luis Angel Pérez Ramos · sep 2, 2024 1m read

[FAQ] Preguntas frecuentes de InterSystems

El siguiente código descarga https://www.intersystems.com/assets/intersystems-logo.png y guarda el archivo como c:\temp\test.png.

Es necesario definir una configuración SSL llamada SSLTEST antes de ejecutar este código.

0
0 80
Artículo Jose-Tomas Salvador · jul 24, 2024 7m read

Para los programadores nuevos en ObjectScript, inevitablemente surgirá una pregunta: “¿Cuál es la diferencia entre Methods y ClassMethods?” Una respuesta típica sería: “Un ClassMethod se aplica a una clase, pero un method se aplica a una instancia de esa clase.” Aunque esa respuesta es correcta, carece de información importante sobre cómo estos métodos difieren y cómo se usan en ObjectScript. Muchas cosas podrían escribirse como cualquiera de los dos. Por ejemplo, supongamos que tenemos una clase llamada “User.Person” con una propiedad llamada “Name”. Si quisiéramos crear un método para

0
0 161
Artículo Luis Angel Pérez Ramos · jul 11, 2024 2m read

¡Hola!

Recientemente he estado investigando una situación molesta mientras editaba clases o rutinas ObjectScript en VSCode.
Lo que me estaba pasando era que, como yo estaba escribiendo en las líneas de código en mi clase (por ejemplo: la adición de un nuevo método; el cambio de la firma de la clase; o de un bloque de código), esto hacía que rápidamente la sintaxis fuera revisada, reformateada y compilada  - e inevitablemente, (ya que estaría a la mitad de mi escritura), esto generaba errores de compilación.

0
0 214
InterSystems Official Jose-Tomas Salvador · jun 7, 2024

Nota: esto fue publicado originalmente el 5 de junio de 2024, pero se presentó como si hubiera sido publicado el 9 de mayo de 2024, por lo que este repost corrige la fecha.

Las actualizaciones recientes del InterSystems Language Server introducen muchas mejoras significativas destinadas a mejorar la experiencia y la productividad del desarrollador. Aquí hablaré de algunas de las más importantes, mientras que la lista completa, que incluye numerosas correcciones de errores, se puede encontrar en el CHANGELOG del Language Server.

Descripciones detalladas para errores de sintaxis

0
0 156
Artículo Laura Contreras · mayo 27, 2024 4m read

¡Hola a todos! 

Llevo muchos años trabajando con Excel y, últimamente, lo he enfocado al tratamiento de bases de datos.

Realmente mi experiencia con Excel ha sido para labores financieras, no tanto analíticas de datos en sí, pero en un proyecto reciente he podido trabajar mucho con SQL y me he interesado un poco por el tema (no soy para nada una experta, ¡aviso!)

Me he preguntado cómo podría unir varios excels en uno para, por ejemplo, entregárselo al Data Análisis utilizando la tecnología InterSystems. He recopilado la información en un pequeño artículo. Espero que sea útil y por supuesto estoy abierta a correcciones. 

Vamos a utilizar InterSystems IRIS. Lo que buscaremos es leer los archivos Excel, procesarlos y por último fusionarlos. 

1
0 257
Artículo Robert Cemper · mayo 30, 2024 2m read

Después del último concurso de programación sobre OEX tuve algunas observaciones sorprendentes.
Había aplicaciones casi exclusivas basadas en AI en combinación con módulos Py prefabricados.
Pero profundizando más, todos los ejemplos utilizaron las mismas piezas técnicas de IRIS.

Visto desde el punto de vista de IRIS, era más o menos lo mismo si se buscaba texto
o buscar imágenes u otros patrones.Terminó en métodos casi intercambiables.

0
0 128
Artículo Luis Angel Pérez Ramos · mayo 8, 2024 2m read

Hola a todos,

Cuando estamos diseñando un BP que necesita ser reutilizado, a menudo necesitamos desarrollar un componente con un objeto <call> configurable, donde establecemos el destino de la llamada al objeto.

@process.TargetConfigName

Sí, se puede lograr.

Aquí está el código completo:

2
0 132
Artículo Ricardo Paiva · abr 26, 2024 4m read

Si tenéis tablas de sistema que implementan la funcionalidad "VERSIONPROPERTY", podéis encontraros con el error 5800. Este artículo explica cómo se produce este error y proporciona soluciones para resolver el problema.

Cuando se implementa la comprobación de versiones, la propiedad especificada por VERSIONPROPERTY se incrementa automáticamente cada vez que se actualiza una instancia de la clase (ya sea mediante objetos o SQL).

Por ejemplo:

0
0 129
Artículo Alberto Fuentes · abr 24, 2024 4m read

¡Hola, amigos!

A menudo, cuando desarrollamos soluciones comerciales, existe la necesidad de desplegar soluciones sin código fuente, por ejemplo, para preservar la propiedad intelectual.

Una de las formas de conseguirlo es utilizar InterSystems Package Manager.

Aquí he pedido a Midjourney que pinte una propiedad intelectual de software:

¿Cómo se puede lograr esto con IPM?

De hecho, es muy sencillo; basta con añadir la cláusula Deploy="true" en el elemento Resource del manifiesto module.xml. Ver Documentación.

He decidido pasaros el ejemplo más simple posible para ilustrar cómo funciona y también para daros una plantilla de entorno de desarrollo que os permita empezar a construir y desplegar vuestros propios módulos sin código fuente. ¡Allá vamos!

0
0 153
Pregunta Kurro Lopez · mar 15, 2024

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.

2
0 186
Artículo Alberto Fuentes · feb 21, 2024 2m read

Quería compartiros hoy un pequeño truco para personalizar cómo se muestran los mensajes en el Visor de Mensajes. En concreto, cómo mostrar mensajes JSON directamente en el Visor de Mensajes en lugar de serializados como XML.

Los mensajes son los objetos que utilizamos para comunicar componentes de una producción de interoperabilidad. En mi caso me había definido un mensaje que utilizaba después para pasar a JSON y enviar a una API. Este mensaje está definido como un mensaje convencional y también como %JSON.Adaptor para poder exportar / importar directamente a JSON.

2
0 320
Anuncio Jose-Tomas Salvador · feb 26, 2024

Hace poco me di cuenta de que llevaba mucho tiempo sin comentaros las últimas novedades de la extensión de ObjectScript para Visual Studio Code. 

Me complace anunciar la versión 2.12.1 de la extensión de ObjectScript, que contiene un buen número de mejoras para hacer la vida más fácil a los desarrolladores. Describo más abajo las más destacadas, incluyendo la petición nº 1 del Global Summit -- ¡Importación de XML! 

Como siempre, podéis encontrar la lista completa de modificaciones en el CHANGELOG, incluyendo muchas correcciones de errores y vulnerabilidades.

0
0 265