#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.

Artículo Mathew Lambert · jul 31, 2020 2m read

¡Hola desarrolladores!

Después de trabajar un poco con IRIS, queremos compartir con vosotros la "caja de herramientas" para InterSystems IRIS: ToolBox-4-Iris.

¿En qué consiste?

ToolBox-4-Iris es una API para IRIS que incluye un conjunto de herramientas muy útiles, no disponibles en IRIS y que simplifican enormemente el desarrollo de aplicaciones. Permite ahorrar tiempo y esfuerzo en las "herramientas típicas" que todo desarrollador necesita. Esto incluye clases adicionales, métodos individuales o incluso macros más eficientes, que se describen en sus respectivos paquetes.

Contenido

0
0 161
Pregunta Peter N · jul 11, 2020

Intento ejecutar una pequeña rutina de prueba (adivinar un número aleatorio) en WebTerminal pero el resultado parece roto.
IRISterminal:

 WebTerminal:

Creo que se relaciona con el  backspace.
¿Se requiere algún ajuste especial?

El código:

a
 q=".......... guess [0..9]: " 
 i=1:1 if ! $c(9),"thank you",! q
 q  
b
 !,i,$c(9),q
 f  v#1 q:(v?.1n) " !no number",$c(8,8,8,8,8,8,8,8,8,8,8,8)
 " "
 r=$R(10),p=$s(v="":1,v=r:"!",v>r:"<",1:">")
 x=q,$e(x,r+1)="*",$e(x,v+1)=$s(v=r:"!",v>r:"<",1:">") 
 q:p  $c(13),$c(9),p=v=q

2
0 168
Artículo Jose-Tomas Salvador · jun 25, 2020 2m read

¡Hola desarrolladores de ObjectScript!

How to Protect Your Belongings from Pests While Moving - Delicate ...

InterSystems ObjectScript es probablemente el mejor lenguaje del mundo para trabajar con globals - y es un lenguaje interpretado.

Sí, tiene un compilador. Pero incluso el compilador puede dejar escapar y compilar algunas líneas en ObjectScript que después generen error en tiempo de ejecución.

Hay algunas técnicas para evitarlo tales como los tests unitarios, guías de programación y, por supuesto, ¡tu experiencia programando! ;) 

Aquí quiero presentarte otra alternativa más para que puedas reducir el número de errores de ejecución de tu ObjectScript y reforzar la aplicación de tus guías de programación - se trata de la herramienta de Calidad de ObjectScript desarrollada por Lite Solutions, un partner de InterSystems.

Más detalles  a continuación.

0
0 181
Artículo Nancy Martínez · mar 13, 2020 9m read

Introducción

Un requisito frecuente en muchas aplicaciones es registrar en una base de datos los cambios que se realizan en los datos- qué datos se modificaron, quién los modificó y cuándo (control de cambios). Hay muchos artículos relacionados con el tema y existen diferentes métodos sobre cómo hacer esto en Caché.

1
0 419
Anuncio David Reche · jun 1, 2020

¡Hola Comunidad!

El plazo para participar en el Tercer Concurso para Desarrolladores de InterSystems ha terminado y empieza la fase de votación.

Hemos recibido 8 aplicaciones - así que ya hay suficientes para elegir la mejor!

¿Cómo puedes votar?

Es muy fácil: tienes un voto, y tu voto irá en la Nominación de los Expertos o en la Nominación de la Comunidad.

0
0 111
Artículo Kurro Lopez · mayo 17, 2020 7m read

En este artículo me gustaría contarle acerca de las macros en InterSystems Caché. Una macro es un nombre simbólico que se reemplaza con un conjunto de instrucciones durante la compilación. Una macro puede "desplegarse" en varios conjuntos de instrucciones cada vez que se llama, dependiendo de los parámetros que se le pasen y los escenarios activados. Esto puede ser tanto código estático como el resultado de la ejecución de ObjectScript. Echemos un vistazo a cómo puede usarlos en su aplicación.

0
0 349
Artículo Andrei Luiz Nenevê · abr 27, 2020 1m read

Hola a todos,

Creé un Generador Identicon inspirado en el Fabio GonçalvesCaptcha Validator.

Este ejemplo se puede usar para crear Identicons para usuarios de aplicaciones, por ejemplo, puede ser útil para usar en aplicaciones Zen Mojo, generando una imagen de identificador basada en el nombre del usuario, por ejemplo, pero también se puede usar en otros tipos de aplicaciones (Zen, CSP, etc.).

Ejemplos:

Primero:

Generará esto:

 

es este:

Generará esto:

Ver mi proyecto en Github: https://github.com/AndreiLN/Ikon

Atentamente,

Andrei L. Nenevê

0
0 196
InterSystems Official Jose-Tomas Salvador · abr 16, 2020

Estoy encantado de anunciar que InterSystems se unirá a la comunidad de código abierto (open source) en el proyecto de Extensión de Visual Studio Code para InterSystems ObjectScript. A principios de este año Raj Singh publicó que emprendíamos un viaje para redefinir el futuro de nuestra estrategia en relación al IDE, y llegamos a la conclusión de que es Visual Studio Code el IDE que puede soportar ese futuro. Es rápido, estable, rico en funcionalidad, y construido sobre una arquitectura tecnológica moderna que nos da la posibilidad de ofrecerte una funcionalidad como nunca antes para tu

0
0 134
Artículo Dani Fibla · mar 24, 2020 4m read

¡Hola Comunidad!

En este artículo describiré e incluiré un ejemplo de cómo incrustar un archivo PDF externo en un segmento HL7, concretamente en el segmento OBX() de un mensaje ADT_A01 versión 2.3.1  .  Esto puede ser útil para  insertar imágenes u otros datos externos en un mensaje HL7. En este ejemplo, el nombre del archivo PDF a incrustar nos llega en el mensaje HL7 entrante en el campo OBX(1):ObservationValue.

Los requisitos básicos para este ejemplo son los siguientes:

1
0 605
Anuncio David Reche · mar 24, 2020

¡Hola Comunidad!

El plazo para participar en el  Primer Concurso para Desarrolladores de InterSystems terminó ayer y empieza la fase de votación.

Hemos recibido 20 aplicaciones hasta ahora - así que ya hay suficientes para elegir la mejor!

¿Cómo puedes votar?

Es muy fácil: tienes un voto, y tu voto irá en la Nominación de los Expertos o en la Nominación de la Comunidad.

0
0 143
Artículo Mathew Lambert · mar 6, 2020 3m read

¡Hola Comunidad!

Esta publicación es para presentarles uno de los primeros proyectos en COS de @Henry Pereira . Lo creó cuando empezó a aprender el lenguaje y lo sigue mejorando hasta hoy.

El CosFaker (aquí en Github) es una biblioteca de COS pura, para generar datos falsos.

cosFaker vs Utils de populación

¿Por qué usar cosFaker si Caché tiene la utilidad de popular datos?

1
1 164
Anuncio David Reche · mar 5, 2020

¡Hola desarrolladores!

Este mes de marzo lanzamos nuestro primer Concurso de Programación con InterSystems IRIS! El objetivo del concurso es crear soluciones de código abierto utilizando InterSystems IRIS Data Platform.

El tema del primer concurso es InterSystems IRIS, Docker y ObjectScript.

El concurso estará activo durante tres semanas, del 9 al 31 de marzo de 2020

Premios:

Habrá una Nominación de los Expertos, en la que los ganadores serán elegidos por un jurado especialmente formado para el concurso. Los premios serán:

🥇 1er puesto - $2,000 

🥈 2º puesto - $1,000 

🥉 3er puesto - $500

Además, habrá una Nominación de la Comunidad, en la que ganará la aplicación que obtenga el mayor número total de votos. El premio será:

🏆 1er puesto - $1,000

Los ganadores también recibirán las insignias de mayor nivel del programa de fidelización Global Masters.

1
0 204
Artículo Mathew Lambert · mar 4, 2020 5m read
¡Hola Comunidad!
Esta es una explicación acerca de:
  • por qué es importante obtener el $zv (el POR QUÉ),
  • qué significan los componentes de $zv (el QUE),
  • y cómo recopilar $zv (el CÓMO). 

(La guía definitiva sobre $zv para la galaxia ISC en palabras sencillas y entendibles).

0
0 271
Artículo Dani Fibla · feb 26, 2020 1m read

No pretendo decir que esto sea una guía de "buenas prácticas", pero estoy en una situación particular en la que necesito impedir que los usuarios inicien una producción de Ensemble “retirada” en un namespace renombrado. Sigue siendo un namespace activo, por lo que debemos mantenerlo disponible para acceder al visor de mensajes... afortunadamente, solo por un tiempo.

Es un truco …

Abrimos la clase de la Producción en el estudio y añadimos el siguiente ClassMethod:

ClassMethod OnStart() As %Status
{
    Return $system.Status.Error(5001,"THIS PRODUCTION IS DISABLED.")
}
0
0 207
Artículo Daniel Aguilar · feb 24, 2020 6m read

El tema del rendimiento de los bucles for/while en Caché ObjectScript surgió recientemente en una discusión, y me gustaría compartir algunas ideas/prácticas recomendadas con el resto de la comunidad. Aunque este es un tema básico por sí mismo, es útil conocer con cuales se obtiene un mayor rendimiento.

En resumen, las opciones más rápidas son los bucles que se iteran por $ListBuild, las listas que se forman con $ListNext o sobre un conjunto local mediante $Order.

Por ejemplo, consideraremos iterar un bucle por cada elemento de una cadena delimitada por comas.

1
0 386
Artículo Estevan Martinez · feb 11, 2020 7m read

Esta publicación es el resultado directo de trabajar con un cliente de InterSystems que acudió a mí con el siguiente problema:

SELECT COUNT(*) FROM MyCustomTable

Esto tarda 0.005 segundos, con 2300 filas en total.  Sin embargo:

SELECT * FROM MyCustomTable
0
0 189
Anuncio Jamie Kantor · ene 14, 2020
Hola a tod@s.
El equipo certificación hemos recibido algunas preguntas de los desarrolladores de Caché que piensen tomar el exam InterSystems IRIS Core Solutions Developer. Pensé que ahora sería un buen momento para aclarar algunas dudas que la comunidad pueda tener.
Incluso si Ud. aún no ha trabajado con InterSystems IRIS, el examen puede ser apto para usted si ya tiene experiencia en Caché. Si miramos los Exam Details  veremos que solo hay un tema específico de IRIS. Nuestros diseñadores de exámenes hicieron esto a propósito porque sabíamos que muchos de nuestros socios y clientes estaban
0
1 234
Artículo Robert Cemper · dic 21, 2019 2m read

Para aquellos expertos que no pueden parar después del concurso "Advent of Code" (AoC2019), he publicado un código bastante antiguo en estilo tradicional para mejorarlo.

Fue escrito en base a una prueba previa en .XLS. Está lejos de ser perfecto. Es más bien un desafío para mejora en todas las direcciones (código, interfaz, ...). Así que cualquiera está invitado a mejorarlo.

0
0 234
Artículo Ricardo Paiva · dic 6, 2019 12m read

¡Hola Comunidad!

La mayor parte de las comunicaciones servidor-cliente en la web se basan en una estructura de solicitud y respuesta. El cliente envía una solicitud al servidor y el servidor responde a esta solicitud. El protocolo WebSocket ofrece un canal bidireccional de comunicación entre un servidor y un cliente, lo que permite a los servidores enviar mensajes a los clientes sin antes haber recibido una solicitud. Por más información sobre el protocolo WebSocket y su implementación en InterSystems IRIS, vea los siguientes enlaces:

0
0 1540
Artículo David Reche · nov 29, 2019 4m read

¡Hola desarrolladores!

Siempre que desarrollamos una biblioteca, herramienta, paquete o lo que sea en InterSystems ObjectScript, nos surge una pregunta: ¿cómo desplegar este paquete en la máquina destino?

Adicionalmente, en muchas ocasiones se supone que debe haber otras bibliotecas instaladas de las que depende nuestro código y a menudo de una versión particular de las mismas.

Cuando uno programa en javascript, python, etc., el rol de despliegue de paquetes con gestión de dependencias se realiza por el package manager o gestor de paquetes.

Por eso, me complace anunciar que ya está disponible nuestro administrador de paquetes, el InterSystems ObjectScript Package Manager .

0
0 247
Artículo Ricardo Paiva · nov 7, 2019 1m read

¡Hola!

Creo que lo más sencillo es (trabajando con un csv delimitado por ";"):


set file = ##class(%File).%New( "data.csv" )
    set sc = file.Open( "R" )
    if $$$ISERR(sc) quit    ; or do smth
    while 'file.AtEnd {
        set str=file.ReadLine()
        for i=1:1:$length( str, ";" ) {
            set id=$piece( str, ";" ,i )
            write !, id  // or do smth
        }
    }
    do file.Close()

Opciones posibles:

Distintas variantes de manejo de errores con código sc.

Introducir un bucle while dentro de un bloque try/catch.

¿Cuál es la tuya?

0
0 345
Anuncio Esther Sanchez · oct 25, 2019

¡Hola a tod@s!

Como sabéis, durante el Global Summit de este año en Boston celebramos una Reunión de Desarrolladores de InterSystems. ¡Y ya podéis descubrir qué desarrollos sobre InterSystems IRIS se discutieron! 

El vídeo de la reunión está disponible en el Canal de YouTube de la Comunidad de Desarrolladores en inglés:

⏯ Reunión de Desarrolladores de InterSystems - Global Summit 2019

0
0 146