¡Hola desarrolladores!
Os presentamos a los ganadores de la gincana que realizamos durante el último webinar: ellos son @Yone Moreno, @Kurro Lopez y @Bruno Gouveia, con algunos de los regalos que obtuvieron! 👏👏👏
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.
¡Hola desarrolladores!
Os presentamos a los ganadores de la gincana que realizamos durante el último webinar: ellos son @Yone Moreno, @Kurro Lopez y @Bruno Gouveia, con algunos de los regalos que obtuvieron! 👏👏👏
Como sabes, ObjectScript no tiene un comando o función de sistema FOREACH.
Pero tiene un amplio margen para la creatividad.
Pero la tarea es recorrer una matriz global o local y hacer algo PARA CADA elemento.
Hay dos posibles soluciones:
¡Hola desarrolladores!
Algunas veces necesito planificar una tarea por medio de un programa.
Y en el 99% de los casos necesito que algún método de clase sea llamado periódicamente.
Y quiero que la tarea programada comience con una línea. Como un trabajo en crontab.
Decidí incorporar un módulo de este tipo con el módulo iris-cron-task.
Os comento los detalles a continuación.
Tengo una clase que parsea un XML para extraer toda la información. En este XML hay un atributo que tiene saltos de línea:
<record date="2021-08-11T14:25:21" entity="TEXTO"><OBSERVACIONES o="" n="Esto es un texto de prueba: 1. Contiene información importante 2. Es útil para el usuario 3. Sigue siendo una prueba"/></record>
Usando %XML.TextReader puedo acceder a toda la información del XML, pero esos saltos de línea se pierden. Esto es lo que obtengo:
Este es el ejemplo de un código que funciona en Caché 2018.1.3 e IRIS 2020.2 No se mantendrá sincronizado con las nuevas versiones ¡Además NO cuenta con el servicio de Soporte de InterSystems!
Durante mi búsqueda de un snapshot de un objeto persistente, conocí una característica que me gustaría compartir, ya que podría ser útil en algunas situaciones especiales. Mi objetivo era tener una imagen del antes y el después durante las pruebas unitarias.
Este es un ejemplo de código que funciona en IRIS 2020.1 y en Caché 2018.1.3
No se mantendrá sincronizado con las nuevas versiones.
Y NO cuenta con el servicio de soporte de InterSystems.
En la mayoría de los casos, un global que se utiliza como almacenamiento predeterminado tiene solo 1 nivel de subíndice que representa el IDKEY.
Para un índice de globals podemos ver 2 o más niveles de subíndices.
Las matrices, las relaciones de herencia padre hijo o las clases persistentes que extienden una clase base, son ejemplos en los que vemos más niveles. Aunque todos estos globals son bastante uniformes.
Hola comunidad,
Esto es otro artículo de como realizar acciones que puedes hacer desde el porta de gestión pero via código.
Hoy.... Añadir un business item en tu producción por código.
Hola comunidad,
Voy a publicar varios artículos de como realizar acciones que puedes hacer desde el web portal, pero por código.
Hoy.... Web Applications por código
En SQL, la condición más frecuente WHERE se relaciona principalmente con el contenido de las filas en las que trabajas.
Por lo tanto, debe calcularse y verificarse para cada fila a la que accedas.
Distinto es el caso (y por eso la llamé ESTÁTICA) de una condición WHERE independiente de las filas a las que accedes.
Al igual que con Pattern Matching, se pueden utilizar Expresiones Regulares para identificar patrones en textos en ObjectScript, sólo que con una potencia mucho mayor.
En este artículo se proporciona una breve introducción sobre las Expresiones Regulares y lo que puede hacerse con ellas en ObjectScript. La información que se proporciona aquí se basa en varias fuentes, entre las que destaca el libro “Mastering Regular Expressions” (Dominando las expresiones regulares) escrito por Jeffrey Friedl y, por supuesto, la documentación online de la plataforma.
¡Hola Comunidad!
Hemos grabado el webinar que hicimos ayer y lo hemos subido al canal de YouTube de la Comunidad de Desarrolladores en español. Si os perdisteis el webinar o lo queréis volver a ver con más detalle, ya está disponible la grabación!
David Reche es uno de los cracks de InterSystems. Así que, si queréis seguir aprendiendo ObjectScript... ¡no os perdáis el vídeo!
¡Hola desarrolladores!
Os invitamos a un nuevo webinar en español: "Continuando con ObjectScript - Persistencia e Integración", el lunes 19 de julio, a las 4:00 PM (CEST).
En este webinar continuaremos introduciendo ObjectScript, el lenguaje de programación de InterSystems. Trabajaremos con Clases Persistentes y comenzaremos a trabajar con Producciones para integrar sistemas.
Es un webinar dirigido a programadores que empiezan a utilizar ObjectScripty también a aquellos que quieren revisar conceptos.
¡Hola a todos!
Todos los días la universidad Johns Hopkins publica nuevos datos sobre el estado de la pandemia del coronavirus COVID-19.
Creé un sencillo panel de control con InterSystems IRIS Analytics usando InterSystems IRIS Community Edition en Docker, implementado en Kubernetes GCP, para mostrar los datos clave sobre el avance de la enfermedad.
Este panel de control es un ejemplo de como la información en formato CSV podría ser analizada con IRIS Analytics e implementada en Kubernetes GCP, con la forma de InterSystems IRIS Community Edition.
Una unidad de código en ObjectScript (pongamos, un ClassMethod) puede producir una gran variedad de efectos secundarios inesperados cuando interactúa con partes del sistema que están fuera de su propio alcance y no han sido depuradas adecuadamente. En forma de lista parcial, se incluyen:
¡Hola Comunidad!
Os traemos un nuevo vídeo con subtítulos en español, ya disponible en el canal de YouTube de la Comunidad de Desarrolladores de InterSystems en español.
¡Hola Comunidad!
Hemos grabado el webinar que hicimos ayer y lo hemos subido al canal de YouTube de la Comunidad de Desarrolladores en español. Si os perdisteis el webinar o lo queréis volver a ver con más detalle, ya está disponible la grabación!
David Reche es uno de los cracks de InterSystems: sabe mucho y lo explica muy bien. Así que, si queréis conocer conceptos básicos, trucos y trampas de ObjectScript... ¡no os perdáis el vídeo!
¡Hola Comunidad!
ObjectScript, el lenguaje de InterSystems IRIS, tiene la capacidad de extender clases utilizando una funcionalidad muy interesante llamada XData.
Es una sección en tu clase que puede ser usada para crear definiciones personalizadas, para utilizarlas dentro de la clase misma o externamente.
Crear una o más definiciones XData para tu clase es muy sencillo, mira el ejemplo:
¡Hola desarrolladores!
Os invitamos a un nuevo webinar en español: "Aprende ObjectScript desde cero", el martes 25 de mayo, a las 4:00 PM (CEST).
Para todos aquellos que no tienen ni idea de ObjectScript y quieren empezar a utilizarlo, o para aquellos que llevan tiempo desarrollando con el lenguaje de programación de InterSystems sin saber cómo lo hacen, vamos a explicar los conceptos básicos de ObjectScript, descubrir algunas trampas y mostrar algunos trucos muy útiles.
El orden es una necesidad para todos, pero no todos lo entienden de la misma manera (Fausto Cercignani)
Nota de traducción: este articulo se publicó originalmente basado en Caché. Para esta traducción se revisó todo el contenido usando InterSystems IRIS.
Descargo de responsabilidad: En este artículo se utilizan el ruso y el alfabeto cirílico como ejemplos, pero esto solamente es importante para las personas que utilizan InterSystems IRIS en lugares en los que no se habla inglés.Ten en cuenta que este artículo se refiere principalmente a las compilaciones de NLS, que son diferentes a las compilaciones de SQL. Las compilaciones en SQL (por ejemplo, SQLUPPER, SQLSTRING, EXACT que significa que no hay compilación, TRUNCATE, etc.) son funciones reales que se aplican de manera explícita a algunos valores, y cuyos resultados a veces se almacenan explícitamente en los subíndices de los globals. De hecho, cuando se almacenan en subíndices, de forma natural estos valores seguirían la compilación de NLS (“Compilaciones de SQL y NLS”).
¡Hola amigos!
A menudo, durante la depuración, quieres conocer los valores de todos los parámetros.
Utilizar VSCode Debugger no es una opción.
¿Qué se podría usar para saber qué parámetros vinieron al método?
¿Existe una macro "mágica" que almacene todas las variables con sus nombres en un global?
¿Alguna idea? ¡Gracias!
¡Hola desarrolladores!
A menudo me preguntan cómo instalar IRIS, cómo conectarse a IRIS desde el IDE, cómo configurar el entono, compilar, depurar, mantener el repositorio...
Os muestro aquí posiblemente el camino más corto para configurar todo el entorno y empezar a desarrollar con ObjectScript en InterSystems IRIS.
Prerrequisitos
Asegúrate de tener Git, Docker y VSCode instalados.
Instala las extensiones de Docker y ObjectScript en VSCode.
(1).png)
Inicia sesión o crea una cuenta en Github.
¡Vamos allá!
Hola a todos! Os traigo hoy un ejemplo de código que compartía Robert Cemper para mostrar por SQL los registros de error almacenados en ^ERRORS.
¡Hola, desarrolladores!
Como sabeis, los errores de la aplicación están en el global ^ERRORS. Aparecen si los llamas:
d e.Log() en la sección Catch de Try-Catch.
Con la propuesta de @Robert Cemper, ahora se puede utilizar SQL para examinarlo.
Inspirado por el módulo de Robert, presenté un módulo simple de IRIS Analytics que muestra estos errores en un dashboard:

Uno de los principales beneficios de ObjectScript es la velocidad y eficiencia que ofrece a un desarrollador experimentado. Veamos un ejemplo de todos los beneficios que se pueden obtener con ObjectScript.
Imagina que tienes una clase que almacena nombres de sus usuarios. Llamaremos a la clase **Data.User**, y le daremos las mismas propiedades que tiene una cadena _Name_. A continuación, necesitaremos un método para crear un nuevo usuario o actualizar uno ya existente. Un enfoque inexperto y simplista sería muy similar al siguiente ejemplo:
¡Hola desarrolladores!
Os traemos un nuevo vídeo, disponible en el canal de YouTube de la Comunidad de Desarrolladores en inglés, que muestra cómo desarrollar con InterSystems ObjectScript usando el plug-in de Visual Studio Code.
¡Hola Comunidad!
Os traemos un nuevo vídeo, grabado por Robert Cemper y disponible en el canal de YouTube de la Comunidad de Desarrolladores en inglés:
¡Hola desarrolladores!
Una vez más os vengo a hablar de la extensión de ObjectScript para Visual Studio Code, y esta vez estamos muy contentos de poder anunciar ¡ la liberación de la versión 1.0 !
La comunidad se ha unido de un modo sin precedentes para entregar este producto con InterSystems, con la particularidad única de que una herramienta tan crítica para la productividad del desarrollador sería contruida en base a pruebas, feedback y código de la comunidad, desde el principio.
Intento conectar Objectscript a Intersystems en VSCode pero me aparece este error, soy nuevo en esto, no se si estare cometiendo algun error en la configuracion, segui este tutorial https://intersystems-community.github.io/vscode-objectscript/configuration/
adjunto capturas de pantalla
.vscode/settings.json
settings.json (Servidor)
ERROR
Método: para descargar el archivo FTP desde Caché de InterSystems: Si tienes cualquier consulta, deja un mensaje por favor:
ClassMethod FTPDownload(myFTP = "", myUserName = "", myPassword = "", sFileLocation = "", dLocation = "", noOfdownloadFile = 1, sourceFileDel = 0)
{
/*---------------------------------------------------------------------------------------------------------------------------
descargar el archivo según los requirimientos: FTP
Método: Resuable
creado por: Sanjib Raj Pandey el 30/03/2018
Yo uso estas clases de ejemplo:
Class Sample.Address Extends (%SerialObject, %Populate)
{Property Street As %String;
Property City As %String;
Property State As %String(POPSPEC = "USState()");
Property Zip As %String;}
Class Sample.Person1 Extends (%Persistent, %Populate)
{ Property Name As %String;
Property Home As Sample.Address;
Property AR As array Of Sample.Address; }
En SQL es Table Sample.Person1.png)
No hay problema para definir INDEX on Home_State
But Table Sample.Person1_AR.png)
Cómo definir un INDEX on AR_State ?
Index st On AR.State;
¡No compila!