#Dicas e truques

0 Seguidores · 66 Postagens

Pedaços da experiência tecnológica InterSystems que resolve algum problema específico de maneira elegante ou incomum.

Artigo Larissa Prussak · Mar. 20, 2024 2m read

Você já editou arquivos no VS Code, mas precisou verificar um valor global ou executar alguns comandos do ObjectScript? Agora você pode, sem necessidade de configuração! Se você tem vscode-objectscript extension version 2.10.0 ou posterior e estiver conectado ao InterSystems IRIS 2023.2 ou posterior, agora você pode abrir uma conexão de terminal com seu servidor, independentemente de onde ele esteja localizado.

Existem três maneiras de abrir este novo terminal:

0
0 146
Artigo Larissa Prussak · Mar. 15, 2024 1m read

Rubrica de perguntas frequentes da InterSystems


Os mapas de registros são usados ​​para mapear com eficiência arquivos contendo registros delimitados ou registros de largura fixa para classes de mensagens usadas pela função de interoperabilidade e para mapear arquivos de classes de mensagens da função de interoperabilidade para arquivos de texto.

As definições de mapeamento do mapa de registros podem ser criadas usando o Portal de Gerenciamento, e também fornecemos um assistente de registro CSV que permite definir durante a leitura de um arquivo CSV.

0
0 59
Artigo Danusa Calixto · Mar. 12, 2024 22m read

Olá, esta postagem foi escrita inicialmente para Caché. Em junho de 2023, finalmente a atualizei para IRIS. Se você está revisitando a postagem agora, a única mudança real foi a substituição do Caché pelo IRIS! Também atualizei os links para a documentação do IRIS e corrigi alguns erros de digitação e gramaticais. Aproveite :)

0
0 74
Artigo Larissa Prussak · jan 3, 2024 1m read

Rubrica de perguntas frequentes da InterSystems

Se vários produtos InterSystems estiverem instalados no mesmo sistema, a versão mais recente do driver ODBC da InterSystems entre os produtos instalados permanecerá registrada no gerenciador de drivers.

Você pode mudar para qualquer driver alterando a entrada de registro abaixo.

 Observe que a execução de RegFiles.bat não altera o driver ODBC.

A entrada do registro é a seguinte.

HKEY_LOCAL_MACHINE\SOFTWARE\ODBC\ODBCINST.INI\InterSystems ODBC35 key Driver
HKEY_LOCAL_MACHINE\SOFTWARE\ODBC\ODBCINST.INI\InterSystems ODBC35 key Setup
0
0 104
Artigo Danusa Calixto · Dez. 22, 2023 5m read

[Contexto]

A família InterSystems IRIS tem um ótimo utilitário ^SystemPerformance (conhecido como ^pButtons no Caché e no Ensemble) que gera as informações de desempenho do banco de dados em um arquivo HTML legível. Ao executar ^SystemPerformance no IRIS para Windows, um arquivo HTML é criado onde nosso próprio log de desempenho mgstat e o log de desempenho do Windows são incluídos.

0
0 70
Artigo Danusa Calixto · Dez. 4, 2023 1m read

InterSystems FAQ

Ao executar comandos do sistema operacional, use $ZF(-100).

do$ZF(-100,"",program,args) // Execute the Windows command [synchronously].
do$ZF(-100,"/ASYNC",program,args) // Executes a Windows command [asynchronously].

Ao executar comandos do shell do sistema operacional, como mkdir e copy, especifique também /SHELL.

do$zf(-100,"/shell /async","mkdir","c:\temp\x")

Consulte os seguintes documentos para obter detalhes:

Sobre $ZF(-100) [IRIS]
Sobre $ZF(-100)

0
0 74
Artigo Flávio Lúcio Naves Júnior · Ago. 23, 2023 1m read

Pergunta feita várias vezes para InterSystems 

Isso pode ser obtido usando a consulta AllFields query da classe %SYS.ProcessQuery.

Para obter mais detalhes, consulte o documento Process (Job)【IRIS】Process (Job).

Um exemplo de execução no terminal é o seguinte.

1
0 115
Artigo Danusa Calixto · Ago. 7, 2023 1m read

InterSystems FAQ

Se o valor de uma variável local é um OREF ou não, pode ser determinado usando $IsObject(). Seja v a variável que você deseja verificar,

$IsObject(v)=1// v is an OREF$IsObject(v)=0// v is not an OREF$IsObject(v)=-1// v is an OREF but does not point to a valid object

Observe que $IsObject(v) dará um erro UNDEFINED se v for indefinido.

Para evitar erros UNDEFINED, é recomendado o uso do $Get assim:

$IsObject($Get(v))
0
0 96
Artigo Danusa Calixto · Ago. 7, 2023 1m read

InterSystems FAQ 

Você pode definir páginas de erro individuais para as seguintes mensagens de erro/respostas de sistema do Web Gateway:   

  • erro de servidor 
  • servidor ocupado
  • servidor indisponível
  • tempo limite do servidor
  • conexão fechada

As configurações são feitas na tela de Gerenciamento do Web Gateway ([Management Portal] > [System Administration] > [Configuration] > [Web Gateway Management] > [Configuration] > [Default Parameters]).

0
0 55
Artigo Miqueias Santos · Jun. 7, 2023 4m read

Quando você compila rotinas ou classes no terminal, os resultados da compilação são exibidos na tela, portanto, mesmo que ocorra um erro, é fácil verificar.Se você deseja obter apenas informações de erro, precisa planejar um pouco.

O seguinte descreve como obter informações de erro do resultado da compilação em lote de rotinas/classes.

para rotinas

Para rotinas de compilação em massa em um namespace no Terminal, o método CompileAll() da classe %Library.Routine. use

0
0 99
Artigo Cristiano Silva · Jun. 7, 2023 5m read

Você já deve ter ouvido falar que, a partir das versões IRIS e HealthShare HealthConnect 2023.2, o Apache Server interno será removido da instalação padrão, então será necessário ter um servidor de aplicativos externo como Apache Server ou NGINX.

Neste artigo, procederei à instalação de um HealthShare HealthConnect 2023.1 para que funcione com um servidor Apache pré-instalado. Para isso usarei uma máquina virtual na qual instalei um Ubuntu 22.04.

Instalando Apache Server

0
0 148
Artigo Heloisa Paiva · Jun. 1, 2023 2m read

Esse é um artigo da página de "Perguntas frequentes" (FAQ) da InterSystems.

 1. Exportar API

a. Use $system.OBJ.Export() para especificar rotinas individuais para exportar. Por exemplo:

do $system.OBJ.Export("TEST1.mac,TEST2.mac","c:\temp\routines.xml",,.errors)

O formato que você deve especificar é: NomeDaRotina.extensão, e a extensão pode ser: mac, bas, int, inc, obj.

Os erros durante a exportação se armazenam na variável "errors".

Veja a referência da classe %SYSTEM.OBJ para mais detalhes sobre $system.OBJ.Export().

0
0 110
Artigo Heloisa Paiva · Maio 26, 2023 6m read

Introdução

Dentre as diversas soluções que desenvolvemos aqui na Innovatium,  um desafio comum é a necessidade de acesso ao tamanho das bases de dados. Entretanto, notei que isso não é algo tão trivial no IRIS. Esse tipo de informação é importante para manter um controle do fluxo de dados e do custo em GB's de um sistema a ser implementado. Contudo, o que realmente me chamou atenção é a necessidade dela para uma função muito importante: migrar para cloud. Afinal, quem não quer migrar seus sistemas para cloud hoje em dia, certo?

0
0 131
Artigo Cristiano Silva · Abr. 27, 2023 6m read

InterSystems FAQ rubric

Neste artigo, apresentaremos como lidar com a situação: "Excluí acidentalmente uma global!"

Arquivos de backup e journals são usados para recuperar globais específicas que foram excluídas acidentalmente. A restauração é executada especificando as condições e restaurando registros do journal usando o utilitário ^ZJRNFILT. Dessa forma, você pode aplicar um backup pontual do banco de dados e até incluindo a exclusão de uma global específica para registros do journal que contêm as exclusões. Para obter mais informações sobre o utilitário ^ZJRNFILT, consulte a documentação:

0
0 88
Artigo Fabiano Sanches · Abr. 26, 2023 1m read

Mantenha contato com a InterSystems e receba alertas, avisos e outras novidades sobre os produtos rapidamente. O processo é realmente simples:

Como você pode ver, leva menos de um minuto pra ficar informado sobre as novidades!

0
0 32
Artigo Danusa Calixto · Abr. 4, 2023 2m read

Olá desenvolvedores!

Como você sabe, o IRIS da InterSystems além de globais, objetos, documentos e modelos de dados XML também suporta relacional onde o SQL é esperado como uma linguagem para lidar com os dados.

E como em outros DBMS relacionais, o InterSystems IRIS possui seu próprio dialeto.

Começo esta postagem para dar suporte a uma folha de dicas SQL e convido você a compartilhar seus favoritos - atualizarei o conteúdo com os comentários recebidos.

Aqui vamos nós!

0
0 63
Artigo Danusa Calixto · Mar. 27, 2023 1m read

InterSystems FAQ 

Você pode recuperar datas e tamanhos de rotina programaticamente usando a consulta RoutineList da classe %Library.Routine (ou apenas %Routine).

A consulta RoutineList tem um argumento e o nome da rotina a ser pesquisado pode ser especificado por correspondência de prefixo ou correspondência intermediária. (Para curingas, especifique * ou ?)

No exemplo a seguir. *.MAC é especificada como argumento.

SET tStatement =  ##class(%SQL.Statement).%New()
 DO tStatement.%PrepareClassQuery("%Routine" , "RoutineList") 
 SET rs = tStatement.%Execute("*.MAC",,0) 
 DO rs.%Display() 
0
0 94
Artigo Angelo Bruno Braga · Out. 4, 2022 4m read

Olá Comunidade,

Deseja obter ajuda, discutir um recurso interessante, fazer um anúncio ou compartilhar seu conhecimento? Neste post, vamos dizer-lhe como fazer tudo isso.

Para facilitar a navegação neste "como fazer" basta seguir o conteúdo:

Diretrizes Gerais

Para começar, você precisa clicar no botão "Nova postagem" no menu superior do site da Comunidade de desenvolvedores:

0
0 78
Artigo Angelo Bruno Braga · Jul. 4, 2022 1m read

Se você sabe vários idiomas e gostaria de compartilhar seu conhecimento com usuários de outras partes do mundo que não falam Português?

Agora é sua hora de brilhar! 🤩

Com nossa Comunidade de Desenvolvedores é fácil associar seu artigo original com a sua tradução em outro idioma (ou mesmo solicitar que seja feita a tradução).

Vamos conversar um pouco sobre como criar sua própria tradução:

0
0 87
Pergunta Luiz Henrique Carvalho Martarelli · Jun. 27, 2022

Bom dia / tarde / noite!

Onde trabalhamos usamos 2 versões de cache, a de 2015 (uma base de teste) e uma versão 2018 (Produção) a versão de produção eu consegui rodar normalmente no vscode, já a versão de 2015 não tive sucesso, ele não carrega os namespace, gostaria de saber se realmente não é compatível com a versão, ou se a configuração tem que ser outra, caso seja, alguém pode compartilhar um modelo ou um tutorial?

desde já agradeço a ajuda!

att

Luiz Martarelli

1
0 86
Artigo Rochael Ribeiro · Fev. 22, 2022 2m read

Pessoal !

Recentemente encontrei vários comandos ObjectScript de apenas uma linha na Comunidade de Desenvolvedores e achei que seria uma ótima ideia colecioná-los para não perdê-los!

Decidi então juntar alguns poucos casos, colocá-los em um projeto OEX, e compartilhá-los com vocês!

E aqui está como vocês podem utilizá-los:

1. Criar uma configuração cliente SSL:

set $namespace="%SYS", name="DefaultSSL" do:'##class(Security.SSLConfigs).Exists(name) ##class(Security.SSLConfigs).Create(name)

Útil se você precisar ler conteúdo de uma URL.

0
0 99
Artigo Rochael Ribeiro · Fev. 21, 2022 2m read

Olá desenvolvedores!

Algumas vezes precisamos inserir ou fazer referência aos dados de classes persistentes diretamente através das globais.

E talvez muitos de vocês estejam esperando que a estrutura de dados da global com os registros seja:

^Sample.Person(Id)=$listbuild("",col1,col,2,...,coln).

Este artigo é um aviso que nem sempre isso é verdade. Não espere que sempre seja assim!

0
0 81
Artigo Rochael Ribeiro · Fev. 21, 2022 2m read

Olá Desenvolvedores!

Como você provavelmente percebeu, no IRIS 2021 os nomes das globais são randômicos.

E, se você criar classes do IRIS classes com DDL e quiser se certificar qual global foi criada, você provavelmente gostaria de escolher seu nome.

E, de fato, você consegue fazê-lo. 

Utilize WITH %CLASSPARAMETER DEFAULTGLOBAL='^GLobalName' na instrução CREATE Table para fazê-lo. Documentação. Veja o exemplo abaixo:

0
0 70
Artigo Larissa Prussak · Out. 4, 2021 2m read

Olá comunidade!

O site de aprendizado da InterSystems tem muitos cursos iterativos importantes. 
Portanto, se você deseja aprender sobre a InterSystems e começar a trabalhar com a InterSystems, este é o caminho:


Overview:

Fundamentais:

1
0 157
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:

0
0 166
Artigo Larissa Prussak · Maio 7, 2021 1m read

Se você trabalha com o Portal em várias instâncias do Caché, Ensemble ou HealthShare, pode achar útil definir o Modo do Sistema das várias instâncias, de modo a dar a si mesmo um lembrete visual da função daquela em que você está trabalhando atualmente.

Por exemplo:

0
0 121
Artigo Fernando Ferreira · Mar. 25, 2021 6m read

Olá comunidade,

  Nesta 4ª parte vamos falar de uma funcionalidade do InterSystems IRIS Reports chamada de “Bursting”. Vamos primeiro relembrar o que já vimos até o momento.

Entendemos o que é o InterSystems IRIS Reports, instalamos os ambientes: Designer e Server, verificamos os diversos tipos e formatos de relatórios que podemos desenvolver, e entendemos como distribuir um relatório em diversos formatos.

Mas afinal o que é o “Bursting”? Antes de demonstrar está funcionalidade em ação, vamos primeiro refletir sobre a sua necessidade.

0
0 172