Vous êtes sur la page 1sur 130

Curso Lotus Notes R5 - Desenvolvimento com Macros - Versão 3 1

MÓDULO A ................................................... 1010

DESENHANDO APLICAÇÕES NOTES ...................... 1010

LIÇÃO 1 ...................................................... 1111

INTRODUÇÃO ÀS APLICAÇÕES NOTES .................. 1111


Objetivos ......................................................................................................................................... 1111
APLICAÇÕES NOTES.............................................................................................................................. 1111
Tipos de Aplicações Notes .............................................................................................................. 1111
Notes e Bases de Dados Relacionais .............................................................................................. 1212
Notes e Aplicações Internet............................................................................................................. 1212
Quando Não Usar Notes ................................................................................................................. 1313
Aplicações Notes e Base de Dados Notes ....................................................................................... 1313

LIÇÃO 2 ...................................................... 1414

PROJETANDO UMA BASE DE DADOS NOTES ........... 1414


Objetivos ......................................................................................................................................... 1414
COMPONENTES ESSENCIAIS DE UMA BASE DA DADOS NOTES .............................................................. 1414
Formulários .................................................................................................................................... 1414
Campos ........................................................................................................................................... 1414
Documentos .................................................................................................................................... 1414
Visões .............................................................................................................................................. 1515

LIÇÃO 3 ...................................................... 1616

CRIANDO UMA BASE DE DADOS NOTES ................ 1616


Objetivos ......................................................................................................................................... 1616
Passos para Construir uma Aplicação ........................................................................................... 1616
CRIANDO UMA BASE DE DADOS NOTES ................................................................................................ 1717
Usando um Modelo Existente ......................................................................................................... 1717
Copiando uma Base de Dados Existente ........................................................................................ 1717
Criando uma nova Base de Dados.................................................................................................. 1717
Criando um Arquivo de Base de Dados .......................................................................................... 1717
Servidor ........................................................................................................................................... 1818
Título da Base de Dados ................................................................................................................. 1818
Nome do Arquivo da Base de Dados .............................................................................................. 1818
EXPLORANDO AS FERRAMENTAS DE PROJETO NOTES .......................................................................... 1919
SUMÁRIO .............................................................................................................................................. 1919

MÓDULO B ................................................... 2020

CRIANDO FORMULÁRIOS E CAMPOS ..................... 2020

LIÇÃO 4 ...................................................... 2121

Cinq Technologies Ltda.


Curso Lotus Notes R5 - Desenvolvimento com Macros - Versão 3 2

PROJETANDO E CRIANDO UM FORMULÁRIO............ 2121


Objetivos ......................................................................................................................................... 2121
PROJETANDO UM FORMULÁRIO ............................................................................................................ 2121
Lista de Verificação para Elaboração de um Formulário .............................................................. 2121
CRIANDO UM FORMULÁRIO .................................................................................................................. 2121
Selecionado Comandos de Criação de Formulários ...................................................................... 2121
A Janela de Construção de Formulários ........................................................................................ 2222
Usando a Régua .............................................................................................................................. 2222
Salvando um Formulário... ............................................................................................................. 2222
AJUSTANDO AS PROPRIEDADES DE FORMULÁRIO ................................................................................. 2323
Nomes do Formulário ..................................................................................................................... 2323
Sinônimos ........................................................................................................................................ 2323

LIÇÃO 5 ...................................................... 2424

ADICIONANDO TEXTO ESTÁTICO ....................... 2424


Objetivos ......................................................................................................................................... 2424
LINHAS MESTRAS PARA AS PROPRIEDADES DE TEXTO.......................................................................... 2424
Espaçamento ................................................................................................................................... 2424
Fonte ............................................................................................................................................... 2424
Cores ............................................................................................................................................... 2425
ADICIONANDO TEXTO ESTÁTICO .......................................................................................................... 2525
Texto Estático.................................................................................................................................. 2525
Caixa Propriedades de Texto .......................................................................................................... 2525

LIÇÃO 6 ...................................................... 2626

ADICIONANDO CAMPOS ................................... 2626


Objetivos ......................................................................................................................................... 2626
SOBRE OS CAMPOS NOTES.................................................................................................................... 2626
Campos de Uso Único e Campos Compartilhados ......................................................................... 2626
Campos Editáveis e Campos Computados ...................................................................................... 2626
Regras para Nomeação de Campos ................................................................................................ 2626
Linhas-Mestras ............................................................................................................................... 2727
Nomes de Campos Reservados........................................................................................................ 2727
CRIANDO CAMPOS ................................................................................................................................ 2727
Ajuda de Campo.............................................................................................................................. 2828
TIPOS DE DADOS DE CAMPOS BÁSICOS................................................................................................. 2828
Texto................................................................................................................................................ 2828
Texto Rico ....................................................................................................................................... 2929
Números .......................................................................................................................................... 2929
Hora ................................................................................................................................................ 2929
CAMPOS PALAVRAS-CHAVES ............................................................................................................... 3030
Tipos de Campos Palavras-Chaves ................................................................................................ 3030
Lista de Diálogo .............................................................................................................................. 3030
Botão de Rádio................................................................................................................................ 3030
Caixa de Verificação....................................................................................................................... 3131
Sinônimos para Campos de Palavras-Chaves ................................................................................ 3131
TIPOS DE DADOS NOMES ...................................................................................................................... 3131
Nomes.............................................................................................................................................. 3131
Autores ............................................................................................................................................ 3232
Leitores ........................................................................................................................................... 3232
Cinq Technologies Ltda.
Curso Lotus Notes R5 - Desenvolvimento com Macros - Versão 3 3

Linhas-Mestras para Usar Tipos de Campos ................................................................................. 3232


CRIANDO CAMPOS DE VARIADOS TIPOS DE DADOS .............................................................................. 3232
Testando Formulário após Adicionar Campos ............................................................................... 3232
Criando um Campo Tipo Palavra-Chave ....................................................................................... 3333

LIÇÃO 7 ...................................................... 3434

CRIANDO FORMULÁRIOS DE RESPOSTA ................. 3434


Objetivos ......................................................................................................................................... 3434
FORMULÁRIO NOTES ............................................................................................................................ 3434
Tipos de Formulário ....................................................................................................................... 3434
Sumário de Formulários ................................................................................................................. 3535
AGRUPANDO FORMULÁRIOS RELACIONADOS ....................................................................................... 3535
SUMÁRIO .............................................................................................................................................. 3535

MÓDULO C ................................................... 3636

CRIANDO VISÕES E PASTAS .............................. 3636

LIÇÃO 8 ...................................................... 3737

PLANEJANDO UMA VISÃO................................. 3737


Objetivos ......................................................................................................................................... 3737
PLANEJANDO UMA VISÃO ..................................................................................................................... 3737
Tipos de Visão ................................................................................................................................. 3737
ESTRATÉGIA PARA LINHAS-MESTRAS DE VISÃO ................................................................................... 3838
Lista de Verificação para Planejar uma Visão ............................................................................... 3838
Demonstração: ................................................................................................................................ 3838

LIÇÃO 9 ...................................................... 3939

CRIANDO A VISÃO ......................................... 3939


Objetivos ......................................................................................................................................... 3939
CRIANDO A VISÃO ................................................................................................................................ 3939
Criando uma Visão ......................................................................................................................... 3939
SELECIONANDO DOCUMENTOS PARA UMA VISÃO................................................................................. 4040
Maneiras Fáceis de Selecionar Documentos ................................................................................. 4040
Fórmulas de Seleção ....................................................................................................................... 4040
Seleção de Documentos .................................................................................................................. 4040
SETANDO AS PROPRIEDADES DA VISÃO ................................................................................................ 4141
Caixa de Propriedades da Visão .................................................................................................... 4141
Nomes de Visão ............................................................................................................................... 4242
Padrões da Visão ............................................................................................................................ 4242
ADICIONANDO COLUNAS ...................................................................................................................... 4242
Criando uma Coluna....................................................................................................................... 4242
Caixa de Propriedades da Coluna .................................................................................................. 4343
Títulos de Colunas .......................................................................................................................... 4343
Largura das Colunas ...................................................................................................................... 4343
Dicas para Trabalhar com Colunas ............................................................................................... 4343
ASSINALE VALORES PARA AS COLUNAS ............................................................................................... 4444

Cinq Technologies Ltda.


Curso Lotus Notes R5 - Desenvolvimento com Macros - Versão 3 4

Usando Funções Simples ................................................................................................................ 4444


Mostrando os Valores dos Campos................................................................................................. 4444
Concatenando Nomes de Campos................................................................................................... 4444
Valores Calculados ......................................................................................................................... 4444

LIÇÃO 10 ..................................................... 4545

CRIANDO UMA PASTA...................................... 4545


Objetivo ........................................................................................................................................... 4545
SOBRE PASTAS ..................................................................................................................................... 4545
Usando Pastas ................................................................................................................................ 4545
Como as Pastas Diferem das Visões ............................................................................................... 4545
Tipos de Pastas ............................................................................................................................... 4545
Criando uma Pasta Compartilhada ................................................................................................ 4545
SUMÁRIO .............................................................................................................................................. 4646

LIÇÃO 11 ..................................................... 4747

O QUE É UMA FÓRMULA ................................... 4747


Objetivos ......................................................................................................................................... 4747
SOBRE AS FÓRMULAS NOTES................................................................................................................ 4747
O que é uma Fórmula? ................................................................................................................... 4747
Para que são Usadas? .................................................................................................................... 4747
Com o que as Fórmulas se Parecem? ............................................................................................. 4747
Onde Você Usa as Fórmulas? ........................................................................................................ 4848
ELEMENTOS DAS FÓRMULAS DA LINGUAGEM ....................................................................................... 4848
Variáveis ......................................................................................................................................... 4848
Nomes de Campos como Variáveis ................................................................................................. 4848
Constantes ....................................................................................................................................... 4849
Operadores ..................................................................................................................................... 4949
Fórmulas de Palavras-chaves ......................................................................................................... 5050
REGRAS DE SINTAXE DE FÓRMULAS ..................................................................................................... 5050
Separadores .................................................................................................................................... 5050
Letras Maiúsculas e Minúsculas ..................................................................................................... 5151
Parênteses () ................................................................................................................................... 5151
Aspas “” ......................................................................................................................................... 5151
Colchetes [ ] ................................................................................................................................... 5151
Tipos de Dados ............................................................................................................................... 5151
Operadores Lógicos ........................................................................................................................ 5152
Textos Constantes ........................................................................................................................... 5252
Aplicando as Regras de Sintaxe para Fórmulas Notes ................................................................... 5252

LIÇÃO 12 ..................................................... 5353

USANDO FUNÇÕES EM FÓRMULAS ....................... 5353


Objetivos ......................................................................................................................................... 5353
FUNÇÕES .............................................................................................................................................. 5353
Uso para as Funções ...................................................................................................................... 5353
Sintaxe ............................................................................................................................................. 5353
Valores Retornados ......................................................................................................................... 5454
FUNÇÕES EXEMPLO .............................................................................................................................. 5454
Tipos de Função.............................................................................................................................. 5454
Cinq Technologies Ltda.
Curso Lotus Notes R5 - Desenvolvimento com Macros - Versão 3 5

Manipulação de Strings .................................................................................................................. 5454


Operações Lógicas.......................................................................................................................... 5555
Usos para a Declaração @If .......................................................................................................... 5656
Linhas-Mestras para Utilizar a Declaração @If ............................................................................ 5656
Operações de Data e Hora ............................................................................................................. 5656
Operações Aritméticas .................................................................................................................... 5757
Operações com Listas ..................................................................................................................... 5757
Funções Especiais ........................................................................................................................... 5858

LIÇÃO 13 ..................................................... 6060

USANDO FÓRMULAS PARA EDITAR E VALIDAR DADOS 6060


Objetivos ......................................................................................................................................... 6060
CAMPOS COMPUTADOS ........................................................................................................................ 6060
Computado ...................................................................................................................................... 6060
Computados para Exibição............................................................................................................. 6161
Computados durante a Composição ............................................................................................... 6161
FÓRMULAS DE CAMPOS EDITÁVEIS....................................................................................................... 6161
Fórmula de Valor Padrão ............................................................................................................... 6161
Fórmula de Conversão de Entrada ................................................................................................. 6262
Fórmula de Validação de Entrada ................................................................................................. 6262
COMO INSERIR UMA FÓRMULA ............................................................................................................. 6263
O Painel de Projeto ........................................................................................................................ 6363
A Janela de Fórmulas ..................................................................................................................... 6363
SUMÁRIO .............................................................................................................................................. 6363

MÓDULO D ................................................... 6465

AUMENTANDO FORMULÁRIOS E VISÕES ............... 6465

LIÇÃO 14 ..................................................... 6566

AUMENTANDO UM FORMULÁRIO ......................... 6566


Objetivos ......................................................................................................................................... 6566
SEÇÕES CONTRÁTEIS ............................................................................................................................ 6566
Tipos de Seções ............................................................................................................................... 6566
Como as Seções Funcionam ........................................................................................................... 6566
Usos para Seções Contráteis .......................................................................................................... 6566
Propriedades da Seção ................................................................................................................... 6667
CRIANDO UMA SEÇÃO .......................................................................................................................... 6667
Setando as Propriedades da Seção ................................................................................................. 6667
Convertendo o Campo Descrição para uma Seção ........................................................................ 6768
SEÇÕES DE ACESSO CONTROLADO ....................................................................................................... 6768
Restringindo o Acesso à Seção ....................................................................................................... 6869
Seções e Fluxo de Trabalho Seguro ................................................................................................ 6869
SOBRE SUBFORMULÁRIOS .................................................................................................................... 6869
Características dos Subformulários. ............................................................................................... 6869
Uso para Subformulários ................................................................................................................ 6869
ADICIONANDO E UTILIZANDO UM SUBFORMULÁRIO ............................................................................. 6970
Crie um Subformulário ................................................................................................................... 6970
Propriedades do Subformulário...................................................................................................... 6970
Inclua o Subformulário em outro Formulário ................................................................................ 6970
Cinq Technologies Ltda.
Curso Lotus Notes R5 - Desenvolvimento com Macros - Versão 3 6

VALORES HERDADOS ........................................................................................................................... 6970


Como Habilitar a Herdabilidade .................................................................................................... 7070
Implementando a Herança .............................................................................................................. 7071
Como Funciona............................................................................................................................... 7071

LIÇÃO 15 ..................................................... 7172

AUMENTANDO UMA VISÃO ............................... 7172


Objetivos ......................................................................................................................................... 7172
CARACTERIZANDO E ORDENANDO VISÕES ........................................................................................... 7172
Ordenando ...................................................................................................................................... 7172
Ordenando na Janela Propriedades da Coluna ............................................................................. 7173
Categorizando ................................................................................................................................. 7273
MOSTRE A HIERARQUIA DE RESPOSTAS ................................................................................................ 7273
Criando uma Hierarquia de Respostas ........................................................................................... 7273
DEFININDO AS PROPRIEDADES DA COLUNA .......................................................................................... 7374
Ordenando uma Coluna Escondida ................................................................................................ 7374
Crie uma Coluna Somente de Respostas ......................................................................................... 7374
Mostrando Valores como Ícones..................................................................................................... 7374
Ordenando Documentos Dinamicamente ....................................................................................... 7475
DEFININDO AS PROPRIEDADES DA VISÃO .............................................................................................. 7475
Especificando uma Visão Padrão ................................................................................................... 7576
Criando Visões em Cascata ............................................................................................................ 7576
Incluindo uma Visão no Menu ........................................................................................................ 7576
A página Estilo................................................................................................................................ 7576
Cor de Fundo .................................................................................................................................. 7576
Alterne a Cor das Linhas ................................................................................................................ 7677
Várias Linhas para um Documento ................................................................................................ 7677
OPÇÕES PARA ÍNDICE DE VISÃO ........................................................................................................... 7677
Especificando Opções de Renovação ............................................................................................. 7778

LIÇÃO 16 ..................................................... 7879

AUTOMATIZANDO FORMULÁRIOS E VISÕES ........... 7879


Objetivos ......................................................................................................................................... 7879
OPÇÕES PARA OCULTAR ....................................................................................................................... 7879
Quando Ocultar Elementos da Estrutura de uma Base de Dados .................................................. 7879
Especificando Opções para Ocultar ............................................................................................... 7880
Requerimentos................................................................................................................................. 7980
SOBRE @COMMANDS ........................................................................................................................... 7980
Tipos de @Commands .................................................................................................................... 7980
Usando @Commands ..................................................................................................................... 7981
Sintaxe ............................................................................................................................................. 8081
SOBRE @COMMANDS... ........................................................................................................................ 8081
Alguns @Commands ....................................................................................................................... 8081
SOBRE AÇÕES....................................................................................................................................... 8182
Botões.............................................................................................................................................. 8182
Tipos de Ações ................................................................................................................................ 8182
Apresentando Ações ........................................................................................................................ 8182
Ações de Formulário....................................................................................................................... 8182
Usando Ações de Visão ................................................................................................................... 8182
Ações Padrão de Visão ................................................................................................................... 8283
CRIANDO AÇÕES................................................................................................................................... 8283

Cinq Technologies Ltda.


Curso Lotus Notes R5 - Desenvolvimento com Macros - Versão 3 7

Criando uma Ação de Formulário .................................................................................................. 8283


Estabelecendo as Propriedades da Ação ........................................................................................ 8384
Adicionando Ações a uma Visão..................................................................................................... 8384
SUMÁRIO .............................................................................................................................................. 8384

MÓDULO E ................................................... 8586

FINALIZANDO A BASE DE DADOS ....................... 8586

LIÇÃO 17 ..................................................... 8687

CRIANDO UM NAVEGADOR ................................ 8687


Objetivos ......................................................................................................................................... 8687
SOBRE NAVEGADORES ......................................................................................................................... 8687
Ações de Navegadores .................................................................................................................... 8687
CRIANDO UM NAVEGADOR.................................................................................................................... 8687
Criando um Navegador................................................................................................................... 8687
Adicionando Pontos Sensíveis ........................................................................................................ 8788
ADICIONANDO OBJETOS GRÁFICOS AO NAVEGADOR ............................................................................ 8788
Adicionando Ações aos Pontos Sensíveis ....................................................................................... 8889

LIÇÃO 18 ..................................................... 8990

CRIANDO AGENTES......................................... 8990


Objetivos ......................................................................................................................................... 8990
SOBRE AGENTES ................................................................................................................................... 8990
Como os Agentes são Disparados ................................................................................................... 8990
Tipos de Agentes ............................................................................................................................. 8990
Usos para Agentes .......................................................................................................................... 9091
CRIANDO UM AGENTE .......................................................................................................................... 9091
CRIANDO AGENTES PARA ARQUIVAR E DESPACHAR DOCUMENTOS ..................................................... 9192
Projetando os Agentes .................................................................................................................... 9192

LIÇÃO 19 ..................................................... 9293

IMPLEMENTANDO SEGURANÇA ........................... 9293


Objetivos ......................................................................................................................................... 9293
A LISTA DE CONTROLE DE ACESSO (ACL) ........................................................................................... 9293
Disponibilizando a ACL .................................................................................................................. 9394
Níveis de Acesso do Usuário ........................................................................................................... 9394
Adicionando Grupos à ACL ............................................................................................................ 9495

LIÇÃO 20 ..................................................... 9596

CRIANDO A AJUDA DA BASE DE DADOS ................ 9596


Objetivos ......................................................................................................................................... 9596
DESCREVENDO OS PROPÓSITOS DA BASE DE DADOS ............................................................................ 9596
Projetando o Documento Sobre ...................................................................................................... 9596
Criando o Documento Sobre .......................................................................................................... 9596

Cinq Technologies Ltda.


Curso Lotus Notes R5 - Desenvolvimento com Macros - Versão 3 8

Especificando Opções Iniciais ........................................................................................................ 9697


AJUDA ADICIONAL NA BASE DE DADOS................................................................................................ 9697
Tipos de Ajuda para a Base de Dados ............................................................................................ 9697
O Documento Usando ..................................................................................................................... 9798

LIÇÃO 21 ..................................................... 9899

CRIANDO UM ÍCONE PARA A BASE DE DADOS ......... 9899


Objetivos ......................................................................................................................................... 9899
FERRAMENTAS PARA CRIAR ÍCONES ..................................................................................................... 9899
Projetando o ícone .......................................................................................................................... 9899
O Ambiente de Desenvolvimento de Ícones .................................................................................. 99100
Modos de Desenho ........................................................................................................................ 99100
Ferramentas .................................................................................................................................. 99100
Cor .............................................................................................................................................. 100101
SUMÁRIO .......................................................................................................................................... 100101

ALGUMAS FÓRMULAS ................................... 101102


@@@@@@@@@@@@@FUNCTION................................... ....................................................... 101102
@Author ..................................................................................................................................... 101102
@Created .................................................................................................................................... 101102
@DbColumn (Bancos de dados do Notes) .................................................................................. 102103
@DbLookup (banco de dados do Notes) .................................................................................... 105106
@DbName................................................................................................................................... 110110
@DocNumber ............................................................................................................................. 110111
@Environment ............................................................................................................................ 110111
@Failure ..................................................................................................................................... 111112
@If .............................................................................................................................................. 112112
@IsDocBeingEdited.................................................................................................................... 112113
@IsDocBeingSaved .................................................................................................................... 113113
@IsError ..................................................................................................................................... 113114
@IsMember ................................................................................................................................. 113114
@IsNewDoc ................................................................................................................................ 114115
@Length ...................................................................................................................................... 114115
@MailSend ................................................................................................................................. 115116
@Name ....................................................................................................................................... 117118
@PostedCommand...................................................................................................................... 119119
@Prompt ..................................................................................................................................... 120121
YesNo ..................................................................................................................................................... 123123
@ProperCase.............................................................................................................................. 124124
REM ............................................................................................................................................ 124124
@SetField ................................................................................................................................... 124124
@Subset ...................................................................................................................................... 125125
@Success .................................................................................................................................... 125125
@Sum .......................................................................................................................................... 126126
@UpperCase ............................................................................................................................... 126126
@UserName ................................................................................................................................ 127127
@@@@@@@@@@@@@COMMAND......................................................................................... 127127
Compose...................................................................................................................................... 127127
EditDocument ............................................................................................................................. 128128
FileCloseWindow ........................................................................................................................ 128128
FileSave ...................................................................................................................................... 129129
MailSend ..................................................................................................................................... 129129

Cinq Technologies Ltda.


Curso Lotus Notes R5 - Desenvolvimento com Macros - Versão 3 9

REFERÊNCIAS BIBLIOGRÁFICAS ....................... 130130

Cinq Technologies Ltda.


Curso Lotus Notes R5 - Desenvolvimento com Macros - Versão 3 10

Módulo A

Desenhando Aplicações Notes


Lição 01 - Introdução às aplicações Notes
Lição 02 - Projetando uma Base de Dados Notes
Lição 03 - Criando uma Base de Dados Notes

Cinq Technologies Ltda.


Curso Lotus Notes R5 - Desenvolvimento com Macros - Versão 3 11

Lição 1

Introdução às Aplicações Notes


Aplicações Notes permitem que as pessoas de um grupo comuniquem-se entre si, logo os
usuários podem criar e acessar informações orientados a documentos em LAN´s, WAN´s
canais de Internet e linhas discadas.
Aplicações Notes permitem aos usuários buscar compartilhar e organizar informações em
modo único, mesmo se eles conectam a rede só ocasionalmente.
Nesta lição, nós vamos discutir cada processo de negócios beneficiados pelos aplicativos
Notes.

Objetivos
Após completar esta lição você será capaz de:
 Selecionar aplicações que são apropriadas para desenvolvimento em Notes.

Aplicações Notes
Uma aplicação Notes é uma implementação de dados e programas que suporta uma
função ou propósito de negócios.
Aplicações Notes nos permitem criar, comunicar, compartilhar e buscar informações
orientadas a documentos através de redes e linhas discadas.
No meio ambiente Notes os usuários acessam informações através de aplicações que
consistem de um ou mais banco de dados.

Tipos de Aplicações Notes


Aplicações Notes são geralmente uma ou mais combinações dos seguintes tipos de
aplicações:
• Fluxo de trabalho (Workflows)
• Transmissão (Groupware)
• Referência (GED – Gerência Eletrônica de Documentos)
• Busca (GED – Gerência Eletrônica de Documentos)
• Discussão (Groupware)

Uma aplicação pode incluir características de um ou mais daqueles tipos. Por exemplo,
um aplicativo de fluxo de trabalho pode incluir características de discussão, as quais
auxiliam num processo de decisão.

Cinq Technologies Ltda.


Curso Lotus Notes R5 - Desenvolvimento com Macros - Versão 3 12

Características de fluxo de trabalho são importante parte da maioria dos aplicativos


Notes. Você pode adicioná-las para qualquer um dos cinco maiores tipos de aplicações
Notes para automatizar tarefas rotineiras, tais como, enviar aprovações por requisições e
memorandos.

Notes e Bases de Dados Relacionais


Lotus Notes e RDMSs são complementares porque são projetados para suportar
diferentes tipos de aplicações.
Entender as diferenças ajudam você a decidir quando utilizar uma aplicação Notes.
A seguinte tabela resume a comparação:

RDMS Lotus Notes


Baseado em um modelo de processo de Baseado num modelo organizado a
transação documento
Usa dados estruturados Usa elementos de dados semi-estruturados
(richtext, gráficos, etc.)
Oferece aos dados acesso em tempo real Usa replicações periódicas para
atualizações (nem sempre realtime)
Localiza dados utilizando consultas ad hoc Localiza dados utilizando visões(consultas
pré-definidas)
Centralizado dentro de uma única empresa Compartilha recursos entre empresas
Acesso via SQL Acesso via procura de texto completo
Notes e RDMSs não são mutuamente exclusivos. Eles podem trocar dados, criando
possibilidades de aplicações poderosas.

Notes e Aplicações Internet


Aplicações Notes e aplicações Internet, enquanto complementares, não são realmente a
mesma coisa. A seguinte tabela compara os dois ambientes: (aplicações notes também
podem ser utilizadas em ambiente internet)

Notes Internet
Usa servidores Notes altamente seguros Não é seguro (segurança tem alto custo)
Organiza informações em formulários e Não classifica organiza informações em um
visões único local
Interage com padrões DBMS Não interage com padrões DBMS, requer
addons
* DBMS (Data Base Manager System)
Aplicações Notes podem ser usadas muito efetivamente com a Internet.
Cinq Technologies Ltda.
Curso Lotus Notes R5 - Desenvolvimento com Macros - Versão 3 13

Quando Não Usar Notes


Aplicações Notes são muito adequadas para conhecer as necessidades de muitos
processos de negócios. Existem algumas aplicações, no entanto, que não são apropriadas
para o Notes. Considere utilizar outro aplicativo se você precisa de:
• Acesso contínuo aos dados em tempo real
• Bancos de dados muito grandes (acima de 40Gb)
• Acesso baseado em consulta ou baseado em relatório
• Cálculos complexos

Aplicações Notes e Base de Dados Notes


Uma aplicação Notes:
• É uma implementação de dados e programas que suporta uma função ou propósito de
negócios. (Implementação de uma solução).
• Consiste em um ou mais base de dados
Uma base de dados Notes:
• Contém informação em muitos documentos sobre tópicos relacionados.
• Atua como um depósito para acumular e distribuir informação.

Cinq Technologies Ltda.


Curso Lotus Notes R5 - Desenvolvimento com Macros - Versão 3 14

Lição 2

Projetando uma Base de Dados Notes


Nesta lição nós iremos apresentar os elementos essenciais de uma base de dados Notes.

Objetivos
Depois de completar esta lição, você estará apto a:
 Listar os componentes de uma base de dados

Componentes Essenciais de uma Base de Dados Notes


Uma base de dados Notes armazena os documentos e os elementos de projeto para a
mesma. Os elementos de projeto incluem visões, formulários e campos. Os documentos
são os registros da informação individual (dados).
Cada um desses elementos é discutido brevemente abaixo:

Formulários
O formulário é o elemento de um projeto fundamental em uma base de dados Notes.
Um formulário é um documento modelo que fornece uma estrutura para entrada de dados.
Depois da entrada de dados em um formulário a informação é armazenada como um
documento na base de dados.

Campos
Um campo é uma área em um formulário que contém uma simples unidade de
informação. Cada campo em um formulário determina o tipo de informação que o mesmo
pode conter.

Documentos
Um documento é uma coleção de dados que foram criados usando um formulário. Os
dados podem também ser inseridos em um documento programadamente, usando
fórmulas.

Cinq Technologies Ltda.


Curso Lotus Notes R5 - Desenvolvimento com Macros - Versão 3 15

Visões
Uma visão é como uma tabela de conteúdos dinâmicos. Ela permite ao usuário acessar
documentos Notes em uma base de dados.
As visões são compostas de colunas e linhas que apresentam ao usuário uma lista de
documentos que mostra campos de dados associados a cada documento.
Como desenvolvedor, você pode escolher mostrar todos os documentos de uma base de
dados em uma visão, ou somente o subconjunto deles. Você projeta uma visão
selecionando, ordenando e categorizando os documentos que aparecem na lista de
documentos.

Cinq Technologies Ltda.


Curso Lotus Notes R5 - Desenvolvimento com Macros - Versão 3 16

Lição 3

Criando uma base de dados Notes


Nesta lição vamos criar uma base de dados.

Objetivos
Após completar essa lição, você deverá ser capaz de:
 Criar um projeto para construir aplicação.
 Navegar num ambiente de desenvolvimento notes.
 Criar um arquivo de base de dados.

Passos para Construir uma Aplicação


Criar uma base de dados é somente uma parte da criação de um aplicativo Notes eficaz.
Os passos para preparação, criação e seqüência de construção de aplicativos Notes são:
1) Determinar as necessidades de sua organização pela entrevista de usuários potenciais e
análise de sistemas e procedimentos baseados em computadores ou papéis existentes.
3)2)Planejar o projeto do banco de dados no papel. Formatados: Marcadores e
numeração
5)3)Rever o projeto com os usuários.
7)4)Criar um arquivo .NSF.
9)5)Criar os formulários e definir os campos para fornecer a base com a qual você irá
construir todos os outros elementos.
11)6)Projetar as visões baseadas nos campos dos formulários.
13)7)Desenvolver uma lista de controle de acesso para especificar quais os usuários que
podem acessar a base de dados.
15)8)Criar documentos “sobre este banco de dados” e “usando este banco de dados”.
17)9)Documentar seu trabalho.
19)10)Criar um ícone da base de dados para fornecer uma identificação gráfica.
21)11)Usar esta aplicação como protótipo e copiar no servidor. Conceder acesso somente
aos usuários de teste.
23)12)Testar aplicação e obter retorno dos usuários de teste.
25)13)Fazer qualquer mudança necessária e dar acesso aos demais usuários.
27)14)Fornecer treinamento aos usuários como parte da introdução do aplicativo.

Cinq Technologies Ltda.


Curso Lotus Notes R5 - Desenvolvimento com Macros - Versão 3 17

Criando uma Base de Dados Notes


Você pode criar uma nova base de dados Notes de três maneiras:
• Usar um modelo existente.
• Copiar uma base de dados existente.
• Criar uma nova base de dados.

Usando um Modelo Existente


Um modelo de projeto é como um estêncil. É um projeto de base de dados que você pode
copiar e usar como tal, ou adequar para suas necessidades.
Usando modelos:
• Economiza tempo de desenvolvimento.
• Minimiza chances de erro.
• Torna o aprendizado mais fácil para usuários que estão familiarizados com a base de
dados padrão.
A versão R5 do Notes inclui uma certa quantidade de modelos de base de dados. Os
modelos padrão incluem:
• Discussão
• Aprovação (usado para revisão de documentos)
• Biblioteca de documentos
• Reserva de salas
• Jornal de circulação interna
• Colaboração em equipe
• Caixa de correio

Copiando uma Base de Dados Existente


Copiar uma base de dados é uma boa maneira de:
• Desenvolver bases de dados complicadas que são similares em estrutura.
• Criar arquivos de base de dados.

Criando uma nova Base de Dados


Se um modelo não funciona para o seu projeto, e você não tem uma base de dados similar
que você queira copiar, você poderá criar uma base de dados vazia e construir todos os
elementos do projeto.

Criando um Arquivo de Base de Dados


Para criar um arquivo de base de dados:
1. Selecione arquivo - base de dados - novo. A caixa de diálogo Nova Base de Dados
aparece.

Cinq Technologies Ltda.


Curso Lotus Notes R5 - Desenvolvimento com Macros - Versão 3 18

1. Aceite o servidor local.


2. Entre com o título da base de dados.
3. Forneça o nome do arquivo ou aceite o nome que o Notes sugere.
4. Modelo padrão (Branco) na lista de modelos.
5. Clique OK.

Servidor
Sempre crie uma nova base de dados na sua própria estação de trabalho ou no seu
diretório pessoal da LAN. Esta precaução previne que usuários acessem a aplicação antes
dela estar completa.

Título da Base de Dados


Dê um título descritivo que seja curto e simples. O título irá aparecer no ícone da base de
dados e na lista das bases de dados do servidor.
O tamanha máximo do titulo é 32 caracteres, incluindo espaços.

Nome do Arquivo da Base de Dados


Quando der o nome do arquivo, siga as convenções do sistema operacional. Nomes de
arquivos:
• Devem ter 8 caracteres ao menos.
• Podem usar letras, números, underscores e hífens somente.
• Devem ser únicos.
• Devem ser descritivos.
• As extensões do nome de arquivos são:
• .NSF - A extensão normal para bases de dados na versão R5.
• .NS3 - A extensão para bases de dados compatíveis com Notes versão 3.0.
• .NTF - A extensão para um modelo Notes.

Cinq Technologies Ltda.


Curso Lotus Notes R5 - Desenvolvimento com Macros - Versão 3 19

Explorando as Ferramentas de Projeto Notes


O Painel de Navegação contém uma tabela de conteúdos com os elementos para projeto
da base de dados. Clique sobre a seta da Estrutura para mostrar uma lista das ferramentas
de projeto, as quais lhe dão acesso aos elementos de projeto de uma base de dados e
permitem que você crie e edite os elementos da base de dados.
Existem duas maneiras de acessar a maioria das ferramentas:
• Menu de projeto.
• Smarticon
Por exemplo, você pode criar um formulário usando:
• A opção Estrutura do menu Criar.
• O SmartIcon Criar um Formulário.

Sumário
Neste módulo, nos exploramos os conceitos subjacentes às aplicações e bases de dados
Notes.
• Os aplicativos Notes são adequados, em organizações, às pessoas que fazem trabalhos
em equipes. As aplicações caem em 5 categorias gerais.
• Nós definimos os elementos primários de uma base de dados Notes.
• Nós comparamos bases de dados Notes com bases de dados relacionais e com
aplicações Internet.
• Nós discutimos como construir uma aplicação Notes.

Cinq Technologies Ltda.


Curso Lotus Notes R5 - Desenvolvimento com Macros - Versão 3 20

Módulo B

Criando Formulários e Campos


Lição 04 - Projetando e Criando um Formulário
Lição 05 - Adicionando Texto Estático
Lição 06 - Adicionando Campos
Lição 07 - Criando Formulários Resposta

Cinq Technologies Ltda.


Curso Lotus Notes R5 - Desenvolvimento com Macros - Versão 3 21

Lição 4

Projetando e Criando um Formulário


Esta lição introduz a informação que você precisa para projetar e criar o formulário
principal de uma base de dados.

Objetivos
Depois de completar esta lição você deverá ser capaz de:
 Projetar um formulário que permita a entrada e a visualização de dados.
 Criar um formulário.
 Setar as propriedades básicas do formulário.
 Salvar o formulário.

Projetando um Formulário
Projetar um formulário através da criação de um layout, checando sua saída com os
usuários e, então, criar o formulário.

Lista de Verificação para Elaboração de um Formulário


O layout de seu formulário deve conter:
◊ Texto estático e locais para o texto do formulário, tais como cabeçalhos e etiquetas de
campo.
◊ Locais dos campos e suas etiquetas associadas.
◊ Nomes dos campos.
◊ Tipos de dados dos campos.
◊ Determinação dos valores dos campos, se são inseridos pelos usuários ou calculados
automaticamente.
◊ Valores padrão dos campos, quando houver.
◊ Texto de ajuda no campo, quando houver.

Criando um Formulário

Selecionado Comandos de Criação de Formulários


Você pode criar um formulário de duas maneiras diferentes:
• Selecione Criar - Estrutura - Formulário
Cinq Technologies Ltda.
Curso Lotus Notes R5 - Desenvolvimento com Macros - Versão 3 22

• Clique no SmartIcon Criar Formulário, quando ele estiver visível.

A Janela de Construção de Formulários


A janela de construção de formulários é a tela em branco na qual você cria os elementos
do formulário.
• Para ajustar o tamanho da janela de construção de formulários, utilize o mouse.
• Para ver o painel de projeto em tela cheia, selecione Exibir - Painel de Estrutura (ou
clique no ícone que mostra ou esconde este painel).

Usando a Régua
A régua ajuda você a elaborar um formulário. Para ativar a régua:
• Selecione Exibir - Régua ou...
• Clique no ícone Mostrar Régua na sua área de trabalho.
Os marcadores da régua são os mesmos em todas as aplicações para Windows.
Você pode usar o mouse para ajustar as margens e tabulações clicando no local desejado,
na régua.

Salvando um Formulário...
Existem quatro modos para salvar um Formulário:
• Clicando no ícone salvar arquivo.
• Selecionando Arquivo - Salvar
• Pressionando Esc e respondendo Sim na caixa de diálogo que aparecerá.

Cinq Technologies Ltda.


Curso Lotus Notes R5 - Desenvolvimento com Macros - Versão 3 23

• Ou pressionando Crtl+S

Ajustando as Propriedades de Formulário


Utilize esta caixa para ajustar as propriedades do formulário:

• Nome do formulário
• Sinônimos
• Cor de Fundo
• Incluir um Menu de Criação

Nomes do Formulário
Forneça nomes curtos e descritivos para os formulários. Siga convenções consistentes
para a dar os nomes, os quais:
• Diferenciam letras maiúsculas e minúsculas
• Podem usar qualquer combinação de caracteres, espaços e pontuações
• Não podem exceder 256 caracteres; somente os primeiros 64 caracteres são mostrados.

Sinônimos
Sinônimos são nomes internos dos formulários. Se você especifica um sinônimo para um
nome de formulário, o Notes utiliza este sinônimo para fazer o processamento deste
formulário. Sinônimos são úteis quando você quer:
• Alterar o nome do formulário
• Dar ao formulário mais do que um nome
• Traduzir a aplicação para outra língua
Você especifica o sinônimo depois do nome regular teclando | (barra vertical) e
adicionando o nome sinônimo.

Cinq Technologies Ltda.


Curso Lotus Notes R5 - Desenvolvimento com Macros - Versão 3 24

Lição 5

Adicionando Texto Estático


Esta lição mostra a você como adicionar texto ao seu formulário e como especificar as
propriedades deste texto.

Objetivos
Depois de completar esta lição, você será capaz de:
 Adicionar texto estático para os campos do formulário.
 Especificar as características do texto.

Linhas Mestras para as Propriedades de Texto


As propriedades de texto determinam o visual do formulário e afetam sua legibilidade.
Tente colocar o texto mais importante próximo ao topo do formulário.

Espaçamento
O espaçamento é importante na determinação da legibilidade do texto:
• Deixe bastante espaço vertical entre as linhas.
• Agrupe campos relacionados e aparte-os de outros grupos.
• Coloque dois pontos e espaço depois de cada etiqueta de campo, para separá-las dos
campos propriamente ditos.

Fonte
O tamanho, tipo de fonte e estilo do texto afetam a legibilidade do texto.
A fonte padrão para texto estático de novos formulários é Helvética 10, a mais fácil de se
ler.
• Os tipos Sans Serif, tal como Helvética, são de fácil leitura na tela.
• Os tipos Serif, tal como os Times, são de fácil leitura no papel.
Recomendações:
• Use tamanhos grandes quando utilizar itálico.
• Limite o número de tipos de fonte para 2 em cada formulário.
• Utilize esparsamente caracteres em negrito, em itálico e sublinhados.

Cores
Mantenha em mente:
Cinq Technologies Ltda.
Curso Lotus Notes R5 - Desenvolvimento com Macros - Versão 3 25

• Cores muito fortes, tal como magenta, machucam os olhos


• Texto preto em fundo branco é mais fácil de se ver
• Texto branco é o mais difícil de ser lido
• Azul parece distante, portanto não o utilize em detalhes importantes
• As cores tem diferentes conotações em diferentes culturas.
• Alguns usuários tem monitores monocromáticos.

Adicionando Texto Estático


Antes de adicionar campos, você necessita transferir o layout do seu projeto do papel para
um formulário em branco.

Texto Estático
Texto estático é a informação visual que é mostrada inalteradamente em todos os
documentos criados a partir de um formulário. Ele pode ser palavras, gráficos, logos ou
tabelas.
Texto estático é usado para:
• Títulos ou cabeçalhos do formulário.
• Etiquetas para campos.
Use uma etiqueta para cada campo editável para que os usuários possam saber seu
propósito.

Caixa Propriedades de Texto


Use a caixa Propriedades de texto para especificar as características do texto.

Cinq Technologies Ltda.


Curso Lotus Notes R5 - Desenvolvimento com Macros - Versão 3 26

Lição 6

Adicionando Campos
Nesta lição, você vai adicionar campos para que contenham os dados que serão inseridos
no formulário.

Objetivos
Depois de completar esta lição, você estará apto para:
 Adicionar campos a um formulário
 Identificar os 8 tipos de dados Notes
 Especificar as propriedades dos campos usando a caixa Propriedades de Campo
 Adicionar campos palavras-chave ao formulário
 Testar os novos campos
 Testar o formulário

Sobre os Campos Notes


Um campo é uma área nomeada de um formulário, que contém um único tipo de
informação.

Campos de Uso Único e Campos Compartilhados


O Notes suporta dois tipos de campos:
• Campos de uso único são definidos para serem utilizados em um único formulário.
• Campos compartilhados podem ser reutilizados em múltiplos formulários dentro de
uma única base de dados.

Campos Editáveis e Campos Computados


Cada campo em um formulário pode ser tanto editável como computado:
• Os usuários podem alterar os valores de campos editáveis.
• Os usuários não podem alterar os valores dos campos computados. Os valores dos
campos computados são preenchidos automaticamente.

Regras para Nomeação de Campos


Um nome de campo Notes:
• Deve ser único para um dado formulário
• Deve conter 32 caracteres ou menos
Cinq Technologies Ltda.
Curso Lotus Notes R5 - Desenvolvimento com Macros - Versão 3 27

• Não pode começar com um número


• Não pode conter espaços
• Não deve começar com o símbolo $ ou conter o símbolo @
Você especifica o nome do campo na página “Básico” da caixa Propriedades

Linhas-Mestras
Os seguintes padrões e linhas-mestras devem ajudá-lo a planificar os nomes dos campos:
• Use nomes curtos e descritivos sempre que possível
• Use a convenção inicial para nomes de campos (embora nomes de campos não
diferenciam letras maiúsculas e letras minúsculas)

Nomes de Campos Reservados


Certos nomes de campos são predefinidos no Notes e devem ser reservados para uso em
correspondência ou para aplicações de fluxo de trabalho.
Alguns nomes de campos reservados são: SendTo, CopyTo, Sign, Encrypt, e
SaveOptions, MailForm e DeliveryPriority.

Criando Campos
Para criar um campo, siga os seguintes passos:
1. Coloque o cursor no local do formulário que você quer que o campo apareça.
2. Selecione Criar - Campo. A caixa Propriedades de Campo aparece. ou:

1. Na página básico, coloque:


• Nome do campo
• Tipo de dado e tipo de campo
2. Especifique opções adicionais, dependendo do tipo de campo.

Cinq Technologies Ltda.


Curso Lotus Notes R5 - Desenvolvimento com Macros - Versão 3 28

Ajuda de Campo
Você pode especificar a ajuda do campo na página opções da caixa de informações do
campo.

A ajuda de campo que você especificar aparece no rodapé do formulário quando o usuário
colocar o cursor no campo.
Aviso: A ajuda de campo é mostrada somente quando Exibir - Mostrar - Ajuda de Campo
estiver selecionado, o documento estiver no modo editar, e o cursor estiver em campo
editável.

Tipos de Dados de Campos Básicos


Um tipo de dado de campo determina o tipo de conteúdo do campo. O Notes oferece 8
tipos de campos. Os 4 tipos básicos são:
• Texto
• Texto Rico
• Número
• Hora

Palavras chaves e tipos de dados Nomes serão discutidos mais tarde.

Texto
Campos texto consistem de letras, pontuações, espaços e números que não são usados
matematicamente.

Cinq Technologies Ltda.


Curso Lotus Notes R5 - Desenvolvimento com Macros - Versão 3 29

Texto Rico
Campos de texto rico recebem texto, texto realçado e gráficos. Você pode também incluir
botões, auxílios, anexos e objetos interligados.
Precaução: Campos de texto rico não podem ser:
• Combinados com outros tipos de dados em funções.
• Mostrados em visões.

Números
Campos de números contêm informações que podem ser usados matematicamente. Eles
reconhecem números de 0 à 9, os sinais de - e +, o ponto decimal, anotação científica e
número neperiano.
A caixa Propriedades de campo permite que você selecione uma máscara para o número
que pode ser geral, fixo, científico ou moeda.

Hora
As informações de data ou hora são formadas de números separados por pontuações. O
formato padrão é:
MM/DD/AA HH:MM:SS
A caixa Propriedades de campo nos permite selecionar hora, data ou ambos.

Cinq Technologies Ltda.


Curso Lotus Notes R5 - Desenvolvimento com Macros - Versão 3 30

Campos Palavras-Chaves
Campos palavras-chaves permitem que você crie uma lista, deixando o usuário selecionar
uma entre várias opções pré-definidas. Como essa lista pré-definida é mostrada para o
usuário, é definido pela propriedade Tipo na definição do campo.
Assim você pode especificar as opções para o tipo de bicicleta no formulário.

Tipos de Campos Palavras-Chaves


Existem 3 opções de palavras-chaves:
• lista de diálogo
• botão de rádio
• caixa de verificação

Lista de Diálogo
O usuário pode selecionar uma opção de uma lista de diálogo clicando ou digitando sua
primeira letra.

• permite valores fora da lista


Esta opção permite que o usuário insira valores adicionais.
• permite multi-valores
Esta opção permite que o usuário selecione mais do que uma opção da lista.

Botão de Rádio
Botões de rádio são opções listadas com pequeno círculo antes de cada uma. Somente um
botão de rádio pode ser selecionado ao mesmo tempo. Se nenhum padrão for setado,
nenhum botão estará selecionado. Uma vez selecionado um botão, a lista não poderá
retornar ao estado original (nenhuma seleção).

Cinq Technologies Ltda.


Curso Lotus Notes R5 - Desenvolvimento com Macros - Versão 3 31

Caixa de Verificação
Caixas de verificação são opções listadas com pequeno quadrado na frente de cada uma.
O usuário pode selecionar mais de uma opção ao mesmo tempo.

Sinônimos para Campos de Palavras-Chaves


Sinônimos, se você especificá-los, são usados para processamento interno em vez do
atual valor do campo. Os sinônimos de palavras-chaves permitem que você:
• troque a interface com o usuário
• salve espaço de armazenamento
• torne a conversão mais fácil
Inclua a palavra-chave em uma linha vertical ( | ) seguida pelo sinônimo.
Precaução: Se você categorizar uma visão baseada no campo palavra-chave, os
sinônimos serão usados como os nomes das categorias.

Tipos de Dados Nomes


Use campos Nomes para especificar quem pode criar e editar documentos criados a partir
de um formulário que contenha esses campos.
Existem 3 tipos de dados Nomes:
• Nomes
• Autores
• Leitores

Nomes
O propósito dos campos Nomes é referenciar nomes completamente distintos em formato
abreviado. Por exemplo, seu nome canônico total for:
CN=User1/O=RBC
então o formato abreviado é mostrado no campo Nomes como:
User1/RBC
Campos Nomes mostram os nomes do usuário ou servidor tal como aparece nos Ids no
Notes. Eles são úteis para mostrar nomes quando você não necessita assinalar direitos de
acesso para os documentos.

Cinq Technologies Ltda.


Curso Lotus Notes R5 - Desenvolvimento com Macros - Versão 3 32

Autores
Campos Autores determinam quem pode editar documentos. Eles geram uma lista texto
de nomes (nomes de usuários, grupos de usuários e listas de acesso).
Eles são usados para dar direitos de adição aos usuários com acesso Autor na lista de
controle de acesso, sem expandir seus acessos da base de dados para acesso de Editor.
Como um Projetista você pode:
• listar nomes específicos de editores
• fornecer uma fórmula padrão que use os nomes dos autores de documentos.
• permita os autores de documentos adicionar quaisquer nomes que queiram.

Leitores
Campos leitores permitem que autores de documentos restrinjam quem pode ler os
documentos criados com um formulário, mesmo se o usuário estiver acesso a leitor (ou
maior) na lista de controle de acesso.
• os usuários não incluídos no campo leitor não podem ver o documento a partir de
qualquer visão.
• se o campo Leitores estiver em branco, o Notes ignora o campo, e todos os usuários de
acesso de pelo menos de leitor podem ler o documento.

Linhas-Mestras para Usar Tipos de Campos


As seguintes linhas-mestras devem ajudá-lo a decidir sobre os tipos de campo:
• nomeie o texto rico como Body. Quando você exportar um documento o texto rico
precisa estar nomeado como Body.
• um documento deve conter somente um campo de texto rico.
• inclua um campo texto que contenha uma descrição curta do documento para usar em
visões.

Criando Campos de Variados Tipos de Dados


A caixa Propriedades de Campo é distinta para cada tipo de dado e guia você através das
opções que você pode especificar para campos daquele tipo.

Testando Formulário após Adicionar Campos


Existem duas maneiras de testar um formulário após adição de texto e campos:

Cinq Technologies Ltda.


Curso Lotus Notes R5 - Desenvolvimento com Macros - Versão 3 33

O caminho longo:
1. Salvar e sair do formulário.
2. Selecionar Criar - (Nome do formulário) para criar o documento.
3. Preencher o formulário, salvá-lo e sair para a visão.

1. Abrir o formulário novamente no modo de projeto e fazer mudanças ou continuar


desenvolvendo.
O caminho curto:
1. Selecionar Estrutura - Testar o Formulário para examinar o aparência do formulário.
Alternativamente, você pode criar o documento preenchendo o formulário, e quando você
pressionar Esc, o Notes vai perguntar se você deseja salvar o documento na base de
dados.

1. Quando você terminar, pressione Esc para retornar para o modo de projeto.

Criando um Campo Tipo Palavra-Chave


Criar um campo tipo palavra-chave para um campo local:
1. Usar a palavra-chave que lhe aprouver.
2. Prover campos de ajuda.
3. Testar o campo palavra-chave, salvando modificações.
4. Quando você acabar, não salve o conteúdo de teste do documento.

Cinq Technologies Ltda.


Curso Lotus Notes R5 - Desenvolvimento com Macros - Versão 3 34

Lição 7

Criando Formulários de Resposta


Para completar o conjunto de formulários da base de dados do Discussão de Produto,
você deve criar formulários que permitam às pessoas responder e comentar as idéias
submetidas.

Objetivos
Após completar esta lição, você deve estar apto para:
 Criar um formulário resposta
 Criar uma resposta para o formulários resposta

Formulário Notes
Cada formulário criado em uma base de dados está associado com um dos três tipos.

Tipos de Formulário
Os três tipos de formulários estão relacionados em uma hierarquia.
• Tipo Documento
O tipo de documento padrão é Documento. Se existir somente um formulário na base de
dados, este deve ser do tipo Documento.
• Tipo Resposta
O formulário tipo Resposta é usado para criar respostas para documentos principais.
• Tipo Resposta à Resposta
O tipo Resposta à Resposta cria documentos resposta associados com um documento
principal ou outros documentos Resposta.

Cinq Technologies Ltda.


Curso Lotus Notes R5 - Desenvolvimento com Macros - Versão 3 35

Sumário de Formulários
Tipo de Formulário Descrição
Documento • Usado para criar documento principal.
• Independente de todos os outros documentos
Documento Resposta • Usado para responder um documento principal
• Depende do documento principal
• Indentado sobre o documento principal numa
visão hierárquica.
Documento Resposta à Resposta • Usado para responder um documento principal ou
outra resposta.
• Indentado, numa visão hierárquica, abaixo do
documento principal.

Agrupando Formulários Relacionados


Se você tiver formulários relacionados, que devem ser agrupados, você pode nomeá-los
do forma que se originem no mesmo submenu.

Por exemplo:

Sumário
Neste módulo você:
• Criou três formulários para o banco de dados Discussão do Produto.
• Adicionou texto estático aos formulários.
• Adicionou campos de vários tipos de dados aos formulários.
• Criou um menu em cascata para listar os formulários que você agrupou.

Cinq Technologies Ltda.


Curso Lotus Notes R5 - Desenvolvimento com Macros - Versão 3 36

Módulo C

Criando Visões e Pastas


Lição 08 - Planejando uma Visão
Lição 09 - Criando uma Visão
Lição 10 - Criando uma Pasta

Cinq Technologies Ltda.


Curso Lotus Notes R5 - Desenvolvimento com Macros - Versão 3 37

Lição 8

Planejando uma Visão


Visões e Pastas ajudam os usuários a encontrar facilmente os documentos que eles
querem. Eles também servem como registros de sumário do conteúdo da base de dados.
Desenvolvedor de aplicação determina o conteúdo da visão; o usuário determina o
conteúdo das pastas.
A primeira visão que você necessita criar na base de dados Discussão de Produto, é uma
lista de todos os documentos da mesma.

Objetivos
Após completar esta lição, você deve ser capaz de:
 Projetar uma visão
 Especificar os atributos de uma coluna

Planejando uma Visão


Como uma tabela de conteúdos, uma visão lista documentos e fornece uma maneira de
acessá-los. Uma visão consiste de uma ou mais colunas, cada qual mostra um campo ou
resultado de uma fórmula.

Tipos de Visão
Antes de criar uma visão, você precisa decidir os propósitos da mesma. Isso o ajuda a
determinar qual tipo de visão criar e quais documentos incluir.
Existem três tipos de visão:
• Visões privadas:
Uma visão privada é criada e usada por um único usuário.
• Um usuário com acesso de leitura ao menos pode criar uma visão privada numa
base de dados.
• Visões privadas são armazenadas no DESKTOP.DSK na estação de trabalho do
usuário.
• Visões compartilhadas:
A maioria das visões são visões compartilhadas. Uma visão compartilhada pode ser
usada por qualquer número de usuários.
• Para criar uma visão compartilhada, você precisa ter acesso de projetista ou gerente.
• Visões compartilhadas são armazenadas no servidor da base de dados.
• Visões compartilhadas, pessoais em primeiro uso:
Cinq Technologies Ltda.
Curso Lotus Notes R5 - Desenvolvimento com Macros - Versão 3 38

Esta opção permite que você crie uma visão para um usuário.
• O Notes inicialmente cria uma visão para que tanto você como o usuário tenha
acesso. Entretanto, depois do primeiro uso, a visão torna-se automaticamente uma
visão privada para cada usuário.
• Inicialmente, os usuários vêem uma cópia da visão no servidor, quando selecionada,
uma cópia é feita na estação de trabalho.

Estratégia para Linhas-Mestras de Visão

Lista de Verificação para Planejar uma Visão


Você quer que a visão:
◊ Selecione todos os documentos para mostrar, ou somente um subconjunto?
◊ Ordene ou categorize documentos?
◊ Use marcas de não lidos?
◊ Para cada coluna, mostre informações para um campo ou o resultado de uma fórmula?
◊ Mostre documento resposta indentados abaixo do documento pai?
◊ Inclua qualquer estatística de visão ou documento?
◊ Inicialmente mostre categorias expandidas ou não?

Demonstração:
O seguinte exemplo mostra um projeto de visão:
Território Produto Data Autor
Nordeste Lotus Notes 01/10/96 Tom Clarke

Ordenado por território(Categorizado

Cinq Technologies Ltda.


Curso Lotus Notes R5 - Desenvolvimento com Macros - Versão 3 39

Lição 9

Criando a Visão
Depois de planejar a visão no papel, você cria a visão e especifica o critério para seleção
de documentos a mostrar. Nesta lição, você irá criar a visão principal para base de dados
Discussão do Produto.

Objetivos
Depois de completar esta lição, você deve ser capaz de:
 Criar uma visão
 Selecionar documentos para a visão
 Setar as propriedades da visão
 Adicionar colunas a visão
 Setar as propriedades da coluna
 Testar a visão

Criando a Visão
Para criar uma visão que irá mostrar uma lista de todos os documentos da base de dados,
crie primeiro a visão, especifique os documentos a incluir e então defina as colunas para a
visão.

Criando uma Visão


Para criar a visão:
1. Selecione Criar - Visão do menu. A caixa de diálogo Criar Visão aparece.

1. Digite o nome da visão no local apropriado.

Cinq Technologies Ltda.


Curso Lotus Notes R5 - Desenvolvimento com Macros - Versão 3 40

2. Especifique o tipo de visão: privada, compartilhada ou pessoal em primeiro uso.


Privada é o padrão.
3. Especifique como os documentos serão selecionados para incluir na visão. Por
padrão, todos os documentos na base de dados são selecionados.
4. Pressione Opções para herdar o projeto da visão de alguma visão ou pasta existente:
5. Clique OK na caixa de diálogo criar visão.

Selecionando Documentos para uma Visão


Você pode selecionar documentos para uma nova visão:
• Selecionando a partir da caixa de diálogo Adicionar Condição
• Usando uma fórmula diferenciada.

Maneiras Fáceis de Selecionar Documentos


Você pode selecionar documentos para uma visão de várias maneiras fáceis e rápidas
pressionando o botão Adicionar Condição para acessar a caixa de diálogo Criador de
Pesquisas.

Você pode selecionar por:


• Autor
• Data
• Valor do campo
• Nome do formulário

Fórmulas de Seleção
Uma fórmula de seleção define um conjunto ou subconjunto de documentos numa visão.
A fórmula de seleção padrão é @All, a qual seleciona todos os documentos da base de
dados para mostrar na visão.

Seleção de Documentos
Para selecionar documentos para uma visão:
1. Criar e nomear uma visão.
Cinq Technologies Ltda.
Curso Lotus Notes R5 - Desenvolvimento com Macros - Versão 3 41

2. Clicar Estrutura - Visões no painel de navegação.


3. Abrir a visão.
4. No painel de estrutura, clicar Fácil.
5. Clicar o botão Adicionar Condição para mostrar a caixa de diálogo Criador de
Pesquisa.
6. Selecionar uma opção da lista de condição.
7. Selecionar critério.
8. Opcionalmente, clicar fórmula para ver a fórmula que o Notes criou a partir da
condição, então clicar Fácil novamente.
9. Salvar a visão.

Setando as Propriedades da Visão


Agora que você já criou uma visão, você pode especificar as propriedades da mesma. As
propriedades da visão identificam as suas características, tais como nome, tipo e cores
utilizadas.

Caixa de Propriedades da Visão


A Caixa de Propriedades da Visão permite que você sete a maioria das características de
uma visão inteira.

Use esta página Para fazer isto


Básico Mudar o nome da visão, assinalar um alias, ou adicionar comentários
Opções Setar os padrões da visão
Estilo Mudar a aparência de linhas e cabeçalhos na visão
Avançado Setar as opções de índice ou criar um fórmula de formulário
Segurança Setar o acesso de usuários à visão

Cinq Technologies Ltda.


Curso Lotus Notes R5 - Desenvolvimento com Macros - Versão 3 42

Nomes de Visão
Nomes de visão seguem as mesmas convenções dos nomes de formulários, exceto que o
nome da visão pode ter mais do que 256 caracteres.
Somente os primeiros 32 caracteres aparecem nos menus e nas caixas de diálogo.
Assinale teclas de atalho às visões incluindo uma underscore no nome.

Padrões da Visão

• Padrão para quando a base de dados é aberta da primeira vez - determina a visão que o
Notes apresenta na primeira vez que você abre a base de dados.
• Padrões de projeto para novos formulários e visões
• Categorias não expandidas quando a base de dados é aberta pela primeira vez
• Mostra documentos de resposta em uma Hierarquia
• Mostra no Menu Exibir

Adicionando Colunas
Para auxiliar os usuários a localizar documentos em uma visão, as colunas contêm
identificadores obtidos dos campos do documento
Por exemplo, na visão Serviços, uma combinação do nome do cliente, seu número e seu
telefone unicamente identificam cada documento.
Uma nova visão contém uma coluna padrão, o número do documento.

Criando uma Coluna


Para criar uma coluna:
1. Abra a nova visão no modo projeto
2. Selecione um dos seguintes:
• Criar - Inserir Nova Coluna, para criar uma nova coluna à esquerda da coluna
corrente
• Criar - Adicionar Nova Coluna, para criar uma nova coluna à direita da coluna mais
à direita já existente.

Cinq Technologies Ltda.


Curso Lotus Notes R5 - Desenvolvimento com Macros - Versão 3 43

• Clique duas vezes sobre o ícone Adicionar Coluna.


3. Clique o ícone refresh para atualizar a visão e mostrar seu resultado.

Caixa de Propriedades da Coluna


A caixa de Propriedades da coluna permite que você sete as características de uma
coluna.

Use esta página Para fazer isto


Básico Especificar o nome, a largura e características gerais de apresentação
da coluna.
Classificação Especificar classificação e categorização.
Texto Alterar as características do texto do corpo da coluna.
Números Especificar o formato de números.
Hora Especificar os formatos da hora e da data.
Título Especificar as características do texto do título da coluna.
Avançado Especificar o acesso programático da coluna.

Títulos de Colunas
O título da coluna aparece como um cabeçalho da coluna na visão.

Largura das Colunas


Faça com que uma coluna tenha pelo menos a largura de seu título. A largura padrão é de
10 caracteres. Você pode alterar a largura de uma coluna:
• Trocando a largura padrão na página Básico da caixa Propriedades da Coluna.
• Arrastando o divisor das colunas com o mouse.

Dicas para Trabalhar com Colunas


Para simplificar a construção de uma visão, atente para o seguinte:

Cinq Technologies Ltda.


Curso Lotus Notes R5 - Desenvolvimento com Macros - Versão 3 44

• Para excluir uma coluna, selecione a coluna e pressione Delete ou selecione Editar -
Limpar.
• Para mover uma coluna, selecione Editar - Recortar, e então selecione Editar - Colar.

Assinale Valores para as Colunas


Fórmulas de colunas determinam as informações mostradas por elas; elas estão baseadas
nos valores dos campos dos documentos selecionados pela visão. Fórmulas de colunas
podem conter:
• @functions de visões, especiais.
• Valores de campos simples.
• Valores de campos concatenados.
• Valores Calculados.

Usando Funções Simples


Quando você cria uma coluna pela primeira vez, o painel de projeto mostra uma lista de
funções simples que você pode incluir, tais como o autor do documento e a data de
criação.

Mostrando os Valores dos Campos


Para mostrar os valores dos campos em uma coluna:
1. Selecione o botão de rádio Mostrar: Campo no painel de estrutura para mostrar uma
lista de todos os campos do documento selecionado pela visão. (Clique Sim na
mensagem apresentada para continuar).
2. Selecione na lista, o campo que você quer.
Dica: Certos tipos de campos não podem ser mostrados em visões: Computados para
Exibição, Textos-Ricos, e campos com valores protegidos.

Concatenando Nomes de Campos


Você pode concatenar os valores de dois ou mais campos para criar um valor de coluna.
Os campos concatenados precisam utilizar os mesmos tipos de dados. Por exemplo, a
fórmula:
Cidade + “,” + Estado
mostra as informações Cidade e Estado na mesma coluna.

Valores Calculados
Você pode usar fórmulas @function para calcular valores de colunas ou para converter o
valor de um campo para um formato diferente. Por exemplo, a fórmula:
“Preço: “ + @Text(Price)
converte o campo numérico Preço para o formato texto, assim ele pode ser adicionado ao
texto estático “Preço: “.
Cinq Technologies Ltda.
Curso Lotus Notes R5 - Desenvolvimento com Macros - Versão 3 45

Lição 10

Criando uma Pasta


Uma pasta funciona quase como uma visão, mas seus conteúdos são determinados pelos
usuários em vez de por uma fórmula de seleção.

Objetivo
 Criar uma Pasta.

Sobre Pastas
Pastas aparecem junto com as visões no painel de navegação.

Quando aberta, uma pasta mostra os documentos nela contidos no formato da visão.

Usando Pastas
Use uma pasta quando os usuários necessitam ser capazes de selecionar documentos por
visualizações específicas. Por exemplo, contribuintes para a base de dados Discussão de
Produtos RBC precisam selecionar sugestões individuais que eles querem considerar e
responder.

Como as Pastas Diferem das Visões


Os usuários selecionam documentos para incluir em uma pasta.
• O conteúdo de uma pasta é determinado inteiramente pelos usuários.
• O conteúdo de uma visão é determinado pela seleção de uma fórmula.

Tipos de Pastas
Você pode criar os mesmos tipos para pastas como para visões:
• Compartilhada.
• Privada.
• Compartilhada, pessoal em primeiro uso.

Criando uma Pasta Compartilhada


Siga estes passos para criar uma pasta:
1. Escolha Criar - Pasta.
Cinq Technologies Ltda.
Curso Lotus Notes R5 - Desenvolvimento com Macros - Versão 3 46

2. Dê um título à pasta.
3. Selecione Compartilhada.
4. Clique Pastas para armazenar a pasta no nível superior.
5. Selecione “Pessoal em primeiro uso” se esta é uma pasta privada que você irá
distribuir para os outros.

Sumário
Os pontos chave da criação de visões básicas são:
• Visões organizam documentos na base de dados, listando-os de várias maneiras.
• Você pode especificar os documentos que quer incluir em uma visão usando a caixa de
diálogo Criador de Pesquisa.
• Você pode criar colunas para visões e pastas para que os usuários possam identificar
os documentos.
• Você pode criar uma visão projetando-a você mesmo ou copiando uma visão existente
para herdar seus elementos e características.

Cinq Technologies Ltda.


Curso Lotus Notes R5 - Desenvolvimento com Macros - Versão 3 47

Lição 11

O que é uma Fórmula


Você usa fórmulas nas aplicações Notes para realizar tarefas dentro de uma base de
dados, tais como assinalar valores a variáveis e aplicar controle lógico básico ao
processamento.

Objetivos
Depois de completar esta lição você estará apto a:
 Escrever uma fórmula Notes.
 Usar valores de campos para criar uma fórmula.
 Adicionar campos computados aos campos de um formulário.
 Criar uma visão que utilize uma fórmula de coluna.

Sobre as Fórmulas Notes


Formulas fornecem uma interface de programação simples para o Lotus Notes.

O que é uma Fórmula?


Uma fórmula Notes é uma expressão que possui atributos programáveis e segue um
conjunto de regras de sintaxe.
A linguagem da fórmula diz ao Notes usar uma combinação de:
• Elementos da linguagem da fórmula.
• Chamadas a funções e comandos.

Para que são Usadas?


Use fórmulas para:
• Assinalar valores a variáveis.
• Aplicar um controle lógico limitado.

Com o que as Fórmulas se Parecem?


Alguns exemplos de fórmulas simples que inserem valores em um campo ou coluna são:
• Uma @function: @Created
• Um nome de campo: CreatedBy
• Uma Concatenação: FName + “ “ + LName
Cinq Technologies Ltda.
Curso Lotus Notes R5 - Desenvolvimento com Macros - Versão 3 48

• Um @command: @Command([FileCloseWindow])

Onde Você Usa as Fórmulas?


Você ata fórmulas a vários elementos de projeto Notes, dependendo da necessidade.
Campos Computados, por exemplo, dependem de uma fórmula para suprir seus valores.
As fórmulas são criadas para realizar as seguintes tarefas:
• Criar um campo computado em um relatório.
• Selecionar documentos para incluir em uma visão.
• Determinar o valor de uma coluna.
• Determinar um título de janela.
Como Construir Fórmulas
Fórmulas podem combinar vários elementos, desde os básicos até os complexos. Os
componentes de uma fórmula são:
• Variáveis
• Constantes
• Operadores
• Palavras-chaves
• @functions

Elementos das Fórmulas da Linguagem

Variáveis
O Notes usa nomes de campos como variáveis. As variáveis podem ter diferentes valores
em tempos diferentes.

Nomes de Campos como Variáveis


Você pode utilizar os próprios nomes de campos em uma fórmula, com operadores para
produzirem novos valores e como argumentos em uma @function.
A tabela mostra exemplos de nomes de campos utilizados em fórmulas:
Uso de um Nome de Campo Exemplo
Sozinho, em uma fórmula FirstName
Com operadores para produzir um novo valor FirstName + “ “ + LastName
Como argumentos para @functions para passar @ProperCase(FirstName)
informações calculadas

Constantes
Constantes têm valores que não mudam.

Cinq Technologies Ltda.


Curso Lotus Notes R5 - Desenvolvimento com Macros - Versão 3 49

Esta tabela descreve os três tipos de constantes que o Notes reconhece em fórmulas

Tipo de Constante Descrição


Texto Qualquer conjunto de caracteres colocados entre aspas (“”), tal
como “Joe”. Nota: para usar aspas em um texto, preceda as aspas
por uma barra invertida (\), por exemplo “ \ “ e \ ‘ ”.
Números - Números de 0 a 9
- Operadores unários ( + e -)
- Expoente (E)
- constante neperiana (e)
Hora Qualquer conjunto de caracteres colocados entre colchetes ([ ])
como uma constante Hora, por exemplo: [01/18/96 09:35:45]

Operadores
Operadores podem assinalar, modificar e combinar valores em novas variáveis.
A tabela a seguir descreve os 5 tipos de operadores, listados em ordem de precedência:
Tipo de Símbolos Exemplos
Operador
Assinalamento := AreaCode := @Left(Phone;3)
Concatenação Lista (:) “Tricycle” : “Mini-bike” : “5-
Texto (+) spped”
CompanyName + “Inc.”
Aritmética Multiplicação(*) UnitPrice * 3
Divisão (/) TotalPrice / Qty
Adição (+) TotalPrice + Tax
Subtração (-) TotalPrice - Discount
Comparação Igualdade (=) SELECT Year = 1996
Desigualdade (!=, =!, <>, >< ) SELECT Month != January
Menor que (<) SELECT Age < 70
Menor ou igual (<=) SELECT Year <= 1990
Maior que (>) SELECT Age > 30
Maior ou igual (>=) SELECT Age >= 21
Lógica NOT (!) Status = “Aprovado” &
AND (&) !TargetMarket | “Children”
OR (|)
Nota: O símbolo OR é a barra
vertical ou o símbolo pipe,
usualmente shift + barra
invertida (\)

Cinq Technologies Ltda.


Curso Lotus Notes R5 - Desenvolvimento com Macros - Versão 3 50

A ordem de precedência para os operadores aritméticos é:


• Parênteses
• Expoentes
• Multiplicação e Divisão
• Adição e Subtração

Fórmulas de Palavras-chaves
As fórmulas da linguagem Notes incluem um conjunto de palavras-chave que realizam
funções especiais.
Quando você usa uma palavra-chave, ela é sempre a primeira palavra na declaração da
fórmula. As seguintes listas de tabelas utiliza duas formulas de palavras chaves:

Palavras-chaves Descrição Exemplo


REM Indica que uma linha de declaração REM “12/15/95”;
contém somente comentários, e REM “Estas linhas de texto”;
devem ser ignoradas pelo Notes REM “explique meu código”;
quando ele avalia a fórmula
SELECT Define um conjunto ou subconjunto SELECT form = “Idea”
de documentos para uma visão,
agente ou fórmula de replicação

Regras de Sintaxe de Fórmulas


As seguintes regras gerais de sintaxe aplicam-se as fórmulas Notes:

Separadores
As fórmulas Notes reconhecem 3 separadores:
• Dois pontos (:)
Separam uma lista de itens.
“Cleveland”:”Melbourne”:”Roterdam”
Name:Address:Telephone
• Ponto e vírgula (;)
Separam declarações e argumentos múltiplos
@If(Condição;Ação;Else)
@If(Data<@Today;”Passado”;NULL)
• Espaços ( )
Use qualquer número de espaços ou nenhum espaço entre os elementos de uma
fórmula, exceto:
Cinq Technologies Ltda.
Curso Lotus Notes R5 - Desenvolvimento com Macros - Versão 3 51

• Seguindo uma palavra-chave, use ao menos um espaço.


• Dentro de textos constantes, use espaços quando quiser.

Letras Maiúsculas e Minúsculas


O Notes não diferencia letras maiúsculas e minúsculas, exceto dentro de textos
constantes. Por convenção, especifique:
• Palavras-chaves em maiúsculas:
REM,SELECT
• functions,@commands e variáveis em letras maiúsculas e minúsculas:
FieldName, DocAuthor

Parênteses ()
Parênteses são usados para controlar a ordem do processamento e para colocar
argumentos nas funções:
• Fecha o mesmo número de parênteses que abrir.
• Em @functions, coloque os argumentos entre parênteses.

Aspas “”
Coloque textos literais entre aspas:
• Para tratar um número como texto, coloque-o entre aspas.
• Não coloque os nomes dos campos entre aspas ou eles serão tratados como textos.

Colchetes [ ]
Coloque o argumento de hora entre colchetes:
[ 01/23/96 09:34:10 ]

Tipos de Dados
Todos os dados usados em uma fórmula precisam ser do mesmo tipo:
• Em declarações de funções, use somente os tipos de dados requeridos.
• Para combinar tipos de dados em fórmulas, você precisa convertê-los para o mesmo
tipo, usando as funções de conversão de dados, tais como, @Text e @TextToNumber.

Operadores Lógicos
Quando usar AND (&), NOT (!) e OR(|), as expressões de cada lado desses operadores
são avaliadas individualmente. Cada expressão precisa ter um resultado booleano
(verdadeiro/falso), que podem ser avaliados por si só:
X+Y=Z|Z>X+Y
TargetMarket = “Sports” | TargetMarket = “All Terrain”
TargetMarket = “Sports”& TargetMarket = “All Terrain”
Cinq Technologies Ltda.
Curso Lotus Notes R5 - Desenvolvimento com Macros - Versão 3 52

Textos Constantes
Você precisa especificar textos constantes:
• Entre aspas
• Com os espaços apropriados
• Usando letras maiúsculas ou minúsculas como devido
Name=”HARRY S TRUMAN”

Aplicando as Regras de Sintaxe para Fórmulas Notes


Com o seu grupo, leia e discuta os seguintes conjuntos de códigos exemplos e responda
as questões:
1. Qual a diferença entre essas duas declarações?
[ 08/10/96 ]
“ 08/10/96 “
2. Diferencie as seguintes declarações:
A != (B + C)
(A = B) | (A < B)
A := (B + C)
3. O que as seguintes declarações fazem? O que há de errado com elas?
Address:=Street+City+State
4. Qual a diferença entre essas duas declarações?
“My Name”
MyName
5. Explique o que as seguites declarações fazem. Qual é o operador utilizado em cada
declaração?
23 + 62
“JOE” + ” D. ” + ”SMITH”

Cinq Technologies Ltda.


Curso Lotus Notes R5 - Desenvolvimento com Macros - Versão 3 53

Lição 12

Usando Funções em Fórmulas


As fórmulas da linguagem Notes interagem com o Notes através do uso das funções.

Objetivos
Depois de completar esta lição, você deverá ser capaz de:
 - Descrever os principais tipos de funções.
 - Usar uma função num campo de dado.
 - Usar uma função que requeira argumentos.

Funções
O Lotus Notes inclui cerca de 200 funções ou fórmulas prontas que realizam cálculos e
retornam um valor ou realizam uma ação.

Uso para as Funções


As funções são usadas no projetos de elementos Notes para realizar as seguintes tarefas:
• Formatar texto
• Gerar e formatar datas e horas
• Avaliar declarações de condição
• Calcular valores numéricos
• Calcular valores em uma lista
• Ativar um agente, uma ação, um botão, uma área sensível ou um ícone.

Sintaxe
Algumas funções requerem argumentos, enquanto outras produzem um valor por si só. A
sintaxe geral de uma função é:
@nome_função(arg1;arg2;...;argn);
• A função diz ao Notes quais operações a realizar.
• Argumentos são os valores que o Notes usa para realizar a operação.
• Os argumentos devem estar entre parênteses.
@Text(TargetRetailPrice)
• O ponto e vírgula separa múltiplos argumentos.
@Text(Date;”DOSO”)

Cinq Technologies Ltda.


Curso Lotus Notes R5 - Desenvolvimento com Macros - Versão 3 54

• Palavras-chaves utilizadas como argumentos são colocadas entre colchetes.


@Name([CN];@UserName)

Valores Retornados
Uma função calcula um valor de retorno e substitui a si mesma com o ele. O resultado é
um dos que seguem:
• Texto
• Número
• Tempo
• Valores lógicos: verdadeiro (1) ou falso (0)

Funções Exemplo

Tipos de Função
Todas as funções pertencem a um dos seguintes tipos, baseadas na tarefa que realizam:
• Manipulação de strings
• Operações lógicas
• Operações de data e hora
• Operações aritméticas
• Operações com listas
• Conversão de dados
• Funções especiais

Manipulação de Strings
Funções de strings realizam operações em textos, tais como reformatar uma string ou
selecionar parte de uma string.
Funções de strings:
• Funcionam somente em campos texto.
• Recebem argumentos que diferenciam maiúsculas e minúsculas.
• Recebem variáveis e constantes como argumentos.
• Requerem aspas ao redor dos argumentos que são constantes.
A seguinte tabela mostra várias funções de strings utilizadas comumente.

Cinq Technologies Ltda.


Curso Lotus Notes R5 - Desenvolvimento com Macros - Versão 3 55

Funções Descrição
@ProperCase(string) Implementa capitalização inicial em uma string.
@ProperCase (“bill clinton”)
Retorna: Bill Clinton
@Trim(string) Remove espaços anteriores, posteriores e redundantes de
uma string.
@Trim (@UpperCase (“ Roger Smith “))
Retorna: ROGER SMITH
@Length(string) Determina o número de caracteres em uma string.
@Length (“E o Vento Levou...”)
Retorna: 18
@ Left(string) Retorna os n caracteres mais a esquerda de uma string.
@Left(“E o Vento Levou”;5)
Retorna: E o V
@NewLine Insere um caracter de nova linha no texto da string.
Name + @NewLine + Address
@Matches(string.pattern) Utilize os símbolos ? e * para casar caracteres com uma
string (? para caracteres simples e * para múltiplos
caracteres).
@Matches(State; “ New *”)
Retorna: 1 (verdadeiro) para estados que começam com
New.

Operações Lógicas
As funções lógicas produzem valores baseados nos resultados de declarações
condicionais.
Função Descrição

@If Avalia uma série de condições e, então, atua de acordo.


@If (condição1; ação1; condição2; ação2; else)
@If(Data < @Today; “Passado”; “OK”)
Se a data for menor que a data de hoje, então é passado, senão, está OK.
@If (Name = “Joe”; “Instrutor”; “Estudante”)
Se o nome da pessoa é Joe, então ele é um instrutor, senão, ele é um estudante.
@If (Name = “Joe”; “Instrutor”; Name = “Green”; “Gerente” ;
“Estudante”)
Se o nome da pessoa é Joe, então ele é um instrutor; se o seu nome é Green,
então ele é um gerente, senão ele é um estudante.

Cinq Technologies Ltda.


Curso Lotus Notes R5 - Desenvolvimento com Macros - Versão 3 56

Usos para a Declaração @If


Você pode usar a declaração @If para testar entradas de usuários em um campo, suprir
um valor padrão se o valor não for entrado ou requerer que o usuário insira o valor.
No formulário Informação para Requisição, por exemplo, você pode requerer que os
usuários entrem com um nome no campo LName, e forneçam uma mensagem de erro se
eles não o fizerem:
@If (LName = NULL: @Failure (“Por favor, forneça o sobrenome do cliente”);
@Success)

Linhas-Mestras para Utilizar a Declaração @If


A declaração @If:
• É útil para testar condições e, então, tomar decisões.
• Sempre tem um número ímpar de argumentos.
• Pode receber mais de 99 condições.
• Pode ser aninhada.

Operações de Data e Hora


Você pode usar funções de data e hora para gerar ou manipular valores de datas ou hora.
Funções de data e hora funcionam somente com o tipo de dado hora:

Função Descrição
@Created Mostra a data de criação de um documento
@Adjust(hora-data; ano; mês; Ajusta o valor da hora-data:
dia; hora; minuto; segundo) • Para frente (usando argumentos positivos ou
• Para trás (usando argumentos negativos).
@Adjust ([06/30/95] ;2;2;2;0;0;0)
Retorna: [09/02/97]
@Today Retorna a data de hoje.
@Tomorrow Retorna a data de amanhã.
@Month (hora-data) Extrai os números dos meses de uma hora-data
específica.
@Month ([02/14/96])
Retorna: 2
@Weekday(hora-data) Calcula o dia da semana e retorna o número que o
identifica.
@Weekday(BeginDate)
Se BeginDate = 3/15/96, retorna 6 (Sexta-feira).

Cinq Technologies Ltda.


Curso Lotus Notes R5 - Desenvolvimento com Macros - Versão 3 57

Operações Aritméticas
As funções aritméticas fazem cálculos usando valores numéricos. A tabela seguinte
descreve 4 funções aritméticas freqüentemente utilizadas.

Função Descrição
@Max(número;número) Compara 2 números ou listas de números e retorna o maior.
@Max(1 : 3 ; 3 : 5)
Retorna: 3 : 5
@Min(número;número) Compara 2 números ou listas de números e retorna o menor.
@Min(9 ; 20)
Retorna: 9
@Round(número) Arredonda um número para o mais próximo número inteiro.
@Round(número;fator) @Round (123.4)
Retorna: 123
@Round (123;10)
Retorna: 120
@Sum(num; num; ...) Calcula a soma de uma série ou lista de números.
@Sum (Price; 10; Tax)
@Sum (Price : 10 : Tax)
Ambos os exemplos retornam o mesmo resultado.

Operações com Listas


As funções de listas avaliam, manipulam e fazem cálculos a partir de lista.

Função Descrição
@Member (valor; lista-de-strings) Retorna um número correspondente à posição do
valor na lista de strings; retorna 0 se o valor não
está contido na lista de strings.
@Member (Departament; “Venda” : “Fábrica” :
“Serviço”)
Retorna: 0 (falso) se o valor corrente de
departamento não está na lista.
@Subset(lista; número) Retona n (número) membros da lista, começando
no seu início ou, se um número negativo for
utilizado, começando no final da lista.
@Subset (“Cleveland” : “Cingapura” :
“Melbourne” : “Amsterdam”; 2)

Cinq Technologies Ltda.


Curso Lotus Notes R5 - Desenvolvimento com Macros - Versão 3 58

Retorna: Cleveland; Cingapura.


@Subset (“Cleveland” : “Cingapura” :
“Melbourne” : “Amsterdam”; -3)
Retorna: Cingapura; Melbourne; Amsterdam.

Algumas funções funcionam tanto com valores individuais como com listas. Algumas
destas já foram vistas:
• @If
• @Max
• @Sum
• Conversão de Dados
Os dados devem ser do tipo corrente para as operações que você realiza.
Por exemplo:
• Para mostrar no vídeo ou imprimir um valor do tipo Hora ou Número em uma string
com outros caracteres, você precisa primeiro convertê-lo para o tipo Texto.
• Para fazer cálculos com número definidos como do tipo Texto, você precisa convertê-
los para o tipo Número.
As seguintes funções convertem dados:

Função Descrição
@Text(valor) Converte valores para texto.
@Text (RetailPrice)
@TextToNumber(string) Converte um texto para um número.
@TextToNumber (“32.95”)

Funções Especiais
Certas funções realizam tarefas especiais. Algumas das mais úteis para acessar dados
correntes:

Função Descrição
@UserName Retorna o nome do usuário ou servidor corrente.
@Name ([ação];name) Permite que você manipule nomes hierárquicos; é útil para
abreviar nomes hierárquicos em uma visão:
@Name([CN];Author)
@AllChildren Inclui todos os documentos resposta em todos os níveis para
documentos pai que obedecem ao critério de seleção.
Cinq Technologies Ltda.
Curso Lotus Notes R5 - Desenvolvimento com Macros - Versão 3 59

@AllDescendents Inclui todos os documentos resposta e resposta à resposta para


documentos pai que obedecem ao critério de seleção.
@IsResponseDoc Indica se um documento é um documento resposta.
@If (@IsResponseDoc; “Resposta” ; “Tópico” )
Esta fórmula retorna Resposta se o documento é uma resposta,
senão, seu retorno é o documento Tópico.
@IsText (valor) Indica se um valor é texto.
@IsText (“Preço de Varejo”)
@IsNumber (valor) Indica se um valor é um número. É útil para determinar se você
tem campos assinalados corretamente segundo o tipo de dado.
@IsNumber (Custo)

Cinq Technologies Ltda.


Curso Lotus Notes R5 - Desenvolvimento com Macros - Versão 3 60

Lição 13

Usando Fórmulas para Editar e Validar Dados


Ao desenvolver uma aplicação, você precisa considerar como manipular as variações de
entradas dos usuários.
Você pode usar fórmulas em campos editáveis que:
• Fornecem um valor padrão inicial a um campo.
• Padronizam o formato dos dados de entrada.
• Garantem que os dados encontrem os requerimentos especificados.

Objetivos
Após completar esta lição, você deverá se capaz de:
 Criar um valor padrão para uma fórmula
 Criar uma fórmula de conversão de entrada
 Criar uma fórmula de validação de entrada

Campos Computados
Todos os campos, exceto os campos texto-rico, podem ser Editáveis ou Computados.
Você pode setar o tipo de campo no campo à direita do campo Tipo, na caixa
Propriedades do Campo.

As fórmulas que você escreve determinam o valor dos campos computados. Os usuários
não podem alterar estes valores.
Existem três tipos de campos computados.

Computado
Campos computados são:
• Calculados todas as vezes que o documento é criado, salvo ou refeito.

Cinq Technologies Ltda.


Curso Lotus Notes R5 - Desenvolvimento com Macros - Versão 3 61

• Salvos com o documento.

Computados para Exibição


Campos computados para exibição são:
• Recalculados todas as vezes em que o documento for aberto para edição ou leitura, ou
quando refeito, mas só para a sessão corrente.
• Não são salvos entre sessões.

Computados durante a Composição


Campos computados durante a composição:
• São calculados uma única vez, quando o documento é criado.
• São salvos com o documento.
• Preservam a informação sobre os valores originais do documento.

Fórmulas de Campos Editáveis


Você pode incluir mais de três fórmulas na maioria dos campos editáveis. O seguinte
painel de projeto mostra a lista Evento, onde você seleciona o tipo de fórmula a escrever.

Fórmula de Valor Padrão


Você pode providenciar um valor inicial ou padrão para um campo, os quais os usuários
podem aceitar ou modificar.
• Para entrar um texto, você pode colocá-lo entre aspas.
• Uma fórmula para valor padrão é avaliada quando o documento é criado.
Para entrar uma fórmula para valor padrão:
1. Abra o formulário no modo projeto.
3.2.Selecione o campo alvo e abra a caixa de Propriedades do Campo. Formatados: Marcadores e
numeração
5.3.Selecione Editável.
7.4.No painel de projeto, selecione valor Padrão na lista Evento.
Cinq Technologies Ltda.
Curso Lotus Notes R5 - Desenvolvimento com Macros - Versão 3 62

9.5.Escreva a fórmula, um nome de campo, ou um texto entre aspas na janela de edição.


11.6.Clique sobre a marca verde.
13.7.Feche e salve o formulário.

Fórmula de Conversão de Entrada


Use uma fórmula de conversão de entrada para garantir que a informação em um único
campo pareça a mesma em todos os documentos, tais como:
• Padronização de Texto em um campo de formato Nome.
• Padronização de números em um número de telefone.
Fórmulas de conversão de entrada são avaliadas sempre que um usuário salvar o
documento ou recalcular um valor.
Para inserir uma fórmula de conversão de entrada:
1. Abra o formulário em modo projeto.
3.2.Selecione o campo alvo e abra a caixa de Propriedades do Campo. Formatados: Marcadores e
numeração
5.3.Selecione Editável.
7.4.No painel de projeto, selecione Conversão de Entrada na lista Evento.
9.5.Escreva a fórmula da janela de edição.
11.6.Clique sobre a marca verde.
13.7.Feche e salve o formulário.

Fórmula de Validação de Entrada


Use um fórmula de validação de entrada para:
• Verificar se os dados inseridos pelo usuário coincidem com o critério de validação.
• Garantir que um campo específico foi preenchido.
Fórmulas de validação de entrada são avaliadas sempre que um usuário salvar o
documento ou recalcular valores.
Para inserir uma fórmula de validação de entrada:
1. Abra o formulário em modo projeto e selecione o campo alvo.
3.2.Abra a caixa de Propriedades do Campo e selecione Editável. Formatados: Marcadores e
numeração
5.3.No painel de projeto, selecione Validação de Entrada na lista Evento.
7.4.Escreva a fórmula na janela de Edição usando @Failure e @Success.
9.5.Clique sobre a marca verde
11.6.Feche e salve o formulário.

Como Inserir uma Fórmula


Insira fórmulas no painel de projeto ou na janela de fórmula.
Cinq Technologies Ltda.
Curso Lotus Notes R5 - Desenvolvimento com Macros - Versão 3 63

O Painel de Projeto
O Painel de Projeto, que aparece na base na tela, é onde você pode construir uma ação
simples, uma fórmula ou um script.
Características do painel de projeto:
• O botão Fórmula.
• A lista Definição.
• A lista Evento
• Valor Padrão, Conversão de Entrada ou Validação de Entrada para campos
editáveis.
• Valor para campos computados.
• O cursor para alterar o tamanho do painel.
• Botões para auxiliar na inserção de fórmulas:
• Campos e Funções
• @Commands
• O botão com a marca verde, que verifica e salva a fórmula.

A Janela de Fórmulas
Uma janela de fórmula aparece em caixas relacionadas para projetar elementos com as
fórmulas chamadas. Entre com a fórmula na janela e verifique seu código usando a caixa
de verificação verde.
Sugestão: O resultado da última linha entrada na fórmula de janela é colocada no campo.
Assim, a última linha pode ser a expressão principal. Todos os códigos que precedem a
última linha serve para fixar a última linha.

Sumário
Neste módulo, você aprendeu o básico das fórmulas da linguagem Notes. Você usou este
conhecimento para:
• Construir fórmulas.
• Usar valores de campos em fórmulas.
• Usar funções em fórmulas na base de dados Idéias de Novos Produtos.
• Usar fórmulas para determinar valores padrão.
• Usar fórmulas para validar e formatar entradas de usuários.

Cinq Technologies Ltda.


Curso Lotus Notes R5 - Desenvolvimento com Macros - Versão 3 64

Módulo D

Aumentando Formulários e Visões


Lição 14 - Aumentando um Formulário
Lição 15 - Aumentando uma Visão
Lição 16 - Adicionando Novas Visões
Lição 17 - Automatizando Formulários e Visões

Cinq Technologies Ltda.


Curso Lotus Notes R5 - Desenvolvimento com Macros - Versão 3 65

Lição 14

Aumentando um Formulário
Use seções e subformulários para aumentar a usabilidade e auxiliar os desenvolvedores a
criar formulários.
Nesta lição, você irá adicionar dois tipos de seções e um subformulário aos formulários
da base de dados Idéias de Novos Produtos.

Objetivos
Depois de completar esta lição, você estará apto para:
• Converter campos existentes para uma seção.
• Criar uma seção em um formulário.
• Setar as propriedades de uma seção.
• Criar um subformulário e setar suas propriedades.
• Incorporar um subformulário a outros formulários.
• Habilitar herança entre formulários.

Seções Contráteis
Uma seção é um grupo de parágrafos que se contraem para uma simples linha. É uma
área de um formulário que pode ser contraída ou expandida com um clique de mouse.

Tipos de Seções
Você pode criar dois tipos de seções em formulário Notes:
• Padrão
• Acesso controlado

Como as Seções Funcionam


Seções pode ser mostrados contraídas ou expandidos, dependendo das opções que você
escolhe na caixa de Propriedades da Seção. Você pode controlar quem pode editar, ler ou
ver a seção.

Usos para Seções Contráteis


Considere usar uma seção de contração para:
• Tornar o formulário menos atravancado.
• Agrupar e contrair informações que só são referenciadas de vez em quando.
Cinq Technologies Ltda.
Curso Lotus Notes R5 - Desenvolvimento com Macros - Versão 3 66

• Agrupar e contrair informações que não interessam a todos os usuários.


• Controlar a edição de uma seção.
• Tornar algumas informações visíveis somente para alguns usuários selecionados.

Propriedades da Seção
A caixa de Propriedades da Seção permite que você especifique as seguintes
características:
• Título da seção e estilo da borda.
• Atributos da fonte para os campos da seção.
• Opções de expansão e contração.
• Opções Quando-Escondido

Criando uma Seção


Para adicionar uma seção a um formulário, primeiramente crie os campos, então
selecione-os para inclusão em uma seção.
Para criar uma seção:
1. Abra um formulário existente.
2. Selecione o texto e os campos que você quer incluir na seção.
3. Selecione Criar - Seção - Padrão.
4. Na caixa de Propriedades da Seção, troque o título da seção que os usuários vêm, se
você quiser um título diferente.
5. Feche e salve o formulário.

Setando as Propriedades da Seção


Mostre a caixa de Propriedades da Seção:

Cinq Technologies Ltda.


Curso Lotus Notes R5 - Desenvolvimento com Macros - Versão 3 67

1. Na página Título, especifique o nome da seção e o estilo da borda.


2. Na página Expandir/Contrair, especifique se você quer que a seção contraia ou
expanda automaticamente:
• No painel anterior.
• Quando aberta para leitura.
• Quando aberta para edição.
• Quando impressa.
3. Na página Fonte, selecione a fonte, o tamanho e a cor do título e, opcionalmente,
especifique um estilo para a borda.

Convertendo o Campo Descrição para uma Seção


Abra o Formulário Idéia para Novo Produto e crie uma seção padrão:
1. Selecione o campo Descrição e o seu texto de acompanhamento, e crie uma seção.
2. Sete as propriedades da seção:
• Selecione as seguintes características de Expandir/Contrair:
− Anterior: Aceite o padrão.
− Lendo e Editando: Automaticamente contraída.
− Imprimindo: Automaticamente expandida.
• Selecione o estilo da borda e cor.
3. Salve o Formulário e feche-o.
4. Crie um novo documento, salve-o, e teste a seção dentro dele.

Seções de Acesso Controlado


Seções de acesso controlado diferem das seções padrão porque as opções de expansão e
contração podem ser especificadas para editores e para não editores.
Você pode também usar uma fórmula para controlar o acesso para uma seção de acesso
controlado.
Criar uma seção de acesso controlado permite a você controlar quem pode ver e editar os
campos da seção. Para criar uma seção de acesso controlado:
1. Abra o formulário no modo projeto.
2. Selecione o texto, campos, etc. que você queira incluir na seção.
3. Escolhe Criar - Seção - Acesso Controlado.

Cinq Technologies Ltda.


Curso Lotus Notes R5 - Desenvolvimento com Macros - Versão 3 68

4. Ajuste as seguintes propriedades, segundo necessário:


• Título da seção visível aos usuários.
• Nome do campo seção.

Restringindo o Acesso à Seção


O acesso é controlado através das propriedades das seguintes páginas da caixa de
Propriedades da Seção:
• Editores.
• Não-Editores.
• Fórmula.

Seções e Fluxo de Trabalho Seguro


Use seções para restringir quem pode editar ou assinar partes de um documento. Por
exemplo, você pode usar uma seção para cada assinatura ou grupo.

Sobre Subformulários
Subformulários são mini-formulários que podem ser incluídos em outros formulários.

Características dos Subformulários.


Subformulários são mini-formulários que:
• Podem conter os mesmos componentes de um formulário regular.
• São armazenados como uma unidade, e são incluídos em outros formulários, como
necessário.
• Trabalham como campos compartilhados, exceto que eles contêm múltiplos
elementos.
Quando incluído em um formulário, um subformulário herda todas as mudanças do
subformulário original. Todos os documentos novos e editados irão refletir estas
mudanças.

Uso para Subformulários


Use subformulários quando você precisar fazer qualquer uma das seguintes tarefas em
múltiplos formulários:
• Começar a construir um formulário rapidamente.
• Incluir um logo ou cabeçalho formatado .
• Garantir uma uniformidade em formulários formatados.

Cinq Technologies Ltda.


Curso Lotus Notes R5 - Desenvolvimento com Macros - Versão 3 69

Adicionando e Utilizando um Subformulário

Crie um Subformulário
Com a base de dados selecionada aberta no modo projeto, siga os seguintes passos:
1. Selecione Criar - Estrutura - Subformulário.
2. Crie os elementos de estrutura para o formulário no painel de projeto.
3. Selecione Estrutura - Subformulário Propriedades e dê um nome ao novo
subformulário.
4. Selecione as opções para apresentação do subformulário.
5. Salve e feche o subformulário.

Propriedades do Subformulário
A caixa de Propriedades do Subformulário permite que você especifique o nome do
subformulário e escolha onde apresentá-lo.

Inclua o Subformulário em outro Formulário


Para incluir o subformulário em outro formulário, siga os seguintes passos:
1. Abra o formulário principal no modo projeto.
2. Selecione Criar - Inserir Subformulário.
3. Selecione subformulários da lista da caixa de diálogo que lhe é apresentada.
4. Clique Ok.

Valores Herdados
Os documentos podem herdar valores de outros documentos em uma base de dados. Isto
poupa trabalho para os usuários e ajuda a garantir consistência em documentos
relacionados.

Cinq Technologies Ltda.


Curso Lotus Notes R5 - Desenvolvimento com Macros - Versão 3 70

Como Habilitar a Herdabilidade


A página Padrão na caixa de Propriedades do Formulário contém duas opções que
determinam quando e como um campo de documento herda valores de outro documento.

• Fórmulas herdam valores de documentos selecionados


Selecione esta opção se você quiser que os documentos sejam criados com o formulário
para herdar valores padrão de um documento correntemente selecionado.
• O acesso a campos de documentos marcados só é válido na criação do documento.
• O documento marcado ou o documento sendo criado pode ser de qualquer tipo
(documento principal, resposta ou resposta à resposta).
• Herdar documentos inteiramente selecionados para campo texto rico
Selecione esta opção para incluir o conteúdo de um documento inteiramente
marcado, tal como enviar um mail com histórico.

Implementando a Herança
Para implementar a herança em um formulário:
1. Habilite a opção de formulário: Fórmulas herdam valores do documento selecionado.
2. Identifique quais os campos que irão herdar informação.
3. Modifique o tipo de campo. Campos herdados precisam ser:
• Computados durante a composição e/ou Editáveis
4. Crie uma fórmula:
• Coloque o nome do campo referenciado dentro do campo.
• Recomenda-se colocar os mesmos nomes para os campos.

Como Funciona
A herança não está baseada intrinsecamente com o relacionamento entre um documento
principal e um documento de resposta.
• Se uma opção de herança é selecionada, qualquer novo documento que seja composto
irá herdar os valores de qualquer documento atualmente selecionado.

Cinq Technologies Ltda.


Curso Lotus Notes R5 - Desenvolvimento com Macros - Versão 3 71

Lição 15

Aumentando uma Visão


O Notes fornece propriedades de colunas e visão que permitem que você mostre dados de
muitos modos, de forma a fazer visões mais eficientes, bonitas e fáceis de utilizar.

Objetivos
Depois de completar esta lição, você deve ser capaz de:
 Ordenar uma visão.
 Categorizar uma visão.
 Adicionar uma coluna só para respostas.
 Ordenar uma coluna escondida.
 Usar ícones para mostrar colunas.
 Especificar opções para indexação de visões.
 Criar uma tela multi-linhas.
 Habilitar a reordenação automática de documentos.
 Especificar cores alternadas para linhas de visão.
 Criar visões em cascata.

Caracterizando e Ordenando Visões


Agora que a visão Todas as Idéias de Produtos contém sua funcionalidade básica, você irá
melhorá-la para que seja mais legível e os documentos mais facilmente encontrados.
A ordenação arranja os documentos de uma visão em uma ordem lógica. A menos que
eles sejam ordenados de alguma outra maneira, os documentos e suas respostas aparecem
na ordem em que foram criados.

Ordenando
Você pode definir uma coluna em ordem crescente ou decrescente. Você pode ordenar
uma visão por uma coluna ou por várias colunas. Se você ordenar uma visão por várias
colunas, o Notes considerará as colunas posicionadas da esquerda para a direita.

Ordenando na Janela Propriedades da Coluna


A janela de Propriedades mostra as opções de ordenação para colunas:

Cinq Technologies Ltda.


Curso Lotus Notes R5 - Desenvolvimento com Macros - Versão 3 72

Categorizando
Categorização é um tipo especial de ordenação. As colunas categorizadas são ordenadas
primeiro, então todos os documentos que estão na categoria são listados sob o cabeçalho
da mesma.
Precaução: O campo que você referenciar na coluna categorizada precisa existir nos
documentos sendo categorizados.
Para encontrar documentos, os usuários:
• Inserir pelo menos um documento de cada categoria, para que todas apareçam.
• Selecionar Visão - Contrair Tudo para ver somente os nomes das categorias na visão.

Mostre a Hierarquia de Respostas


Você pode mostrar o formulário Resposta hierarquicamente em uma visão criando uma
resposta de uma só coluna. Isto permite aos usuários ver o progresso de uma discussão
em uma visão.

Criando uma Hierarquia de Respostas


Para indentar documentos resposta e documentos resposta à resposta sob os documentos
principais:
1. Abra a visão no modo projeto.
2. Mostre a Caixa de Propriedades da Visão.
3. Abra a página Opções.
4. Selecione: Mostrar documentos de comentários em uma hierarquia.
5. No painel de projeto, clique Fórmula.
6. Use o padrão SELECT @All como fórmula de seleção da visão.
7. Clique a coluna sob a qual as respostas são para ser indentadas e escolha Criar - Inserir
Nova Coluna. A linha do documento resposta mostra o resultado da fórmula da Coluna
Resposta.
8. Na Caixa de Propriedades da Coluna, na página Básico:
• Deixe o título em branco

Cinq Technologies Ltda.


Curso Lotus Notes R5 - Desenvolvimento com Macros - Versão 3 73

• Selecione 1 como a largura da coluna


• Selecione mostrar respostas apenas
9. No painel de estrutura, defina os valores da coluna para os documentos resposta.
10.Feche e salve a visão.

Definindo as Propriedades da Coluna


A página Básico na Caixa de Propriedades da Coluna dá a você opções adicionais para
definir colunas:

Ordenando uma Coluna Escondida


Use a opção Coluna Oculta para ordenar uma visão baseado em um dado campo sem,
contudo, mostrá-lo.
Por exemplo, você quer listar documentos na ordem cronológica reversa, mas os usuários
não precisam ver a data na visão.

Crie uma Coluna Somente de Respostas


Selecione Exibir somente respostas para mostrar somente os documentos que são
respostas ou respostas a respostas.
• Respostas são indentadas sob seus documentos pais para refletir a estrutura
hierárquica.
• Uma visão deve ter somente uma coluna somente de Respostas.

Mostrando Valores como Ícones


Selecione Exibir valores como ícones para mostrar ícones em vez de texto em uma
coluna.

• Notes fornece 170 ícones de coluna, cada qual associado a um número.

Cinq Technologies Ltda.


Curso Lotus Notes R5 - Desenvolvimento com Macros - Versão 3 74

Você escreve uma fórmula que especifica o número associado com o ícone que você quer
mostrar.
Por exemplo: @If (Rating = “Satisfatório”; 85; Rating = “Insatisfatório”; 87; NULL)

Ordenando Documentos Dinamicamente


Para permitir aos usuários ordenar a visão:
1. Habilite Clique no cabeçalho para classificar na página Classificação.
2. Selecione Ascendente ou Descendente.

Definindo as Propriedades da Visão


A página Básico da caixa de propriedades oferece opções adicionais para visões:

Cinq Technologies Ltda.


Curso Lotus Notes R5 - Desenvolvimento com Macros - Versão 3 75

Especificando uma Visão Padrão


Selecione a opção Padrão ao abrir o banco de dados da 1ª vez para designar uma visão
padrão a ser mostrada quando o banco de dados for aberto pela primeira vez.
Na lista de visões em modo projeto, a visão padrão aparece com um asterisco.

Criando Visões em Cascata


Você pode agrupar visões relacionadas organizando-as em cascata a partir da mesma
visão ou pasta principal.
Insira o nome principal, uma barra invertida (\) e o nome da visão em questão na caixa de
propriedades:

Incluindo uma Visão no Menu


Selecione a opção Mostrar no menu Exibir para listar a visão corrente no menu.

A página Estilo
A visão está agora ordenada e categorizada, contudo, pode ainda ser pouco legível. Você
pode formatar a visão para especificar cores de linhas alternadas ou várias linhas para um
mesmo documento.
Você formata a visão na página Estilo da Caixa de Propriedades da Visão:

Cor de Fundo
Você pode especificar um cor de fundo para a visão, para tanto:
1. Escolha Estrutura - Propriedades da Visão.
2. Clique na página Estilo.
Cinq Technologies Ltda.
Curso Lotus Notes R5 - Desenvolvimento com Macros - Versão 3 76

3. Selecione Cor: Fundo.


4. Selecione uma cor da lista.

Alterne a Cor das Linhas


Alterne linhas de diferentes cores para tornar a visão mais legível.
Para especificar as cores das linhas alternadas:
1. Selecione Alternar linhas.
2. Escolha uma cor da lista.

Várias Linhas para um Documento


Você pode formatar colunas de forma que elas caibam na área visível da janela e ainda
mostrar todo o texto que você precisa.
1. Selecione um número em Linhas por linha.
2. Ajuste a largura da coluna.
3. Selecione Adaptar linhas ao conteúdo para ajustar o espaço da linha ao conteúdo da
coluna.

Opções para Índice de Visão


Um índice de visão é uma maneira do Notes manter a ordem dos documentos em uma
visão.
• Cada visão tem um índice que funciona como um sistema de arquivamento interno.
Permite ao Notes criar uma lista atualizada para uma visão.
• Visões ordenadas e categorizadas são indexadas de múltiplas maneiras.
Sempre que você adicionar ou alterar um documento, o índice precisa ser renovado, para
mostrar as alterações.

Cinq Technologies Ltda.


Curso Lotus Notes R5 - Desenvolvimento com Macros - Versão 3 77

Especificando Opções de Renovação


Para melhorar a performance, você pode especificar quão freqüentemente a visão é
renovada:
1. Abra a visão no modo projeto.
2. Abra a caixa de Propriedades da Visão.
3. Clique na página de Opções.
4. Selecione a opção Ao atualizar

1. Clique na página Avançado:

1. Troque o padrão Automático para Manual.


2. Feche e salve a visão.

Cinq Technologies Ltda.


Curso Lotus Notes R5 - Desenvolvimento com Macros - Versão 3 78

Lição 16

Automatizando Formulários e Visões


Você pode construir automatizações em formulários para tornar mais rápidas tarefas
repetitivas e diminuir a taxa de erros dos usuários.
Você pode usar:
• Características ocultas para facilitar tarefas automatizadas.
• Ações de pontos sensíveis em formulários para automatizar formulários e visões.

Objetivos
Depois de completar este módulo, você deverá ser capaz de:
 Controlar a apresentação de texto e campos
 Controlar a apresentação de seções.
 Adicionar uma ação simples a um formulário.
 Criar um botão que ative ações para automatizar um formulário.
 Incluir ações no menu.
 Criar ações que apareçam na barra de ação.
 Usar @Commands em fórmulas de ações.
 Criar ações simples para uma visão.

Opções para Ocultar


A página Ocultar na sua caixa de propriedades permite que você especifique quando um
elemento da estrutura é apresentado.

Quando Ocultar Elementos da Estrutura de uma Base de Dados


Se você tiver:
• Campos computados que são criados para serem apresentados em outro lugar.
• Dois campos que endereçam um valor: um para mostrar na forma de leitura e outro na
forma de edição.
• Uma seção contrátil que só deve ser vista por usuários selecionados.
• Ações que devem aparecer em algumas ocasiões, mas não em outras.
• Uma visão que deve ser vista por usuários selecionados.

Especificando Opções para Ocultar


Para ocultar um campo, siga os seguintes passos:
Cinq Technologies Ltda.
Curso Lotus Notes R5 - Desenvolvimento com Macros - Versão 3 79

1. Abra o formulário no modo estrutura.


2. Selecione o campo alvo e utilize a caixa de propriedades.
3. Clique na página Ocultar (cortina).
4. Clique na opção que se aplica, ou clique em Ocultar o parágrafo se a fórmula for
verdadeira e escreva uma fórmula para especificar as circunstâncias sob as quais a
informação será oculta.

Requerimentos
Para esconder os botões de rádio e caixas de verificação quando os documentos são
abertos para leitura:
• Crie uma duplicata da etiqueta logo abaixo da original.
• Crie um campo para o nova linha com um novo nome
Tipo_sport pode ser Tipo_sport_apres, por exemplo.
− Tipo: texto, computado para edição.
− Na janela da fórmula: insira o nome do campo original.
− Oculte o campo original para leitura.
− Oculte o novo campo para edição.

Sobre @Commands
@Commands são uma categoria das @functions.
@Commands incluem código pré-programado que realiza comandos Notes.
• A maioria dos @commands realizam comandos do Menu do Notes.
• Cada @Command é nomeado pelo seu primeiro argumento, o qual é sempre um
argumento chave do comando.

Tipos de @Commands
Existem dois tipos de @Commands: @Commands e @PostedCommands.
• @Commands são executados na seqüência em que aparecem na fórmula, de cima para
baixo e da esquerda para a direita.
• @PostedCommands são executados depois de que todas as outras @functions e
@commands da fórmula tiverem sido executados.
Use um @PostedCommand quando você quiser ter certeza que o comando será executado
por último. @PostedCommand tomam os mesmos argumentos que @commands.

Usando @Commands
Você pode usar @Commands em fórmulas para ações, botões, pontos sensíveis, ícones e
para alguns agentes.

Cinq Technologies Ltda.


Curso Lotus Notes R5 - Desenvolvimento com Macros - Versão 3 80

Uma ação que usa um @command trabalha somente no contexto para o qual o comando
foi designado. Editar comandos, por exemplo, funciona somente no modo de edição.

Sintaxe
Você escreve uma fórmula @Command como segue:
@Command ([nomeComando]; parâmetros)
• nomeComando é o nome do @Command que você está chamando.
parâmetros pode ser nenhum, um ou vários, dependendo do @Command utilizado.
Separe os parâmetros por ponto-e-vírgula.

Sobre @Commands...

Alguns @Commands
Os seguintes @Commands são usados freqüentemente usados para ações de formulários:
@Command Função Parâmetros Exemplos
[Compose] Cria um novo documento nome do formulário @Command([Compose]; “Resposta”)
[FileCloseWindow] Fecha a janela corrente nenhum @Command([FileCloseWindow])
do Notes
[FileExit] Fecha o Notes e todas nenhum @Command([FileExit])
suas janelas abertas
[FilePrint] Imprime o documento nenhum @Command([FilePrint]
atualmente selecionado
[FileSave] Salva o arquivo corrente nenhum @Command([FileSave])
[OpenNavigator] Abra um navegador navegador;solo @Command([OpenNavigator];
definido para a base de (opcional) “Navegador Principal”)
dados selecionada
[ToolsSpellCheck] inicia o corretor nenhum @Command([TollsSpellCheck])
ortográfico do Notes

Cinq Technologies Ltda.


Curso Lotus Notes R5 - Desenvolvimento com Macros - Versão 3 81

Sobre Ações
Ações são procedimentos que você pode associar com um formulário ou visão
específicos.

Botões
Botões, como ações, podem executar ações e procedimentos simples. Diferentemente de
ações, os botões são disponibilizados somente em formulários.
Um botão pode ser localizado em qualquer lugar em um formulário. Use um botão
quando você quiser localizá-lo próximo a um ponto específico do formulário,
especialmente se ele se aplica somente a uma parte do formulário, tal como calcular a
soma de campos específicos.

Tipos de Ações
Algumas ações são supridas como padrão para todos os formulários, e algumas para todas
as visões. Outras precisam ser criadas:
1. Ações de suporte a sistemas.
3.2.Ações de usuários. Formatados: Marcadores e
numeração
• Ações simples.
• Ações com fórmulas.

Apresentando Ações
O Notes oferece duas maneiras de apresentar as ações para os usuários em um formulário
ou visão:
• Barra de ação.
• Menu de ação.

Ações de Formulário
Ações de formulário automatizam tarefas a partir de documentos que são criados usando
o formulário. Você pode, por exemplo, imprimir um documento, abrir um documento
para edição ou mover o documento para um pasta utilizando ações de formulário.
Ações de formulário podem:
• Aparecer no menu.
• Aparecer na barra de ação.
• Ser sensíveis ao contexto.

Usando Ações de Visão


Você pode usar ações em visões e pastas para qualquer tarefa que não necessite que o
documento seja aberto.

Cinq Technologies Ltda.


Curso Lotus Notes R5 - Desenvolvimento com Macros - Versão 3 82

Use ações de visão para:


• Criar ou gerenciar documentos.
• Trocar para outra visão ou pasta.
• Enviar mensagens.
• Modificar campos em documentos.
• Executar agentes.
• Executar fórmulas.

Ações Padrão de Visão


Cada visão que você cria contém um conjunto de ações padrão. Alguns exemplos são:
• Categorizar.
• Editar documento.
• Mover para uma pasta.
• Remover de uma pasta.

Criando Ações

Criando uma Ação de Formulário


Para criar uma ação de formulário:

1. Abra o formulário selecionado.


2. Selecione Cria - Ação.
3. Dê à ação um título na caixa de propriedades da ação.

Cinq Technologies Ltda.


Curso Lotus Notes R5 - Desenvolvimento com Macros - Versão 3 83

4. Selecione ou não as opções para mostrá-la no menu e/ou na barra de ação. Se você
selecionar a barra de ação, escolha um ícone da lista.
5. Clique no painel de projeto e selecione o botão de rádio Simples ou Fórmula.
6. Selecione uma ação simples da lista, ou escreva uma fórmula para a ação.
7. Feche e salve o formulário, e teste a ação.

Estabelecendo as Propriedades da Ação


A caixa de propriedades da ação permite que você especifique:
• Na página Básico:
• Um título para a ação.
• Se a ação deve ser incluída no menu e/ou na barra de ação.
• Um ícone.
1. Na página Ocultar, quando não mostra a ação:
• quando aberto ou visualizado para edição ou leitura.
• quando uma fórmula que você escreveu for verdadeira.

Adicionando Ações a uma Visão


Para adicionar uma ação simples a uma visão ou pasta, siga estes passos:
1. Abra a visão no modo projeto.
3.2.Escolha Visão - Painel de ação. Formatados: Marcadores e
numeração
5.3.Escolha Criar - Ação.
7.4.Dê, à nova ação, um título e assinale uma ou mais ações simples para executarem a
tarefa da ação ou selecione uma ação da lista de ações padrão.
9.5.Na caixa de propriedades da ação, selecione um ou ambos:
• Incluir ação no menu Ação.
• Incluir ação na barra de botões.
11.6.Se você incluir a ação na barra de botões, selecione um ícone da lista. Formatados: Marcadores e
numeração
13.7.Feche e salve a visão.

Sumário
Para melhorar formulários e visões de uma aplicação, você pode:
• Ocultar partes do formulários em certas ocasiões, para tornar os formulários mais
versáteis.
• Usar seções contráteis para economizar espaço nos formulários e organizá-los.
• Usar subformulários para dar consistência à base de dados e economizar tempo de
desenvolvimento.
• Criar uma coluna só de resposta para habilitar conversações através de uma visão.
• Mostrar ícones em colunas de visões.
Cinq Technologies Ltda.
Curso Lotus Notes R5 - Desenvolvimento com Macros - Versão 3 84

• Mostrar visões em cascata.


• Usar @Commands para habilitar os comandos Notes.
• Usar ações de formulários para automatizar tarefas básicas.
• Adicionar ações para automatizar formulários e visões.

Cinq Technologies Ltda.


Curso Lotus Notes R5 - Desenvolvimento com Macros - Versão 3 85

Módulo E

Finalizando a Base de Dados


Lição 17 - Criando um Navegador
Lição 18 - Criando Agentes
Lição 19 - Implementando Segurança
Lição 20 - Criando Ajuda para a Base de Dados
Lição 21 - Criando um Ícone de Base de Dados

Cinq Technologies Ltda.


Curso Lotus Notes R5 - Desenvolvimento com Macros - Versão 3 86

Lição 17

Criando um Navegador
Navegadores providenciam um modo gráfico para guiar os usuários através da base de
dados.

Objetivos
Depois de completar esta lição, você estará apto a:
• Importar um bitmap para usar como navegador.
• Criar pontos sensíveis no navegador.
• Adicionar um navegador para guiar os usuários através da aplicação.

Sobre Navegadores
Um navegador fornece um índice visual do conteúdo de uma base de dados. Os
navegadores padrão do Notes estão nos formulários de pastas.
Você pode usar um navegador para guiar os usuários através da aplicação.
Os objetos em um navegador são de dois tipos:
• Objetos que você cria em outros programas em importa para dentro do navegador.
• Objetos que você desenha usando as ferramentas de desenho do Notes.

Ações de Navegadores
As ações determinam o que acontece quando os usuários clicam sobre um objeto do
navegador. Você pode adicionar ações para os pontos sensíveis dos navegadores.
Você pode criar um ponto sensível que:
• Abra uma visão.
• Abra um formulário.
• Abra um link.
• Abra outro navegador.
• Execute uma fórmula.

Criando um navegador

Criando um Navegador
Para criar um navegador, siga os seguintes passos:
Cinq Technologies Ltda.
Curso Lotus Notes R5 - Desenvolvimento com Macros - Versão 3 87

1. Escolha Criar - Estrutura - Navegador


2. Escolha Estrutura - Propriedades do Navegador.

1. Dê um nome ao navegador que descreva seu uso, ou aceite o nome padrão.


2. Clique na janela do navegador.
3. Adicione pontos sensíveis (veja abaixo).
4. No painel de projeto, clique uma opção de execução e associe uma ação a cada ponto
sensível (veja abaixo).
5. Feche e salve o navegador.

Adicionando Pontos Sensíveis


Para adicionar um ponto sensível a um navegador:
1. Abra o navegador no modo projeto.
2. Clique sobre o retângulo do ponto sensível ou sobre o polígono do ícone, na barra de
ferramentas.
3. Desenhe o ponto sensível no navegador.
4. Estabeleça as propriedades para os pontos sensíveis.

Adicionando Objetos Gráficos ao Navegador


Você pode criar objetos gráficos em outro produto e colá-lo no navegador como um botão
gráfico.
Para cada objeto que você quiser adicionar ao navegador, siga os seguintes passos:
1. Abra o objeto que você quer copiar no outro produto, selecione-o e escolha Editar -
Copiar.
2. No painel de projeto, clique Estrutura - Navegadores.
3. Clique duas vezes seguidas sobre o navegador.
4. Posicione o cursor onde você quer colocar o desenho.
5. Escolha Criar - Botão Gráfico.
6. Feche e salve o navegador.

Cinq Technologies Ltda.


Curso Lotus Notes R5 - Desenvolvimento com Macros - Versão 3 88

Adicionando Ações aos Pontos Sensíveis


Para adicionar uma ação simples a um ponto sensível:
1. Abra o navegador no modo projeto.
2. Selecione o objeto.
3. No painel de projeto, clique Executar: ação simples.

1. Selecione uma ação da lista.


2. Selecione a visão ou pasta que este objeto abrirá.
3. Feche e salve o navegador.

Cinq Technologies Ltda.


Curso Lotus Notes R5 - Desenvolvimento com Macros - Versão 3 89

Lição 18

Criando Agentes
Você pode criar agentes para automatizar muitas tarefas comumente realizadas na base de
dados.
Na base de Dados Discussão do Produto, os gerentes irão ativar agentes para
automaticamente arquivar idéias rejeitadas e colocar para frente idéias a ser consideradas
para produção.

Objetivos
Depois de completar esta lição, você estará apto a:
✓ Criar um agente simples.

Sobre Agentes
Agentes são fórmulas predefinidas que agem em conjunto predeterminado de
documentos. Eles são utilizados na base de dados para gerenciar documentos, enviar
mensagens e mudar valores de campos.
Os agentes são armazenados dentro das bases de dados para as quais são criados.

Como os Agentes são Disparados


Os agentes são projetados para serem disparados tanto por um evento como em uma hora
predeterminados.
Os agentes podem ser preparados para ser executados a cada hora, diariamente,
semanalmente ou mensalmente.
os agentes podem ser disparados quando:
• Chega nova correspondência.
• Documentos são alterados.
• Documentos são colados.
Os usuários também podem executar agentes manualmente.

Tipos de Agentes
O Notes fornece dois tipos de agentes:
• Agentes Privados são criados por um usuário para uso particular.
• Agentes Compartilhados são criados por projetistas para serem usados por muitas
pessoas.

Cinq Technologies Ltda.


Curso Lotus Notes R5 - Desenvolvimento com Macros - Versão 3 90

Usos para Agentes


Agentes ajudam você a trabalhar mais eficientemente e a distribuir informação rápida e
facilmente. Você pode usar agentes para:
• Gerenciar documentos em pastas.
• Arquivar documentos.
• Enviar mensagens.
• Enviar sumários de artigos.
• Enviar documentos.
• Executar outros agentes.

Criando um Agente
Para criar um agente simples:
1. Selecione Criar - Agente para abrir o Construtor de Agentes.

1. No campo Nome, digite o nome do novo agente.


2. Clique Agente Compartilhado se você estiver criando o agente para outros.
3. No campo Quando deve ser executado este agente?, selecione uma das opções da lista.
4. Selecione uma opção para Sobre qual(ais) documento(s) ele deve agir?.
5. No campo O que este agente deve fazer?, clique o botão de rádio Ação(ões)Simples.
6. Clique no botão Adicionar Ação e a caixa de diálogo Adicionar Ação será apresentada:

Cinq Technologies Ltda.


Curso Lotus Notes R5 - Desenvolvimento com Macros - Versão 3 91

1. Selecione uma ou mais ações da lista e clique OK.


2. Feche e salve o agente.

Criando Agentes para Arquivar e Despachar Documentos


Neste exercício, você irá criar dois agentes para a Base de Dados Discussão de Produto:
• Um agente para arquivar idéias rejeitadas.
• Um agente para despachar idéias que tenham sido aprovadas para posteriores
considerações de projeto.
Este exercício está dividido em duas partes: Projetar os Agentes e Criar os Agentes.

Projetando os Agentes
1. Abra a caixa de diálogo Construtor de Agente e explore suas opções.
3.2.Baseado na análise de suas necessidades, faça anotações de suas decisões quanto às Formatados: Marcadores e
numeração
seguintes questões:
• Quais os nomes apropriados para estes agentes?
• Qual a situação que determina a freqüência de arquivamento?
• Quais os documentos que serão afetados por estes agentes?
• O que os agentes devem fazer?

Cinq Technologies Ltda.


Curso Lotus Notes R5 - Desenvolvimento com Macros - Versão 3 92

Lição 19

Implementando Segurança
Esta seção explora a segurança para a base de dados e para o acesso a campos.

Objetivos
Depois de completar esta lição, você será capaz de:
✓ Modificar a Lista de Controle de Acesso (ACL).
✓ Incluir um grupo na ACL.
✓ Controlar o acesso a um campo usando campos autor.

A Lista de Controle de Acesso (ACL)


Cada base de dados tem sua própria ACL, a qual:
• Determina quais usuários podem acessar a base de dados.
• Especifica quais funções um usuário pode realizar, tais como ler e escrever e/ou editar
documentos criados por outros.
• Definir as regras para cada usuário, ou seja, quais visões e formulários ele pode ver e
usar.

Cinq Technologies Ltda.


Curso Lotus Notes R5 - Desenvolvimento com Macros - Versão 3 93

Disponibilizando a ACL
Para disponibilizar a caixa de diálogo ACL:
1. Selecione Arquivo - Base de Dados - Controle de Acesso.
2. Clique Básicos no painel de conteúdos para mostrar Pessoas, Servidores e Grupos:

Níveis de Acesso do Usuário


Esta tabela lista cada nível de acesso do usuário para a base de dados e o acesso que ele
permite.
Nível de Acesso Capacidades
Gerente Pode modificar a ACL e as características de replicação, encriptar
uma base de dados para segurança local e excluir a base de dados,
bem como executar as tarefas permitidas a todos os outros níveis.
Projetista Pode modificar todos os elementos de projeto da base de dados, criar
um índice de texto total e realizar todas as tarefas permitidas aos
níveis de menor acesso.
Editor Pode criar documentos e editar todos os documentos.
Autor Pode criar documentos e editar documentos que contenham seu nome
em um campo cujo tipo de dado é Autor.
Leitor Pode ler documentos, mas não pode criá-los ou editá-los.
Depositor Pode criar novos documentos, mas não pode ler nenhum documento,
mesmo aqueles por ele criados.
Sem Acesso Não pode acessar a base de dados.

Cinq Technologies Ltda.


Curso Lotus Notes R5 - Desenvolvimento com Macros - Versão 3 94

Adicionando Grupos à ACL


Você pode adicionar grupos a uma ACL para representar múltiplos usuários e/ou
servidores que requeiram o mesmo acesso.
• Os grupos listados na ACL precisam existir no Address Book Público.
• Para criar um novo grupo na ACL, você o copia a partir do Address Book Público.

Cinq Technologies Ltda.


Curso Lotus Notes R5 - Desenvolvimento com Macros - Versão 3 95

Lição 20

Criando a Ajuda da Base de Dados


O Notes oferece várias maneiras de ajudar os usuários a entender a base de dados. Esta
lição cobre os documentos Sobre e Usando.

Objetivos
Depois de Completar esta lição, você poderá:
✓ Criar um documento Sobre.
✓ Criar um documento Usando.

Descrevendo os Propósitos da Base de Dados


Um documento Sobre descreve os propósitos da base de dados para os usuários. Você
deve incluir um documento Sobre em cada nova base de dados que você criar.

Projetando o Documento Sobre


inclua a seguinte informação no documento Sobre:
• O propósito da base de dados.
• A quem ela interessa.
• O nome e o número de telefone do gerente da base de dados.
• A data de implementação.
• Linhas gerais para usar a base de dados.
O documento Sobre pode conter texto-rico, logo, você pode incluir figuras, links, botões
e pontos sensíveis.

Criando o Documento Sobre


Siga estes passos para criar o documento sobre:
1. Escolha Exibir - Estrutura.
2. No painel de navegação, clique Estrutura - Outros.
3. Dê dois clique seguidos em Documento “Sobre o Banco de Dados”.
4. Crie a informação.
5. Salve o documento.
6. Escolha Editar - Verificar Ortografia. e Salve o documento.

Cinq Technologies Ltda.


Curso Lotus Notes R5 - Desenvolvimento com Macros - Versão 3 96

Especificando Opções Iniciais


Para especificar opções iniciais para o documento Sobre, siga os seguintes passos:
1. Escolha Arquivo - Propriedades do Banco de Dados e clique na página Iniciar.:

2. Selecione um dos seguintes:


• Da lista de Ao Abrir o Banco de Dados, Abrir documento “Sobre o Banco de Dados”.

• Mostrar o documento “Sobre o Banco de Dados” se alterado.


• Mostrar o documento “Sobre o Banco de Dados” quando o banco de dados for aberto
pela 1ª vez.

Ajuda Adicional na Base de Dados


O Notes fornece muitos tipos de ajuda para que o usuário entenda a base de dados.

Tipos de Ajuda para a Base de Dados


As seguintes, são maneiras com as quais você pode fornecer ajuda aos usuários na
utilização das aplicações:
• Fornecer ajuda de campo.
• Melhorar a ajuda de campo com pop-ups.

Cinq Technologies Ltda.


Curso Lotus Notes R5 - Desenvolvimento com Macros - Versão 3 97

• Criar links para a ajuda.


• Usar navegadores como ferramentas de ajuda.
• Descrever os propósitos da base de dados (o documento Sobre).
• Descrever como utilizar os formulários e visões (o documento Usando).
• Criar documentos e visões de Ajuda.

O Documento Usando
Toda base de dados deve ter um documento Usando o Banco de Dados, o qual explica
aos usuários como usar a aplicação.
Inclua os seguintes tipos de informação ao documentos:
• Uma breve visão geral da aplicação.
• O propósito e organização de cada visão.
• O propósito de cada formulário e como preenchê-lo.
• O propósito de cada agente e quando executá-lo.
• o funcionamento do processo como um todo, incluindo uma descrição do que acontece
durante cada estágio do processo.
Os usuários disponibilizam este documento escolhendo ? - Usando o Banco de Dados.

Cinq Technologies Ltda.


Curso Lotus Notes R5 - Desenvolvimento com Macros - Versão 3 98

Lição 21

Criando um Ícone para a Base de Dados


Os usuários do Notes precisam ser capazes de identificar bases de dados individuais que
estejam na sua área de trabalho.
Existe um arquivo de gráficos que você pode utilizar para tornar isso possível.

Objetivos
Depois de completar esta lição, você deve ser capaz de:
✓ Criar um ícone para uma base de dados.
✓ apresentar este ícone para os usuários.

Ferramentas para Criar Ícones


O Notes fornece um ambiente separado para que se desenvolvam ícones. Você pode criar
um ícone:
• Importando um bitmap.
• Copiando um ícone de outra base de dados.
• Criando um ícone a partir de uma página em branco.

Projetando o ícone
Tente usar um ícone para a base de dados que reflita seus propósitos e tipos de
documentos que contém. Por exemplo, uma base de dados para planos de viagem pode ter
um desenho de avião como ícone.
Faça um projeto simples.

Cinq Technologies Ltda.


Curso Lotus Notes R5 - Desenvolvimento com Macros - Versão 3 99

O Ambiente de Desenvolvimento de Ícones


Para abrir e usar o modo de projeto de ícones:
1. No painel de navegação, selecione Estrutura - Outros - Ícone.
2. Selecione as ferramentas clicando sobre elas.
3. Observe a caixa Visão para verificar seu progresso.

Modos de Desenho
Esta tabela descreve os tipos de desenho:
Modo Como Funciona
Desenho Preenche pixels (quadradinhos) usando a ferramenta e a cor atualmente
selecionadas.
Borracha Coloca nos pixels (quadradinhos) a cor de fundo, utilizando a ferramenta
atualmente selecionada.

Ferramentas
Esta tabela descreve as ferramentas de desenho:
Ferramenta Preenche
Pincel Um pixel de cada vez; é útil para detalhes.
Rolo Pixels que estejam conectados horizontal ou verticalmente, com
mesma cor.
Spray Uma área de pixels conectados em todas as direções; use esta
ferramenta para colorir grandes áreas ou para colorir o fundo.
Alinhar Pixels que estão conectados ao pixel selecionado, tanto vertical como
horizontalmente, com a mesma cor; use esta ferramenta para desenhar
linhas.

Cinq Technologies Ltda.


Curso Lotus Notes R5 - Desenvolvimento com Macros - Versão 3 100

Cor
Quando você seleciona uma cor, as mudanças que você fizer no desenho serão da cor em
questão até que você use a borracha ou escolha outra cor.

Sumário
Para finalizar uma base de dados você precisa:
• Fornecer um navegador para guiar os usuários através da aplicação.
• Criar agentes para automatizar algumas tarefas da base de dados.
• Alterar a Lista de Controle de Acesso (ACL) da base de dados.
• Criar documentos de ajuda.
• Criar um ícone para a base de dados.

Cinq Technologies Ltda.


Curso Lotus Notes R5 - Desenvolvimento com Macros - Versão 3 101

Algumas Fórmulas

@@@@@@@@@@@@@Function...................................

@Author

Retorna uma lista de texto com o(s) nome(s) do(s) autor(es) do documento.
Sintaxe
@Author

Valor de Retorno
listaAutores

Lista de texto. Todos os autores do documento atual. No caso de autores com nomes hierárquicos, o
Notes sempre retorna a forma abreviada do nome (como em Denise Lee/Research/Acme), não na
forma-padrão (CN=Denise Lee/OU=Research/O=Acme).
@Author usa as instruções a seguir (na ordem disposta abaixo) para encontrar o(s) autor(es) de um
documento e retornar a lista de texto adequada:

1. Pesquisa o documento para verificar se o campo do tipo Autores existe. Se existir, retornará o(s)
nome(s) armazenado(s) nele. (Se houver vários campos Autores, retornará o conteúdo do primeiro
campo Autores encontrado no documento.)
2. Se o campo Autores não existir, irá procurar por um campo denominado De. Se houver um campo De,
irá procurar pelo campo DeDomínio.

Se ambos os campos forem encontrados, combinará os dois campos, separando-os com o sinal
de @ (como em Mary Tsen@AcmeWest).
Caso contrário, retornará apenas o conteúdo do campo De.

3. Se o campo De não existir, procurará o campo denominado $UpdatedBy. Se houver um campo com
esse nome, o conteúdo do mesmo será retornado.
4. Se não houver um campo denominado $UpdatedBy e o documento atual for novo (ainda não tiver sido
gravado), retornará o nome do usuário atual.

5. Se nenhum dos campos acima for encontrado, retornará a seqüência vazia ("").
Uso
@Author é útil para documentos com um campo NomesAutores ou De.

@Created

Retorna a hora-data em que o documento foi criado.

Cinq Technologies Ltda.


Curso Lotus Notes R5 - Desenvolvimento com Macros - Versão 3 102

Sintaxe
@Created
Valor de Retorno
dataCriado
Hora-data. A data em que o documento atual foi criado.

Uso
@Created é diferente de @Now, pois @Created retorna um valor de hora-data que permanece constante,
ao passo que @Now retorna um valor de hora-data dinâmico que muda com cada avaliação de fórmula
quando usado em um campo calculado.
Em fórmulas de campo, o Notes pega o valor de @Created do relógio do servidor, a menos que o banco de
dados seja local.

@DbColumn (Bancos de dados do Notes)

Procura e retorna uma coluna inteira de valores de uma visualização ou pasta do banco de dados ativo ou
de outro banco de dados do Notes.
Sintaxe
@DbColumn( classe : "NoCache" ; servidor : bancodados ; visualização ; NúmeroColuna )
Parâmetros
classe

Texto. Indica que tipo de banco de dados está sendo acessado. Você pode especificar um banco de
dados do Notes digitando "" ou "Notes".
"NoCache"

Palavra-chave. Opcional. Se você excluir "NoCache", os resultados da pesquisa serão armazenados


para reutilização. As pesquisas seguintes no mesmo local (dentro da mesma sessão do Notes, à
medida que o banco de dados que executa a pesquisa permaneça aberto) reutilizarão essas
informações. Se você omitir "NoCache", não terá que substituí-lo por nada os resultados da pesquisa
são armazenados automaticamente. Consulte abaixo a seção "Especificando NoCache".
Para assegurar-se que o Notes recuperará as últimas informações para cada pesquisa, especifique
essa opção, usando um ponto-e-vírgula após o argumento classe, como em "Notes":"NoCache".

servidor : banco de dados


Lista de texto. A localidade do servidor e o nome de arquivo do banco de dados. Consulte a seção
"Especificando o servidor e o banco de dados".

visualização
Texto. O nome da visualização onde se fará a pesquisa, que deve coincidir com o seu nome completo
especificado na caixa de diálogo Atributos de Visualização de Estrutura (você pode omitir quaisquer
sinônimos). Se a visualização se desdobrar de outro nome no menu, inclua aquele nome também.
Consulte a seção "Especificando o nome da visualização".

Número de Coluna
Número. O número de coluna na visualização. Você só pode recuperar dados que realmente constem
da visualização, já que o Notes se baseia nos números de coluna para procurar informações na
visualização. Consulte a seção "Especificando o número de coluna".

Cinq Technologies Ltda.


Curso Lotus Notes R5 - Desenvolvimento com Macros - Versão 3 103

Valor de retorno
Valores encontrados
Texto ou lista de texto. Os valores encontrados na coluna da visualização que você indicou. Consulte
abaixo "Acessando os valores encontrados".

Especificando "No Cache"


A decisão de usar "NoCache" se baseia no desempenho. Forçar o Notes a conectar-se ao banco de dados
para recuperar sempre a mesma informação diminui o desempenho geral, tornado mais lenta a consulta.
No entanto, se for esperado que os dados venham a alterar-se com certa freqüência, é válido o tempo
extra, pois serão obtidas informações sempre atualizadas.

Se você estiver consultando endereços de consumidores no banco de dados, por exemplo, recomenda-se
usar "caching" pois os endereços não mudariam com muita freqüência. Mas se você consultar cotações da
bolsa, e o banco de dados for atualizado a cada hora, será mais seguro não usar "caching" e forçar uma
nova consulta cada vez.
Especificando o servidor e o banco de dados
Há várias maneiras de especificar o parâmetro servidor : banco de dados :

Para executar a consulta no banco de dados atual (aquele onde a fórmula estiver sendo analisada),
especifique "" como único argumento da função.
Para executar a consulta em um banco de dados local, use "" como nome do servidor e especifique o
nome do banco de dados, como em ":"DATABASE.NSF".

Para executar uma consulta (a partir da estação de trabalho) a um banco de dados do Notes que
reside em um servidor, inclua o servidor, caminho e nome de arquivo como uma lista de texto, como
em "SERVER":"DATABASE.NSF".
Para executar a consulta a um banco de dados localizado no servidor ou estação de trabalho onde
está o banco de dados que analisa a fórmula, use "" como nome do servidor e especifique o nome do
banco de dados, como em "":"DATABASE.NSF". Agentes executados em um servidor só podem
realizar consultas a bancos de dados localizados no mesmo servidor.

Se há diversas cópias do banco de dados localizadas em vários servidores do Notes, use a


identificação da réplica para acessá-la sem ter que especificar o nome do servidor e do banco de
dados. Por exemplo, se você usa 85255CEB:0032AC04 (a identificação de réplica do banco de
dados, encontrada na sua Caixa De Informações ) como nome, o Notes usa uma réplica do banco de
dados para recuperar as informações.
O Notes procura as réplicas na seguinte ordem, usando a primeira réplica encontrada:

Área de trabalho
O Notes usa a réplica encontrada na área de trabalho.

Se houver várias réplicas agrupadas na sua área de trabalho, o Notes usa a primeira réplica da
pilha.
Se houver várias réplicas não agrupadas na sua área de trabalho, o Notes procurará o ícone que
coincida com o servidor atual. Caso não o encontre, o Notes usará o primeiro ícone adicionado à
sua área de trabalho.

Servidor Atual
Localmente (seu disco rígido)

A réplica encontrada é acrescentada à sua área de trabalho para economizar tempo na futura busca.
Tip Para evitar erros ao digitar a identificação da réplica, escolha Arquivo - Banco de Dados - Sinopse da
Estrutura e selecione Replicação. Então copie da sinopse a identificação da réplica e cole-a na sua
fórmula.

Cinq Technologies Ltda.


Curso Lotus Notes R5 - Desenvolvimento com Macros - Versão 3 104

Note Se seu banco de dados estiver localizado em um subdiretório DOS ou OS/2, como MAIL\MINE.NSF,
insira uma contrabarra dupla entre o diretório e o nome do banco de dados, como em MAIL\\MINE.NSF já
que as fórmulas interpretam contrabarras como aspas.
Note Se seu banco de dados se encontra em um subdiretório do DOS ou OS/2, como em
MAIL\MINE.NSF, coloque duas contrabarras entre o nome do diretório e do banco de dados, como em
"MAIL\\MINE.NSF", já que elas são consideradas aspas nas fórmulas.

Especificando uma visualização ou pasta.


Você pode especificar um parâmetro da visualização ou pasta usando o seu nome completo ou seu
sinônimo. Por exemplo, se a visualização de sobrenome deriva de Por Autor no menu Visualização, e tem
o sinônimo |LName, o seu nome na Caixa De Informações da Visualização seria o seguinte:

Por Autor\Sobrenome|LName
Ao fazer referência à visualização com a função @DbColumn, você pode usar o sinônimo LName entre
aspas:

"LName"
Se o nome da visualização não tiver um sinônimo, use o nome Por Autor seguido por Sobrenome, ambos
entre aspas (sem o sinônimo). E como o nome da visualização é usado em uma fórmula, o caractere "\"
tem que ser precedido por um "\" adicional, para garantir que o Notes a interpretará corretamente:

"Por Autor\\Sobrenome"
Especificando o número de colunas
Para especificar um parâmetro Número de colunas, conte o número de colunas da visualização, sendo a
primeira coluna da esquerda a de número 1. No entanto, nem todas as colunas serão incluídas na consulta,
devido à forma como o Notes ordena as visualizações.

Use este procedimento para calcular o número de colunas:


1. Conte as colunas na visualização, da esquerda para a direita. Exiba a visualização em modo de
estrutura para garantir que você verá todas as suas colunas, incluindo aquelas usadas para classificar
e categorizar as visualizações.

2. Descarte as colunas que exibam um valor constante, tal como Submetido por: ou 32. Se uma coluna
contiver uma fórmula que retorna o mesmo resultado para todos os documentos, ela não será
considerada uma "constante"; portanto certifique-se de incluí-la na contagem de colunas.
3. Descarte toda coluna que consistir somente das seguintes funções: @DocChildren,
@DocDescendants, @DocLevel, @DocNumber, @DocParentNumber, @DocSiblings, @IsCategory,
@IsExpandable..

4. Agora reconte as colunas, da esquerda para a direita.


Esse número de colunas revisado é o valor a especificar na fórmula de consulta.

Se você especificar uma coluna não existente, o Notes não a sinalizará como um erro ele retornará um
valor nulo.
Acessando os valores de retorno
Se @DbColumn retornar vários valores, estes serão formatados como uma lista e serão separados com o
separador de valores múltiplos especificado na Caixa de Informações de campo para o campo atual.

@DbColumn não pode retornar mais que 64K bytes de dados. Use as equações a seguir para calcular a
quantidade de dados que podem ser retornados por @DbColumn.
Para consultas que retornam texto:

2 + (2 * número de entradas retornado) + tamanho total de texto de todas as entradas.


Para consultas que retornam números ou datas:

Cinq Technologies Ltda.


Curso Lotus Notes R5 - Desenvolvimento com Macros - Versão 3 105

(10 * número de entradas retornado) + 6


Uso
@DbColumn deve ser usado principalmente em fórmulas de palavras-chaves. Ele permite recuperar
dinamicamente uma lista de valores de uma visualização ou tabela de um banco de dados, ao invés de
compilar uma lista de palavras-chaves e atualizá-la periodicamente ao reeditar o formulário que contém o
campo de palavra-chave.

Essa função não tem efeito em fórmulas de coluna ou de seleção, ou em agentes de correio.
Agentes de servidor e segurança
Considere como banco de dados de origem aquele que contiver @DbColumn, e como banco de dados de
destino aquele acessado.
Quando se usa @DbColumn em um agente que é executado em um servidor, ele só pode acessar bancos
de dados que estão no mesmo servidor que o banco de dados de origem. O banco de dados de origem
deve ter pelo menos acesso Leitor ao banco de dados de destino.

Se não for possível atribuir acesso Leitor ou um superior para o grupo -Padrão- por razões de segurança, é
possível conceder às macros @DbColumn do banco de dados de origem acesso ao banco de dados de
destino.
1. Use Arquivo - Banco de Dados - Propriedades para determinar a identificação de réplica do banco de
dados de origem, por exemplo: 85255CEB:0032AC04.

2. Use Arquivo - Banco de Dados - Controle de Acesso para adicionar uma nova entrada ao ACL do
banco de dados de destino. O nome da entrada é a própria identificação da réplica. Conceda pelo
menos acesso Leitor ao nome. No exemplo acima, você adicionaria uma entrada com o nome
85255CEB:0032AC04. Fazendo isto, você estará concedendo às macros do banco de dados de
origem acesso ao banco de dados de destino , mesmo se -Padrão- for Sem Acesso.
Outros agentes e segurança
Quando @DbColumn for usado em qualquer outro tipo de fórmula ou agente, ele terá acesso irrestrito a
qualquer banco de dados de destino armazenado na área de trabalho do próprio usuário. Se o banco de
dados de destino estiver armazenado em outro servidor do Notes, o acesso do @DbColumn será
determinado pelo nível de acesso do próprio usuário (baseado na identificação do usuário do Notes).

@DbColumn, para a visualização, está sujeito à lista de Acesso para Leitura.

@DbLookup (banco de dados do Notes)

Dado um valor-chave, verifica uma visualização ou pasta específica e localiza todos os documentos
contendo o valor-chave na primeira coluna classificada dentro da visualização. Para cada documento
selecionado, @DbLookup retorna o conteúdo de uma coluna especificada na visualização, ou de um
campo especificado.
Sintaxe
@DbLookup( classe : "NoCache" ; servidor : bancodedados ; visualização ; chave ; nomeCampo ) ou

@DbLookup( classe : "NoCache" ; servidor : bancodedados ; visualização ; chave ; númeroColuna )

Parâmetros
classe

Texto. Indica o tipo de banco de dados acessado. Você pode indicar um banco de dados do Notes
com "" ou "Notes".
Cinq Technologies Ltda.
Curso Lotus Notes R5 - Desenvolvimento com Macros - Versão 3 106

"NoCache"
Palavra-chave. Opcional. Se você quer assegurar-se que o Notes recuperará as últimas informações
de todas as pesquisas, especifique esta opção, como no "Notes":"NoCache". Omita NoCache se você
quiser que os resultados da pesquisa entrem em cache, ou seja, armazenados para uso posterior
dessas informações. Cada pesquisa subseqüente na mesma localidade dentro da mesma sessão do
Notes usará novamente essas informações, à medida que o banco de dados que estiver executando a
pesquisa permaneça aberto.

Se você omitir NoCache, não tem que repor coisa alguma - os resultados da pesquisa entrarão em
cache automaticamente.
servidor : bancodados

Lista de texto. A localidade do servidor e o nome do arquivo do banco de dados. Consulte


"Especificando o servidor e o banco de dados".
visualização

Texto. O nome da visualização ou pasta onde será feita a pesquisa. O nome da visualização deve
corresponder exatamente ao nome completo da visualização como especificado na caixa de
informações Visualização (você pode omitir os sinônimos). Se a visualização se desdobrar a partir de
um outro nome no menu, inclua esse nome também. Consulte "Especificando o nome da visualização",
abaixo.
chave

Texto. Determina qual documento do Notes está sendo lido para então recuperar um valor. Uma chave
de documento é o valor exibido na primeira coluna classificada na visualização. Consulte
"Especificando uma chave".
nomeCampo

Texto. O nome do campo do qual serão recuperados os dados, uma vez identificado(s) o(s) documento(s)
correto(s). Consulte "Especificando o nome de um campo" abaixo.
númeroColunas

Número. Quando você usar um número de coluna. O Notes encontrará todos os documentos na
visualização que correspondam à chave especificada, e retornará qualquer que e seja o valor exibido
na coluna indicada para cada um dos documentos, independente da fórmula usada para exibir os
dados. Consulte "Especificando o número das colunas".
Valor de Retorno
valoresEncontrados

Texto ou lista de texto. Os valores encontrados em nomeCampo ou coluna indicados por você.
Consulte "Acessando os valores encontrados", abaixo.
Especificando a decisão de usar NoCache
A decisão de usar "NoCache" se baseia no desempenho. Forçar o Notes a conectar-se ao banco de dados
e recuperar as mesma informações repetidamente requer tempo e reduz o desempenho geral. No entanto,
se você supõe que os dados serão modificados com freqüência, vale a pena garantir informações
atualizadas, apesar do tempo extra utilizado.
Por exemplo, se você estiver usando pesquisas em um banco de dados onde estão armazenados
endereços de clientes, será geralmente seguro usar cache porque os endereços não deverão mudar com
freqüência. Mas se você estiver usando uma pesquisa em um banco de dados onde estão armazenadas
cotações da bolsa, com atualizações feitas hora a hora, será mais seguro ignorar o cache e forçar uma
nova pesquisa cada vez.

Especificando o servidor e o banco de dados


Há várias formas de especificar o servidor:
Cinq Technologies Ltda.
Curso Lotus Notes R5 - Desenvolvimento com Macros - Versão 3 107

Para executar uma pesquisa no banco de dados atual (o mesmo banco de dados no qual a fórmula
está sendo avaliada), especifique "" como o argumento completo para a função.
Para executar uma pesquisa em um banco de dados local, use "" para o nome do servidor e
especifique o nome do banco de dados de forma explícita, como :DATABASE.NSF.

Para executar uma pesquisa (a partir da estação de trabalho) em um banco de dados do Notes
residente em um servidor, inclua o servidor, mais o caminho e o nome do arquivo como lista de
arquivo, como em SERVER:DATABASE.NSF.
Para executar uma pesquisa em um banco de dados localizado no mesmo servidor ou estação de
trabalho do banco de dados que está executando a fórmula, use "" para o nome do servidor e
especifique o nome do banco de dados de forma explícita, como :DATABASE.NSF. Os Agentes que
estão sendo executados em um servidor só podem efetuar pesquisas em bancos de dados no mesmo
servidor.

Se há várias cópias do banco de dados localizados em diversos servidores do Notes, o uso da


identificação de réplica do banco de dados em lugar do servidor e do banco de dados permite acessar
uma cópia da réplica desse banco de dados sem ter que especificar o nome do servidor ou do banco
de dados Por exemplo, se você usar 85255CEB:0032AC04 (uma identificação de réplica do banco de
dados, encontrada na caixa de informações banco de dados) como o nome do banco de dados, o
Notes usa uma réplica do banco de dados para recuperar as informações.
O Notes pesquisa réplicas nesta ordem, usando a primeira réplica que encontra:

Área de trabalho
Se houver uma réplica na sua área de trabalho, o Notes a usará.

Se houver réplicas diversas e agrupadas na sua área de trabalho, o Notes usa a réplica no topo
da pilha.
Se houver réplicas diversas e desagrupadas na sua área de trabalho, o Notes buscará um ícone
que corresponda ao seu servidor atual e o usará. Se nenhum ícone corresponder ao seu servidor
atual, o Notes usará o ícone adicionado anteriormente à sua área de trabalho.

Servidor atual
Localmente (seu disco rígido)

Uma vez localizada a réplica, ela será adicionada à sua área de trabalho para poupar tempo para
futuras pesquisas.
Tip Para evitar erros de digitação na identificação de réplica, escolha Arquivo - Banco de Dados - Sinopse
da Estrutura e selecione Replicação. Depois copie a identificação de réplica da sinopse e cole-a na sua
fórmula.

Note Se seu banco de dados estiver localizado em um subdiretório DOS ou OS/2, como MAIL\MINE.NSF,
insira uma contrabarra entre o diretório e o nome do banco de dados, como em MAIL\\MINE.NSF porque
as fórmulas interpretam contrabarras simples como caracteres de escape.
Especificando uma visualização
Você pode especificar um parâmetro de visualização usando o nome completo da visualização (ou pasta)
ou seu sinônimo. Por exemplo, se a sua visualização Sobrenome estiver desdobrada a partir de Por Autor
no menu Visualização, e possuir o sinônimo |LName, terá esta aparência na caixa de informações da
visualização.

Por Autor\Sobrenome|LName
Ao fazer uma referência com @DbLookup nessa visualização, você pode simplesmente usar o sinônimo
LName, entre aspas.:

"LName"

Cinq Technologies Ltda.


Curso Lotus Notes R5 - Desenvolvimento com Macros - Versão 3 108

Se o nome da visualização não tiver um sinônimo, você poderá usar o nome Por Autor, mais a cascata
Sobrenome, novamente entre aspas (sem o sinônimo nesse caso). A partir do momento que o nome da
visualização é usado em uma fórmula, o \ deve estar precedido de um \ adicional para assegurar que o
Notes interpretará corretamente o comando.:
"Por Autor\\Sobrenome"

Especificando uma chave


Você só pode testar para valores que correspondam à chave (equivalência); não existe uma forma de
especificar um operador distinto, como < (menos-que)
Você geralmente preferirá usar um nome de campo ao invés de uma tecla em particular para
correspondência. Então o Notes pesquisa um valor baseado no conteúdo desse campo, dentro desse
documento em particular. Por exemplo, se você especificar o campo Sobrenome como a chave (o Notes
saberá que é um campo, pela ausência de aspas), então toda vez que a fórmula @DbLookup for
executada, o valor atual do campo Sobrenome será tomado como o critério de pesquisa. Esse método
permite usar a fórmula de pesquisa em um campo, quando não for possível prever os valores a serem
introduzidos em outros campos.

A correspondência entre a chave da pesquisa e o valor na coluna classificada deve ser exata - a
capitalização não importa, mas o espaçamento e a pontuação devem ser precisos.
A visualização deve conter uma coluna classificada para permitir o funcionamento da pesquisa; caso
contrário, um valor nulo é retornado. Os resultados não são precisos para campos de valores múltiplos que
são classificados mas não categorizados.

Especificando um nome de campo


Quando você usar um nomeCampo para executar uma pesquisa, o valor retornado é aquele realmente
armazenado no campo; ele pode diferir daquele exibido na visualização. O Notes pode recuperar dados de
qualquer campo, em qualquer documento exibido na visualização específica. Mas se o campo não for
exibido como uma coluna de visualização, o Notes deverá pesquisar o documento inteiro para encontrar o
campo, o que pode reduzir a velocidade da pesquisa.

Alguns documentos correspondentes à chave podem nem mesmo conter o campo específico, se eles
tiverem sido criados através de formas diferentes.
Especificando o número de coluna
Pesquisas baseadas em colunas de visualização são mais eficientes que aquelas baseadas em campos
não incluídos. Para melhores resultados, você deve incluir o campo desejado na visualização.

Por exemplo, se a sua visualização for categorizada por identificação de produto e você especifica "01776"
como a chave de pesquisa e 2 como a coluna, o Notes irá retornar o que quer que a coluna 2 exiba para
todos os documentos categorizados sob a identificação de produto 01776.
Para especificar um parâmetro de númeroColuna, você deve contar as colunas de visualização da
esquerda para a direita, sendo a primeira coluna da esquerda a número 1. Entretanto, devido à forma como
o Notes ordena visualizações, nem todas as colunas são contadas na pesquisa.

Use este método para calcular o número de colunas para propósitos de pesquisa:
1. Conte as colunas na visualização, da esquerda para a direita.

Assegure-se de contar todas as colunas. Por exemplo, uma coluna usada para classificar ou
categorizar a visualização pode não aparecer. Veja a visualização no modo de estrutura para certificar-
se de ver todas suas colunas.
2. Desconte todas as colunas que exibam um valor constante, como 32 ou Submetido a". Se uma coluna
contiver uma fórmula que retorna o mesmo resultado para todos os documentos, não se considera
como uma "constante". Então, assegure-se de inclui-la em sua contagem de colunas.

Cinq Technologies Ltda.


Curso Lotus Notes R5 - Desenvolvimento com Macros - Versão 3 109

3. Desconte todas as colunas que consistam somente das seguintes @funções: @DocChildren,
@DocDescendants, @DocLevel, @DocNumber, @DocParentNumber, @DocSiblings, @IsCategory,
@IsExpandable.
4. Agora reconte as colunas, da esquerda para a direita.

Essa coluna revisada é o valor a especificar na fórmula da pesquisa.


Note Se você escolher usar um número de coluna ao invés de um nome de campo em uma fórmula
@DbLookup, você só poderá recuperar dados que realmente apareçam na visualização.

Acessando os valores de retorno


Se valores múltiplos forem retornados por @DbLookup, eles serão formatados como uma lista, e serão
separados com o separador de valor múltiplo designado na Caixa de Informações do campo atual.
@DbLookup não pode retornar mais que 64KB de dados. Use as equações a seguir para determinar
quantos dos seus dados poderão ser retornados com @DbLookup.

Para pesquisas que retornam texto:


2 + (2 * números de entradas retornadas) + tamanho total do texto de todas as entradas

Para pesquisas que retornam números ou dados:


(10 * números de entradas retornadas) + 6

Uso
Essa função não surte efeito em fórmulas de coluna ou de seleção, ou em agentes de correio.

Agentes de servidor e segurança


Considere o banco de dados contendo @DbLookup como sendo o banco de dados de origem, e o banco
de dados acessado como sendo banco de dados de destino.
Quando @DbLookup for usado em agentes executados em um servidor, poderá acessar apenas bancos de
dados de destino armazenados no mesmo servidor que o banco de dados de origem. Este último deverá
ter pelo menos acesso Leitor ao banco de dados de destino.

Se não for possível atribuir acesso Leitor ou um superior ao grupo -Padrão- por razões de segurança, ainda
se poderá conceder às macros @DbLookup do banco de dados de origem acesso ao banco de dados de
destino .
1. Use Arquivo - Banco de Dados - Propriedades para determinar a Identificação de Réplica do banco de
dados de origem, por exemplo: 85255CEB:0032AC04.

2. Use Arquivo - Banco de Dados - Controle de Acesso no banco de dados de destino, adicione uma
nova entrada cujo nome seja a própria Identificação de Réplica, e conceda a esse nome pelo menos
acesso Leitor. No exemplo acima, você adicionaria uma entrada com o nome 85255CEB:0032AC04.
Com isso, estará concedendo especificamente às macros do banco de dados de origem acesso ao
banco de dados de destino , ainda que -Padrão- possua Sem Acesso.
Outros agentes e segurança
Quando @DbLookup for usado em qualquer outro tipo de fórmula ou agente, terá acesso ilimitado a
qualquer banco de dados de destino armazenado na estação de trabalho do usuário. Se o banco de dados
de destino estiver armazenado em outro servidor do Notes, o acesso do @DbLookup será determinado
pelo nível de acesso do próprio usuário (baseado na Identificação do usuário do Notes).
@DbLookup não é assunto da lista de Acesso de Leitura para uma visualização; à medida que possui
acesso Leitor ao banco de dados de destino, pode recuperar dados de todas as visualizações
compartilhadas.

Cinq Technologies Ltda.


Curso Lotus Notes R5 - Desenvolvimento com Macros - Versão 3 110

@DbName

Retorna o nome do servidor e do banco de dados atuais do Notes.


Sintaxe
@DbName

Valor de Retorno
servidor ; caminho

Lista de texto com dois elementos:


servidor é o nome do servidor em que o banco de dados atual reside ou uma seqüência vazia de
caracteres ("") se o banco de dados for local.

caminho é o caminho e o nome de arquivo do banco de dados.

@DocNumber

Em fórmulas de coluna ou de título de janela, retorna uma seqüência de caracteres que representa o
número de entrada do documento ou categoria atual. Por exemplo, 2.3 indica que o documento
corresponde à terceira entrada abaixo da segunda.

Sintaxe
@DocNumber

@DocNumber( separador )
@DocNumber( "" )

Parâmetros
separador
Texto. Opcional. Indica o separador a ser usado no número do documento em vez de "." (ponto). Tem
que ser um caractere.

""
Opcional. Diz à função para retornar o item menos importante do número do documento (ou seja, o
componente situado na extremidade direita).

Valor de Retorno
númDoc

Texto especial. Valor que representa o número do documento ou categoria da visualização. Não se
pode converter texto especial em número.
Uso
Use @DocNumber em fórmulas de coluna ou de título de janela. Em fórmulas de título de janela ou campo,
o valor retornado será "0" até que o documento tenha sido gravado e reaberto. Esta função não surte efeito
em nenhuma outra fórmula.

@Environment

Cinq Technologies Ltda.


Curso Lotus Notes R5 - Desenvolvimento com Macros - Versão 3 111

Define ou retorna uma variável de ambiente armazenada no arquivo NOTES.INI (Windows, OS/2 e UNIX)
ou em Preferências do Notes (Macintosh).
Sintaxe
@Environment( variável )

@Environment( variável ; valor )


Parâmetros
variável
Texto ou lista de texto. O nome da variável de ambiente que você deseja recuperar. Para recuperar
mais de uma variável de ambiente, use uma lista de texto.

valor
Texto. Opcional. O valor que você deseja atribuir à variável de ambiente. Como cada usuário tem seu
próprio arquivo NOTES.INI ou Preferências do Notes, este valor pode ser personalizado para cada
usuário. Omita este parâmetro se você só quiser recuperar o valor, não defini-lo.

Se variável for uma lista de texto, todas as variáveis de ambiente da lista serão iguais a valor.
Se valor for uma lista de texto, apenas o primeiro valor da lista será usado; os outros serão
ignorados.

Valor de Retorno
variávelAmbiente
Texto. Valor da variável de ambiente especificada por você. Para usar o valor de retorno em
operações aritméticas, use @TextToNumber para convertê-lo em um número.

Uso
Use @Environment quando desejar definir variáveis de ambiente em uma fórmula. Para aninhar em outra
função @ (como por exemplo @If or @Do), use @SetEnvironment.

A palavra-chave ENVIRONMENT apresentará o mesmo resultado que @Environment.


@Environment não pode ser usado em fórmulas de seleção ou de coluna; deverá ser usado em fórmulas
de campo e formulário, botões, SmartIcons e de agentes. Algumas fórmulas do Notes, como por exemplo,
agentes com cronograma, são executadas no servidor e não na estação de trabalho do usuário. Nesse
caso, as variáveis de ambiente afetadas serão as do servidor e não as da estação de trabalho.

Você também poderá usar @Environment para obter o valor de uma variável de ambiente.

@Failure

Retorna a mensagem de erro fornecida por você; quando usada em uma fórmula de validação de entrada,
@Failure exibirá sua mensagem sempre que o valor digitado não obedecer aos critérios de validação.

Sintaxe
@Failure( seqüência )

Parâmetro
seqüência
Texto. A mensagem de erro que você deseja retornar.

Valor de Retorno
seqüência

Cinq Technologies Ltda.


Curso Lotus Notes R5 - Desenvolvimento com Macros - Versão 3 112

Texto. A mensagem de erro.


Uso
@Failure é usado principalmente em fórmulas de validação de entrada para campos editáveis, apesar de
também poder ser usado em agentes e fórmulas de formulário. Quando @Failure for usado em outras
fórmulas que não fórmulas de validação de entrada, o resultado será a seqüência de entrada; o Notes não
exibirá nenhum aviso nem mensagem.

@If

Avalia uma condição. Se a condição for Verdadeira, o Notes executará a ação listada imediatamente após
a condição, parando em seguida. Mas se a condição for Falsa, o Notes passará para a condição seguinte,
testando-a, e assim por diante. Se nenhuma das condições for Verdadeira, o Notes executará a ação_else.

Sintaxe
@If( condição1 ; ação1 ; condição2 ; ação2 ; ... ; condição99 ; ação99 ; ação_else )
Parâmetros
condição
Expressão que retorna um valor booleano. Se essa expressão retornar Verdadeiro, a ação1 será
executada. Se retornar Falso, passará para a próxima condição, se houver. Caso contrário, executará
a ação-else.

ação
Ação a ser executada ou valor a ser retornado se a condição anterior retornar VERDADEIRO.

ação_else
Ação a ser executada ou valor a ser retornado se nenhuma das condições anteriores retornar
VERDADEIRO.

Uso
Na sua forma mais simples, a instrução If fica assim:@If( condição ; ação ; ação_else ).
Você pode listar até 99 condições e ações correspondentes, seguidas apenas por uma ação a ser
executada quando todas as condições forem falsas. Assim que uma condição for Verdadeira, o Notes
executará as ações associadas, ignorando o restante da instrução If. O Notes aceita @If( condição ), mas
não executa nenhuma ação com base na condição.

@IsDocBeingEdited

Verifica o status atual do documento, retornando 1 (Verdadeiro) se o documento estiver sendo editado;
caso contrário, retornará 0 (Falso).

Sintaxe
@IsDocBeingEdited
Valor de Retorno
sinalizador
Booleano. Retornará 1 (Verdadeiro) apenas quando o documento estiver sendo editado. Caso
contrário, retornará 0 (Falso).
Cinq Technologies Ltda.
Curso Lotus Notes R5 - Desenvolvimento com Macros - Versão 3 113

Uso
Esta função não surte efeito em fórmulas de coluna, seleção, agente, formulário ou de ação de
visualização. Foi criada para uso em fórmulas de botão, ocultamento, campo e de ação de formulário.

@IsDocBeingSaved

Verifica o status atual do documento, retornando 1 (Verdadeiro) se o documento estiver sendo gravado;
caso contrário, retornará 0 (Falso).

Sintaxe
@IsDocBeingSaved

Valor de Retorno
sinalizador
Booleano. Retornará 1 (Verdadeiro) apenas quando o documento estiver sendo gravado.

Uso
Use @IsDocBeingSaved em fórmulas de campo. Esta função não surte efeito em fórmulas de coluna,
seleção, agente, título de janela, formulário ou de ação de visualização. Sua utilidade é limitada
em fórmulas SmartIcon, de botão, ponto de acesso e de ação de formulário.

Se você estiver usando esta função para aumentar um contador, a contagem aumentará de um em um
sempre que o usuário gravar o documento.

@IsError

Retornará 1 (Verdadeiro) se for um valor de @ERROR e retornará 0 (Falso) se não for um erro.

Sintaxe
@IsError( valor )

Parâmetro
valor
Qualquer tipo de dados. Qualquer valor.

Valor de Retorno
sinalizador

Booleano. Retornará 1 (Verdadeiro) se for um valor de @ERROR e retornará 0 (Falso) se não for um erro.

@IsMember

Indica se um texto (ou lista de texto) está contido em outra lista de texto. Esta função faz a diferenciação
entre maiúsculas e minúsculas.
Sintaxe
@IsMember(valorTxt ; valorListaTxt )

Cinq Technologies Ltda.


Curso Lotus Notes R5 - Desenvolvimento com Macros - Versão 3 114

@IsMember(valorListaTxt1 ; valorListaTxt2 )
Parâmetros
valorTxt

Texto.
valorListaTxt

Lista de texto.
valorListaTxt1

Lista de texto.
valorListaTxt2

Lista de texto.
Valor de Retorno
sinalizador
Booleano. Retornará 1 (Verdadeiro) se valorTxt estiver contido em valorListaTxt; retornará 0 (Falso) caso
contrário. Se ambos os parâmetros forem listas, retornará 1 se todos os elementos de
valorListaTxt1 estiverem contidos em valorListaTxt2.

Uso
Em listas de processamento, @IsMember é diferente de um teste = simples, que retornará Verdadeiro se a
interseção entre duas entidades tiver pelo menos um membro, ou seja, se a interseção não for
vazia. @IsMember só retornará Verdadeiro se o primeiro parâmetro for um subconjunto do
segundo.

@IsNewDoc

Para um documento que esteja sendo editado, indica se ele foi gravado em disco.
Sintaxe
@IsNewDoc

Valor de Retorno
sinalizador

Booleano. Retornará 1 (Verdadeiro) se o documento que estiver sendo editado ainda não tiver sido
gravado em disco; retornará 0 (Falso) se o documento tiver sido gravado.
Uso
Esta função avalia o estado atual do documento quando usado em fórmulas SmartIcon, de botão, de
ocultamento, editor de seções, título de janela, campo, formulário e ação de formulário. Já em
fórmulas de coluna, seleção, agente e de ação de visualização, sempre retornará 0.

@Length

Retorna o número de caracteres de uma seqüência de texto.

Sintaxe

Cinq Technologies Ltda.


Curso Lotus Notes R5 - Desenvolvimento com Macros - Versão 3 115

@Length( seqüência ) ou
@Length( listaSeq )

Parâmetros
seqüência
Texto. A seqüência cujo comprimento você deseja saber.

listaSeq
Lista de texto. Uma lista de seqüências.

Valor de Retorno
comprimento

Se o parâmetro for uma seqüência de texto, @Length retornará o número de caracteres da


seqüência especificada, incluindo os espaços e a pontuação.
Se o argumento for uma lista de texto, @Length irá fazer uma pesquisa na lista de seqüências e
retornará o número de caracteres de cada seqüência no formato de uma lista de
números.

@MailSend

Há duas formas de usar @MailSend:


Quando usado sem nenhum parâmetro, @MailSend enviará o documento atual (aquele que estiver sendo
processado quando a função @ for avaliada) pelo correio para o receptor definido no campo
EnviarPara do documento. (Tem que haver um campo EnviarPara a fim de que isso funcione.)

Quando usado com um ou mais parâmetros, @MailSend comporá um novo memo de correio com base nas
informações fornecidas na lista de argumentos e o enviará para os receptores listados nos
argumentos enviarPara, copiarPara e cópiaCegaPara.
Sintaxe
@MailSend
@MailSend(enviarPara ; copiarPara ; cópiaCegaPara ; assunto ; observação ; "corpoCampo" ; [
sinalizadores ] )

Parâmetros
enviarPara
Texto ou lista de texto. O(s) receptor(es) primário(s) do memo de correio.

copiarPara
Texto ou lista de texto. Opcional. O(s) receptor(es) da cópia do memo de correio.

cópiaCegaPara
Texto ou lista de texto. Opcional. O(s) receptor(es) da cópia cega do memo de correio.

assunto
Texto. Opcional. O texto que você deseja exibir no campo Assunto. Equivale ao campo Assunto do memo
de correio; a mensagem será exibida na coluna Assunto das visualizações dos bancos de dados
de correio dos receptores.

observação

Cinq Technologies Ltda.


Curso Lotus Notes R5 - Desenvolvimento com Macros - Versão 3 116

Texto. Opcional. Qualquer texto que você deseje colocar no início do corpo de campo do memo.
campoCorpo

Texto. Opcional. Os nomes de um ou mais campos do documento atual que você deseja incluir no memo
de correio. Os campos podem ser de qualquer tipo de dados e são anexados ao memo na ordem
listada. Coloque o nome de cada campo entre aspas. Se você quiser listar vários campos, use o
formato de lista do Notes: "descrição":"questões":"resolução".
Se você omitir este parâmetro, use o indicador [IncluirVínculoDoc] (descrito a seguir) para incluir um
vínculo com o documento atual--caso contrário, o memo de correio não terá corpo de texto. Se o
Notes não conseguir localizar um campo pelo nome, usará a literal da seqüência em seu lugar.

[ sinalizadores ]
Um ou mais sinalizadores que indicam a prioridade e a segurança do memo. Se você especificar vários
indicadores, coloque-os em formato de lista, como em
[Assinatura]:[AltaPrioridade]:[RetornarRecebimento]. Coloque cada indicador entre colchetes,
conforme mostrado.

Os indicadores disponíveis são os seguintes:


[Assinatura]

Faz a assinatura eletrônica do memo ao enviá-lo, usando informações da ID do usuário. A assinatura não
ocorrerá a menos que você inclua este indicador.
[Criptografar]

Criptografa o documento usando a chave pública do receptor, de modo que o receptor com chave privada
qualificada possa ler o documento. A criptografia não ocorrerá a menos que você inclua este
indicador.
[AltaPrioridade]

Encaminha imediatamente a mensagem para o servidor seguinte definido pela combinação de registros de
Conexão de Correio e servidor. Se for necessário fazer uma chamada telefônica para que a
mensagem seja encaminhada, ela será feita imediatamente, independente do cronograma
definido no registro da Conexão Remota. Se você omitir este indicador, a prioridade será definida
como Normal, por padrão.
[PrioridadeNormal]

Encaminha a mensagem para o próximo servidor com base no cronograma definido nos registros de
Conexão de Correio. Se o arquivo de correio do receptor residir em um servidor da mesma Rede
Notes, o envio será feito imediatamente. Se você omitir este indicador, a prioridade será definida
como Normal, por padrão.
[BaixaPrioridade]

Encaminhará a mensagem durante a noite se o arquivo de correio do receptor não residir em um servidor
da mesma Rede Notes. Se o arquivo de correio do receptor residir em um servidor da mesma
Rede Notes, o envio será feito imediatamente. As mensagens de baixa prioridade também podem
ser controladas por uma variável de ambiente do Notes chamada MailLowPriorityTime=x, onde x é
igual a um número de 0 a 23. Se colocada no arquivo notes.ini do servidor, essa variável dirá ao
servidor quando encaminhar as mensagens de baixa prioridade. Se você omitir este indicador, a
prioridade será definida como Normal, por padrão.
[ReciboDeRetorno]

Notifica o emissor quando cada receptor lê a mensagem. O recebimento não será acusado a menos que
você inclua este indicador.
[RelatórioDeEnvioConfirmado]

Cinq Technologies Ltda.


Curso Lotus Notes R5 - Desenvolvimento com Macros - Versão 3 117

Informa ao emissor se o envio do memo foi bem-sucedido ou não. Por padrão, será usado o Relatório
Básico de Envio, que notificará o emissor apenas quando houver uma falha no envio.
[IncluirVínculoDoc]

Inclui um vínculo de documento, indicando qual era o documento aberto ou selecionado quando
@MailSend foi usado. É preciso incluir esse indicador se você quiser que o documento seja
vinculado ao memo de correio.
Uso
Use @MailSend em agentes, botões, ações de formulário, ações de visualização e fórmulas SmartIcons.
@MailSend é muito útil se usada com agentes com cronograma como forma de enviar mensagens
a um intervalo predeterminado, como lembretes sobre uma reunião de departamento.Esta função
não surte efeito em fórmulas de coluna, de seleção, de ocultamento ou título de janela.

Se o arquivo notes.ini do usuário incluir a instrução a seguir:


NoExternalApps=1

qualquer fórmula que envolva @MailSend será desativada. O usuário não verá uma mensagem de erro; a
fórmula simplesmente não será executada.
Enviando campos rich text
Se você usar @MailSend em uma fórmula de botão, o Notes não poderá enviar o conteúdo do campo rich
text como um corpoCampo. Se você tiver que enviar rich text, escreva uma fórmula de agente. Se
você tiver que usar um botão, mude o tipo de campo para texto.
Campos de um documento relacionados ao correio
Quando @MailSend for usado sem nenhum parâmetro, o documento atual poderá ter um ou mais campos
relacionados ao correio; se tiver, esses campos serão usados quando a mensagem for
encaminhada.

Se o documento tiver os campos CopiarPara ou CópiaCegaPara, ele será encaminhado a esses receptores
ao mesmo tempo.
Se o documento tiver os campos PrioridadeEntrega, RelatórioEntrega ou RecebimentoAcusado, eles serão
usados para controlar a prioridade de envio, a geração de um relatório de envio e a acusação de
recebimento, assim como quando você usa o comando Documento Ações - Enviar. Se o
documento não tiver esses campos, o padrão será definido como prioridade normal, sem relatório
de envio e sem acusação de recebimento, respectivamente.

@Name

Permite manipular nomes hierárquicos. Você pode abreviar o formato canônico de um nome, expandir um
nome abreviado para seu formato canônico, identificar determinados componentes do nome e
inverter a ordem dos componentes para poder categorizar uma visualização por nomes
hierárquicos.

Sintaxe
@Name( [ ação ] ; nome )
Parâmetros
[ ação ]
Indica o que você deseja fazer com o nome--se deseja expandi-lo, abreviá-lo e assim por diante (consulte
abaixo a lista de ações possíveis).

nome
Cinq Technologies Ltda.
Curso Lotus Notes R5 - Desenvolvimento com Macros - Versão 3 118

Texto ou nomes. O nome de um usuário ou servidor, digitado de qualquer forma. O Notes determinará o
nome hierárquico completo e retornará os componentes requisitados.
Com @Name, você poderá executar as seguintes ações com um nome hierárquico:

[A]
Retorna o componente de ADMD (nome de domínio da gerência administrativa).

[Abreviar]
Abrevia um nome hierárquico, removendo os rótulos dos componentes, economizando espaço na
visualização e dando uma aparência mais amena.

[C]
Retorna o componente de país de um nome hierárquico.

[Canonicalizar]
Expande um nome abreviado, inclui os componentes que estiverem faltando, bem como seus rótulos.

[CN]
Retorna o nome comum que compõe o nome.

[G]
Retorna o componente de primeiro nome.

[I]
Retorna o componente de iniciais.

[O]
Retorna o componente de organização do nome hierárquico.

[OUn]
Retorna o componente especificado de unidade organizacional do nome; n pode ser de 1 a 4, como em
OU1. Na forma canônica do nome, os componentes OU não são numerados; no entanto, a
contagem é feita da direita para a esquerda de modo que a primeira ocorrência do rótulo OU seja
tratada como OU1, a segunda ocorrência como OU2, e assim por diante. O Notes não aceita [OU]
como palavra-chave.

[P]
Retorna o componente PRMD (nome de domínio da gerência privada).

[Q]
Retorna o componente de geração (como "Jr").

[S]
Retorna o componente de sobrenome (o último nome).

[aPalavraChave]
Inverte a ordem em que os componentes de nomeação são exibidos, substitundo as barras por barras
invertidas: País\Organização\Unidade Organizacional... É útil quando você deseja categorizar uma
visualização pelos componentes do nome hierárquico de um usuário (as barras invertidas
representam subcategorias nas visualizações). A opção [ToKeyword] não retorna o nome comum
do usuário.

Uso
@Name é muito útil para abreviar nomes hierárquicos em visualizações.

Cinq Technologies Ltda.


Curso Lotus Notes R5 - Desenvolvimento com Macros - Versão 3 119

Um nome hierárquico é qualificado com uma série de componentes que identificam o nome completo, a
unidade organizacional, a organização e o país. O uso de nomes hierárquicos garante que cada
usuário e servidor tenha um nome exclusivo.
Como Designer do banco de dados, você é responsável pelo controle de como os nomes de usuários serão
digitados e exibidos nos aplicativos do Notes. Para simplificar, deve-se permitir sempre que os
usuários digitem os nomes na forma abreviada; então você usará @Name para expandir o nome
para o seu formato canônico. De forma semelhante, deve-se exibir os nomes na forma abreviada,
usando @Name para converter o formato canônico armazenado do nome em sua forma
abreviada.

Ao usar campos de Nomes, Leitores ou Autores, o Notes converterá automaticamente os nomes


hierárquicos em um formato apropriado para exibição e armazenagem. Se o usuário digitar um
nome abreviado, o Notes o expandirá para o formato canônico ao armazená-lo; o nome será
sempre exibido no formato abreviado em formulários.
Quando se exibe o conteúdo de um campo de nome hierárquico em uma visualização, não há conversão
automática; o nome será exibido no formato canônico completo. Talvez seja desejável converter o
nome em sua forma abreviada com @Name.

@PostedCommand

Executa um comando do Notes. Todos os comandos-padrão de menu podem ser executados com
@PostedCommand. Além disso, há uma série de comandos especializados à disposição. Em uma
fórmula, qualquer comando acionado com @PostedCommand será executado depois que o resto
da fórmula tiver sido avaliado.
Sintaxe
@PostedCommand( [ comando ] ; parâmetros )
Uso
Esta função não surte efeito em fórmulas de coluna, seleção, ocultamento, editor de seção, título de janela,
campo ou de formulário, nem em agentes executados em um servidor. Deve ser usada em
fórmulas SmartIcon, de botão, ponto de acesso e de ação.

Cinq Technologies Ltda.


Curso Lotus Notes R5 - Desenvolvimento com Macros - Versão 3 120

@Prompt

Exibe uma caixa de diálogo para o usuário e retorna um valor de texto baseado nas ações do usuário na caixa de diálogo. @Prompt é útil para solicitar que um usuário dê
informações e para determinar um curso de ação com base nessas informações.
Sintaxe
@Prompt( [ estilo ] : [ No Sort ] ; título ; prompt ; opçãoPadrão ; listaOpções )

Resumo dos Estilos das Caixas de Diálogo


Há nove estilos diferentes de caixas de diálogo que podem ser exibidas. @Prompt aceita parâmetros e retorna um valor com base no estilo indicado.

Estilo Objetivo Contém Valor de Retorno


Ok Exibir uma mensagem Título e prompt 1 (Verdadeiro)
informativa Botão OK
YesNo Permitir que o usuário Título e prompt 1 (Verdadeiro, Sim) ou
decida Sim/Não Botões Yes e No 0 (Falso, Não)
YesNoCancel Permitir que o usuário Título e prompt 1 (Verdadeiro, Sim), 0
decida Sim/Não ou Botões Yes, No e Cancel (Falso, Não), ou -1
Cancelar (Cancelar).
OkCancelEdit Permitir que o usuário Título e prompt Texto. Valor digitado
digite seu texto Caixa de texto para pelo usuário.
entrada
Botões Ok e Cancel
OkCancelList Permitir que o usuário Título e prompt Texto. Valor
selecione um valor de Lista de opções selecionado pelo
uma lista de opções usuário.
Botões Ok e Cancel
OkCancelCombo Permitir que o usuário Título e prompt Texto. Valor

Cinq Technologies Ltda.


Curso Lotus Notes R5 - Desenvolvimento com Macros - Versão 3 121

selecione um valor de Lista drop-down de opções selecionado pelo


uma lista drop-down de Botões Ok e Cancel usuário.
opções
OkCancelEditCom Permitir que o usuário Título e prompt Texto. Valor
bo selecione um valor de Lista drop-down de opções selecionado ou
uma lista de opções ou com caixa de texto digitado pelo usuário.
digite um valor diferente
Botões Ok e Cancel
OkCancelListMult Permitir que o usuário Título e prompt Lista de texto. Todos
selecione vários valores Lista de opções os valores
de uma lista de opções selecionados pelo
Botões Ok e Cancel
usuário concatenados
com : (dois pontos)
Password Permitir que o usuário Título e prompt Texto. Senha digitada
digite uma senha sem que Caixa de texto que aceita e pelo usuário.
ela seja exibida na tela oculta a entrada do
usuário
Botões Ok e Cancel

Cinq Technologies Ltda.


Curso Lotus Notes R5 - Desenvolvimento com Macros - Versão 3 123

Parâmetros
[estilo ]

Constante. Indica o tipo de caixa de diálogo que você deseja exibir. Pode ser um dos valores a seguir:
OK

YesNo
YesNoCancel

OkCancelEdit
OkCancelList

OkCancelCombo
OkCancelEditCombo

OkCancelListMult
Password

[NoSort]
Palavra-chave. Inclua esta palavra-chave se quiser que os membros de listaOpções apareçam na ordem
exata em que você digitá-los. Se você omitir esta palavra-chave, os membros de listaOpções serão
classificados em ordem alfabética.

título
Texto. O texto que você deseja exibir na barra de título da caixa de diálogo. Obrigatório para todos os
estilos, apesar de que você pode simplesmente especificar uma seqüência vazia com "".

prompt
Texto. O texto que você deseja exibir na caixa de diálogo. Obrigatório para todos os estilos. Se você usar
uma fórmula para prompt e essa fórmula retornar uma lista, apenas o primeiro item da lista será
exibido como o prompt. Para exibir a lista inteira, use @Implode. @NewLine não pode ser usada em
prompt.

opçãoPadrão
Texto. O valor que será usado como valor-padrão para a entrada do usuário. A seção de entrada da caixa
de diálogo aparecerá com esse valor; o usuário pode aceitá-lo, selecionando OK, ou substituí-lo por
outro valor. Não se aplica a caixas de diálogo dos estilos [Ok], [YesNo], [YesNoCancel] ou
[Password]. Obrigatório para todos os outros estilos. Para [OkCancelListMult], você pode especificar
vários valores padrão como uma lista de texto "item1":"item2".

listaOpções
Lista de texto. Os valores que você deseja exibir na caixa de listagem da caixa de diálogo. O usuário pode
selecionar um desses valores como a entrada. Separe os valores com dois pontos, como em
TEL.NSF:@MailDbName. Cada valor da sua lista pode ser uma seqüência de texto ou uma função @
que retorne uma lista de texto. Não se aplica a caixas de diálogo dos estilos [Ok], [YesNo],
[YesNoCancel], [OkCancelEdit] ou [Password]. Obrigatório para todos os outros estilos.

Valor de Retorno
opção
Se o usuário digitar um valor, retornará o valor como texto.

Se o usuário selecionar Yes, retornará 1 (Verdadeiro).


Se o usuário selecionar No, retornará 0 (Falso).

Cinq Technologies Ltda.


Curso Lotus Notes R5 - Desenvolvimento com Macros - Versão 3 124

Se o usuário selecionar Cancel, a avaliação da fórmula será interrompida. A exceção é [YesNoCancel], que
retornará -1 se o usuário selecionar Cancel.
Uso
Esta função não surte efeito em fórmulas de coluna, seleção, agente de correio ou de agente com
cronograma, sendo sua utilidade limitada em fórmulas de título de janela e de formulário. Use
@Prompt em fórmulas de campo, botão, SmartIcon, agente manual, ação de formulário e de ação de
visualização.

@ProperCase

Coloca em caixa alta a primeira letra de cada palavra de uma seqüência de caracteres, como em nomes
próprios.

Sintaxe
@ProperCase( seqüência )
Parâmetro
seqüência
Texto. A seqüência de caracteres que você deseja converter.

Valor de Retorno
seqNomeProp
Texto. A seqüência com a primeira letra maiúscula, como em nomes próprios.

Uso
Uma "palavra" é um conjunto consecutivo de caracteres sem espaços. Palavras com hífen são
consideradas duas palavras, por serem palavras separadas por um sinal de pontuação diferente do
apóstrofo.

REM

A palavra-chave REM permite que você inclua comentários explicativos referentes a uma fórmula. Isso
facilita a manutenção do banco de dados. É muito útil para incluir comentários para uma fórmula
longa ou complicada.
Sintaxe
REM "comentários" ;
Uso
Se o comentário não couber em uma linha, inclua outra instrução REM para completar o comentário.

@SetField

Atribui um valor para um campo armazenado em um documento (use @Set para variáveis temporárias).
Esta função é semelhante a usar a palavra-chave FIELD, exceto pelo fato de que @SetField pode ser
usada dentro de outra função @.
Cinq Technologies Ltda.
Curso Lotus Notes R5 - Desenvolvimento com Macros - Versão 3 125

Sintaxe
@SetField( "nomeCampo" ; valor )
Parâmetros
"nomeCampo"
O nome do campo cujo valor você deseja definir, entre aspas.

valor
O valor que você deseja atribuir a nomeCampo. O valor tem que ser do mesmo tipo de dados do campo;
por exemplo, se o campo for numérico, o valor tem que ser um número.

Valor de Retorno
Nenhum.
Uso
Esta palavra-chave não surte efeito em fórmulas de coluna, seleção, de ocultamento, título de janela ou
formulário. Ela é útil em fórmulas de agente, botão, ponto de acesso e ação. @SetField é mais útil em
fórmulas de campo, agentes, botões, SmartIcons e ações.
Antes de usar @SetField na sua fórmula, o campo que estiver recebendo a atribuição já terá que ter sido
declarado na mesma fórmula. A maneira mais fácil é declará-lo no início da sua fórmula:

FIELD NomeCampo:=NomeCampo;

@Subset

Pesquisa uma lista da esquerda para a direita, retornando os valores numéricos especificados. Se você
especificar um número negativo, @Subset fará a pesquisa da direita para a esquerda, mas o
resultado será ordenado a partir do início da lista.

Sintaxe
@Subset( lista ; número )

Parâmetros
lista
Lista de texto, de números ou de hora-data. A lista cujo subconjunto você deseja obter.

número
Número. O número de valores de lista que você deseja obter.

Valor de Retorno
listaSubconj

Lista de texto, de números ou de hora-data. A lista, contendo o número de valores especificados por você.

@Success

Retorna 1 (VERDADEIRO). Use esta função com @If em fórmulas de validação de campo para indicar que
o valor digitado atende aos critérios de validação.

Sintaxe

Cinq Technologies Ltda.


Curso Lotus Notes R5 - Desenvolvimento com Macros - Versão 3 126

@Success
Valor de Retorno
verdadeiro

Número. O número 1, que significa VERDADEIRO.


Uso
Use @Success em fórmulas de validação de entrada para campos editáveis.

@Sum

Inclui um conjunto de números ou listas de números.


Sintaxe
@Sum( números )

Parâmetros
números

Números ou listas de números. Os números ou listas de números que você quiser somar.
Valor de Retorno
resultado

Número. A soma de todos os números, inclusive os que fizerem parte de listas de números.
Uso
Certifique-se de que todos os campos enviados como parâmetros tenham um valor numérico -- o Notes
interpreta campos numéricos vazios como uma seqüência vazia.

@UpperCase

Converte as letras em caixa baixa da seqüência especificada para caixa alta.

Sintaxe
@UpperCase( seqüência )

Parâmetro
seqüência
Texto. A seqüência que você deseja converter para caixa alta.

Valor de Retorno
seqCaixaAlta

Texto. A seqüência, com todas as letras convertidas para caixa alta.


Uso
Esta função é útil quando você quiser pesquisar um determinado valor e não puder prever se ele aparecerá
em caixa baixa, caixa alta ou uma combinação das duas. Você também pode usá-la como fórmula de
conversão de entrada para converter o conteúdo de um campo para caixa alta.

Cinq Technologies Ltda.


Curso Lotus Notes R5 - Desenvolvimento com Macros - Versão 3 127

@UserName

Retorna o nome do usuário ou servidor atual. O uso de @UserName em um banco de dados local ou em
uma visualização privada do banco de dados de um servidor retorna o nome do usuário.
Sintaxe
@UserName

Valor de Retorno
nome

Texto. O nome do usuário ou servidor atual.


Uso
Quando uma fórmula é executada em um servidor, este é considerado o usuário atual, por isso
@UserName retorna o nome do servidor. Não é recomendável usar @UserName em uma
visualização pública, pois isso pode trazer resultados imprevisíveis.

Pode-se usar @UserName para exibir apenas os documentos relevantes para o usuário atual. Por
exemplo, seu banco de dados de Pedidos de Serviços poderia usar @UserName na visualização
privada chamada Atribuições a fim de exibir as atribuições de cada técnico, eliminando todas as
outras.
SELECT @UserName=AtribuídoA

No entanto, o usuário também pode criar uma visualização privada diferente que recupere todos os
documentos, por isso não considere @UserName como um mecanismo de segurança.

@@@@@@@@@@@@@Command............

Compose

Em um banco de dados por você especificado, cria um novo documento em branco utilizando o formuláiro
especificado.
Sintaxe
@Command([Compose]; servidor : bancoDados ; formulario )
Parâmetros
servidor

Texto. O nome do servidor em que o banco de dados está localizado.


bancoDados

Texto. O nome e local do banco de dados onde você deseja criar um documento.
formulário

Texto. O nome do formulário que você deseja utilizar ao criar o novo documento.

Cinq Technologies Ltda.


Curso Lotus Notes R5 - Desenvolvimento com Macros - Versão 3 128

Para indicar o banco de dados atual, utilize uma seqüência vazia () em vez dos parâmetros servidor :
bancoDados.
Uso
Quando @Command([Compose]) for utilizado para compor um documento de Comentários ou de
Comentários-para-Comentários, certifique-se de que um banco de dados esteja aberto e um
documento já esteja selecionado no nível de visualização.

Quando o comando é utilizado para compor documentos principais, um ícone de banco de dados deverá
estar selecionado, mas não é necessário que o próprio banco de dados esteja aberto.

EditDocument

Coloca o documento atual no modo especificado. Se você não especificar um modo, alternará entre o
modo de leitura e edição.

Sintaxe
@Command( [EditDocument] )

ou

@Command( [EditDocument] ; "modo" )


Parâmetro
"modo"

Número. Especifique "1" para colocar o documento no modo de edição ou "0" para colocá-lo no modo de
leitura.
Uso
Em uma visualização ou pasta, esse @command abre o documento realçado no modo especificado (se o
modo for omitido, será considerado o modo de edição).

FileCloseWindow

Fecha a janela atual do Notes. Se o documento ou elemento de estrutura nessa janela não tiver sido salvo,
o Notes perguntará ao usuário se deverá salvá-lo antes de fechar.

Sintaxe
@Command([FileCloseWindow])
Uso
FileCloseWindow não fechará a janela Área de Trabalho do Notes.
Ordem de execução
Esse comando só será executado depois que a fórmula inteira tiver sido avaliada, quer seja utilizado
@Command ou Pós-@command.
Cinq Technologies Ltda.
Curso Lotus Notes R5 - Desenvolvimento com Macros - Versão 3 129

FileSave

Executa o comando de menu Arquivo - Salvar.

Sintaxe
@Command([FileSave])

Uso
Um documento deverá estar aberto no modo de edição ou
Um formulário, subformulário, visualização, pasta, agente ou navegador deverá estar aberto no modo de
estrutura.

MailSend

Exibe a caixa de diálogo Enviar Mensagem, que permite que o usuário escolha entre criptografar, assinar e
enviar o memo selecionado.
Sintaxe
@Command([MailSend])
Uso
Um documento deve estar aberto no modo de leitura ou edição, ou selecionado em uma visualização. O
documento deve conter um campo SendTo, indicando os destinatários do documento.

Cinq Technologies Ltda.


Curso Lotus Notes R5 - Desenvolvimento com Macros - Versão 3 130

REFERÊNCIAS BIBLIOGRÁFICAS

• NOTES Release R5 - Aplication Developer´s Guide

• NOTES Release R5 - Aplication Developement 1 Student Guide

• NOTES Release R5 - Programmer´s Part1 ( Script)

• NOTES Release R5 - Programmer´s Part 2

Cinq Technologies Ltda.

Vous aimerez peut-être aussi