Académique Documents
Professionnel Documents
Culture Documents
Módulo A
Lição 1
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.
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.
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
Lição 2
Objetivos
Depois de completar esta lição, você estará apto a:
Listar os componentes de uma base de dados
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.
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.
Lição 3
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.
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.
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.
Módulo B
Lição 4
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.
Criando um Formulário
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á.
• Ou pressionando Crtl+S
• 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.
Lição 5
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.
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
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.
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
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)
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:
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.
Texto
Campos texto consistem de letras, pontuações, espaços e números que não são usados
matematicamente.
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.
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.
Lista de Diálogo
O usuário pode selecionar uma opção de uma lista de diálogo clicando ou digitando sua
primeira letra.
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).
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.
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.
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.
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. Quando você terminar, pressione Esc para retornar para o modo de projeto.
Lição 7
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.
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.
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.
Módulo C
Lição 8
Objetivos
Após completar esta lição, você deve ser capaz de:
Projetar uma visão
Especificar os atributos de uma coluna
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.
Demonstração:
O seguinte exemplo mostra um projeto de visão:
Território Produto Data Autor
Nordeste Lotus Notes 01/10/96 Tom Clarke
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.
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
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.
Títulos de Colunas
O título da coluna aparece como um cabeçalho da coluna na visão.
• 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.
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
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.
Tipos de Pastas
Você pode criar os mesmos tipos para pastas como para visões:
• Compartilhada.
• Privada.
• Compartilhada, pessoal em primeiro uso.
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.
Lição 11
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.
• Um @command: @Command([FileCloseWindow])
Variáveis
O Notes usa nomes de campos como variáveis. As variáveis podem ter diferentes valores
em tempos diferentes.
Constantes
Constantes têm valores que não mudam.
Esta tabela descreve os três tipos de constantes que o Notes reconhece em fórmulas
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 (\)
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:
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
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”
Lição 12
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.
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”)
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.
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
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).
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.
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)
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
Lição 13
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.
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.
Módulo D
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
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
Sobre Subformulários
Subformulários são mini-formulários que podem ser incluídos em outros formulários.
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.
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.
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.
Lição 15
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.
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.
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.
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)
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
Lição 16
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.
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.
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
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.
Criando Ações
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.
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
Módulo E
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
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.
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.
Criando um Agente
Para criar um agente simples:
1. Selecione Criar - Agente para abrir o Construtor de 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?
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.
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:
Lição 20
Objetivos
Depois de Completar esta lição, você poderá:
✓ Criar um documento Sobre.
✓ Criar um documento Usando.
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.
Lição 21
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.
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.
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.
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.
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
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.
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"
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".
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".
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.
Á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.
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.
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.
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..
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:
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).
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
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
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.
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.
Á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"
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"
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.
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.
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.
Uso
Essa função não surte efeito em fórmulas de coluna ou de seleção, ou em agentes de correio.
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.
@DbName
Valor de Retorno
servidor ; caminho
@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
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 )
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.
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
@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 )
@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
Sintaxe
@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
@MailSend
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
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.
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]
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.
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.
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.
@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.
@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 )
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 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
@Success
Valor de Retorno
verdadeiro
@Sum
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
Sintaxe
@UpperCase( seqüência )
Parâmetro
seqüência
Texto. A seqüência que você deseja converter para caixa alta.
Valor de Retorno
seqCaixaAlta
@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
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 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.
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
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
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.
REFERÊNCIAS BIBLIOGRÁFICAS