#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 Estevan Martinez · oct 9, 2019 1m read

¡Hola Comunidad!

Tengo una pregunta para todos: en ObjectScript tenemos la variable cls para las clases y mac para el código, y ambas se compilan dentro de int en el código. ¿Hay alguna razón para utilizar mac en lugar de cls  para las clases no-persistentes?

En mi opinión, los beneficios de utilizar cls son:

1. Herencia y otras funciones de la Programación Orientada a Objetos (POO) 

2. Código auto-documentado 

En el caso de mac, una ventaja visible es que es más sencillo llamar al terminal:

do method^Utils(p1,p2)

frente a 

do ##class(Package.Utils).method(p1,p2)

¿Tú cuál prefieres utilizar y por qué?

0
0 183
Artículo Jose-Tomas Salvador · ago 14, 2019 5m read

La funcionalidad de Sincronización de Objetos no es nueva, estaba presente en Caché, pero quería explorar un poco más en profundidad cómo funciona. Siempre he pensado que la sincronización automática de una base de datos es compleja en sí misma pero, para algunos escenarios muy particulares quizá no sea tan difícil. Así que he considerado un caso de uso muy simple (OK, quizá el caso típico, no descubro nada... pero si es común y funciona, es bueno  ). Puedes bajar el código de GitHub y compilarlo en tu sistema, generar automáticamente datos de ejemplo y jugar un poco con ello. Está hecho para

0
1 190
Artículo Nancy Martínez · ago 7, 2019 7m read


¡Hola a tod@s!

Este artículo es una pequeña descripción general de una herramienta que permitirá entender las clases y su estructura, dentro de los productos de InterSystems: desde IRIS hasta Caché, Ensemble y HealthShare.

En resumen, con esta herramienta se visualiza una clase o un paquete completo, se muestran las relaciones que existen entre las clases y proporciona toda la información que se encuentra disponible para los desarrolladores y líderes de equipos sin necesidad examinar el código, utilizando el Studio.

Si estás aprendiendo a utilizar los productos de InterSystems,  o simplemente estás interesado en aprender algo nuevo sobre las soluciones que ofrece la tecnología de InterSystems, ¡eres más que bienvenido a leer la descripción general de ObjectScript Class Explorer!

0
0 631
Artículo Kurro Lopez · jul 17, 2019 12m read


Las clases de consulta en InterSystems Caché son una herramienta muy útil que separa las consultas SQL del código Object Script de Caché. Básicamente funciona de la siguiente manera: supongamos que quiere utilizar la misma consulta SQL con distintos argumentos en varios lugares diferentes. En este caso, puede evitar la duplicación del código si declara el contenido de la consulta como una clase de consulta y después llama a esta consulta por su nombre. Este método también es conveniente para las consultas personalizadas, donde el desarrollador define con cuál de las tareas obtendrá la siguiente fila. ¿Esto le parece interesante? Entones, ¡siga leyendo!

0
0 802
Artículo Alberto Fuentes · jul 9, 2019 4m read

¡Hola! Me gustaría revisitar hoy con vosotros un artículo muy útil de Amir Samary donde se detalla cómo ejecutar un comando del sistema operativo desde IRIS / Caché / Ensemble de forma interactiva.

Con frecuencia es necesario ejecutar algún comando externo, como por ejemplo un programa Python o un script de bash desde Caché/Ensemble. Existen dos formas principales:

0
0 613
Pregunta Evgeny Shvarov · jun 29, 2019

¡Hola chicos!

Como saben, hay dos (al menos) formas de obtener el valor almacenado de una propiedad de una clase InterSystems IRIS si se conoce el ID de una instancia (o un registro).

1. Obtenerlo mediante la propiedad de una instancia con "Acceso a objetos":

ClassMethod GetPropertyForID(stId As %Integer) As %String

{

set obj=..%OpenId(stId)

return obj.StringData

} +++ ++ 
 

2. Obtenerlo mediante una columna del registro con "acceso SQL":

ClassMethod GetColumnForID(stId As %Integer) As %String

{

&sql(select StringData into :sd from Ideal.StoredData where id = :stId)

return sd

}
1
0 198
Artículo Nancy Martínez · jun 28, 2019 9m read

¡Hola Comunidad!

En este artículo encontrarán algunosejemplos de conversiones y operaciones que les pueden resultar útiles. También incluyo enlaces a la documentación donde se puede obtener másinformación.

Cuando escribíesto, la hora del Este "Eastern Daylight Time" estaba activa en el Caché de mi sistema.

0
0 998
Anuncio Nancy Martínez · jun 18, 2019

Hola a todos,

Nuestro compañero en la Comunidad @Dmitry Maslennikov  liberó la última versión de la extensión VSCode para ObjectScript hace ya un tiempo, y es momento de hacer alguna revisión de lo que aporta esta versión.

¿Qué hay de nuevo en esta versión?

  • Se ha añadido una propiedad a export, "objectscript.export.addCategory" si se habilita utiliza el comportamiento previo, añade la carpeta categoría a la carpeta de exportación, se encuentra deshabilitada por defecto
  • Se ha añadido un menú de acciones en el Servidor, haciendo clic en la información del servidor desde la barra de estado. Abre el Portal de Gestión,  la referencia de clases de la documentación y alterna la conexión.
  • Sugerencias a nivel de clases: en ##class, Extends, As, CompileAfter, DependsOn, PropertyClass
  • Sugerencia al usar $SYSTEM con clases del paquete %SYSTEM
  • Importar y compilar carpeta o fichero desde el menú de contexto en el explorador de ficheros
  • Explorador del Servidor, ahora es posible abrir cualquier otro Namespace
  • Sugerencia en el uso de Macros

Para más detalles, pueden ver los siguientes ejemplos:

0
0 271
Artículo Dmitry Maslennikov · jun 17, 2019 2m read

¡Hola a tod@s! Hoy traigo buenas noticias para la Comunidad:

Hace unos días, GitHub se actualizó con la última versión del proyecto linguist, que se utiliza para reconocer los tipos de código fuente en los repositorios. Ayuda a determinar qué lenguaje de programación se ha utilizado en cada archivo del repositorio. La sección de estadísticas del repositorio muestra los resultados del trabajo de este módulo.

 

Además, se puede buscar en todos los repositorios disponibles de GitHub para cualquier idioma elegido.

0
0 346
Pregunta Kurro Lopez · mayo 16, 2019

Hola a todos,

Tengo una clase que quiero serializar a JSon. Entonces estoy usando el objeto% ZEN.Auxiliary.jsonProvider)

 set myClass = ## class (myapp.myclass).% New () 
 
 
 
 set myClass.property1 = "value 1" 
 
 
 
 establecer myClass.property2 = "valor 2" 
 
 
 
 establecer myClass.property3 = " valor 3 "
 
 
 
 do ## class (% ZEN.Auxiliary.jsonProvider).% WriteJSONStreamFromObject (.tStream, myClass ,,, 1," ed ") 
 
 
 
 write tStream.Read () 
1
0 294
Anuncio David Reche · mayo 17, 2019

¡Hola Comunidad!

Echad un vistazo al nuevo vídeo "Coding Talk" ("Charlas sobre programación") en el Canal de YouTube de la Developer Community:

Crea tu primer código con InterSystems ObjectScript, usando IRIS Community, Github, Docker and VSCode

En este video, presentado por @Evgeny Shvarov, aprenderás a crear clases de InterSystems ObjectScript, ejecutarlo en un contenedor docker con InterSystems IRIS Community Edition, editarlo y compilarlo en Visual Studio Code y, por último, subirlo a Github.

Además...

0
0 200
Anuncio David Reche · mayo 15, 2019

¡Hola Comunidad!

Echad un vistazo al nuevo webinar disponible en el Canal de YouTube de la Developer Community: herramientas para trabajar con Intersystems IRIS en proyectos de Machine Learning. El webinar ha sido grabado por dos Ingenieros de Ventas de InterSystems: @Sergey Lukyanchikov y @Eduard Lebedyuk.

"Herramientas de Machine Learning (Python, ObjectScript, Interoperability, Analytics) para InterSystems IRIS"

0
0 115
Artículo Alberto Fuentes · mayo 9, 2019 1m read

Me gustaría compartir un trabajo de André-Claude Gendron del CIUSSS de l'Estrie - CHUS (Canadá) presentado en un InterSystems Summit.  

Consiste en un framework de generación de objetos simulados (mocks) que puede utilizarse para construir UnitTests.

Un objeto simulado (o mock) no es más que un objeto que imita el comportamiento de objetos reales de forma controlada. Estos objetos simulados se utilizan en las pruebas unitarias (UnitTest) para simular objetos o dependencias que sean necesarias para la clase que se quiera probar. Lo explica muy bien su presentación:

0
0 969
Anuncio David Reche · abr 24, 2019

¡Hola a todos!

Hoy es miércoles y por eso tenemos un nuevo video en nuestro Canal de YouTube, grabado en un nuevo formato, "Coding Talks":  

Autor del vídeo: @Evgeny Shvarov 

Objetivo del vídeo: Cómo implementar una solución sobre InterSystems IRIS mediante ObjectScript utilizando Docker, con un ejemplo de un repositorio de código dockerizado.

0
0 156
Artículo Jose-Tomas Salvador · abr 16, 2019 2m read

Hace algunas semanas estaba leyendo un libro de Stephen Hawking y Leonard Mlodinow, El Gran Diseño. En un momento dado, intentando definir cosas como ¿por qué existimos?, ¿por qué utilizamos los modelos que utilizamos en física?,... bueno, ya sabéis, ese tipo de cosas... los autores se refirieron al ejemplo del Juego de la Vida inventado por el matemático John Conway en 1970... Básicamente el quería mostrar que un sistema con unas leyes fundamentales realmente simples (Física) podría evolucionar y "vivir" hasta convertirse en un sistema más complejo (Química) en el cual "algo" (humanos) podría descubrir su propio modelo y reglas complejas que explicasen su realidad... las reglas para este modelo determinista que el expuso eran tan básicas que pensé que sería divertido implementarlas en ObjectScript cuando tuviera un rato libre... hay otras implementaciones en JavaScript y en otros lenguajes... pero no en ObjectScript… y ¡!había que corregir eso!!… así que ¡aquí lo tienes!

0
0 315
Artículo Kurro Lopez · abr 16, 2019 3m read

A veces, necesitamos copiar parte de las propiedades de un objeto en otro diferente.

La forma mas facil sería hacer lo siguiente:

Set obj1.FirstName = obj2.FirstName

Set obj1.SecondName = obj2.SecondName

¿Que sucede si el objeto contiene un gran número de propiedades? ¿Y si solo necesitamos extraer un importante grupo de datos, y complementar la información en otro objeto?

Tenemos las siguientes clases:

0
0 294