Função GUID no Power Apps

Converte uma cadeia GUID (Identificador Exclusivo Global) num valor GUID ou cria um novo valor GUID.

Descrição

Utilize a função GUID para converter uma cadeia com a representação hexadecimal de um GUID num valor GUID que pode ser passado para uma base de dados. Os valores de GUID são utilizados como chaves por sistemas de base de dados, como o Microsoft Dataverse e o SQL Server.

A cadeia passada pode conter letras maiúsculas ou minúsculas, mas tem de ter 32 dígitos hexadecimais num dos seguintes formatos:

  • "123e4567-e89b-12d3-a456-426655440000" (hífenes em localizações padrão)
  • "123e4567e89b12d3a456426655440000" (sem hífenes)

Se não especificar um argumento, esta função criará um novo GUID.

Para converter um valor GUID numa cadeia, utilize-o no contexto de uma cadeia. O valor GUID será convertido numa cadeia de representação hexadecimal com hífenes e letras minúsculas.

Ao gerar um novo GUID, esta função utiliza números pseudo aleatórios para criar um um GUID versão 4 IETF RFC 4122 GUID. Ao converter uma cadeia para um GUID, esta função suporta qualquer versão de GUID ao aceitar qualquer cadeia de 32 dígitos hexadecimais.

Funções voláteis

Quando utilizada sem um argumento, a função GUID é volátil. Sempre que a função é avaliada, devolve um valor diferente.

Quando for utilizada numa fórmula de fluxos de dados, uma função volátil só irá devolver um valor diferente se a fórmula em que aparece for reavaliada. Se nada mais for alterado na fórmula, esta terá o mesmo valor durante a execução da sua aplicação.

Por exemplo, um controlo de etiquetas cuja propriedade Text esteja definida para GUID() não será alterado enquanto a sua aplicação estiver ativa. Só resultará num valor diferente se fechar e voltar a abrir a aplicação.

A função será reavaliada se fizer parte de uma fórmula em que algo foi alterado. Por exemplo, se definirmos a propriedade Text de um controlo Etiqueta para esta fórmula, será gerado um GUID sempre que o utilizador alterar o valor do controlo Entrada de texto:

TextInput1.Text & " " & GUID()

Quando são utilizadas numa fórmula de comportamento, as funções GUID são avaliadas sempre que a fórmula é avaliada. Para obter mais informações, veja os exemplos apresentados neste tópico.

Sintaxe

GUID( [ GUIDString ] )

  • GUIDString – opcional. Uma cadeia de texto que contém a representação hexadecimal de um GUID. Se não for fornecida nenhuma cadeia, será criado um novo GUID.

Exemplos

Utilização básica

Para devolver um valor GUID com base na representação da cadeia hexadecimal:

GUID( "0f8fad5b-d9cb-469f-a165-70867728950e" )

Também pode fornecer a cadeia GUID sem hífenes. Esta fórmula devolve o mesmo valor GUID:

GUID( "0f8fad5bd9cb469fa16570867728950e" )

Utilizada no contexto, para definir o campo Status de um novo registo de base de dados para um valor corretamente estabelecido:

Patch( Products, Default( Products ), { Status: GUID( "F9168C5E-CEB2-4faa-B6BF-329BF39FA1E4" ) } )

É possível que não queira apresentar GUIDs aos utilizadores, mas os GUIDs podem ajudá-lo a depurar a sua aplicação. Para apresentar o valor do campo Status no registo que criou no exemplo anterior, defina a propriedade Text de um controlo Etiqueta para esta fórmula:

First( Products ).Status

O controlo Label mostrará f9168c5e-ceb2-4faa-b6bf-329bf39fa1e4.

Criar uma tabela de GUIDs

  1. Defina a propriedade OnSelect de um controlo Botão para esta fórmula:

    ClearCollect( NewGUIDs, ForAll( Sequence(5), GUID() ) )
    

    Esta fórmula cria uma tabela com uma única coluna que é utilizada para iterar cinco vezes, o que resulta em cinco GUIDs.

  2. Adicione um controlo Tabela de dados, defina a respetiva propriedade Items para NewGUIDs e apresente o campo Value.

  3. Mantenha a tecla Alt premida e selecione o botão ao clicar ou tocar no mesmo.

    A tabela de dados apresenta uma lista de GUIDs:

    Um ecrã a mostrar uma tabela de dados com cinco valores GUID diferentes

  4. Selecione o botão novamente para apresentar uma lista de GUIDs diferente:

    O mesmo ecrã a mostrar uma tabela de dados com um novo conjunto de cinco valores GUID diferentes

Para gerar um único GUID em vez de uma tabela, utilize esta fórmula:

Set( NewGUID, GUID() )

Nota

Pode indicar-nos as suas preferências no que se refere ao idioma da documentação? Responda a um breve inquérito. (tenha em atenção que o inquérito está em inglês)

O inquérito irá demorar cerca de sete minutos. Não são recolhidos dados pessoais (declaração de privacidade).