GetRecordIDsFromFoundSet

Retorna os IDs de registro do conjunto encontrado atual como uma lista ou matriz JSON. Para obter IDs para registros relacionados, especifique o nome de uma ocorrência de tabela ou portal.

Formato 

GetRecordIDsFromFoundSet ( tipo { ; tableOccurrenceOrPortal } )

Parâmetros 

tipo - uma expressão numérica que especifica o formato dos IDs de registro retornados. Veja a Descrição.

tableOcurrenceOrPortal - uma expressão de texto que especifica o nome de uma ocorrência de tabela relacionada ou o nome do objeto de um portal no layout atual.

Os parâmetros entre chaves { } são opcionais.

Tipo de dados retornado 

texto

Originada na versão 

22.0

Descrição

Esta função retorna os IDs de registro de todos os registros no conjunto atual encontrado em sua ordem atual, ou os IDs de registro de todos os registros relacionados ao registro atual por ocorrência de tabela especificada ou portal. IDs de registro são identificadores exclusivos que um cliente FileMaker atribui a cada registro em uma tabela quando o registro é criado e não podem ser alterados.

O parâmetro tipo determina o formato dos dados retornados. Use o nome da constante ou o valor numérico para especificar tipo.

Parâmetro tipo Retorna IDs de registro como Exemplos

ValueNumber (0)

Lista de valores delimitada por quebras de linha

Copiar
1
5
21
22
23
7

JSONString (1)

Matriz JSON de valores como strings

Copiar
["1","5","21","22","23","7"]

JSONNumber (2)

Matriz JSON de valores como números
Copiar
[1,5,21,22,23,7]

ValueNumberRanges (3)

Lista de valores com intervalos1

Copiar
1
5
21-23
7

JSONStringRanges (4)

Matriz JSON como strings com intervalos1

Copiar
["1","5","21-23","7"]
  1. Para ValueNumberRanges e JSONStringRanges, os IDs de registro consecutivos são compactados em intervalos para ajudar a reduzir o tamanho dos dados retornados.

Para obter os IDs de registros relacionados em uma ocorrência de tabela, use o parâmetro tableOcurrenceOrPortal para especificar o nome de uma ocorrência de tabela relacionada. Os IDs de registro relacionados são retornados na ordem de classificação especificada pelo relacionamento. Consulte Criação e alteração de relacionamentos.

Para obter os IDs de registros relacionados em um portal no layout atual, use o parâmetro tableOccurrenceOrPortal para especificar o nome do objeto do portal (consulte Nomeação de objetos). Os IDs de registro retornados são filtrados e classificados de acordo com as configurações do portal na caixa de diálogo Configuração de portal. Consulte Criação de portais para exibir registros relacionados.

Notas 

  • Os IDs de registro retornados podem ser usados com a etapa de script Etapa de script Ir para Lista de registros para recriar o mesmo conjunto encontrado ao especificar um layout baseado na mesma tabela.

  • Se nenhum registro for encontrado, esta função retorna um resultado vazio no formato especificado. Para uma lista vazia de valores, retorna uma string vazia (""). Para uma matriz JSON vazia, retorna "[]".

  • Se o parâmetro tableOcurrenceOrPortal for especificado, essa função primeiro tenta combinar seu valor com um nome de ocorrência de tabela. Se isso falhar, ele tenta corresponder o valor ao nome do objeto de um portal. Se nenhuma correspondência for encontrada, esta função retorna "?".

Exemplo 1 - Obter IDs de registro como uma lista de valores

Retorna IDs de registro como uma lista delimitada por quebras de linha.

Copiar
GetRecordIDsFromFoundSet ( ValueNumber )

Se o conjunto encontrado atual contiver registros com IDs 101, 102 e 105, este exemplo retornará:

Copiar
101
102
105

Exemplo 2 - Obtenha IDs de registro relacionados de um portal como uma matriz JSON de números

Retorna IDs de registro relacionados como uma matriz JSON de números do objeto do portal chamado ContactsPortal.

Copiar
GetRecordIDsFromFoundSet ( JSONNumber ; "ContactsPortal" )

Se o portal no registro atual tiver três registros relacionados que o portal classifica e filtra para ter os IDs 1101, 702 e 1015, este exemplo retorna:

Copiar
[1101,702,1015]

Exemplo 3 - Salvar conjunto encontrado para recriar mais tarde

Salva em um campo global um objeto JSON contendo os IDs de registro do conjunto encontrado atual e o nome do layout atual.

Copiar
Definir variável [ $recordIDs ; Valor: GetRecordIDsFromFoundSet ( JSONStringRanges ) ]
Definir variável [ $currentLayout ; Valor: Get( LayoutName ) ]

Definir variável [ $foundSetInfo ; Valor:  
  JSONSetElement ( "{}" ; 
    [ "recordIDs" ; $recordIDs ; JSONArray ] ; 
    [ "layout" ; $currentLayout ; JSONString ] 
  )
]

Definir campo [ Global::LastFind ; $foundSetInfo ]

Para um conjunto encontrado no layout Contatos, o objeto JSON salvo em Global::LastFind pode ser assim:

Copiar
{
  "recordIDs": ["1-3", "5", "7-9"],
  "layout": "Contatos"
}

Mais tarde, outro script pode ir para o mesmo layout e conjunto encontrado usando a etapa de script Etapa de script Ir para Lista de registros.

Copiar
Definir variável [ $foundSetInfo ; Valor: Global::LastFind ]
Definir variável [ $recordIDs ; Valor: JSONGetElement ( $foundSetInfo ; "recordIDs" ) ]
Definir variável [ $layoutName ; Valor: JSONGetElement ( $foundSetInfo ; "layout" ) ]

Ir para Lista de registros [ Lista de IDs de registro: $recordIDs ; Usando o layout: $layoutName ; Animação: Nenhuma ]