Função GUID
Aplica-se a: Canvas apps Fluxos de área de trabalho CLI de aplicativos Power Platform orientados por modelo
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 locais 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
GUID é uma função volátil quando usado sem um argumento. 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 Label para esta fórmula, será gerado um GUID sempre que o utilizador alterar o valor do controlo Text input:
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.
GUID( Não tipado )
- Não digitado - Obrigatório. objeto sem tipo que representa um GUID. Os valores aceitáveis dependem do fornecedor sem tipo. Para JSON, espera-se que o objeto sem tipo seja GUID representado como uma cadeia JSON.
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 Label para esta fórmula:
First( Products ).Status
O controlo Label mostrará f9168c5e-ceb2-4faa-b6bf-329bf39fa1e4.
Criar uma tabela de GUIDs
Defina a propriedade OnSelect de um controlo Button 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.
Adicione um controlo Data table, defina a respetiva propriedade Items para NewGUIDs e apresente o campo Value.
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:
Selecione o botão novamente para apresentar uma lista de GUIDs diferente:
Para gerar um único GUID em vez de uma tabela, utilize esta fórmula:
Set( NewGUID, GUID() )