#ObjectScript

1 Seguidor · 142 Postagens

InterSystems ObjectScript é uma linguagem de script que opera com dados, usando qualquer modelo de dados da Plataforma de Dados InterSystems (Objetos, Relacionais, Chave-valor, Documentos, Globais) e, desenvolve a lógica de negócios para aplicações de servidor na Plataforma de Dados InterSystems.

Documentação.

Anúncio Angelo Bruno Braga · Dez. 28, 2021

Olá Desenvolvedores,

Obrigado a todos pela participação no Advento do Código 2021 e por codificar em InterSystems ObjectScript! Estamos felizes em apresentar os ganhadores e distribuir os prêmios para todos ! 

E nossos aplausos vão para esses desenvolvedores: 

   @Kevin An (w/ repo)

   @Yuval Golan(w/ repo)

   @Oliver Wilms(w/ repo)

Também gostaríamos de recompensar outro desenvolvedor que conquistou o domínio sobre o Python Incorporado e realizou 25 desafios nele. Deem as boas vindas para:

   @Robert Cemper (w/ repo)

0
0 97
Artigo Yuri Marx · Nov. 30, 2021 3m read

O XData (https://docs.intersystems.com/irislatest/csp/docbook/DocBook.UI.Page.cls?KEY=GOBJ_XDATA) é um recurso poderoso para definir informações de documentação e metadados para classes e métodos. A classe% CSP.REST usa XDATA para mapear chamadas REST(https://docs.intersystems.com/irislatest/csp/docbook/DocBook.UI.Page.cls?KEY=GREST_csprest), portanto, neste artigo, você verá como usar XData em seus aplicativos como código, não apenas como documentação.

Quando você escreve comentários / definições XData, o IRIS os armazena em %Dictionary.ClassDefinition (para classes) e %Dictionary.

0
0 190
Artigo Larissa Prussak · Out. 26, 2021 2m read

As tecnologias da InterSystems são conhecidas por seus bancos de dados de alto desempenho, que suportam os sistemas e operações de muitas organizações. No entanto, um ingrediente chave para esse sucesso é a qualidade e a facilidade de manutenção de seu código.

A qualidade do código pode afetar tudo, desde a velocidade e facilidade de corrigir bugs e fazer melhorias, até o desempenho geral de sua organização e sua capacidade de chegar à frente no mercado.

Ao garantir que seu código seja sustentável, você pode reduzir aproximadamente 75% dos custos do ciclo de vida do sistema *. É por isso que, na George James Software, as soluções que construímos são sempre diretas e escritas em código de alta qualidade - porque sabemos que essa base sólida pode impactar positivamente o resto da sua organização.

Com um sistema que pode ser mantido, você pode reduzir a manutenção geral, pois qualquer problema que ocorra é significativamente mais rápido de identificar e corrigir. Isso significa que você está livre para alocar tempo e orçamento para melhorias, permitindo que você obtenha o máximo valor de suas aplicações e, em última análise, dê um melhor suporte à sua organização.

Fique atento às nossas próximas postagens sobre como é um sistema sustentável e as ferramentas que podem ajudá-lo a manter seu código sustentável, a fim de ajudá-lo a reduzir esses custos de manutenção.

0
0 89
Pergunta Davidson Espindola · Set. 15, 2021

Hello everyone
I use cache script, I would like to know from you if there is any function or class in the cache where I can get the start and end date of a given month:
Example: What is the first and last day of the month of February 2015.

Grateful.
Davidson

3
0 177
Artigo Andre Larsen Barbosa · Ago. 18, 2021 2m read

ObjectScript tem pelo menos três maneiras de lidar com erros (códigos de status, exceções, SQLCODE, etc.). A maior parte do código do sistema usa status, mas as exceções são mais fáceis de tratar por vários motivos. Trabalhando com código legado, você passa algum tempo traduzindo entre as diferentes técnicas. Eu uso muito esses trechos para referência. Esperançosamente, eles também são úteis para outras pessoas.

///Status from SQLCODE:set st $$$ERRORClass Extends 
0
0 190
Artigo Larissa Prussak · Ago. 9, 2021 1m read

Olá desenvolvedores!

Só quero compartilhar uma prática recomendada antiga, mas sempre relevante, sobre a alteração de namespaces @Dmitry Maslennikov compartilhada comigo (de novo).

Considere o método:

classmethod DoSomethingInSYS() as %Status

{

set sc=$$$OK

set ns=$namespace

zn "%SYS"

// try-catch in case there will be an error

try {

// do something, e.g. config change

}

catch {}

 zn ns    ; returning back to the namespace we came in the routine

return sc

}

E com o novo $namespace, o método pode ser reescrito como:

classmethod DoSomethingInSYS() as %Status

{

set sc=$$$OK

new $namespace

set $namespace="%SYS"

// do something

return sc

}

Então! A diferença é que não precisamos alterar o namespace manualmente, pois ele voltará automaticamente assim que retornarmos o método.

e não precisamos do try-catch (pelo menos para esse propósito) também.

0
0 188
Artigo Andre Larsen Barbosa · Ago. 9, 2021 11m read

Neste artigo, vamos comparar as funções $Increment e $Sequence.

Em primeiro lugar, uma nota para os leitores que nunca ouviram falar de $Increment $Increment é uma função Caché ObjectScript que realiza uma operação atômica para incrementar seu argumento em 1 e retornar o valor resultante. Você só pode passar um nó de variável global ou local como um parâmetro para $Increment, não uma expressão arbitrária. $Increment é muito usado ao atribuir IDs sequenciais. Em tais casos, o parâmetro de $Increment é geralmente um nó global.

0
0 246
Artigo ROBSON SERPA DA ROSA · Jun. 28, 2021 5m read

Uma VIEW em SQL é basicamente uma instrução SQL preparada.
Deve ser executado e montado como qualquer outra consulta SQL.
VIEW MATERIALIZADA significa que o conteúdo é coletado antes das mãos e pode ser recuperado com bastante rapidez.
Eu vi o conceito primeiro com meu concorrente favorito chamado O * e eles fizeram muito barulho sobre isso.

  { favorite: because I could win every benchmark against them devil }

0
0 133
Artigo Yuri Marx · jan 20, 2021 1m read

As vezes é necessário executar comandos do shell do sistema operacional host, onde se encontra seu programa ObjectScript, para acionar programas, serviços do sistema operacional, agendar crontasks, dentre outras atividades. Para isto, a linguagem possui um procedimento utilitário chamado $ZF(-100). Seu formato é:

$ZF(-100,flags,program,args)

Onde flags é o tipo de comando que você quer executar. No nosso caso, a flag é "/SHELL", para executar comandos shell no sistema operacional host.

Program é o nome do programa ou serviço a ser executado.

0
0 183
Pergunta Henrique Dias · jan 18, 2021

Boa noite pessoal, tudo bem?

Estou com uma dúvida, qual seria a melhor forma de ler todos os arquivos, por exemplo CSV, de um determinado diretório?

Para ler o arquivo CSV, utilizo o ClassMethod abaixo: 

ClassMethod readCSV() As %Status
{

   set file = ##class(%File).%New("/irisdev/dataImport/teste.csv")
   set sc = file.Open("R")
   if $$$ISERR(sc) quit
   
   set count = 0

   while 'file.AtEnd {
      set count = $INCREMENT(count)
      set line = file.ReadLine()
      quit:(line="")
      write line,!
   }
   do file.Close()
}

Agradeço qualquer sugestão de vocês. 

4
0 456
Artigo Yuri Marx · jan 16, 2021 3m read

Oi Comunidade InterSystems!

A linguagem ObjectScript do InterSystems IRIS possui a capacidade de estender classes utilizando um recurso muito interessante chamado XData.

Trata-se de uma seção em sua classe que pode ser utilizada para criar definições personalizadas a serem utilizadas dentro da própria classe e também externamente.

Para criar uma ou mais definições de XData para sua classe é muito fácil, veja o exemplo:

Classdc.Sample.PersonExtends(%Persistent,%JSON
0
0 206
Artigo Lily Taub · Dez. 21, 2020 9m read

Introdução

A maior parte da comunicação servidor-cliente na web é baseada em uma estrutura de solicitação e resposta. O cliente envia uma solicitação ao servidor e o servidor responde a esta solicitação. O protocolo WebSocket fornece um canal bidirecional de comunicação entre um servidor e um cliente, permitindo que os servidores enviem mensagens aos clientes sem primeiro receber uma solicitação. Para obter mais informações sobre o protocolo WebSocket e sua implementação no InterSystems IRIS, consulte os links abaixo.

0
0 1302
Anúncio Angelo Bruno Braga · Nov. 30, 2020

Olá Desenvolvedores,

Vocês estão preparados para participar de nossa competição anual de Dezembro ?

Junte-se ao concurso o Advento do Código 2020 da InterSystems, participe em nosso concurso de ObjectScript e ganhe prêmios !!!

 

🏆 Nosso Placar 🏆

Aqui você consegue ver os participantes do ano passado.

👉🏼 Junte-se ao placar privado de ObjectScript com o código 130669-ab1f69bf.

Nota: Você precisa se inscrever para o Advento de Código (ex.

0
0 119
Pergunta Arian Botine · Nov. 15, 2020

Caché: 2017.2.1.801.0

Fala pessoal, tenho uma dúvida relacionada um problema especifico que eu estou tentando entender, onde ainda não tenho muitas informações, porém estou tentando criar uma forma de levantar dados precisos para expor mais detalhes aqui na comunidade ou até mesmo consultar o suporte da IS, a questão é muito simples:

Precisava saber através de código/rotina a seletividade de uma propriedade de tabela, atualmente consigo realizar um SET utilizando o comando:

SYSTEM.SQL.SetFieldSelectivity("#PACOTE","#TABELA","#PROPRIEDADE","#SELETIVIDADE","")
3
0 233
Artigo Evgeny Shvarov · Out. 26, 2020 5m read

Olá, desenvolvedores!

"objectscript.conn" :{
"ns": "IRISAPP",
"active": true,
"docker-compose": {
"service": "iris",
"internalPort": 52773
}

Quero compartilhar com vocês um novo recurso bem maneiro que descobri no novo lançamento 0.8 do plugin VSCode ObjectScript de @Dmitry Maslennikov e CaretDev.

O lançamento traz uma nova configuração "docker-compose", que resolve o problema com as portas necessárias para fazer o VSCode Editor se conectar à IRIS. Não era muito conveniente se você tivesse mais de um contêiner Docker com a IRIS em execução na mesma máquina. Agora, esse problema foi resolvido!

Veja abaixo como funciona.

0
0 191
Artigo Evgeny Shvarov · Out. 6, 2020 13m read

Olá, desenvolvedores!

Muitos de vocês publicam suas bibliotecas InterSystems ObjectScript no Open Exchange e GitHub.

Mas o que você faz para facilitar o uso e a colaboração do seu projeto por desenvolvedores?

Neste artigo, quero apresentar uma maneira fácil de iniciar e contribuir com qualquer projeto ObjectScript apenas copiando um conjunto padrão de arquivos para o seu repositório.

Vamos lá!

0
0 533