quarta-feira, 23 de setembro de 2020

Atualizando campos personalizados (tabela de pesquisa) no Project Online via Power Automate

Olá pessoal –

Este é o terceiro post da série onde estamos falando sobre como atualizar campos no Project Online através do Power Automate. No post de estréia falamos sobre como atualizar o campo nativo Nome do Projeto, enquanto que no segundo post falamos sobre como atualizar um campo personalizado de digitação livre.

Atualizando campos personalizados baseados em uma tabela de pesquisa

Conforme discutido no segundo post da série, quando precisamos atualizar um campo personalizado no Project Online é preciso especificar o campo a ser populado, através da declaração do seu nome interno.

Se o campo personalizado for do tipo digitação livre, então basta inputar o seu valor livremente na propriedade Value através do script. Porém, se o campo personalizado for baseado em uma tabela de pesquisa, então o input livre do valor não é suportado, sendo necessário não só declarar o nome interno do campo como também o código interno da propriedade que é representada pelos valores da tabela de pesquisa.

Convertendo isso para um cenário do mundo real: suponha que você possua um campo personalizado chamado Project Phase, o qual está associado a uma tabela de pesquisa chamada Project Phase. Você precisa que o Power Automate seja capaz de popular o campo, definindo o seu valor para uma das opções disponíveis na tabela de pesquisa (digamos que o valor desejado seja ’01 – Initiation’).

Nesse sentido, você precisará acessar a tabela de pesquisa e então selecionar o item que deseja utilizar. Ao fazer isso, o Id interno dessa propriedade na tabela de pesquisa será exibida:


Assim você poderá configurar todo o script de atualização do campo, incluindo a referência do código interno do campo personalizado e também da propriedade a ser inputada, com base na tabela de pesquisa:


Abaixo as intruções completas que foram utilizadas no processo de atualização:

……………………………………………………………………….

Site Address: Utilize a URL do seu PWA

Method: POST

Uri: _/api/ProjectServer/Projects(' <Id do projeto> ')/Draft/UpdateCustomFields

Headers:

Content-Type | application/json;odata=nometadata

IF-MATCH | *

X-HTTP-Method | POST

Body:

{

"customFieldDictionary":[

{

"Key":"Custom_<nome interno do campo personalizado>",

"Value":"<código interno da propriedade da tabela de pesquisa>",

"ValueType":"Edm.String"

}

]

}

……………………………………………………………………….

Lembrando que os items destacados em amarelo devem ser substituídos pelos seus respectivos valores.

Por fim, a última ação deverá publicar o projeto e efetuar o check-in, para garantir que todas as atualizações ocorram de maneira adequada.

Espero que ajude!


Um comentário:

  1. Olá! muito útil obrigada :) no meu caso no "Value:" quero passar o valor que o utilizador introduziu manualmente em passo anterior do mew Flow: RED, YELLOW ou GREEN, que correspondem aos valore do lookup table para o ECF ("RAG"). Pode ajudar?

    ResponderExcluir