A opção Guardar como valor/referência se encontra no tema "Fontes de dados" para Objetos de campo e variáveis, Menus suspensos/Listas suspensas assim como colunas list box (ver :Propriedades específicas de colunas de list box):

Esta opção é proposta nas condições abaixo:
uma lista escolhida é associada com o objeto (ver Listas de valores)
Para variáveis, campos e colunas list box, uma lista exigida é também definida para o objeto (ambas opções devem usar geralmente a mesma lista) de maneira que apenas valores da lista podem ser digitados pelo usuário.
Esta opção define, no contexto de um campo ou de uma variável associada a uma lista de valores (enumeração), o tipo de conteúdo a armazenar no campo:
- Guardar como Valor (opção por padrão): O valor do elemento escolhido na lista pelo usuário se guarda diretamente. Por exemplo, se o usuário seleciona o valor "Blue", este valor é salvo no campo. Este funcionamento é o das versões anteriores de 4D.
- Guardar como Referência: a referência do elemento da lista de seleção que será guardado no objeto. A referência de um elemento de lista é um valor numérico associado com cada elemento via o parâmetro refElement dos comandos APPEND TO LIST ou SET LIST ITEM, ou no editor de listas (ver Adicionar uma referência a um elemento).
Esta opção permite otimizar o uso de memória: O armazenamento de valores numéricos nos campos utiliza menos espaço que o armazenamento de cadeias de caracteres. Também faz com que seja mais fácil a tradução das aplicações: Pode criar múltiplas listas em diferentes idiomas, mas com as mesmas referências de elementos e carregar a lista em função da linguagem da aplicação.
O uso da opção Guardar como Referência exige o cumprimento dos seguintes princípios:
- Para poder armazenar a referência, o campo ou variável devem ser de tipo numérico (independentemente do tipo de valor mostrado na lista).
- Referências válidas e únicas devem estar associadas aos elementos da lista.
- Se ativar esta opção para um objeto pop-up menu/lista deslocada, deve estar associado a um campo (ver Utilizar uma lista de seleção).
- Esta opção é compatível com as listas de opções definidas na estrutura. Neste caso, só pode ser selecionado uma opção em cada formulário onde se utiliza o campo enumerado.
Você deseja utilizar um campo "Título" para as pessoas: Sr., Sra., Dr., Monsenhor, etc. Para isso, é criado um campo de tipo inteiro longo chamado "Título". Se define uma lista de opções (chamado "Títulos") que contém todos os títulos possíveis e se associam ao campo.
No formulário de entrada, se mostra o campo "Título " duas vezes com a finalidade de ilustrar o mecanismo implementado: Uma vez como um pop -up e outra vez como uma área de entrada. Ambos objetos se associam a mesma lista de opções e os dados se guardam como referência:

Durante a entrada, pode ser selecionado um valor no menu emergente e se mostra corretamente em ambos objetos:

Nota: neste formulário, se mostra a janela "Lista de opções " quando a área de entrada tem o foco. Para não mostrar mais esta janela, pode utilizar um menu deslocado para a entrada (e a visualização) do valor. Menus suspensos/Listas suspensas).

Pode configurar o formulário de saída com o mesmo princípio: se seleciona a opção Referência para guardar o campo Título:

Durante a execução, o valor se mostra corretamente:
