#ObjectScript

2 Seguidores · 233 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.

Pregunta Yone Moreno · mayo 9, 2023

Buenos días,

Antes que nada agradecer el tiempo de ustedes al leer, reflexionar y sobre todo responder y aclarar las dudas.

 

Tenemos una cuestión:

¿Cuál es la forma recomendada de convertir un Objeto de Ensemble a JSON?,

en concreto, para ser más preciso:

¿cuál es la manera idónea de transformar un Mensaje Response con cualquier tipo de Property: %String, %List of String, otros objetos de Ensemble (EsquemasDatos); a un GlobalCharacterStream que represente al JSON? a retornar a Sistema Origen, desde el Servicio.

3
0 243
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 () 

Por definición de myclass, todas las propiedades están serializadas, eso está bien. Pero no quiero serializar la propiedad3.

1
0 297
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 205
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 170
Pregunta Ba Moser · ago 25, 2020

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

No hay problema para definir INDEX on Home_State

But Table Sample.Person1_AR

Cómo definir un INDEX on AR_State ?
Index st On AR.State;

¡No compila!

1
0 159
Pregunta Laura Blázquez García · ago 20, 2021

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:

Hay alguna forma de no perder los saltos de línea? He comprobado y los saltos de línea son los caracteres 13 y 10 ($Char(13) y $Char(10)).

2
0 910
Pregunta Oscar Tarriño Buen o · sep 17, 2024

Buenos días,

En una integración que estamos haciendo entre dos sistemas recibos un ORU_R01 con los datos de un monitor.  Lo recibimos mediante una llamada a nuestro webservice en formato XML.

<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:com="http://com.gacelacare.ws">
   <soapenv:Header/>
   <soapenv:Body>
      <com:processMessage>
         <String_1><![CDATA[<ORU_R01 xmlns="urn:hl7-org:v2xml">
    <MSH>
        <MSH.1>|</MSH.1>
        <MSH.2> ^~\&amp;amp;</MSH.2>
        <MSH.3>
            <HD.1>AA</HD.1>
        </MSH.3>
        <MSH.
6
0 195
Pregunta Kurro Lopez · jun 23, 2025

Hola a todos,

Estamos desarrollando una aplicación de citas médicas que conecta las agendas de los médicos con un proveedor de citas.

El proveedor nos está devolviendo la cita en el siguiente formato:

Thu Jul 03 08:20:00 CEST 2025

Significa, 03 de julio de 2025 a las 08:20:00 Hora de verano de Europa central (UTC+2)

Pero necesitamos el siguiente formato:

2025-07-03 08:20:00+02:00

¿Existe alguna opción para convertir el código horario de zona (CEST) a UTC+x?

¿Cómo convertir el código horario de zona (CEST, CET, ET, EDT, etc..) en su zona horaria UTC (UTC+2, UTC+1, UTC-5, etc..)?

 

Saludos cordiales

2
0 53
Pregunta Arturo Masero · feb 17, 2022

Hola compañeros/as, necesito de vuestra sabiduría.

En mi compañía programamos en ObjectScript y .int todo el día. Cuando entré nadie sabía apenas nada de clases y su uso era prácticamente sólo para definición de almacenamiento. Durante mi autoaprendizaje en caché descubrí que la programación orientada a objetos y el desarrollo de clases era posible en caché y comencé a codificar en .cls . Al ser algo autodidacta, puede que tenga algunas dudas básicas que se me hayan pasado en mis lecturas de documentación.

2
0 203
Pregunta Yone Moreno · feb 2, 2023

Buenos días,

Por favor necesitamos su asistencia.

Podrían indicarnos los pasos a seguir para entender el porqué en un entorno X cuando apuntamos por POSTMAN a su URL del Servicio Rest:

http://XXXX:XXXX/aplicaciones/scs/cconcertadostest/almacenarImagen
 

El Log del Servicio nos indic


Alert 2023-02-02 13:54:56.854 $System.Status.GetErrorText(sc): ERROR <EnsDICOM>DataElementNotFound: The DataElement at property reference 'TransferSyntaxUID' does not exist  167955423
Alert 2023-02-02 13:54:56.854 sc: 0 è<EnsDICOM>DataElementNotFoundTransferSyntaxUID«ESBCHUIMI›-e^zGetValueAt+15^EnsLib.
1
0 118