tag:blogger.com,1999:blog-66450059803170679792024-03-14T03:17:55.887-03:00Raphael SantosRaphael Santoshttp://www.blogger.com/profile/15872319796376300645noreply@blogger.comBlogger305125tag:blogger.com,1999:blog-6645005980317067979.post-69132982351277776692023-07-10T21:00:00.002-03:002023-07-10T21:00:55.287-03:00Migração de projetos para o Project for the web<p> <span style="font-family: Arial, sans-serif; font-size: 10.5pt;">Olá pessoal –</span></p>
<p class="MsoNormal"><span style="font-family: "Arial",sans-serif; font-size: 10.5pt; line-height: 115%; mso-fareast-font-family: "Arial Unicode MS";">Tenho percebido um
número cada vez maior de empresas que tem optado pelo Project for the web como
solução definitiva de gerenciamento de projetos, em detrimento ao Project
Online. Em alguns casos, empresas que gerenciam seus projetos ativamente no
Project Online têm feito planos para migrar seu portfolio para o Project for
the web – um indicador de que, no médio/longo prazo, essa plataforma ganhará
cada vez mais adeptos.<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-family: "Arial",sans-serif; font-size: 10.5pt; line-height: 115%; mso-fareast-font-family: "Arial Unicode MS";">Recentemente apoiei
um cliente em um processo de automação via Power Automate para realizar a
migração do portfolio de projetos do Project Online para o Project for the web,
e gostaria de documentar aqui minhas descobertas e lições aprendidas. O escopo
geral do trabalho seria migrar os projetos em andamento do Project Online para
o Project for the web (cerca de 350 projetos no total), englobando apenas as
informações de nível de projeto, como nome, proprietário, patrocinador e demais
atributos – cronogramas/tarefas não seriam migrados.<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-family: "Arial",sans-serif; font-size: 10.5pt; line-height: 115%; mso-fareast-font-family: "Arial Unicode MS";">É importante
ressaltar que os mesmos passos também podem ser aplicados por uma organização
que esteja realizando o gerenciamento de projetos em qualquer plataforma ou
sistema, como Primavera, Project Server, ou mesmo o velho e bom Excel.<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-family: "Arial",sans-serif; font-size: 10.5pt; line-height: 115%; mso-fareast-font-family: "Arial Unicode MS";">..................................................<o:p></o:p></span></p>
<span style="font-family: "Arial",sans-serif; font-size: 10.5pt; line-height: 115%; mso-ansi-language: PT-BR; mso-bidi-language: AR-SA; mso-fareast-font-family: "Arial Unicode MS"; mso-fareast-language: EN-US;">Para construir o processo de automação, o
primeiro passo é exportar os projetos do Project Online (ou de qualquer que
seja o sistema) para uma planilha de Excel, como no exemplo abaixo:</span><div><span style="font-family: "Arial",sans-serif; font-size: 10.5pt; line-height: 115%; mso-ansi-language: PT-BR; mso-bidi-language: AR-SA; mso-fareast-font-family: "Arial Unicode MS"; mso-fareast-language: EN-US;"><br /></span></div><div><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjSRyDo7WOfxFPoCl0HaCb4BPLVS95FcZlqMIdoc7xAN7Ec3KbxOrFJkPfEPk6Q1zAJwc2ekrwkH8Ew3FwHbw3NATuwJjui3MzP5B5C7KUDPFvMx_MBYYTG_3ll6ge9BUDxdEa9HgM3CIl8xbQBcX_VzHmgUJWffZYwrIA01akdlV7ZpNTyw3BZKsuFT7E/s1359/001.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="349" data-original-width="1359" height="164" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjSRyDo7WOfxFPoCl0HaCb4BPLVS95FcZlqMIdoc7xAN7Ec3KbxOrFJkPfEPk6Q1zAJwc2ekrwkH8Ew3FwHbw3NATuwJjui3MzP5B5C7KUDPFvMx_MBYYTG_3ll6ge9BUDxdEa9HgM3CIl8xbQBcX_VzHmgUJWffZYwrIA01akdlV7ZpNTyw3BZKsuFT7E/w640-h164/001.jpg" width="640" /></a></div><br /><span style="font-family: "Arial",sans-serif; font-size: 10.5pt; line-height: 115%; mso-ansi-language: PT-BR; mso-bidi-language: AR-SA; mso-fareast-font-family: "Arial Unicode MS"; mso-fareast-language: EN-US;"><p class="MsoNormal"><span style="font-size: 10.5pt; line-height: 115%;">A planilha precisa
então ser salva em uma biblioteca do SharePoint, para que seja possível obter
os registros (linhas) através do Power Automate.<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-size: 10.5pt; line-height: 115%;">Outro ponto muito
importante é mapear os tipos de campo (atributos) utilizados para categorizar os
projetos no Project for the web. Como expliquei <a href="https://www.youtube.com/watch?v=nYC2INF_WEc&list=PLHzrAtk7JoVQZNpJdkq_GZSkHPJYtLjPm" target="_blank">nesse vídeo</a>, é possível criar campos de diferentes tipos (como Tabela de Pesquisa,
Escolha, Texto Livre, etc.), então cada atributo (coluna) da planilha precisará
ser tratado de maneira diferente quando da realização do mapeamento e conversão
para sua contra-parte no Project for the web.<o:p></o:p></span></p>
<span style="font-size: 10.5pt; line-height: 115%;">Uma vez no Power Automate, inicia-se o novo fluxo
(disparado manualmente) e uma das ações iniciais deve ser a de listar as linhas
presentes em uma tabela (assim como iniciar as variáveis que serão utilizadas para
armazenar cada um dos atributos a serem passados como entrada quando do
cadastramento do novo projeto):</span></span></div><div><span style="font-family: "Arial",sans-serif; font-size: 10.5pt; line-height: 115%; mso-ansi-language: PT-BR; mso-bidi-language: AR-SA; mso-fareast-font-family: "Arial Unicode MS"; mso-fareast-language: EN-US;"><span style="font-size: 10.5pt; line-height: 115%;"><br /></span></span></div><div><span style="font-family: "Arial",sans-serif; font-size: 10.5pt; line-height: 115%; mso-ansi-language: PT-BR; mso-bidi-language: AR-SA; mso-fareast-font-family: "Arial Unicode MS"; mso-fareast-language: EN-US;"><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhVX-vL_VfmROtfS-wgg6dU0Oxe9UNZcPNbRoKsFhQeKlekxJML3Vbybx10JSO7iho8cRotfpZYH67xqC7ApxTIP5A7Q70u-L0lqKbxZ8iNgtIO92qg3wYTcRot-MFZN1B4pQGuLfKWa7JGPbyWpjM881ILcr58fIgwvWBJ__HGfVGbHhPNpBvSTPyj_1E/s633/002.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="620" data-original-width="633" height="626" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhVX-vL_VfmROtfS-wgg6dU0Oxe9UNZcPNbRoKsFhQeKlekxJML3Vbybx10JSO7iho8cRotfpZYH67xqC7ApxTIP5A7Q70u-L0lqKbxZ8iNgtIO92qg3wYTcRot-MFZN1B4pQGuLfKWa7JGPbyWpjM881ILcr58fIgwvWBJ__HGfVGbHhPNpBvSTPyj_1E/w640-h626/002.jpg" width="640" /></a></div><div><span style="font-family: "Arial",sans-serif; font-size: 10.5pt; line-height: 115%; mso-ansi-language: PT-BR; mso-bidi-language: AR-SA; mso-fareast-font-family: "Arial Unicode MS"; mso-fareast-language: EN-US;"><br /></span></div><span style="font-size: 10.5pt; line-height: 115%;">Em
seguida, para cada registro (linha) obtido da planilha Excel, deve-se tratar
individualmente cada um dos seus atributos (colunas). Esse tratamento é
necessário para que seja possível realizar a conversão adequada do valor do atributo,
de modo que a informação possa estar de acordo com os parâmetros de entrada requeridos
pelo Dataverse. A título de exemplo, vamos analisar o atributo (coluna) <i>ProjectDirection</i>
da planilha – para melhor organizar os meus fluxos, eu gosto bastante de
utilizar a ação <i><a href="https://manueltgomes.com/microsoft/powerautomate/what-is-a-scope/" target="_blank">Scope</a></i>
do Power Automate, pois isso me ajuda a colocar todas as ações de um determinado
tópico em uma espécie de container:</span></span></div><div><span style="font-family: "Arial",sans-serif; font-size: 10.5pt; line-height: 115%; mso-ansi-language: PT-BR; mso-bidi-language: AR-SA; mso-fareast-font-family: "Arial Unicode MS"; mso-fareast-language: EN-US;"><br /></span></div><div><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhKCirj-70G6eFy_LgCLvoDV_pzlbwLy4ia1p91Hmo3oAIEFC40cdCrRt3VuRwgKLlRIkJzAWQtFiNs_Yq4fBQiXzshCtOr754LVboTAyIT3-dM5ghupi5EFaoqmgrMknzCDv9QEgEjX7TpzKxGsaNld6P8Dvx2NqeeqakmkjPkgQ3ukQcp6CUMQu1P-P8/s670/003.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="632" data-original-width="670" height="604" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhKCirj-70G6eFy_LgCLvoDV_pzlbwLy4ia1p91Hmo3oAIEFC40cdCrRt3VuRwgKLlRIkJzAWQtFiNs_Yq4fBQiXzshCtOr754LVboTAyIT3-dM5ghupi5EFaoqmgrMknzCDv9QEgEjX7TpzKxGsaNld6P8Dvx2NqeeqakmkjPkgQ3ukQcp6CUMQu1P-P8/w640-h604/003.jpg" width="640" /></a></div><br /><span style="font-family: "Arial",sans-serif; font-size: 10.5pt; line-height: 115%; mso-ansi-language: PT-BR; mso-bidi-language: AR-SA; mso-fareast-font-family: "Arial Unicode MS"; mso-fareast-language: EN-US;"><span style="font-size: 10.5pt; line-height: 115%;">O
tratamento de dados a ser realizado na coluna <i>ProjectDirection</i> utilizará
a ação de controle Switch do Power Automate para converter o texto oriundo da
planilha (que é um texto livre) no valor respectivo da lista de escolha do
campo de mesmo nome, o quel foi criado no Dataverse:</span></span></div><div><span style="font-family: "Arial",sans-serif; font-size: 10.5pt; line-height: 115%; mso-ansi-language: PT-BR; mso-bidi-language: AR-SA; mso-fareast-font-family: "Arial Unicode MS"; mso-fareast-language: EN-US;"><br /></span></div><div><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhYaGZSb8uBAAGSNq-q6u_O9Qt-BccVw3IjSASw_G0TgxOc7dT9mwf4xX1hAcQEuMcMH1GMxhjmW2GXkjiYr1qQLkRnQ6RFHd9FiPR86d75_eUwbC-nA8R-L3ksQ9Otfo6izIfg15GPKJewZPnieCd7gg-4uCaj5U--rHHBP365AIqJC3AkbRc7LAV-DaE/s1095/004.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="704" data-original-width="1095" height="412" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhYaGZSb8uBAAGSNq-q6u_O9Qt-BccVw3IjSASw_G0TgxOc7dT9mwf4xX1hAcQEuMcMH1GMxhjmW2GXkjiYr1qQLkRnQ6RFHd9FiPR86d75_eUwbC-nA8R-L3ksQ9Otfo6izIfg15GPKJewZPnieCd7gg-4uCaj5U--rHHBP365AIqJC3AkbRc7LAV-DaE/w640-h412/004.jpg" width="640" /></a></div><br /><span style="font-family: "Arial",sans-serif; font-size: 10.5pt; line-height: 115%; mso-ansi-language: PT-BR; mso-bidi-language: AR-SA; mso-fareast-font-family: "Arial Unicode MS"; mso-fareast-language: EN-US;"><span style="font-size: 10.5pt; line-height: 115%;">Nesse
caso, ao observar os valores de escolha do campo <i>Project Direction</i> na
tabela <b>Projects</b>, será possível identificar o valor que de fato é
armazenado pelo sistema para cada uma das opções disponíveis:</span></span></div><div><span style="font-family: "Arial",sans-serif; font-size: 10.5pt; line-height: 115%; mso-ansi-language: PT-BR; mso-bidi-language: AR-SA; mso-fareast-font-family: "Arial Unicode MS"; mso-fareast-language: EN-US;"><br /></span></div><div><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjIRjaEsMvCKHkmbyqF4C8nRRYSxfCgWW2yBfUthaFEaZYDbS-Gf_9i6_9Xu1wEyy0RU8J2dlPioyBapj7liHQYomyOc9-a_xnqcvCm27tQZ6XMEGQuzkD5DQsG0kui617YJ0jrjuSljcOd0nzGf29FEi8z-0A-fF9amsfn-Ke9U6LR52mQRV8tLz9TEyg/s1360/005.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="596" data-original-width="1360" height="280" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjIRjaEsMvCKHkmbyqF4C8nRRYSxfCgWW2yBfUthaFEaZYDbS-Gf_9i6_9Xu1wEyy0RU8J2dlPioyBapj7liHQYomyOc9-a_xnqcvCm27tQZ6XMEGQuzkD5DQsG0kui617YJ0jrjuSljcOd0nzGf29FEi8z-0A-fF9amsfn-Ke9U6LR52mQRV8tLz9TEyg/w640-h280/005.jpg" width="640" /></a></div><br /><span style="font-family: "Arial",sans-serif; font-size: 10.5pt; line-height: 115%; mso-ansi-language: PT-BR; mso-bidi-language: AR-SA; mso-fareast-font-family: "Arial Unicode MS"; mso-fareast-language: EN-US;"><span style="font-size: 10.5pt; line-height: 115%;">Ou
seja: quando o usuário escolhe a opção <i>Information Technology</i> na lista
suspensa o Power Apps está, de fato, gravando o valor 884.760.000 na tabela.
Dessa forma, a ação de controle Switch deverá ser configurada para converter o
texto oriundo da planilha no valor específico correspondente, pois é esse o
valor que deverá ser passado como parâmetro de entrada quando do cadastramento
do projeto via processo de automação:</span></span></div><div><span style="font-family: "Arial",sans-serif; font-size: 10.5pt; line-height: 115%; mso-ansi-language: PT-BR; mso-bidi-language: AR-SA; mso-fareast-font-family: "Arial Unicode MS"; mso-fareast-language: EN-US;"><br /></span></div><div><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgvHmKaKUxmEuQPV39VHIIrjwfN4C1LzNZ3WYUPOID5WPphh4duCi-BU14mYHLvibhZnBUfNbc_-Z-MoZSxxovGazdFBMQ_HzpMN7nMrywvoyMiapvzuY3O1tsUMhpAdc_Ek7hP5nJJlomWQO0xEygw7TJwCo1pfLzQ76vJDjQ8t62-4CVf5HUoweDHF5s/s1015/006.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="738" data-original-width="1015" height="466" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgvHmKaKUxmEuQPV39VHIIrjwfN4C1LzNZ3WYUPOID5WPphh4duCi-BU14mYHLvibhZnBUfNbc_-Z-MoZSxxovGazdFBMQ_HzpMN7nMrywvoyMiapvzuY3O1tsUMhpAdc_Ek7hP5nJJlomWQO0xEygw7TJwCo1pfLzQ76vJDjQ8t62-4CVf5HUoweDHF5s/w640-h466/006.jpg" width="640" /></a></div><br /><span style="font-family: "Arial",sans-serif; font-size: 10.5pt; line-height: 115%; mso-ansi-language: PT-BR; mso-bidi-language: AR-SA; mso-fareast-font-family: "Arial Unicode MS"; mso-fareast-language: EN-US;"><span style="font-size: 10.5pt; line-height: 115%;">Uma
lógica parecida se aplica quando da necessidade de realizar o tratamento de
informações que são oriundas de uma tabela de pesquisa, como é o caso do campo <i>Sponsor</i>
do exemplo atual. Nesse cenário, o atributo Sponsor tem como origem a tabela de
pesquisa <i>Users</i>, e sendo assim deve-se pesquisar nessa tabela o usuário
que corresponde ao endereço de e-mail informado na planilha:</span></span></div><div><span style="font-family: "Arial",sans-serif; font-size: 10.5pt; line-height: 115%; mso-ansi-language: PT-BR; mso-bidi-language: AR-SA; mso-fareast-font-family: "Arial Unicode MS"; mso-fareast-language: EN-US;"><br /></span></div><div><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjXkipW0HYEbZQY_bRMjrXCCNnpv6XuYPQNHmhZUEUZ9m8Y32RGyNBrEs9W-ek-YQHI2xI3-0j2J-aiqVXtiSem3wgUpaN0VNgPLy9v4urZqe6aB_tD_dVnlFiJj2chpsHr-5USXmG_clflI8OzqkqHeVgtJXb8wTNzoeu_ZJmLs-aEDMuE-yheu7p1JCo/s775/009.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="775" data-original-width="697" height="640" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjXkipW0HYEbZQY_bRMjrXCCNnpv6XuYPQNHmhZUEUZ9m8Y32RGyNBrEs9W-ek-YQHI2xI3-0j2J-aiqVXtiSem3wgUpaN0VNgPLy9v4urZqe6aB_tD_dVnlFiJj2chpsHr-5USXmG_clflI8OzqkqHeVgtJXb8wTNzoeu_ZJmLs-aEDMuE-yheu7p1JCo/w576-h640/009.jpg" width="576" /></a></div><div class="separator" style="clear: both; text-align: center;"><span style="font-family: Arial, sans-serif; font-size: 10.5pt; text-align: left;"><br /></span></div><div class="separator" style="clear: both; text-align: center;"><span style="font-family: Arial, sans-serif; font-size: 10.5pt; text-align: left;">Uma
vez encontrado o usuário correspondente na tabela Users, é necessário registrar
o seu ID interno para que este possa ser utilizado pelo processo de automação
quando do cadastramento do projeto (note que o que deve ser passado como
parâmetro é o ID do usuário, e não seu nome ou endereço de e-mail):</span></div></div><div class="separator" style="clear: both; text-align: center;"><span style="font-family: Arial, sans-serif; font-size: 10.5pt; text-align: left;"><br /></span></div><div class="separator" style="clear: both; text-align: center;"><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEie3HX64MqQt6rzHmcScge_NcNn-eA1wmfTt_EyAbUk_a07eintU35-UEyu83DY0H0V6jl1LIL9xe0mG9elA6oe8yzuE8Qufo3RTIkXy55OkrIlPcipK-Mjr7iU-ExsdVJ9waFwCeQ5YZSdQd1-xvMzuF777iv0zuSyg-qRWbf0KL0Q0WFSa8E5GUVBAOQ/s708/012.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="708" data-original-width="688" height="640" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEie3HX64MqQt6rzHmcScge_NcNn-eA1wmfTt_EyAbUk_a07eintU35-UEyu83DY0H0V6jl1LIL9xe0mG9elA6oe8yzuE8Qufo3RTIkXy55OkrIlPcipK-Mjr7iU-ExsdVJ9waFwCeQ5YZSdQd1-xvMzuF777iv0zuSyg-qRWbf0KL0Q0WFSa8E5GUVBAOQ/w622-h640/012.jpg" width="622" /></a></div><div style="text-align: left;"><br /></div><div style="text-align: left;"><span style="font-family: "Arial",sans-serif; font-size: 10.5pt; line-height: 115%; mso-ansi-language: PT-BR; mso-bidi-language: AR-SA; mso-fareast-font-family: "Arial Unicode MS"; mso-fareast-language: EN-US;">Após
realizar o tratamento e o mapeamento dos campos conforme necessário, é chegado
o momento de enfim criar o projeto no Dataverse. Porém (e parece sempre haver
um porém!)... ao utilizar a ação adicionar uma linha do Power Automate e
apontar para a tabela <b>Projects</b>, seremos apresentados a uma lista de
campos obrigatórios que devem ser preenchidos para a criação de um novo projeto
no Project for the web. Entre eles:</span></div><div style="text-align: left;"><span style="font-family: "Arial",sans-serif; font-size: 10.5pt; line-height: 115%; mso-ansi-language: PT-BR; mso-bidi-language: AR-SA; mso-fareast-font-family: "Arial Unicode MS"; mso-fareast-language: EN-US;"><p class="MsoNormal"></p><ul style="text-align: left;"><li><span style="font-size: 10.5pt; line-height: 115%;">Calendar Id</span></li><li><span style="font-size: 10.5pt; line-height: 115%;">Contracting Unit
(Organizational Units)</span></li><li><span style="font-size: 10.5pt; line-height: 115%;">Schedule mode</span></li><li><span style="font-size: 10.5pt; line-height: 115%;">Work hour
template (Work template)</span></li></ul><p></p>
<span style="font-size: 10.5pt; line-height: 115%;">Eu não fazia ideia de que era preciso ter posse
dessas informações para criar um novo projeto no Project for the web via Power
Automate </span><span style="font-family: "Segoe UI Emoji",sans-serif; font-size: 10.5pt; line-height: 115%; mso-ansi-language: PT-BR; mso-ascii-font-family: Arial; mso-bidi-font-family: Arial; mso-bidi-language: AR-SA; mso-char-type: symbol-ext; mso-fareast-font-family: "Arial Unicode MS"; mso-fareast-language: EN-US; mso-hansi-font-family: Arial; mso-symbol-font-family: "Segoe UI Emoji";">😕</span><span style="font-size: 10.5pt; line-height: 115%;">. Como não sabia os parâmetros para cada uma
dessas informações, fiz o seguinte:</span></span></div><div style="text-align: left;"><ul style="text-align: left;"><li><span style="font-family: "Arial",sans-serif; font-size: 10.5pt; line-height: 115%; mso-ansi-language: PT-BR; mso-bidi-language: AR-SA; mso-fareast-font-family: "Arial Unicode MS"; mso-fareast-language: EN-US;"><span style="font-size: 10.5pt; line-height: 115%;">Criei
um novo fluxo no Power Automate, disparado quando da criação de um novo projeto</span></span></li></ul></div><div style="text-align: left;"><span style="font-family: "Arial",sans-serif; font-size: 10.5pt; line-height: 115%; mso-ansi-language: PT-BR; mso-bidi-language: AR-SA; mso-fareast-font-family: "Arial Unicode MS"; mso-fareast-language: EN-US;"><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjKbnBEt9fnP5wVhhzkeIPdkIsW8iRmUzXhmGi0f-f_GQ8tH8xl3DOubrCJBnVGQwhsDA5Vz51ojgH5NrqSYYnI6Zbnn4EMZvccWEnj_a116XmJjgMtiwQDjE-55IqjV1JDt9kQf7upvB3_GHuhQ5B027c8l6gsFW0jeAPh49uStLgydtRR79GJEEQdw3U/s892/p2_002.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="567" data-original-width="892" height="406" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjKbnBEt9fnP5wVhhzkeIPdkIsW8iRmUzXhmGi0f-f_GQ8tH8xl3DOubrCJBnVGQwhsDA5Vz51ojgH5NrqSYYnI6Zbnn4EMZvccWEnj_a116XmJjgMtiwQDjE-55IqjV1JDt9kQf7upvB3_GHuhQ5B027c8l6gsFW0jeAPh49uStLgydtRR79GJEEQdw3U/w640-h406/p2_002.jpg" width="640" /></a></div><ul style="text-align: left;"><li><span style="font-family: "Arial",sans-serif; font-size: 10.5pt; line-height: 115%; mso-ansi-language: PT-BR; mso-bidi-language: AR-SA; mso-fareast-font-family: "Arial Unicode MS"; mso-fareast-language: EN-US;"><span style="font-size: 10.5pt; line-height: 115%;">Adicionei
uma ação qualquer (por exemplo, iniciar uma nova variável), pois todo fluxo
deve possuir pelo menos uma ação após seu disparo</span></span></li></ul></span></div><div style="text-align: left;"><span style="font-family: "Arial",sans-serif; font-size: 10.5pt; line-height: 115%; mso-ansi-language: PT-BR; mso-bidi-language: AR-SA; mso-fareast-font-family: "Arial Unicode MS"; mso-fareast-language: EN-US;"><br /></span></div><div style="text-align: left;"><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgb12Ia13zRHQuF1a5jYbTSYjIN0howNxlfC7MjMPR_l9vNL1SN3QhCpWEZ9QtqdGchqYIcb5zWAQjOx9I_DgjxJHseywcZtth73ATu5FGLB64oJWRUkw7sNxt-PPLQKJIAlIp1Hftr9fyiqu80oez7BvphZG1lksa4PoZLKuqLwFy5PzgJlmMDc-wuIQc/s625/p2_003.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="544" data-original-width="625" height="558" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgb12Ia13zRHQuF1a5jYbTSYjIN0howNxlfC7MjMPR_l9vNL1SN3QhCpWEZ9QtqdGchqYIcb5zWAQjOx9I_DgjxJHseywcZtth73ATu5FGLB64oJWRUkw7sNxt-PPLQKJIAlIp1Hftr9fyiqu80oez7BvphZG1lksa4PoZLKuqLwFy5PzgJlmMDc-wuIQc/w640-h558/p2_003.jpg" width="640" /></a></div><br /><span style="font-family: "Arial",sans-serif; font-size: 10.5pt; line-height: 115%; mso-ansi-language: PT-BR; mso-bidi-language: AR-SA; mso-fareast-font-family: "Arial Unicode MS"; mso-fareast-language: EN-US;"><span style="font-size: 10.5pt; line-height: 115%;">Com
isso, bastou criar manualmente um novo projeto no Project for the web para que
esse fluxo auxiliar fosse disparado. Uma vez executado, foi possível colher os
resultados do fluxo, os quais contemplam as informações que precisávamos para
finalizar o processo de automação original:</span></span></div><div style="text-align: left;"><span style="font-family: "Arial",sans-serif; font-size: 10.5pt; line-height: 115%; mso-ansi-language: PT-BR; mso-bidi-language: AR-SA; mso-fareast-font-family: "Arial Unicode MS"; mso-fareast-language: EN-US;"><br /></span></div><div style="text-align: left;"><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj80nLh4uTrLCvQVG9-n9dXc_Y2QSijJylq2y6LlypBTp72Cm5_1vTIRQp9gEdDGSAYYhpE3ouadNAyIsb0RkKrvGrkuqJkSWMRHqQUXd6D88FAHAmlZLM9mj6hH3kvoMpcOOUJjWyVKuW2ObXfP5xB-su5sSbJ-S366b5JXMC0k8FQQ_8OMRhyY_QtFLA/s897/p2_005.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="897" data-original-width="623" height="640" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj80nLh4uTrLCvQVG9-n9dXc_Y2QSijJylq2y6LlypBTp72Cm5_1vTIRQp9gEdDGSAYYhpE3ouadNAyIsb0RkKrvGrkuqJkSWMRHqQUXd6D88FAHAmlZLM9mj6hH3kvoMpcOOUJjWyVKuW2ObXfP5xB-su5sSbJ-S366b5JXMC0k8FQQ_8OMRhyY_QtFLA/w444-h640/p2_005.jpg" width="444" /></a></div><br /><span style="font-family: "Arial",sans-serif; font-size: 10.5pt; line-height: 115%; mso-ansi-language: PT-BR; mso-bidi-language: AR-SA; mso-fareast-font-family: "Arial Unicode MS"; mso-fareast-language: EN-US;"><span style="font-size: 10.5pt; line-height: 115%;">De
posse dos dados faltantes, basta regressar ao fluxo original para configurar os
parâmetros:</span></span></div><div style="text-align: left;"><span style="font-family: "Arial",sans-serif; font-size: 10.5pt; line-height: 115%; mso-ansi-language: PT-BR; mso-bidi-language: AR-SA; mso-fareast-font-family: "Arial Unicode MS"; mso-fareast-language: EN-US;"><br /></span></div><div style="text-align: left;"><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjbDfQ0je3oPyPvN34nLH72PpH3SynNViHNaaku7ZDPJChYKQ2-f7oCigx2Q4-nLnwQVjWC0kIZGT92cyck5FJ6EikqpwkfAYIlATFGp-3W148RBaLdhg81VCRCNlA3ZYdxOSRGbpp5QR7xk831eJNFTZfnjfWzS--Jrw_tSzN-GqtvavcHkhTTA15C0Ao/s715/p2_006.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="715" data-original-width="666" height="640" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjbDfQ0je3oPyPvN34nLH72PpH3SynNViHNaaku7ZDPJChYKQ2-f7oCigx2Q4-nLnwQVjWC0kIZGT92cyck5FJ6EikqpwkfAYIlATFGp-3W148RBaLdhg81VCRCNlA3ZYdxOSRGbpp5QR7xk831eJNFTZfnjfWzS--Jrw_tSzN-GqtvavcHkhTTA15C0Ao/w596-h640/p2_006.jpg" width="596" /></a></div><br /><span style="font-family: "Arial",sans-serif; font-size: 10.5pt; line-height: 115%; mso-ansi-language: PT-BR; mso-bidi-language: AR-SA; mso-fareast-font-family: "Arial Unicode MS"; mso-fareast-language: EN-US;"><span style="font-size: 10.5pt; line-height: 115%;">Assim,
quando tudo estiver pronto, basta iniciar o fluxo de maneira manual para que
todos os projetos da planilha sejam devidamente cadastrados no Project for the
web, respeitando e mantendo seus respectivos atributos:</span></span></div><div style="text-align: left;"><span style="font-family: "Arial",sans-serif; font-size: 10.5pt; line-height: 115%; mso-ansi-language: PT-BR; mso-bidi-language: AR-SA; mso-fareast-font-family: "Arial Unicode MS"; mso-fareast-language: EN-US;"><br /></span></div><div style="text-align: left;"><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgCtixGx7ZAdMs27NW6FaKdJqbw_oeLAdGLuEhDIEso6YjkqppjtyJFU-ehJ535CGJhIa6-2DvwwAQ9l16lmTDRae7hnERhaM4XcFHtUCiqi3MYvvXJqkMaCUYQRbr6Xcw7MRx6R9zuM--N1yEf-9djG5M39w7SNGr3zXu9wWfQpjjSbDLN7tE-Oi9ASQY/s1362/p2_007.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="702" data-original-width="1362" height="330" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgCtixGx7ZAdMs27NW6FaKdJqbw_oeLAdGLuEhDIEso6YjkqppjtyJFU-ehJ535CGJhIa6-2DvwwAQ9l16lmTDRae7hnERhaM4XcFHtUCiqi3MYvvXJqkMaCUYQRbr6Xcw7MRx6R9zuM--N1yEf-9djG5M39w7SNGr3zXu9wWfQpjjSbDLN7tE-Oi9ASQY/w640-h330/p2_007.jpg" width="640" /></a></div><span style="font-family: "Arial",sans-serif; font-size: 10.5pt; line-height: 115%; mso-ansi-language: PT-BR; mso-bidi-language: AR-SA; mso-fareast-font-family: "Arial Unicode MS"; mso-fareast-language: EN-US;"><p class="MsoNormal"><span style="font-size: 10.5pt; line-height: 115%;">...............................................<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-size: 10.5pt; line-height: 115%;">Confesso que
essa não é, definitivamente, uma tarefa simples e corriqueira. Porém, foi muito
gratificamente poder cadastrar todos esses 350 projetos de maneira automática –
além de todo o aprendizado gerado a partir dessa necessidade.<o:p></o:p></span></p>
<span style="font-size: 10.5pt; line-height: 115%;">Espero que esse post tenha sido útil de alguma
forma. Até o próximo </span><span style="font-family: "Segoe UI Emoji",sans-serif; font-size: 10.5pt; line-height: 115%; mso-ansi-language: PT-BR; mso-ascii-font-family: Arial; mso-bidi-font-family: Arial; mso-bidi-language: AR-SA; mso-char-type: symbol-ext; mso-fareast-font-family: "Arial Unicode MS"; mso-fareast-language: EN-US; mso-hansi-font-family: Arial; mso-symbol-font-family: "Segoe UI Emoji";">😉</span><span style="font-size: 10.5pt; line-height: 115%;">.</span></span></div></div><div><span style="font-family: "Arial",sans-serif; font-size: 10.5pt; line-height: 115%; mso-ansi-language: PT-BR; mso-bidi-language: AR-SA; mso-fareast-font-family: "Arial Unicode MS"; mso-fareast-language: EN-US;"><span style="font-size: 10.5pt; line-height: 115%;"><br /></span></span></div>Raphael Santoshttp://www.blogger.com/profile/15872319796376300645noreply@blogger.comtag:blogger.com,1999:blog-6645005980317067979.post-66723440581645849572023-04-17T19:36:00.001-03:002023-04-17T19:36:21.527-03:00Integração entre o Project Online e Azure DevOps<p></p><div class="separator" style="clear: both; text-align: center;"><iframe allowfullscreen="" class="BLOG_video_class" height="266" src="https://www.youtube.com/embed/KoAsuSPgysY" width="320" youtube-src-id="KoAsuSPgysY"></iframe></div><br /> <span style="font-family: Arial, sans-serif; font-size: 10.5pt;">Olá pessoal –</span><p></p><p class="MsoNormal"><span style="font-family: "Arial",sans-serif; font-size: 10.5pt; line-height: 115%; mso-fareast-font-family: "Arial Unicode MS";">Há um certo
tempo eu e meu amigo André Xavier entregamos uma <a href="https://www.youtube.com/watch?v=KoAsuSPgysY">palestra</a> no evento <b>Global
Microsoft 365 Developer Bootcamp</b>, e mesmo passados quase 3 anos do evento
ainda hoje tenho desenvolvido soluções, através do Power Automate, que permitam
a integração e a troca de informações entre o Project Online e o Azure DevOps. <o:p></o:p></span></p><p class="MsoNormal"><span style="font-family: "Arial",sans-serif; font-size: 10.5pt; line-height: 115%; mso-fareast-font-family: "Arial Unicode MS";">Pretendo retomar
esse assunto aqui no blog para compartilhar, com um pouco mais de detalhes, as
lições aprendidas que venho coletando ao longo desse tempo a respeito da integração
entre essas duas plataformas.<o:p></o:p></span></p><p class="MsoNormal"><b><span style="font-family: "Arial Unicode MS", sans-serif; font-size: 10.5pt; font-variant-alternates: normal; font-variant-caps: small-caps; font-variant-east-asian: normal; font-variant-numeric: normal; line-height: 115%;">É tudo uma questão de processos<o:p></o:p></span></b></p><p>
<span style="font-family: "Arial",sans-serif; font-size: 10.5pt; line-height: 115%; mso-ansi-language: PT-BR; mso-bidi-language: AR-SA; mso-fareast-font-family: "Arial Unicode MS"; mso-fareast-language: EN-US;">Antes de qualquer coisa, se você pretende
iniciar um projeto que tenha como objetivo integrar essas duas plataformas,
foque inteiramente no processo. Conversar e obter a maior quantidade possível
de informações com os principais interessados na integração é fundamental para
que, tecnicamente, a solução seja desenvolvida com sucesso. Procure entender aspectos
como:</span></p><p class="MsoNormal"></p><ul style="text-align: left;"><li><b><span style="font-family: "Arial",sans-serif; font-size: 10.5pt; line-height: 115%; mso-fareast-font-family: "Arial Unicode MS";">Quais
times serão beneficiados (ou afetados) com a sincronização</span></b><span style="font-family: "Arial",sans-serif; font-size: 10.5pt; line-height: 115%; mso-fareast-font-family: "Arial Unicode MS";">? É importante entender quem são os
principais interessados pelo processo de integração, e como eles serão
beneficiados/afetados. Não é incomum que, dentro de uma organização, diferentes
times utilizem o Azure DevOps de diferentes maneiras, de modo que tentar criar
um processo de integração único se torne complexo e problemático. Caso você
tenha que suportar diferentes times, com diferentes metodologias e processos,
talvez o melhor caminho seja construir uma integração individual para cada um
dos times.<o:p></o:p></span></li><li><b><span style="font-family: "Arial",sans-serif; font-size: 10.5pt; line-height: 115%; mso-fareast-font-family: "Arial Unicode MS";">Qual
o caminho a ser percorrido pelos dados</span></b><span style="font-family: "Arial",sans-serif; font-size: 10.5pt; line-height: 115%; mso-fareast-font-family: "Arial Unicode MS";">?
É preciso determinar se as informações serão coletadas no Azure DevOps para
então alimentar o Project Online, ou se o caminho a ser percorrido será no
sentido contrário. Ou, caso o processo desejado seja ainda mais complexo, pode
ser que exista a necessidade de comunicação em duas vias, onde os dois sistemas
trocarão informações entre si.<o:p></o:p></span></li><li><b><span style="font-family: "Arial",sans-serif; font-size: 10.5pt; line-height: 115%; mso-fareast-font-family: "Arial Unicode MS";">Quais
informações serão coletadas e processadas na automação</span></b><span style="font-family: "Arial",sans-serif; font-size: 10.5pt; line-height: 115%; mso-fareast-font-family: "Arial Unicode MS";">? O Azure DevOps permite que as
equipes estruturem seu trabalho utilizando os mais variados componentes, como <i>Bugs</i>,
<i>Epics</i>, <i>Features</i>, <i>User Story</i> e <i>Tasks</i>. Procure
entender como esses componentes estão estruturados na sua organização (ou no seu
cliente), e quais deles participarão de fato da integração. Além disso, para
cada um dos componentes que eventualmente tenham de fazer parte do processo de
integração, entenda quais atributos devem ser sincronizados (Trabalho
Real/Restante, datas de Início e/ou Término, etc).<o:p></o:p></span></li><li><span style="font-family: "Arial",sans-serif; font-size: 10.5pt; line-height: 115%; mso-ansi-language: PT-BR; mso-bidi-language: AR-SA; mso-fareast-font-family: "Arial Unicode MS"; mso-fareast-language: EN-US;"><b><span style="font-size: 10.5pt; line-height: 115%;">Qual será a periodicidade de sincronização</span></b><span style="font-size: 10.5pt; line-height: 115%;">? Lembre-se que, para editar um projeto no
Project Online, é preciso efetuar o seu check-out... nesse contexto, um
processo de sincronização que esteja configurado para ser executado muitas
vezes ao longo do dia pode se tornar um pesadelo para os gerentes de projeto,
uma vez que seus projetos podem ficar indisponíveis em diferentes momentos do
dia, em decorrência do processo de automação. Uma recomendação é estabelecer
uma periodicidade semanal (programada para acontecer no final de semana).</span></span></li></ul><p></p><p class="MsoNormal"><b><span style="font-family: "Arial Unicode MS", sans-serif; font-size: 10.5pt; font-variant-alternates: normal; font-variant-caps: small-caps; font-variant-east-asian: normal; font-variant-numeric: normal; line-height: 115%;">Crie campos personalizados<o:p></o:p></span></b></p><p><span style="font-family: "Arial",sans-serif; font-size: 10.5pt; line-height: 115%; mso-ansi-language: PT-BR; mso-bidi-language: AR-SA; mso-fareast-font-family: "Arial Unicode MS"; mso-fareast-language: EN-US;"><span style="font-size: 10.5pt; line-height: 115%;">
<span style="font-size: 10.5pt; line-height: 115%;">Uma vez que o roadmap do processo de
sincronização tenha sido definido, o passo seguinte será criar os campos
(colunas) personalizados para capturar os principais atributos que irão
permitir a comunicação entre as duas plataformas – campos a serem criados tanto
no Project Online quanto no Azure DevOps. A princípio, você deve pensar nos
seguintes campos/colunas:</span></span></span></p><p><span style="font-family: "Arial",sans-serif; font-size: 10.5pt; line-height: 115%; mso-ansi-language: PT-BR; mso-bidi-language: AR-SA; mso-fareast-font-family: "Arial Unicode MS"; mso-fareast-language: EN-US;"><span style="font-size: 10.5pt; line-height: 115%;"></span></span></p><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhkqaIl_pRmOu9p9IfazAh6aKIZW5eMUIcBiJKJ4MWwo3Vpp4OGXLRiy3Uok1fZew2FyCVd8ox9Z8NIbfcZdThn3jUPxFKkquAeneVT2vJTZl-zoObjyWAwyTYkVaie_Yg70LqvnUkANaz1xCwzDxThkmawLrVnSJ7Y-xbMP8ivdp2SGTGqNpe9F4Sm/s848/blog.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="291" data-original-width="848" height="220" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhkqaIl_pRmOu9p9IfazAh6aKIZW5eMUIcBiJKJ4MWwo3Vpp4OGXLRiy3Uok1fZew2FyCVd8ox9Z8NIbfcZdThn3jUPxFKkquAeneVT2vJTZl-zoObjyWAwyTYkVaie_Yg70LqvnUkANaz1xCwzDxThkmawLrVnSJ7Y-xbMP8ivdp2SGTGqNpe9F4Sm/w640-h220/blog.jpg" width="640" /></a></div><p></p><p class="MsoNormal"><span style="font-family: "Arial",sans-serif; font-size: 10.5pt; line-height: 115%; mso-fareast-font-family: "Arial Unicode MS";">É claro que
podem haver outros campos/colunas personalizadas que tenham de ser criadas nas
plataformas, a depender de quais informações seja necessário coletar.<o:p></o:p></span></p><p class="MsoNormal"><b><span style="font-family: "Arial Unicode MS", sans-serif; font-size: 10.5pt; font-variant-alternates: normal; font-variant-caps: small-caps; font-variant-east-asian: normal; font-variant-numeric: normal; line-height: 115%;">No azure devops, crie uma consulta robusta e confiável<o:p></o:p></span></b></p><p class="MsoNormal"><span style="font-family: "Arial",sans-serif; font-size: 10.5pt; line-height: 115%; mso-fareast-font-family: "Arial Unicode MS";">Caso a necessidade
da sua organização (cliente) seja a de sincronizar informações do Azure DevOps
para o Project Online (trata-se da grande maioria dos casos), então você deve
criar uma consulta extremamente robusta e confiável (no Azure DevOps).<o:p></o:p></span></p><p class="MsoNormal"><span style="font-family: "Arial",sans-serif; font-size: 10.5pt; line-height: 115%; mso-fareast-font-family: "Arial Unicode MS";">Para melhor
esclarecer o parágrafo anterior, é preciso entender que o processo de automação
que é iniciado a partir do Azure DevOps precisa ser baseado em uma consulta – uma
das primeiras ações do Power Automate é obter os resultados de uma consulta
específica criada no ADO. Nesse sentido, ao configurar a consulta, é preciso
garantir que seus parâmetros estejam muito bem definidos, afim de que apenas os
dados necessário sejam submetidos à sincronização.<o:p></o:p></span></p><p><span style="font-family: "Arial",sans-serif; font-size: 10.5pt; line-height: 115%; mso-ansi-language: PT-BR; mso-bidi-language: AR-SA; mso-fareast-font-family: "Arial Unicode MS"; mso-fareast-language: EN-US;"><span style="font-size: 10.5pt; line-height: 115%;">
<span style="font-size: 10.5pt; line-height: 115%;">Uma consulta robusta e confiável também deve
incluir parâmetros de governança e conformidade, evitando que dados
contraditórios sejam trazidos ao processamento. Alguns exemplos:</span></span></span></p><p class="MsoNormal"></p><ul style="text-align: left;"><li><span style="font-family: "Arial",sans-serif; font-size: 10.5pt; line-height: 115%; mso-fareast-font-family: "Arial Unicode MS";">Caso a sua
organização (cliente) tenha a intenção de processar apenas o componente <i>Tasks</i>,
configure a sua consulta para filtrar especificamente este item, deixando todos
os demais de fora.</span></li><li><span style="font-family: "Arial",sans-serif; font-size: 10.5pt; line-height: 115%; mso-fareast-font-family: "Arial Unicode MS";">De modo geral, no
Azure DevOps os usuários não tem a obrigatoriedade de preencher certas
informações – como datas de início e término. Ao tentar sincronizar datas não
preenchidas (em branco) com o Project Online o processo de automação gerará
erros, e dessa forma é preciso configurar a consulta para que ela exclua do
processamento tarefas que não possuam todas as informações a serem sincronizadas.</span></li><li><span style="font-family: "Arial",sans-serif; font-size: 10.5pt; line-height: 115%; mso-ansi-language: PT-BR; mso-bidi-language: AR-SA; mso-fareast-font-family: "Arial Unicode MS"; mso-fareast-language: EN-US;"><span style="font-size: 10.5pt; line-height: 115%;"><span style="font-size: 10.5pt; line-height: 115%;">Da mesma maneira, o Azure DevOps permite que
inconsistências sejam inseridas no âmbito de um componente – por exemplo, um
usuário pode inserir uma data de término anterior à data de início. Como o
Project Online jamais aceitará que uma tarefa tenha sua data de término
definida para antes do seu início, é preciso configurar a consulta para excluir
esse tipo de inconsistência.</span></span></span></li></ul><p></p><p class="MsoNormal"><span style="font-family: "Arial",sans-serif; font-size: 10.5pt; line-height: 115%; mso-fareast-font-family: "Arial Unicode MS";">Lembre-se de que
é preciso rever os requisitos de negócio de maneira bem detalhada e meticulosa,
para que seja possível identificar os possíveis erros que podem evetualmente
acontecer no momento da sincronização, garantindo que eles sejam tratados pela
consulta.<o:p></o:p></span></p><p class="MsoNormal"><b><span style="font-family: "Arial Unicode MS", sans-serif; font-size: 10.5pt; font-variant-alternates: normal; font-variant-caps: small-caps; font-variant-east-asian: normal; font-variant-numeric: normal; line-height: 115%;">Tratamento de erros<o:p></o:p></span></b></p><p><span style="font-family: "Arial",sans-serif; font-size: 10.5pt; line-height: 115%; mso-ansi-language: PT-BR; mso-bidi-language: AR-SA; mso-fareast-font-family: "Arial Unicode MS"; mso-fareast-language: EN-US;"><span style="font-size: 10.5pt; line-height: 115%;">
<span style="font-size: 10.5pt; line-height: 115%;">Esteja preparado para aplicar o devido
tratamento de erros ao processo de automação. Alguns dos erros mais comuns são:</span><br /></span></span></p><p class="MsoNormal"></p><ul style="text-align: left;"><li><span style="font-family: "Arial",sans-serif; font-size: 10.5pt; line-height: 115%; mso-fareast-font-family: "Arial Unicode MS";">Projetos em estado
de check-out no momento da execução da automação</span></li><li><span style="font-family: "Arial",sans-serif; font-size: 10.5pt; line-height: 115%; mso-fareast-font-family: "Arial Unicode MS";">Tarefas (ou
componentes) que fazem parte do processo de automação e que tenham sido
eventualmente excluídas do cronograma (ou do <i>board</i> do Azure DevOps)</span></li><li><span style="font-family: "Arial",sans-serif; font-size: 10.5pt; line-height: 115%; mso-ansi-language: PT-BR; mso-bidi-language: AR-SA; mso-fareast-font-family: "Arial Unicode MS"; mso-fareast-language: EN-US;"><span style="font-size: 10.5pt; line-height: 115%;"><span style="font-size: 10.5pt; line-height: 115%;"><span style="font-size: 10.5pt; line-height: 115%;">Tarefas com caracteres especiais nos seus nomes
(! $ # * & ’ @ etc.)</span></span></span></span></li></ul><p></p><p class="MsoNormal"><span style="font-family: "Arial",sans-serif; font-size: 10.5pt; line-height: 115%; mso-fareast-font-family: "Arial Unicode MS";">...............................................<o:p></o:p></span></p><p class="MsoNormal"><span style="font-family: "Arial",sans-serif; font-size: 10.5pt; line-height: 115%; mso-fareast-font-family: "Arial Unicode MS";">Bem, por hoje
era isso. O objetivo era realmente trazer algo mais genérico a respeito do
processo de automação, seus eventuais problemas e desafios – e não algo técnico
que fosse descrever detalhadamente como estruturar toda a integração.<o:p></o:p></span></p><p><span style="font-family: "Arial",sans-serif; font-size: 10.5pt; line-height: 115%; mso-ansi-language: PT-BR; mso-bidi-language: AR-SA; mso-fareast-font-family: "Arial Unicode MS"; mso-fareast-language: EN-US;"><span style="font-size: 10.5pt; line-height: 115%;"><span style="font-size: 10.5pt; line-height: 115%;"><span style="font-size: 10.5pt; line-height: 115%;">
<span style="font-size: 10.5pt; line-height: 115%;">Se você ainda precisa de alguma ajuda fazer a sincronização
funcionar aí na sua empresa, é só entrar em contato </span><span style="font-family: "Segoe UI Emoji",sans-serif; font-size: 10.5pt; line-height: 115%; mso-ansi-language: PT-BR; mso-ascii-font-family: Arial; mso-bidi-font-family: Arial; mso-bidi-language: AR-SA; mso-char-type: symbol-ext; mso-fareast-font-family: "Arial Unicode MS"; mso-fareast-language: EN-US; mso-hansi-font-family: Arial; mso-symbol-font-family: "Segoe UI Emoji";">😉</span><span style="font-size: 10.5pt; line-height: 115%;">.</span></span></span></span></span></p>Raphael Santoshttp://www.blogger.com/profile/15872319796376300645noreply@blogger.com0tag:blogger.com,1999:blog-6645005980317067979.post-22204954008680286552022-09-30T18:08:00.000-03:002022-09-30T18:08:13.935-03:00Limite de 300 registros na call REST api ao SharePoint<p> <span style="font-family: Arial, sans-serif; font-size: 10.5pt;">Olá pessoal –</span></p>
<p class="MsoNormal"><span style="font-family: "Arial",sans-serif; font-size: 10.5pt; line-height: 115%; mso-fareast-font-family: "Arial Unicode MS";">Meio que sem
querer, me deparei recentemente com uma limitação do SharePoint no que se
refere a quantidade de registros que podem ser obtidos através de uma <a href="https://learn.microsoft.com/pt-br/connectors/sharepointonline/" target="_blank">call à sua api</a>, ao utilizar o Power Automate.<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-family: "Arial",sans-serif; font-size: 10.5pt; line-height: 115%; mso-fareast-font-family: "Arial Unicode MS";">Tanto <a href="http://www.raphael-santos.net/search/label/Power%20Automate" target="_blank">aqui no blog</a>
quanto no meu canal do <a href="https://www.youtube.com/playlist?list=PLHzrAtk7JoVR7lIhj1gx-ccNd-KZB0jlF" target="_blank">YouTube</a>
eu falo bastante sobre a utilização do Power Automate para turbinar o uso do
Project Online, e na quase totalidade dos casos eu acabo utilizando a opção de
realizar uma call ao SharePoint através da ação <b>Send an HTTP Request to
SharePoint</b>, dada sua versatilidade e flexibilidade.<o:p></o:p></span></p>
<span style="font-family: "Arial",sans-serif; font-size: 10.5pt; line-height: 115%; mso-ansi-language: PT-BR; mso-bidi-language: AR-SA; mso-fareast-font-family: "Arial Unicode MS"; mso-fareast-language: EN-US;">Pois bem... ao realizar um trabalho para um
cliente, eu tinha a necessidade de obter a lista de todos os projetos salvos no
Project Online, para então executar uma série de ações em alguns projetos
específicos. Acontece que, ao estabelecer a conexão entre o Power Automate e o
SharePoint, o número de registros obtidos do banco de dados era bem menor do
que o número de projetos que de fato existiam no ambiente. Pra ser mais
preciso, apenas 300 registros estavam sendo obtidos toda vez que o fluxo era
iniciado:</span><div><span style="font-family: "Arial",sans-serif; font-size: 10.5pt; line-height: 115%; mso-ansi-language: PT-BR; mso-bidi-language: AR-SA; mso-fareast-font-family: "Arial Unicode MS"; mso-fareast-language: EN-US;"><br /></span></div><div><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj8BnwA3g6g_uiEdKeF2_ewUtk516oE6JSljlANocXj6GnGABcBdS8Ghehv3eqo9pPBUMxGAXysAZPG5oNSnlKjv8OdJDrEe2TuWuBlqW7H1uSYi0mK00ol41GwVYx7K-dHqtpIJ7fnXnUvUZJQPtzh1Jz2I5WGHeNfGVVyDebERMYptYB5BSNMxJCz/s657/0002.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="472" data-original-width="657" height="460" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj8BnwA3g6g_uiEdKeF2_ewUtk516oE6JSljlANocXj6GnGABcBdS8Ghehv3eqo9pPBUMxGAXysAZPG5oNSnlKjv8OdJDrEe2TuWuBlqW7H1uSYi0mK00ol41GwVYx7K-dHqtpIJ7fnXnUvUZJQPtzh1Jz2I5WGHeNfGVVyDebERMYptYB5BSNMxJCz/w640-h460/0002.png" width="640" /></a></div><br /><span style="font-family: "Arial",sans-serif; font-size: 10.5pt; line-height: 115%; mso-ansi-language: PT-BR; mso-bidi-language: AR-SA; mso-fareast-font-family: "Arial Unicode MS"; mso-fareast-language: EN-US;"><p class="MsoNormal"><span style="font-size: 10.5pt; line-height: 115%;">Após bater um
pouco a cabeça e entender que não havia nada nos filtros que estivesse
limitando o número de registros obtidos pela consulta, percebi que havia uma limitação
do próprio conector do SharePoint, que fixava em 300 o número máximo de
registros que poderiam ser disponibilizados ao Power Automate a cada chamada feita
à sua API.<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-size: 10.5pt; line-height: 115%;">Dessa forma,
caso você esteja criando flows que obtenham dados do SharePoint, mantenha-se
atento a essa restrição, pois ela pode acabar gerando alguns problemas não
disponibilizando todos os registros que efetivamente deveriam ser processados. No
meu caso específico, minha consulta estava obtendo dados da entidade projetos –
porém, existem inúmeras outras entidades que tendem a ter um número muito maior
de registros (como Tarefas e Atribuições, por exemplo).<o:p></o:p></span></p>
<span style="font-size: 10.5pt; line-height: 115%;">Para resolver o meu problema, tive que limitar a
consulta para um tipo de projeto específico, de modo a aplicar as ações apenas
ao grupo de projetos que deveriam ser submetidos ao fluxo (conforme exemplo
abaixo):</span></span></div><div><span style="font-family: "Arial",sans-serif; font-size: 10.5pt; line-height: 115%; mso-ansi-language: PT-BR; mso-bidi-language: AR-SA; mso-fareast-font-family: "Arial Unicode MS"; mso-fareast-language: EN-US;"><span style="font-size: 10.5pt; line-height: 115%;"><br /></span></span></div><div><span style="font-family: "Arial",sans-serif; font-size: 10.5pt; line-height: 115%; mso-ansi-language: PT-BR; mso-bidi-language: AR-SA; mso-fareast-font-family: "Arial Unicode MS"; mso-fareast-language: EN-US;"><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg8-61MO7kljW6pd_wjFaxVyqvv9Ev03SjPr9LESGqytlaeUuLr3C_0k8U1TPc0HsL2CZdHr_lh7td8DHUwkJqt4Efc8Ebuk848pixlrSZ9qpzAPJJcO-Hz3c9q-fLQLQzotAiYx6T_tAaqV4CuUDqRW-Y1yPUlGMhLx5cSWSRfY9zBCMCD7rB3ksGM/s836/0003.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="836" data-original-width="625" height="640" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg8-61MO7kljW6pd_wjFaxVyqvv9Ev03SjPr9LESGqytlaeUuLr3C_0k8U1TPc0HsL2CZdHr_lh7td8DHUwkJqt4Efc8Ebuk848pixlrSZ9qpzAPJJcO-Hz3c9q-fLQLQzotAiYx6T_tAaqV4CuUDqRW-Y1yPUlGMhLx5cSWSRfY9zBCMCD7rB3ksGM/w478-h640/0003.png" width="478" /></a></div><div><span style="font-family: "Arial",sans-serif; font-size: 10.5pt; line-height: 115%; mso-ansi-language: PT-BR; mso-bidi-language: AR-SA; mso-fareast-font-family: "Arial Unicode MS"; mso-fareast-language: EN-US;"><br /></span></div><p class="MsoNormal"><span style="font-size: 10.5pt; line-height: 115%;">Entretanto, se no seu caso a
necessidade seja executar a ação para todos os projetos independentemente do
tipo, uma solução viável talvez seja agrupar os projetos por uma determinada
categoria (Tipo, Proprietário, Status, Departamento...) e então executar as
ações para cada um desses grupos individualmente, de modo que o limite de 300
registros não seja ultrapassado. A mesma lógica se aplica a qualquer outro tipo de registros a serem obtidos (por exemplo, ao tentar obter informações de tarefas, a melhor opção é primeiro filtrar por projeto, assim as tarefas serão obtidas de maneira individual, de acordo com o projeto ao qual pertençam, reduzindo assim o escopo de registros a serem processados na chamada).<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-size: 10.5pt; line-height: 115%;">Enfim, para você
que desenvolve automações e utiliza o Power Automate e o Project Online
(SharePoint) com frequência, fica aí uma lição aprendida que deve ser observada
com atenção nos seus próximos desenvolvimentos </span><span style="font-family: "Segoe UI Emoji",sans-serif; font-size: 10.5pt; line-height: 115%; mso-ascii-font-family: Arial; mso-bidi-font-family: Arial; mso-char-type: symbol-ext; mso-fareast-font-family: "Arial Unicode MS"; mso-hansi-font-family: Arial; mso-symbol-font-family: "Segoe UI Emoji";">😉</span><span style="font-size: 10.5pt; line-height: 115%;">.<o:p></o:p></span></p>
<span style="font-size: 10.5pt; line-height: 115%;">Um forte abraço e até a próxima!</span></span></div>Raphael Santoshttp://www.blogger.com/profile/15872319796376300645noreply@blogger.com0tag:blogger.com,1999:blog-6645005980317067979.post-67707254237446410682022-08-31T22:58:00.003-03:002022-08-31T22:58:56.021-03:00Project Web App Usage<p> <b><span style="font-family: "Arial Unicode MS", sans-serif; font-size: 10.5pt; font-variant-caps: small-caps; font-variant-east-asian: normal; font-variant-numeric: normal; line-height: 115%;">Project web app usage</span></b></p>
<p class="MsoNormal"><span style="font-family: "Arial",sans-serif; font-size: 10.5pt; line-height: 115%; mso-fareast-font-family: "Arial Unicode MS";">Olá pessoal –<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-family: "Arial",sans-serif; font-size: 10.5pt; line-height: 115%; mso-fareast-font-family: "Arial Unicode MS";">A Microsoft <a href="https://docs.microsoft.com/pt-br/projectonline/project-online-software-boundaries-and-limits" target="_blank">disponibiliza um importante material no seu site</a> para tratar sobre as limitações do
Project Online, no que se refere a desempenho e performance da plataforma – assim
como da sua capacidade de armazenamento.<o:p></o:p></span></p>
<span style="font-family: "Arial",sans-serif; font-size: 10.5pt; line-height: 115%; mso-ansi-language: PT-BR; mso-bidi-language: AR-SA; mso-fareast-font-family: "Arial Unicode MS"; mso-fareast-language: EN-US;">Um item importante da documentação se refere a
cota destinada ao banco de dados do Project Online, que por padrão comporta
25GB por instância:</span><div><span style="font-family: "Arial",sans-serif; font-size: 10.5pt; line-height: 115%; mso-ansi-language: PT-BR; mso-bidi-language: AR-SA; mso-fareast-font-family: "Arial Unicode MS"; mso-fareast-language: EN-US;"><br /></span></div><div><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi8nw2X3HAuemZJXTB5xWG5OGBzEFE1gCKCF90kyWSaURTHyFejFjPLWUnErmvuTglwaX2fO_DIikWzkqwFqNTtdBQjE1QshZ2LqnuJrCo7YRUiFWFTxqx1TJm_TfjoehZzQPCS1NGGFkpLi7ApfDJ0fUtrKuEvdv0JpTa3I4u0p52WCeqYciCXXigs/s702/0000.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="612" data-original-width="702" height="558" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi8nw2X3HAuemZJXTB5xWG5OGBzEFE1gCKCF90kyWSaURTHyFejFjPLWUnErmvuTglwaX2fO_DIikWzkqwFqNTtdBQjE1QshZ2LqnuJrCo7YRUiFWFTxqx1TJm_TfjoehZzQPCS1NGGFkpLi7ApfDJ0fUtrKuEvdv0JpTa3I4u0p52WCeqYciCXXigs/w640-h558/0000.png" width="640" /></a></div><div><br /></div><p class="MsoNormal"><span style="font-family: "Arial",sans-serif; font-size: 10.5pt; line-height: 115%; mso-fareast-font-family: "Arial Unicode MS";">Esse limite de
25GB está relacionado diretamente com os objetos que existem no contexto do
Project Online, como os Projetos (e seus respectivos cronogramas), Recursos, Tipos
de Projeto da Empresa, Campos Personalizados da Empresa, etc. É importante lembrar
que os sites de projeto e seus artefatos (documentos, riscos, problemas e
demais listas customizadas) não entram nessa conta, pois são contabilizados no
espaço total do SharePoint disponível na coleção de sites do PWA.<o:p></o:p></span></p>
<span style="font-family: "Arial",sans-serif; font-size: 10.5pt; line-height: 115%; mso-ansi-language: PT-BR; mso-bidi-language: AR-SA; mso-fareast-font-family: "Arial Unicode MS"; mso-fareast-language: EN-US;">Ao navegar à página de <b>Configurações
Adicionais do Servidor</b> do seu ambiente do Project Online, você poderá
verificar se a utilização do banco de dados está se aproximando do limite de
espaço disponibilizado:</span></div><div><span style="font-family: Arial, sans-serif;"><span style="font-size: 14px;"><br /></span></span></div><div><span style="font-family: Arial, sans-serif;"><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi_VCkdDi2aAPizsWVa5pTo3bvFiAIKXtI4WJ4CsmLG_5P-JrIH2q8fvvJlTKJABeNwX1YtDHeHUn7f5cLTuW9rslX4BTFsuDVoGVJ1O4Ad5-F5Aj0nRQB4pJiFEL9rgscvfTck8SB7SqnhI0JGpwbPZB_5DWvl-9r3Wpyg5qM_P-Wcu85FJn43ru0K/s800/0001.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="800" data-original-width="795" height="640" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi_VCkdDi2aAPizsWVa5pTo3bvFiAIKXtI4WJ4CsmLG_5P-JrIH2q8fvvJlTKJABeNwX1YtDHeHUn7f5cLTuW9rslX4BTFsuDVoGVJ1O4Ad5-F5Aj0nRQB4pJiFEL9rgscvfTck8SB7SqnhI0JGpwbPZB_5DWvl-9r3Wpyg5qM_P-Wcu85FJn43ru0K/w636-h640/0001.png" width="636" /></a></div><div><span style="font-family: Arial, sans-serif;"><br /></span></div></span><span style="font-family: "Arial",sans-serif; font-size: 10.5pt; line-height: 115%; mso-ansi-language: PT-BR; mso-bidi-language: AR-SA; mso-fareast-font-family: "Arial Unicode MS"; mso-fareast-language: EN-US;">É
interessante observar que, nesse exemplo, mesmo estando próximo de atingir o
limite de 25GB no que se refere aos objetos dentro do âmbito do Project Online,
o consumo na camada de SharePoint é praticamente inexistente, como se pode
verificar na imagem abaixo:</span></div><div><span style="font-family: Arial, sans-serif;"><span style="font-size: 14px;"><br /></span></span></div><div><span style="font-family: Arial, sans-serif;"><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjdAxV_tc9lakiI6a-2glKTyhD8fK1STPxV3UCs5JkxBveJge8nIcA_MVAJ66zYKqSpsTGjTNXBDc_4AyQlz4yQgQ6gP6o9ZdhNalw2l_kpZRQg8P5ZwK16JQ7410Z8sojc5rYB5WHlywRRUCASvPuO-EQnEy1XVCbhcsXro3tlM6X1Loa5m5VIDWk1/s794/0002.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="281" data-original-width="794" height="226" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjdAxV_tc9lakiI6a-2glKTyhD8fK1STPxV3UCs5JkxBveJge8nIcA_MVAJ66zYKqSpsTGjTNXBDc_4AyQlz4yQgQ6gP6o9ZdhNalw2l_kpZRQg8P5ZwK16JQ7410Z8sojc5rYB5WHlywRRUCASvPuO-EQnEy1XVCbhcsXro3tlM6X1Loa5m5VIDWk1/w640-h226/0002.png" width="640" /></a></div><div><span style="font-family: Arial, sans-serif;"><br /></span></div></span><p class="MsoNormal"><b><span style="font-family: "Arial Unicode MS", sans-serif; font-size: 10.5pt; font-variant-caps: small-caps; font-variant-east-asian: normal; font-variant-numeric: normal; line-height: 115%;">Fatores que contribuem para consumo do espaço<o:p></o:p></span></b></p>
<span style="font-family: "Arial",sans-serif; font-size: 10.5pt; line-height: 115%; mso-ansi-language: PT-BR; mso-bidi-language: AR-SA; mso-fareast-font-family: "Arial Unicode MS"; mso-fareast-language: EN-US;">São vários os fatores que contribuem para um
consumo elevado do banco de dados do Project Online. Entre eles, vale a pena
citar:</span></div><div><p class="MsoNormal"></p><ul style="text-align: left;"><li><span style="font-family: "Arial",sans-serif; font-size: 10.5pt; line-height: 115%; mso-fareast-font-family: "Arial Unicode MS";">Campos
Personalizados de fórmula associados à entidade <b>Tarefa</b></span></li></ul><p></p><p class="MsoNormal"><span style="font-family: "Arial",sans-serif; font-size: 10.5pt; line-height: 115%; mso-fareast-font-family: "Arial Unicode MS";"></span></p><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi7bLztJfffkqOM4fQhV0SpegEVPUmF-ozreNTM8e2WsZFyt7v-4hyQCJO0sWATpPKv3fv6m5u5VI4j_M58YfZ7q1UZWm_ji_VAIF1HmO1K6NCUnFEh_4xu0gakXmRCUMlll2pqOFZfEu_dTz-3EJD7a-HXRKV7X33Ts_FURGRX4DI4jG4hcnWBpuLk/s903/0003.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="796" data-original-width="903" height="564" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi7bLztJfffkqOM4fQhV0SpegEVPUmF-ozreNTM8e2WsZFyt7v-4hyQCJO0sWATpPKv3fv6m5u5VI4j_M58YfZ7q1UZWm_ji_VAIF1HmO1K6NCUnFEh_4xu0gakXmRCUMlll2pqOFZfEu_dTz-3EJD7a-HXRKV7X33Ts_FURGRX4DI4jG4hcnWBpuLk/w640-h564/0003.png" width="640" /></a></div><br /><span style="font-size: 10.5pt; line-height: 115%;">Caso
a sua organização utilize um grande número de campos personalizados do tipo
fórmula para a entidade de tarefas, vale a pena revê-los para identificar se
todos os campos são necessários e devem ser mantidos no ambiente. Lembre-se que
campos do tipo fórmula são calculados e processados toda vez que um cronograma
é aberto, salvo e publicado.</span><p></p><p class="MsoNormal"></p><ul style="text-align: left;"><li><span style="font-family: "Arial",sans-serif; font-size: 10.5pt; line-height: 115%; mso-fareast-font-family: "Arial Unicode MS";">Projetos com uma
longa duração</span></li></ul><p></p><p class="MsoNormal"><span style="font-family: "Arial",sans-serif; font-size: 10.5pt; line-height: 115%; mso-fareast-font-family: "Arial Unicode MS";"><span style="font-size: 10.5pt; line-height: 115%;">
<span style="font-size: 10.5pt; line-height: 115%;">Veja o exemplo abaixo:</span></span></span></p><p class="MsoNormal"><span style="font-family: "Arial",sans-serif; font-size: 10.5pt; line-height: 115%; mso-fareast-font-family: "Arial Unicode MS";"><span style="font-size: 10.5pt; line-height: 115%;"></span></span></p><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhxuvOaVuY1bV5JKrlvnrzgDviKNrGbSLI9iAvhimyzGDnpGZlsA755rhwdtiCFPjUJI4U3axVPyEeDL7uxHFdEtCKdyF486fP_zZAU9BjlMGlC7GqI2IVPwqxbsYGfzyiMCkfhzgtWGigqA9oY9R59e1bImQb8Sn5D6WVFlv_FQaW0g5df7o6woyNO/s952/0004.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="684" data-original-width="952" height="460" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhxuvOaVuY1bV5JKrlvnrzgDviKNrGbSLI9iAvhimyzGDnpGZlsA755rhwdtiCFPjUJI4U3axVPyEeDL7uxHFdEtCKdyF486fP_zZAU9BjlMGlC7GqI2IVPwqxbsYGfzyiMCkfhzgtWGigqA9oY9R59e1bImQb8Sn5D6WVFlv_FQaW0g5df7o6woyNO/w640-h460/0004.png" width="640" /></a></div><br /><p></p><p class="MsoNormal"><span style="font-family: "Arial",sans-serif; font-size: 10.5pt; line-height: 115%; mso-fareast-font-family: "Arial Unicode MS";">O primeiro
projeto dessa lista tem uma duração total de 26.163 dias </span><span style="font-family: "Segoe UI Emoji",sans-serif; font-size: 10.5pt; line-height: 115%; mso-ascii-font-family: Arial; mso-bidi-font-family: Arial; mso-char-type: symbol-ext; mso-fareast-font-family: "Arial Unicode MS"; mso-hansi-font-family: Arial; mso-symbol-font-family: "Segoe UI Emoji";">⚠</span><span style="font-family: "Arial",sans-serif; font-size: 10.5pt; line-height: 115%; mso-fareast-font-family: "Arial Unicode MS";">,
com a data final prevista para 2120 </span><span style="font-family: "Segoe UI Emoji",sans-serif; font-size: 10.5pt; line-height: 115%; mso-ascii-font-family: Arial; mso-bidi-font-family: Arial; mso-char-type: symbol-ext; mso-fareast-font-family: "Arial Unicode MS"; mso-hansi-font-family: Arial; mso-symbol-font-family: "Segoe UI Emoji";">💀</span><span style="font-family: "Arial",sans-serif; font-size: 10.5pt; line-height: 115%; mso-fareast-font-family: "Arial Unicode MS";">
! Considerando que estou escrevendo esse post em 2022, serão necessários mais
98 anos para que este projeto seja finalizado – isso, é claro, se tudo sair
conforme o plano atual </span><span style="font-family: "Segoe UI Emoji",sans-serif; font-size: 10.5pt; line-height: 115%; mso-ascii-font-family: Arial; mso-bidi-font-family: Arial; mso-char-type: symbol-ext; mso-fareast-font-family: "Arial Unicode MS"; mso-hansi-font-family: Arial; mso-symbol-font-family: "Segoe UI Emoji";">😊</span><span style="font-family: "Arial",sans-serif; font-size: 10.5pt; line-height: 115%; mso-fareast-font-family: "Arial Unicode MS";">.<o:p></o:p></span></p><p class="MsoNormal"><span style="font-family: "Arial",sans-serif; font-size: 10.5pt; line-height: 115%; mso-fareast-font-family: "Arial Unicode MS";"><span style="font-size: 10.5pt; line-height: 115%;"><span style="font-size: 10.5pt; line-height: 115%;">
<span style="font-size: 10.5pt; line-height: 115%;">A depender da quantidade de tarefas no
cronograma desse projeto, serão necessárias milhares (senão milhões) de linhas
para registrar e armazenar todas as atribuições, a distribuição das horas, dos
custos, das informações de linha de base, etc. Adicionalmente, o próprio
processamento das informações pelo Microsoft Project (quando da abertura, do
salvamento e da publicação do projeto) ficará comprometido, aumentando o risco
de corrupção do arquivo. Abaixo é possível ver um exemplo de 4 cronogramas reais
com mais de 35 mil atribuições, um número extremamente alto e definitivamente
não recomendável:</span></span></span></span></p><p class="MsoNormal"><span style="font-family: "Arial",sans-serif; font-size: 10.5pt; line-height: 115%; mso-fareast-font-family: "Arial Unicode MS";"><span style="font-size: 10.5pt; line-height: 115%;"><span style="font-size: 10.5pt; line-height: 115%;"></span></span></span></p><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgmy7ksfQXQmEOrHxliczyy9g4fL_gN5o8k6tHb1W1Fx_Wl6wnIOgZ-unoJsRghGypccoT71Ysv3i-GAgLgoD28dfYOfVrRgQWylDGmFZxg5bpUXCy8dxw7IzmKgG_P4zXH_Wqgm9S9moYQjzSbPtCT9hJ7R5U6vsO8LUw0NTvYEzdGb_WStavcs-wJ/s410/0005.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="230" data-original-width="410" height="225" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgmy7ksfQXQmEOrHxliczyy9g4fL_gN5o8k6tHb1W1Fx_Wl6wnIOgZ-unoJsRghGypccoT71Ysv3i-GAgLgoD28dfYOfVrRgQWylDGmFZxg5bpUXCy8dxw7IzmKgG_P4zXH_Wqgm9S9moYQjzSbPtCT9hJ7R5U6vsO8LUw0NTvYEzdGb_WStavcs-wJ/w400-h225/0005.png" width="400" /></a></div><br /><p></p><p class="MsoNormal"><span style="font-family: "Arial",sans-serif; font-size: 10.5pt; line-height: 115%; mso-fareast-font-family: "Arial Unicode MS";">Em casos assim,
o recomendado seria decompor os cronogramas em partes menores e mais
gerenciáveis, que poderiam estar conectadas entre si. Dessa forma, quando uma
fase do projeto estiver concluída, o <a href="http://www.raphael-santos.net/2021/01/arquivando-projetos-no-project-online.html" target="_blank">cronograma pode ser arquivado</a> adequadamente, sem comprometer as etapas futuras.<o:p></o:p></span></p><p class="MsoNormal"><span style="font-family: "Arial",sans-serif; font-size: 10.5pt; line-height: 115%; mso-fareast-font-family: "Arial Unicode MS";"><span style="font-size: 10.5pt; line-height: 115%;"><span style="font-size: 10.5pt; line-height: 115%;"><span style="font-size: 10.5pt; line-height: 115%;">
<span style="font-size: 10.5pt; line-height: 115%;">Apenas para se ter uma ideia do volume de dados
processados e armazenados, veja a quantidade de atribuições para cada um dos projetos
da tabela acima, numa hierarquia de ano/mês:</span></span></span></span></span></p><p class="MsoNormal"><span style="font-family: "Arial",sans-serif; font-size: 10.5pt; line-height: 115%; mso-fareast-font-family: "Arial Unicode MS";"><span style="font-size: 10.5pt; line-height: 115%;"><span style="font-size: 10.5pt; line-height: 115%;"><span style="font-size: 10.5pt; line-height: 115%;"></span></span></span></span></p><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhQepEqVl5okuuFXr_JS3iV7iC2C7kqkWtR5IVqyYo9rowv8_rDtCjAoGmg-UJloMMihehlDRTCxquIuTNbKiik06xcleqgf_8NpO_aCKsC627cLoWcmbyM51qzEkmVr0F0OKpzbSIRpIhbH2v_YpzYJWdPavd3Oz7kXHBK1AB9pzPzsbXn_w-YguHk/s1024/0006.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="806" data-original-width="1024" height="504" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhQepEqVl5okuuFXr_JS3iV7iC2C7kqkWtR5IVqyYo9rowv8_rDtCjAoGmg-UJloMMihehlDRTCxquIuTNbKiik06xcleqgf_8NpO_aCKsC627cLoWcmbyM51qzEkmVr0F0OKpzbSIRpIhbH2v_YpzYJWdPavd3Oz7kXHBK1AB9pzPzsbXn_w-YguHk/w640-h504/0006.png" width="640" /></a></div><br /><span style="font-size: 10.5pt; line-height: 115%;">Agora
pense na quantidade de transações que são necessárias para processar esses
dados a cada vez que o cronograma é aberto, salvo ou publicado.</span><p></p><p class="MsoNormal"><span style="font-family: "Arial",sans-serif; font-size: 10.5pt; line-height: 115%; mso-fareast-font-family: "Arial Unicode MS";"><span style="font-size: 10.5pt; line-height: 115%;"><span style="font-size: 10.5pt; line-height: 115%;"><span style="font-size: 10.5pt; line-height: 115%;"><span style="font-size: 10.5pt; line-height: 115%;"></span></span></span></span></span></p><p class="MsoNormal"><b><span style="font-family: "Arial Unicode MS", sans-serif; font-size: 10.5pt; font-variant-caps: small-caps; font-variant-east-asian: normal; font-variant-numeric: normal; line-height: 115%;">Objetos adicionais<o:p></o:p></span></b></p><p class="MsoNormal">
<span style="font-family: "Arial",sans-serif; font-size: 10.5pt; line-height: 115%; mso-ansi-language: PT-BR; mso-bidi-language: AR-SA; mso-fareast-font-family: "Arial Unicode MS"; mso-fareast-language: EN-US;">Fique atento também à quantidade de objetos
adicionais que eventualmente existam no seu ambiente. Mesmo que não haja um
processamente explícito desses elementos, eles podem ter uma contribuição
significativa no consumo de espaço do seu banco de dados. Entre esses objetos,
vale a pena destacar:</span></p><p class="MsoNormal"></p><ul style="text-align: left;"><li><span style="font-family: "Arial",sans-serif; font-size: 10.5pt; line-height: 115%; mso-fareast-font-family: "Arial Unicode MS";">Demais Campos Personalizados
da Empresa e Tabelas de Pesquisa</span></li><li><span style="font-family: "Arial",sans-serif; font-size: 10.5pt; line-height: 115%; mso-fareast-font-family: "Arial Unicode MS";">Calendários
Empresariais</span></li><li><span style="font-family: "Arial",sans-serif; font-size: 10.5pt; line-height: 115%; mso-fareast-font-family: "Arial Unicode MS";">Modos de
Exibição Empresariais</span></li><li><span style="font-family: "Arial",sans-serif; font-size: 10.5pt; line-height: 115%; mso-fareast-font-family: "Arial Unicode MS";">Tipos de Projeto
da Empresa</span></li><li><span style="font-family: "Arial",sans-serif; font-size: 10.5pt; line-height: 115%; mso-fareast-font-family: "Arial Unicode MS";">Grupos e
Categorias de Segurança personalizados</span></li><li><span style="font-family: "Arial",sans-serif; font-size: 10.5pt; line-height: 115%; mso-fareast-font-family: "Arial Unicode MS";">Quantidade de Projetos
e Recursos</span></li><li><span style="font-family: "Arial",sans-serif; font-size: 10.5pt; line-height: 115%; mso-fareast-font-family: "Arial Unicode MS";">Quantidade de Timesheets
(Quadros de Horários)</span></li></ul><p></p><p class="MsoNormal"><span style="font-family: "Arial",sans-serif; font-size: 10.5pt; line-height: 115%; mso-fareast-font-family: "Arial Unicode MS";">...........................................................................................................<o:p></o:p></span></p><p class="MsoNormal"><span style="font-family: "Arial",sans-serif; font-size: 10.5pt; line-height: 115%; mso-fareast-font-family: "Arial Unicode MS";">Na posição de
administrador do Project Online, estabeleça um cronograma de revisões periódicas
no seu ambiente para garantir que a quantidade de dados utilizados esteja em
acordo com o volume de espaço disponibilizado, para não correr nenhum risco de
ter o ambiente paralisado ou a utilização temporariamente suspensa.<o:p></o:p></span></p><p class="MsoNormal"><span style="font-family: "Arial",sans-serif; font-size: 10.5pt; line-height: 115%; mso-ansi-language: PT-BR; mso-bidi-language: AR-SA; mso-fareast-font-family: "Arial Unicode MS"; mso-fareast-language: EN-US;">
<span style="font-size: 10.5pt; line-height: 115%;">Espero que tenha ajudado, e até a próxima!</span></span></p></div>Raphael Santoshttp://www.blogger.com/profile/15872319796376300645noreply@blogger.com1tag:blogger.com,1999:blog-6645005980317067979.post-68705237407806641222022-06-29T01:50:00.000-03:002022-06-29T01:50:22.208-03:00Relatório de projetos em check-out<p> <span style="font-family: Arial, sans-serif; font-size: 10.5pt;">Olá pessoal –</span></p>
<p class="MsoNormal"><span style="font-family: "Arial",sans-serif; font-size: 10.5pt; line-height: 115%; mso-fareast-font-family: "Arial Unicode MS";">Há um certo
tempo eu venho falando aqui no blog sobre as diferentes possibilidades e opções
de <a href="http://www.raphael-santos.net/2022/03/como-forcar-o-check-in-de-projetos.html" target="_blank">check in e check out</a> no Project Online através da utilização do Power
Automate. Entender esse conceito é muito importante para aqueles que precisam
automatizar as rotinas do escritório de projetos, uma vez que na grande maioria
das vezes é preciso colocar um projeto em edição (check out) para que então
seja possível realizar ações de atualização em suas propriedades.<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-family: "Arial",sans-serif; font-size: 10.5pt; line-height: 115%; mso-fareast-font-family: "Arial Unicode MS";">Como existem
incontáveis cenários de automatização no Project Online, assim como existem
também inúmeras restrições e impedimentos que podem ser aplicáveis de acordo
com a característica de cada negócio, pode haver situações nas quais forçar o
check in dos projetos não seja uma opção.<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-family: "Arial",sans-serif; font-size: 10.5pt; line-height: 115%; mso-fareast-font-family: "Arial Unicode MS";">Dessa forma,
através da utilização da API do Project Server é possível criar um relatório
(no Excel ou no Power BI) que identifique dinamicamente os projetos em check
out.<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-family: "Arial",sans-serif; font-size: 10.5pt; line-height: 115%; mso-fareast-font-family: "Arial Unicode MS";">Para construir o
relatório, utilizando a plataforma de sua preferência, efetue uma conexão à <a href="http://www.raphael-santos.net/2021/11/utilizando-a-api-projectserver.html" target="_blank">API do Project Server</a> da sua organização:<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-family: "Georgia",serif; mso-bidi-font-family: Arial; mso-fareast-font-family: "Arial Unicode MS";">https://<span style="background: yellow; mso-highlight: yellow;"><URL da sua organização></span>.sharepoint.com/sites/pwa/_api/ProjectServer<o:p></o:p></span></p>
<span style="font-family: "Arial",sans-serif; font-size: 10.5pt; line-height: 115%; mso-ansi-language: PT-BR; mso-bidi-language: AR-SA; mso-fareast-font-family: "Arial Unicode MS"; mso-fareast-language: EN-US;">Ao se conectar ao ambiente do Project Online,
clique na opção de expansão da tabela <b>Projects</b>:</span><div><span style="font-family: "Arial",sans-serif; font-size: 10.5pt; line-height: 115%; mso-ansi-language: PT-BR; mso-bidi-language: AR-SA; mso-fareast-font-family: "Arial Unicode MS"; mso-fareast-language: EN-US;"><br /></span></div><div><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg1S8PiklvZbdGaZ0_MMXhZmzoKJEgusdkHt4BAwnG3bEbvMNlYDH7RNRUM3XOzU0S2K316r3NG06xNsEdqC292yRwNYfzixkqf3-VZMHnOjulQPeVy4dp07p2M4LMw6BUFVJnc1OAeU37OwP2y3WFIG9jpAVrxDce71kD8SauH4-TkzweWkwW3kp82/s1176/001.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="409" data-original-width="1176" height="222" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg1S8PiklvZbdGaZ0_MMXhZmzoKJEgusdkHt4BAwnG3bEbvMNlYDH7RNRUM3XOzU0S2K316r3NG06xNsEdqC292yRwNYfzixkqf3-VZMHnOjulQPeVy4dp07p2M4LMw6BUFVJnc1OAeU37OwP2y3WFIG9jpAVrxDce71kD8SauH4-TkzweWkwW3kp82/w640-h222/001.png" width="640" /></a></div><div><span style="font-family: Arial, sans-serif; font-size: 10.5pt;"><br /></span></div><div><span style="font-family: Arial, sans-serif; font-size: 10.5pt;">Em seguida,
selecione os campos que deseja utilizar no relatório. Como sugestão, você pode
utilizar os seguintes campos:</span></div>
<p class="MsoNormal"></p><ul style="text-align: left;"><li><span style="font-family: "Arial",sans-serif; font-size: 10.5pt; line-height: 115%; mso-fareast-font-family: "Arial Unicode MS";">Id</span></li><li><span style="font-family: "Arial",sans-serif; font-size: 10.5pt; line-height: 115%; mso-fareast-font-family: "Arial Unicode MS";">Name</span></li><li><span style="font-family: "Arial",sans-serif; font-size: 10.5pt; line-height: 115%; mso-fareast-font-family: "Arial Unicode MS";">CheckedOutDate</span></li><li><span style="font-family: "Arial",sans-serif; font-size: 10.5pt; line-height: 115%; mso-fareast-font-family: "Arial Unicode MS";">IsCheckedOut</span></li><li><span style="font-family: "Arial",sans-serif; font-size: 10.5pt; line-height: 115%; mso-ansi-language: PT-BR; mso-bidi-language: AR-SA; mso-fareast-font-family: "Arial Unicode MS"; mso-fareast-language: EN-US;">CheckedOutBy</span></li></ul><p></p>
</div><div><span style="font-family: Arial, sans-serif;"><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg91VvHjWiNpsi0lzFpIKAp4sT8T5-ZM4BVLk9XHUVPsBnS9x6Czvlmgdqt8GXTkUu29yAZk8SPaczhOzIUFfUZl6O91y9MJ5X2NN8tw77fH_2BsS94Rw3FpMb6JRuAug9jOvnpX4JmKo7liBl81coM5sPoaYzyDLd1iNwklbAYuXeAnesgpBU8m0KE/s453/002.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="453" data-original-width="340" height="640" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg91VvHjWiNpsi0lzFpIKAp4sT8T5-ZM4BVLk9XHUVPsBnS9x6Czvlmgdqt8GXTkUu29yAZk8SPaczhOzIUFfUZl6O91y9MJ5X2NN8tw77fH_2BsS94Rw3FpMb6JRuAug9jOvnpX4JmKo7liBl81coM5sPoaYzyDLd1iNwklbAYuXeAnesgpBU8m0KE/w480-h640/002.png" width="480" /></a></div><div><br /></div></span><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhgb56OEoe4-8rj67GeeQ2rUfM2F9sreSLuZHyJouaM2hV_rU3PPhG9Vz2dsLGW6lN0PWcKiSOdulnBgsEB0071xMjH7-VUCCG3LobTRxtuVbqA3w2w4vptK2BpRaZE0TjXQLGgVQRgSwWFIfCAAjb5TlQDic-Cjp00jhGVRc1d_5YmUaez2tRwa04X/s1017/003.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="551" data-original-width="1017" height="346" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhgb56OEoe4-8rj67GeeQ2rUfM2F9sreSLuZHyJouaM2hV_rU3PPhG9Vz2dsLGW6lN0PWcKiSOdulnBgsEB0071xMjH7-VUCCG3LobTRxtuVbqA3w2w4vptK2BpRaZE0TjXQLGgVQRgSwWFIfCAAjb5TlQDic-Cjp00jhGVRc1d_5YmUaez2tRwa04X/w640-h346/003.png" width="640" /></a></div><br /><span style="font-family: "Arial",sans-serif; font-size: 10.5pt; line-height: 115%; mso-ansi-language: PT-BR; mso-bidi-language: AR-SA; mso-fareast-font-family: "Arial Unicode MS"; mso-fareast-language: EN-US;">Em
seguida, você deverá filtrar todos os projetos para os quais o campo <b>IsCheckedOut</b>
é igual a TRUE:</span></div><div><span style="font-family: "Arial",sans-serif; font-size: 10.5pt; line-height: 115%; mso-ansi-language: PT-BR; mso-bidi-language: AR-SA; mso-fareast-font-family: "Arial Unicode MS"; mso-fareast-language: EN-US;"><br /></span></div><div><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhatkAv_LvmBRRZbHpr_RKz_wrzH2jrqSQQoweHZtP-r0Z_sS1FJiPqGzf9u_C3b-LgDA0DtktYI-GLFoxvyOyqxauSJoiC8UXfYhfCd_oxA49F89KvCuzFw8bwQeKAKQo-cAWr1g59w8WQmam9kInl90D5u2bOxuN1ncrW3OnP2kJ3TR0Cxo52WLkI/s1036/004.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="351" data-original-width="1036" height="216" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhatkAv_LvmBRRZbHpr_RKz_wrzH2jrqSQQoweHZtP-r0Z_sS1FJiPqGzf9u_C3b-LgDA0DtktYI-GLFoxvyOyqxauSJoiC8UXfYhfCd_oxA49F89KvCuzFw8bwQeKAKQo-cAWr1g59w8WQmam9kInl90D5u2bOxuN1ncrW3OnP2kJ3TR0Cxo52WLkI/w640-h216/004.png" width="640" /></a></div><div><br /></div><span style="font-family: "Arial",sans-serif; font-size: 10.5pt; line-height: 115%; mso-ansi-language: PT-BR; mso-bidi-language: AR-SA; mso-fareast-font-family: "Arial Unicode MS"; mso-fareast-language: EN-US;">Caso
você queira saber quem é o gerente de projeto que efetuou o check out em cada
um dos projetos listados, você poderá expandir a coluna <b>CheckedOutBy</b>:</span></div><div><span style="font-family: Arial, sans-serif;"><span style="font-size: 14px;"><br /></span></span></div><div><span style="font-family: Arial, sans-serif;"><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhAq4JxvMUShC9sGKWLKKv8w3n8-JHfs_TwFn_m2aWOPFyoAjG4LX3CQPlfPr8i2ufLwrL_lSIYaMegIJNzBKNE3PXnvaQlkC8laFKzqFjVWLkLjS2hbHwpAABzxi0gSGfoHbTGRud2mNJLfa5cT_EFDgF0U0oxfQiJ8R5-SIuRK2-PvHjjRykOuOP6/s771/005.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="355" data-original-width="771" height="294" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhAq4JxvMUShC9sGKWLKKv8w3n8-JHfs_TwFn_m2aWOPFyoAjG4LX3CQPlfPr8i2ufLwrL_lSIYaMegIJNzBKNE3PXnvaQlkC8laFKzqFjVWLkLjS2hbHwpAABzxi0gSGfoHbTGRud2mNJLfa5cT_EFDgF0U0oxfQiJ8R5-SIuRK2-PvHjjRykOuOP6/w640-h294/005.png" width="640" /></a></div><br /></span><span style="font-family: "Arial",sans-serif; font-size: 10.5pt; line-height: 115%; mso-ansi-language: PT-BR; mso-bidi-language: AR-SA; mso-fareast-font-family: "Arial Unicode MS"; mso-fareast-language: EN-US;">Assim
você terá em mãos todos os campos necessários para gerar o relatório, e então
poderá entender quais são os projetos em check out, quem são os responsáveis
pelo check out e até há quanto tempo cada projeto encontra-se bloqueado:</span></div><div><span style="font-family: Arial, sans-serif;"><span style="font-size: 14px;"><br /></span></span></div><div><span style="font-family: Arial, sans-serif;"><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiPCQulK0x8x34MNTjSbV6guVuJUsur2rGUvxTu4IZUWLuQ_BHWbDCB8kEERvhtU7abj-O-JVASfy23Dq0DDUWCLDBKrwzBEbhMA-W-kb9mDVlT9bP64ZXc3ABWaAKmlas2kxDgY6NbB4Nnbnj2-Fjfc5C-YLf4HCdT1_azX_3L8eEh6V8Vvwn0NV4I/s976/006.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="357" data-original-width="976" height="234" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiPCQulK0x8x34MNTjSbV6guVuJUsur2rGUvxTu4IZUWLuQ_BHWbDCB8kEERvhtU7abj-O-JVASfy23Dq0DDUWCLDBKrwzBEbhMA-W-kb9mDVlT9bP64ZXc3ABWaAKmlas2kxDgY6NbB4Nnbnj2-Fjfc5C-YLf4HCdT1_azX_3L8eEh6V8Vvwn0NV4I/w640-h234/006.png" width="640" /></a></div><div><span style="font-family: Arial, sans-serif;"><br /></span></div></span><span style="font-family: "Arial",sans-serif; font-size: 10.5pt; line-height: 115%; mso-ansi-language: PT-BR; mso-bidi-language: AR-SA; mso-fareast-font-family: "Arial Unicode MS"; mso-fareast-language: EN-US;">Por
hoje era isso. Espero que ajude </span><b><span style="font-family: "Segoe UI Emoji", sans-serif; font-size: 10.5pt; font-variant-caps: small-caps; font-variant-east-asian: normal; font-variant-numeric: normal; line-height: 115%;">😊</span></b><span style="font-family: Arial, sans-serif;"><br /><span style="font-size: 14px;"><br /></span></span><span style="font-family: "Arial",sans-serif; font-size: 10.5pt; line-height: 115%; mso-ansi-language: PT-BR; mso-bidi-language: AR-SA; mso-fareast-font-family: "Arial Unicode MS"; mso-fareast-language: EN-US;"><br /></span></div>Raphael Santoshttp://www.blogger.com/profile/15872319796376300645noreply@blogger.com0tag:blogger.com,1999:blog-6645005980317067979.post-71119791719816886452022-04-30T23:17:00.003-03:002022-04-30T23:17:38.734-03:00Publicando os riscos do projeto no Microsoft Teams<p> <span style="font-family: Arial, sans-serif; font-size: 10.5pt;">Olá pessoal –</span></p>
<p class="MsoNormal"><span style="font-family: "Arial",sans-serif; font-size: 10.5pt; line-height: 115%; mso-fareast-font-family: "Arial Unicode MS";">Este post é uma
continuação de uma <a href="http://www.raphael-santos.net/2022/03/integracao-project-online-teams-adaptative-cards.html" target="_blank">publicação anterior</a>, onde comentei sobre as possibilidades de integração entre o
Project Online e o Microsoft Teams. Dessa vez, nosso objetivo será comunicar a
equipe de projetos, através dos <a href="https://docs.microsoft.com/en-us/adaptive-cards/" target="_blank">Adaptative Cards</a>,
sempre que um novo risco for criado em qualquer um dos projetos que façam parte
do nosso portfolio.<o:p></o:p></span></p>
<p class="MsoNormal"><b><span style="font-family: "Arial Unicode MS", sans-serif; font-size: 10.5pt; font-variant-caps: small-caps; font-variant-east-asian: normal; font-variant-numeric: normal; line-height: 115%;">Contexto e configurações iniciais</span></b><span style="font-family: "Arial",sans-serif; font-size: 10.5pt; line-height: 115%; mso-fareast-font-family: "Arial Unicode MS";"><o:p></o:p></span></p>
<span style="font-family: "Arial",sans-serif; font-size: 10.5pt; line-height: 115%; mso-ansi-language: PT-BR; mso-bidi-language: AR-SA; mso-fareast-font-family: "Arial Unicode MS"; mso-fareast-language: EN-US;">É sabido que as organizações podem configurar o
Project Online com um ou mais <a href="http://www.raphael-santos.net/2016/12/project-online-server-criando-um-site-de-projetos-modelo.html" target="_blank">modelos de site</a>, de modo a garantir que a plataforma se encarregue de criar um novo
site padronizado sempre que um novo projeto for iniciado. Para assegurar que a
automação funcione corretamente, convém criar, no modelo de site, uma nova
coluna na lista de riscos para capturar o status da automação. Essa coluna pode
ser de texto livre e, idealmente, deveria ficar oculta no formulário de
cadastro/edição de riscos, para evitar que usuários a manipulem
desnecessariamente.</span><div><span style="font-family: "Arial",sans-serif; font-size: 10.5pt; line-height: 115%; mso-ansi-language: PT-BR; mso-bidi-language: AR-SA; mso-fareast-font-family: "Arial Unicode MS"; mso-fareast-language: EN-US;"><br /></span></div><div><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgBkKq_pqtWIXwmwySbKpCH9NBdxxyvxfIv3uj3r_udkGHhk8knpNuIpW6_j6JthjwsjwUlkJ44LiAnh7m-xzKGhP3iy4Q_SJkgBaJ82dr0d7g_qodNd2USUbOpTi0IwugRWV_6gFHxXNqYswkS0IbgEVRH6TYOwksJCuRdG3qwHElWAs7AfustDZ7r/s644/000.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="644" data-original-width="563" height="640" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgBkKq_pqtWIXwmwySbKpCH9NBdxxyvxfIv3uj3r_udkGHhk8knpNuIpW6_j6JthjwsjwUlkJ44LiAnh7m-xzKGhP3iy4Q_SJkgBaJ82dr0d7g_qodNd2USUbOpTi0IwugRWV_6gFHxXNqYswkS0IbgEVRH6TYOwksJCuRdG3qwHElWAs7AfustDZ7r/w560-h640/000.png" width="560" /></a></div><div><br /></div><p class="MsoNormal"><b><span style="font-family: "Arial Unicode MS", sans-serif; font-size: 10.5pt; font-variant-caps: small-caps; font-variant-east-asian: normal; font-variant-numeric: normal; line-height: 115%;">O flow<o:p></o:p></span></b></p>
<span style="font-family: "Arial",sans-serif; font-size: 10.5pt; line-height: 115%; mso-ansi-language: PT-BR; mso-bidi-language: AR-SA; mso-fareast-font-family: "Arial Unicode MS"; mso-fareast-language: EN-US;">Criada a coluna auxiliar, vamos ao
desenvolvimento do flow. Como não é possível monitorar todos os sites
existentes no Project Online para que o gatilho do processo de automação seja
disparado sempre que um novo risco for criado, a maneira mais adequada de
organizar o processo de automação é criar um fluxo agendado, que seja disparado
diariamente e então faça a varredura de todos os sites para verificar se novos riscos
foram criados. A imagem abaixo apresenta um resumão de como o fluxo está
estruturado, mas iremos entrar em detalhe sobre cada uma das ações em seguida:</span></div><div><span style="font-family: Arial, sans-serif;"><span style="font-size: 14px;"><br /></span></span></div><div><span style="font-family: Arial, sans-serif;"><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiNhmlheIGsRHosAi6HE7KFZXYl_l8LynjDVc2j6zkjrWkVFG12NHls_DHsHK-qZx3igfKAP4Q7uE2oKVLBFnpor-YYI9pm3ceklvHbnOvXB6xCPt_YStS1OojffoVIPfPvk0-1wupG8xZ2M8BM4GEpRDelfd1OlLi4RJN9Nsi-UyhvqtHa4Ya9F1iY/s833/001.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="833" data-original-width="662" height="640" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiNhmlheIGsRHosAi6HE7KFZXYl_l8LynjDVc2j6zkjrWkVFG12NHls_DHsHK-qZx3igfKAP4Q7uE2oKVLBFnpor-YYI9pm3ceklvHbnOvXB6xCPt_YStS1OojffoVIPfPvk0-1wupG8xZ2M8BM4GEpRDelfd1OlLi4RJN9Nsi-UyhvqtHa4Ya9F1iY/w508-h640/001.png" width="508" /></a></div><br /></span><span style="font-family: "Arial",sans-serif; font-size: 10.5pt; line-height: 115%; mso-ansi-language: PT-BR; mso-bidi-language: AR-SA; mso-fareast-font-family: "Arial Unicode MS"; mso-fareast-language: EN-US;">De
início, temos o gatilho do fluxo. No meu exemplo, estou disparando a automação
de modo manual, mas é claro que a maneira mais conveniente seria através de um gatilho
agendado para acontecer diariamente. Em seguida, duas variáveis são iniciadas
para que seja possível capturar a URL do ambiente do Project Online e também a URL exclusiva de cada site para qual o
processo de automação será aplicado. O próximo passo irá utilizar a já consagrada
ação <b>Send an HTTP Request to SharePoint</b> para escanear todos os projetos
disponíveis no Project Online, assim como os endereços (URLs) dos seus
respectivos sites:</span></div><div><span style="font-family: Arial, sans-serif;"><span style="font-size: 14px;"><br /></span></span></div><div><span style="font-family: Arial, sans-serif;"><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjKng9tbz9lUpUpkbJX4rY5px7v6FpOslAqYlRJA_XxxWxCEUpnSjSaUf0wSPr7KTTWouMz5kPL-XiUGr5IaTSMNKjVbYZQwHp7TIGPSfxu-DxkRJqr-hUbNO7ao_mk9IeKDHiXlCZd4lBkVhju_EEoyqSFgFk6uBmHipnshwE9BFDtRFQxJDzrzJYh/s688/002.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="688" data-original-width="637" height="640" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjKng9tbz9lUpUpkbJX4rY5px7v6FpOslAqYlRJA_XxxWxCEUpnSjSaUf0wSPr7KTTWouMz5kPL-XiUGr5IaTSMNKjVbYZQwHp7TIGPSfxu-DxkRJqr-hUbNO7ao_mk9IeKDHiXlCZd4lBkVhju_EEoyqSFgFk6uBmHipnshwE9BFDtRFQxJDzrzJYh/w592-h640/002.png" width="592" /></a></div><div><span style="font-family: Arial, sans-serif;"><br /></span></div></span><p class="MsoNormal"><span style="font-family: "Arial",sans-serif; font-size: 10.5pt; line-height: 115%; mso-fareast-font-family: "Arial Unicode MS";">A partir daí lançamos
mão da ação <b>Apply to each</b>, pois a varredura na lista de riscos deve acontecer
para cada um dos projetos encontrados. As instruções utilizadas foram:<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-family: "Arial",sans-serif; font-size: 10.5pt; line-height: 115%; mso-fareast-font-family: "Arial Unicode MS";">Em Apply to
each, na área <i>Select an output from previous steps</i>:<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-family: "Georgia",serif; font-size: 12.0pt; line-height: 115%; mso-bidi-font-family: "Arial Unicode MS"; mso-fareast-font-family: "Arial Unicode MS";">Body('Get_Projects')?['value']<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-family: "Arial",sans-serif; font-size: 10.5pt; line-height: 115%; mso-fareast-font-family: "Arial Unicode MS";">Em <i>Site
Address</i>:<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-family: "Georgia",serif; font-size: 12.0pt; line-height: 115%; mso-bidi-font-family: "Arial Unicode MS"; mso-fareast-font-family: "Arial Unicode MS";">Items('Apply_to_each')?[ 'ProjectWorkspaceInternalUrl']</span><span style="font-family: "Arial",sans-serif; font-size: 10.5pt; line-height: 115%; mso-fareast-font-family: "Arial Unicode MS";"><o:p></o:p></span></p>
<span style="font-family: "Arial",sans-serif; font-size: 10.5pt; line-height: 115%; mso-ansi-language: PT-BR; mso-bidi-language: AR-SA; mso-fareast-font-family: "Arial Unicode MS"; mso-fareast-language: EN-US;">É importante também notar que um filtro está
sendo aplicado à consulta, de modo a obter apenas os riscos para os quais a
coluna auxiliar <b>Status Automação</b> não seja igual a (ne) ‘Processado’:</span></div><div><span style="font-family: Arial, sans-serif;"><span style="font-size: 14px;"><br /></span></span></div><div><span style="font-family: Arial, sans-serif;"><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiVTfkxGTUJKTpjKhrxIo9pWKx4Z8i7Wr2AtftC4HrJ7QzIov0S8ebkv-nBRfL9sAP2Gw2X-lpiCtWSqxr1Z6TLECNTffMATcoRgKK3uDT5zQd9VVMaWlWPhFT5VVTjX0jzQ7bo78YyZOlmZ_IDbgo9kLhFg6VjTI9MwPXQ38vMhyZ7_F6lRZDDhoMd/s852/003.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="852" data-original-width="663" height="640" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiVTfkxGTUJKTpjKhrxIo9pWKx4Z8i7Wr2AtftC4HrJ7QzIov0S8ebkv-nBRfL9sAP2Gw2X-lpiCtWSqxr1Z6TLECNTffMATcoRgKK3uDT5zQd9VVMaWlWPhFT5VVTjX0jzQ7bo78YyZOlmZ_IDbgo9kLhFg6VjTI9MwPXQ38vMhyZ7_F6lRZDDhoMd/w498-h640/003.png" width="498" /></a></div><div><span style="font-family: Arial, sans-serif;"><br /></span></div></span><p class="MsoNormal"><span style="font-family: "Arial",sans-serif; font-size: 10.5pt; line-height: 115%; mso-fareast-font-family: "Arial Unicode MS";">Uma vez obtidos
todos os riscos que ainda não foram processados no site de projetos em questão,
a variável <b>Project Site URL</b> está sendo definida com o endereço do site
(ou seja, nesse momento é definida a URL do site do contexto para o qual o
processo de automação está sendo processado).<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-family: "Arial",sans-serif; font-size: 10.5pt; line-height: 115%; mso-fareast-font-family: "Arial Unicode MS";">Em seguida, temos
uma nova ação <b>Apply to each</b>. Essa ação é necessária porque, em cada um
dos sites analisados, podemos ter um ou mais riscos que ainda não foram
processados pela automação – e, dessa forma, para cada um desses registros o
processo deverá acontecer. Dentro do <b>Apply to each 2</b>, a instrução
utilizada foi:<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-family: "Georgia",serif; font-size: 12.0pt; line-height: 115%; mso-bidi-font-family: "Arial Unicode MS"; mso-fareast-font-family: "Arial Unicode MS";">Body('Get_Risks')?['value']<o:p></o:p></span></p>
<span style="font-family: "Arial",sans-serif; font-size: 10.5pt; line-height: 115%; mso-ansi-language: PT-BR; mso-bidi-language: AR-SA; mso-fareast-font-family: "Arial Unicode MS"; mso-fareast-language: EN-US;">Assim, uma postagem utilizando os adaptative
cards é realizada no Microsoft Teams para garantir que os membros do PMO e
demais interessados sejam informados de que um novo risco foi criado:</span></div><div><span style="font-family: Arial, sans-serif;"><span style="font-size: 14px;"><br /></span></span></div><div><span style="font-family: Arial, sans-serif;"><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgk1LYH0d44QodnDOVgfTXDTLfgVVldPo958CXSCHjD4UKxDt0B_lT31DHcYWVO07MedQqB-h0KNv8A_DXUC1rzV4OEbBkR7TvYTAB6uDsIGYmcnh761L-shSPRwE40ZjtkNxsIphN2BPMvhYE0AbhtAGUKubJDFrwYE6sujGGjC5M_kXUPeWDT43E0/s872/004.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="872" data-original-width="690" height="640" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgk1LYH0d44QodnDOVgfTXDTLfgVVldPo958CXSCHjD4UKxDt0B_lT31DHcYWVO07MedQqB-h0KNv8A_DXUC1rzV4OEbBkR7TvYTAB6uDsIGYmcnh761L-shSPRwE40ZjtkNxsIphN2BPMvhYE0AbhtAGUKubJDFrwYE6sujGGjC5M_kXUPeWDT43E0/w506-h640/004.png" width="506" /></a></div><div><span style="font-family: Arial, sans-serif;"><br /></span></div></span><span style="font-family: "Arial",sans-serif; font-size: 10.5pt; line-height: 115%; mso-ansi-language: PT-BR; mso-bidi-language: AR-SA; mso-fareast-font-family: "Arial Unicode MS"; mso-fareast-language: EN-US;">Logo
após a publicação no Teams informando sobre a criação do novo risco, é
necessário utilizar novamente a ação <b>Send an HTTP Request to SharePoint</b>
para atualizar a coluna auxiliar <b>Status Automação</b>, informando-a de que
esse risco específico não mais precisa ser processado na automação na próxima
vez em que ela for disparada:</span></div><div><span style="font-family: Arial, sans-serif;"><span style="font-size: 14px;"><br /></span></span></div><div><span style="font-family: Arial, sans-serif;"><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgJXZk3HMI39PBPUULysLyHOv5BXXD756Mfv7o-xReo3rWrYEUh_4OBae5UPgaadF_GK0IpCuDJHi2Fld8Vt2ZZ62rzWU1JOf7ZLrbHvQ1QPZY37iGdQe50W1lQiqalbyS1mwGs4bmhGIqwOdh8Rdv079VAiYW9GKRIGbVe25HPkuatu7Yq-pcyseKN/s697/005.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="697" data-original-width="654" height="640" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgJXZk3HMI39PBPUULysLyHOv5BXXD756Mfv7o-xReo3rWrYEUh_4OBae5UPgaadF_GK0IpCuDJHi2Fld8Vt2ZZ62rzWU1JOf7ZLrbHvQ1QPZY37iGdQe50W1lQiqalbyS1mwGs4bmhGIqwOdh8Rdv079VAiYW9GKRIGbVe25HPkuatu7Yq-pcyseKN/w600-h640/005.png" width="600" /></a></div><div><span style="font-family: Arial, sans-serif;"><br /></span></div></span><p class="MsoNormal"><span style="font-family: "Arial",sans-serif; font-size: 10.5pt; line-height: 115%; mso-fareast-font-family: "Arial Unicode MS";">Note que essa é
uma ação bem específica, que não está sendo aplicada no contexto do Project
Online, mas sim do próprio SharePoint (pois não é algo que está alterando uma
propriedade do projeto, mas sim do risco, que pertence a um site de
SharePoint). <o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-family: "Arial",sans-serif; font-size: 10.5pt; line-height: 115%; mso-fareast-font-family: "Arial Unicode MS";">A ação permite
fazer uma chamada ao site do projeto, procurando especificamente pela lista de
riscos e, dentro dessa lista, pelo ID do risco que está sendo atualizado:<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-family: "Georgia",serif; font-size: 12.0pt; line-height: 115%; mso-bidi-font-family: "Arial Unicode MS"; mso-fareast-font-family: "Arial Unicode MS";">items('Apply_to_each_2')?['ID']</span><span style="font-family: "Arial",sans-serif; font-size: 10.5pt; line-height: 115%; mso-fareast-font-family: "Arial Unicode MS";"><o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-family: "Arial",sans-serif; font-size: 10.5pt; line-height: 115%; mso-fareast-font-family: "Arial Unicode MS";">Em seguida, na área
de body, é passada a instrução para atualizar a coluna <b>Status Automação</b>:</span><span style="font-family: Arial, sans-serif; font-size: 10.5pt;"> </span></p>
<p class="MsoNormal"><span style="font-family: "Georgia",serif; font-size: 12.0pt; line-height: 115%; mso-bidi-font-family: "Arial Unicode MS"; mso-fareast-font-family: "Arial Unicode MS";">{<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-family: "Georgia",serif; font-size: 12.0pt; line-height: 115%; mso-bidi-font-family: "Arial Unicode MS"; mso-fareast-font-family: "Arial Unicode MS";">"__metadata": {<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-family: "Georgia",serif; font-size: 12.0pt; line-height: 115%; mso-bidi-font-family: "Arial Unicode MS"; mso-fareast-font-family: "Arial Unicode MS";">"type": "SP.Data.RisksListItem"<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-family: "Georgia",serif; font-size: 12.0pt; line-height: 115%; mso-bidi-font-family: "Arial Unicode MS"; mso-fareast-font-family: "Arial Unicode MS";">},<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-family: "Georgia",serif; font-size: 12.0pt; line-height: 115%; mso-bidi-font-family: "Arial Unicode MS"; mso-fareast-font-family: "Arial Unicode MS";">"Status_x0020_Automa_x00e7_x00e3": "Processado"<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-family: "Georgia",serif; font-size: 12.0pt; line-height: 115%; mso-bidi-font-family: "Arial Unicode MS"; mso-fareast-font-family: "Arial Unicode MS";">}<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-family: "Arial",sans-serif; font-size: 10.5pt; line-height: 115%; mso-fareast-font-family: "Arial Unicode MS";">...........................................................................................................................................<o:p></o:p></span></p>
<span style="font-family: "Arial",sans-serif; font-size: 10.5pt; line-height: 115%; mso-ansi-language: PT-BR; mso-bidi-language: AR-SA; mso-fareast-font-family: "Arial Unicode MS"; mso-fareast-language: EN-US;">Assim, quando um novo risco for criado, a
postagem será feita no canal especificado no Microsoft Teams:</span></div><div><span style="font-family: Arial, sans-serif;"><span style="font-size: 14px;"><br /></span></span></div><div><span style="font-family: Arial, sans-serif;"><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhMtgyfU5Du2lAJbZtn-y17J9D6BcRRxMwpuoFbMt5DlBI-vQ-cklFQVtXp35R8TFlxsVk9LwWqu0tYH-VsRCyze1WFOiah40p-SH3-kIQFWMJjmxq5KS--Wbr1HMsEsgsTRPfxseRBBwXrxM9AOT7mWiWN1uvHhtWHF4JfJIUSODhzbWfL56cIAM8v/s559/007.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="379" data-original-width="559" height="271" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhMtgyfU5Du2lAJbZtn-y17J9D6BcRRxMwpuoFbMt5DlBI-vQ-cklFQVtXp35R8TFlxsVk9LwWqu0tYH-VsRCyze1WFOiah40p-SH3-kIQFWMJjmxq5KS--Wbr1HMsEsgsTRPfxseRBBwXrxM9AOT7mWiWN1uvHhtWHF4JfJIUSODhzbWfL56cIAM8v/w400-h271/007.png" width="400" /></a></div></span><p class="MsoNormal"><span style="font-family: "Arial",sans-serif; font-size: 10.5pt; line-height: 115%; mso-fareast-font-family: "Arial Unicode MS";">....................................................................................................<o:p></o:p></span></p>
<span style="font-family: "Arial",sans-serif; font-size: 10.5pt; line-height: 115%; mso-ansi-language: PT-BR; mso-bidi-language: AR-SA; mso-fareast-font-family: "Arial Unicode MS"; mso-fareast-language: EN-US;">E por hoje é só pessoal. Espero que gostem desse
post, e até o próximo!</span><span style="font-family: Arial, sans-serif;"><span style="font-size: 14px;"><br /></span></span><span style="font-family: "Arial",sans-serif; font-size: 10.5pt; line-height: 115%; mso-ansi-language: PT-BR; mso-bidi-language: AR-SA; mso-fareast-font-family: "Arial Unicode MS"; mso-fareast-language: EN-US;"><br /></span></div>Raphael Santoshttp://www.blogger.com/profile/15872319796376300645noreply@blogger.com0tag:blogger.com,1999:blog-6645005980317067979.post-10332357965298692702022-04-17T19:22:00.000-03:002022-04-17T19:22:05.487-03:00Como publicar os projetos sem realizar o seu check in?<p> <span style="font-family: Arial, sans-serif; font-size: 10.5pt;">Olá pessoal –</span></p>
<p class="MsoNormal"><span style="font-family: "Arial",sans-serif; font-size: 10.5pt; line-height: 115%; mso-fareast-font-family: "Arial Unicode MS";">Efetuar check out
e check in nos projetos é uma situação corriqueira no processo de automação do
Project Online através do Power Automate. Inclusive, </span><a href="http://www.raphael-santos.net/2022/03/como-forcar-o-check-in-de-projetos.html" target="_blank"><span style="font-family: "Arial",sans-serif; font-size: 10.5pt; line-height: 115%; mso-fareast-font-family: "Arial Unicode MS";">em um dos meus posts mais recentes</span></a><span style="font-family: "Arial",sans-serif; font-size: 10.5pt; line-height: 115%; mso-fareast-font-family: "Arial Unicode MS";">, procurei explicar como é possível
forçar o check in de projetos que estejam bloqueados pelos gerentes.<o:p></o:p></span></p>
<span style="font-family: "Arial",sans-serif; font-size: 10.5pt; line-height: 115%; mso-ansi-language: PT-BR; mso-bidi-language: AR-SA; mso-fareast-font-family: "Arial Unicode MS"; mso-fareast-language: EN-US;">No post de hoje vamos discutir como configurar
as ações dentro do Power Automate para publicar um projeto sem necessariamente
fazer o seu check in. Essa necessidade surgiu a partir de uma solução de
negócios desenvolvida para permitir que usuários utilizassem outra plataforma
que não o Project Online (nesse caso específico, um aplicativo criado no Power
Apps) para atualizar as suas tarefas. Em resumo, o aplicativo deveria funcionar
da seguinte forma:</span><div><span style="font-family: "Arial",sans-serif; font-size: 10.5pt; line-height: 115%; mso-ansi-language: PT-BR; mso-bidi-language: AR-SA; mso-fareast-font-family: "Arial Unicode MS"; mso-fareast-language: EN-US;"><p class="MsoNormal"></p><ol style="text-align: left;"><li><span style="font-size: 10.5pt; line-height: 115%;">Semanalmente,
usuários deveriam acessar o aplicativo e lançar as horas trabalhadas (trabalho
real) em tarefas dentro deste período</span></li><li><span style="font-size: 10.5pt; line-height: 115%;">Adicionalmente,
caso houvesse algum ajuste a ser realizado no trabalho restante, a informação
também seria lançada dentro do aplicativo</span></li><li><span style="font-size: 10.5pt; line-height: 115%;">Por sua vez, o
Power Automate deveria capturar as horas reais e atualizá-las de volta no
Project Online, em cada tarefa específica. Além disso, caso o trabalho restante
também tivesse sido alterado, o novo montante de horas também deveria ser
computado</span></li></ol><p></p>
<span style="font-size: 10.5pt; line-height: 115%;">Para garantir a melhor eficiência possível no
processo de automação, a melhor alternativa é agrupar as tarefas a serem
atualizadas por projeto. Assim, o projeto é acessado e colocado em check out;
em seguida, para cada tarefa específica dentro daquele projeto, os valores são
respectivamente atualizados; e, por fim, o check in e a publicação do projeto
são realizados para que o processo continue e siga ao próximo projeto da lista.</span></span></div><div><span style="font-family: "Arial",sans-serif; font-size: 10.5pt; line-height: 115%; mso-ansi-language: PT-BR; mso-bidi-language: AR-SA; mso-fareast-font-family: "Arial Unicode MS"; mso-fareast-language: EN-US;"><span style="font-size: 10.5pt; line-height: 115%;"><p class="MsoNormal"><span style="font-size: 10.5pt; line-height: 115%;">Porém (e sempre
parece haver um porém </span><span style="font-family: "Segoe UI Emoji",sans-serif; font-size: 10.5pt; line-height: 115%; mso-ascii-font-family: Arial; mso-bidi-font-family: Arial; mso-char-type: symbol-ext; mso-fareast-font-family: "Arial Unicode MS"; mso-hansi-font-family: Arial; mso-symbol-font-family: "Segoe UI Emoji";">😕</span><span style="font-size: 10.5pt; line-height: 115%;">), as coisas não são tão simples
assim. Acontece que, uma vez que o projeto esteja em check out, é possível
realizar apenas uma ação de cada vez. Em outras palavras, primeiro é necessário
atualizar o trabalho real para que só então seja possível atualizar o trabalho
restante. Dessa forma, caso duas atualizações aconteçam sem que o projeto tenha
sido publicado, apenas a última é a que irá efetivamente valer.<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-size: 10.5pt; line-height: 115%;">Tal situação
acontece porque o banco de dados do Project Online precisa que a alteração
inicial (atualização do trabalho real) seja processada e atualizada, para que
assim o trabalho restante seja recalculado e validado internamente pelo
mecanismo de agendamento da plataforma. Só quando esse processo estiver
concluído é que será possível ajustar o valor do trabalho restante através do
processo de automação, sem que haja perdas nas informações anteriormente
inseridas no trabalho real.<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-size: 10.5pt; line-height: 115%;">Dessa forma, a
única maneira de processar e atualizar as informações no Project Online é através
da publicação do projeto – ou seja, quando o processo de automação atualiza o
trabalho real, o projeto deve ser publicado para que só então o trabalho
restante possa ser ajustado. O problema que encontramos nesse ponto específico
é que o </span><a href="https://docs.microsoft.com/en-us/connectors/projectonline/#checkin-and-publish-project" target="_blank"><span style="font-size: 10.5pt; line-height: 115%;">conector nativo</span></a><span style="font-size: 10.5pt; line-height: 115%;"> do Project Online no Power
Automate é configurado para não só publicar, mas também efetuar o check in do
projeto. Assim, caso o projeto fosse publicado e o seu check in fosse efetuado,
o processo de automação perderia em eficiência, pois seria necessário efetuar
outro processo de check out no mesmo projeto para que então o ajuste no
trabalho restante pudesse ocorrer.<o:p></o:p></span></p>
<p class="MsoNormal"><b><span style="font-family: "Arial Unicode MS", sans-serif; font-size: 10.5pt; font-variant-caps: small-caps; font-variant-east-asian: normal; font-variant-numeric: normal; line-height: 115%;">Como garantir a eficiência no processo<o:p></o:p></span></b></p>
<span style="font-size: 10.5pt; line-height: 115%;">Para resolver o problema e manter a melhor
eficiência possível no processo de automação, podemos utilizar a API do
SharePoint </span><span style="font-family: "Calibri",sans-serif; font-size: 11.0pt; line-height: 115%; mso-ansi-language: PT-BR; mso-ascii-theme-font: minor-latin; mso-bidi-font-family: "Times New Roman"; mso-bidi-language: AR-SA; mso-bidi-theme-font: minor-bidi; mso-fareast-font-family: Calibri; mso-fareast-language: EN-US; mso-fareast-theme-font: minor-latin; mso-hansi-theme-font: minor-latin;"><a href="http://www.raphael-santos.net/2019/10/flow-e-project-online-enviando-uma-solicitacao-http-ao-sharepoint.html" target="_blank"><span style="font-family: "Arial",sans-serif; font-size: 10.5pt; line-height: 115%; mso-fareast-font-family: "Arial Unicode MS";">Send an HTTP Request to SharePoint</span></a></span><span style="font-size: 10.5pt; line-height: 115%;">, tantas vezes já mencionada em posts anteriores
aqui no blog. Veja o processo abaixo:</span></span></span></div><div><span style="font-family: "Arial",sans-serif; font-size: 10.5pt; line-height: 115%; mso-ansi-language: PT-BR; mso-bidi-language: AR-SA; mso-fareast-font-family: "Arial Unicode MS"; mso-fareast-language: EN-US;"><span style="font-size: 10.5pt; line-height: 115%;"><span style="font-size: 10.5pt; line-height: 115%;"><br /></span></span></span></div><div><span style="font-family: "Arial",sans-serif; font-size: 10.5pt; line-height: 115%; mso-ansi-language: PT-BR; mso-bidi-language: AR-SA; mso-fareast-font-family: "Arial Unicode MS"; mso-fareast-language: EN-US;"><span style="font-size: 10.5pt; line-height: 115%;"><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiAMZvYPD4m8inKsx_GYS-KvV5OZiX0uBVHLdV1GSpdDeynbOAM3NK0F8yywvL5u5OTMT08lc9CpW6PYjKsabff0kl6PTHm2ucgdMWBblVM37XdVGLBR12O89Yi2tQ3eWq3BgzJISyCaR1m88KI0GBnVOmAhMzZmX8-AVdQaiARYKD8amwg7uXpZY0Z/s844/0001.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="844" data-original-width="659" height="640" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiAMZvYPD4m8inKsx_GYS-KvV5OZiX0uBVHLdV1GSpdDeynbOAM3NK0F8yywvL5u5OTMT08lc9CpW6PYjKsabff0kl6PTHm2ucgdMWBblVM37XdVGLBR12O89Yi2tQ3eWq3BgzJISyCaR1m88KI0GBnVOmAhMzZmX8-AVdQaiARYKD8amwg7uXpZY0Z/w500-h640/0001.png" width="500" /></a></div><div><span style="font-family: "Arial",sans-serif; font-size: 10.5pt; line-height: 115%; mso-ansi-language: PT-BR; mso-bidi-language: AR-SA; mso-fareast-font-family: "Arial Unicode MS"; mso-fareast-language: EN-US;"><span style="font-size: 10.5pt; line-height: 115%;"><br /></span></span></div><span style="font-size: 10.5pt; line-height: 115%;">Temos
aqui 8 passos:</span></span></span></div><div><span style="font-family: "Arial",sans-serif; font-size: 10.5pt; line-height: 115%; mso-ansi-language: PT-BR; mso-bidi-language: AR-SA; mso-fareast-font-family: "Arial Unicode MS"; mso-fareast-language: EN-US;"><span style="font-size: 10.5pt; line-height: 115%;"><p class="MsoNormal"></p><ol style="text-align: left;"><li><span style="font-size: 10.5pt; line-height: 115%;">A variável Id do
projeto é capturada, com base em ações anteriores do fluxo</span></li><li><span style="font-size: 10.5pt; line-height: 115%;">O check in do
projeto é forçado (</span><a href="http://www.raphael-santos.net/2022/03/como-forcar-o-check-in-de-projetos.html" target="_blank"><span style="font-size: 10.5pt; line-height: 115%;">conforme explicado aqui</span></a><span style="font-size: 10.5pt; line-height: 115%;">)<o:p></o:p></span></li><li><span style="font-size: 10.5pt; line-height: 115%;">O check out do
projeto é realizado, utilizando o conector nativo do Project Online para o
Power Automate</span></li><li><span style="font-size: 10.5pt; line-height: 115%;">As ações de
atualização do trabalho real são realizadas para as tarefas, no contexto do
projeto atual</span></li><li><b><span style="font-size: 10.5pt; line-height: 115%;">Aqui
é que está o pulo do gato</span></b><span style="font-size: 10.5pt; line-height: 115%;">
</span><span style="font-family: "Segoe UI Emoji",sans-serif; mso-ascii-font-family: Calibri; mso-ascii-theme-font: minor-latin; mso-char-type: symbol-ext; mso-hansi-font-family: Calibri; mso-hansi-theme-font: minor-latin; mso-symbol-font-family: "Segoe UI Emoji";">⚠</span><span style="font-size: 10.5pt; line-height: 115%;">. Ao
invés de utilizar o conector nativo do Project Online que publica e efetua o
check in do projeto, utilizamos a API do SharePoint para efetuar apenas a sua
publicação, sem realizar o check in. Isso garante que o projeto continue aberto,
permitindo que outras atualizações possam continuar a ser feitas no contexto do
projeto específico. Além disso, essa ação também garante que as atualizações no
trabalho real sejam devidamente processadas e atualizadas para que então os
respectivos ajustes no trabalho restante possam acontecer<o:p></o:p></span></li><li><span style="font-size: 10.5pt; line-height: 115%;">A próxima ação
aplica um delay de 10 segundos, apenas por segurança. Estamos aqui dando um
fôlego para que o Project Online possa processar as informações adequadamente
(junto à publicação) antes de enviar a próxima leva de atualizações</span></li><li><span style="font-size: 10.5pt; line-height: 115%;">Aqui, estamos
tomando conta de atualizar o trabalho restante para as tarefas do projeto, conforme
apropriado</span></li><li><span style="font-size: 10.5pt; line-height: 115%;">Por fim, quando
todas as atualizações estiverem devidamente processadas, podemos finalmente utilizar
o conector nativo do Project Online para publicar o projeto e realizar o seu
check in</span></li></ol><p></p>
<span style="font-size: 10.5pt; line-height: 115%;">A imagem abaixo detalha toda a configuração que
precisa ser realizada para que a publicação do projeto possa acontecer:</span></span></span></div><div><span style="font-family: "Arial",sans-serif; font-size: 10.5pt; line-height: 115%; mso-ansi-language: PT-BR; mso-bidi-language: AR-SA; mso-fareast-font-family: "Arial Unicode MS"; mso-fareast-language: EN-US;"><span style="font-size: 10.5pt; line-height: 115%;"><span style="font-size: 10.5pt; line-height: 115%;"><br /></span></span></span></div><div><span style="font-family: "Arial",sans-serif; font-size: 10.5pt; line-height: 115%; mso-ansi-language: PT-BR; mso-bidi-language: AR-SA; mso-fareast-font-family: "Arial Unicode MS"; mso-fareast-language: EN-US;"><span style="font-size: 10.5pt; line-height: 115%;"><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj5Gs37YOegRWES09u98Z8I5C1hbU3Hc0ailmrv8D262UolrDsZvi7rP86vfeZ0jdZ65WTP3AuKy6t28k5P--UwJUldpO31a9Hg14Mlv02ak94FR5ABrbRW8KhF938oP-TT_e0z_7wEQj4zw4U5-YwMBzcyyDRXPvzbHpg5ElgtIibY91IoNBsbJSDU/s754/0002.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="754" data-original-width="656" height="640" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj5Gs37YOegRWES09u98Z8I5C1hbU3Hc0ailmrv8D262UolrDsZvi7rP86vfeZ0jdZ65WTP3AuKy6t28k5P--UwJUldpO31a9Hg14Mlv02ak94FR5ABrbRW8KhF938oP-TT_e0z_7wEQj4zw4U5-YwMBzcyyDRXPvzbHpg5ElgtIibY91IoNBsbJSDU/w556-h640/0002.png" width="556" /></a></div><div><span style="font-size: 10.5pt;"><br /></span></div><div><span style="font-size: 10.5pt;">...........................................................................................................................................</span></div>
<p class="MsoNormal"><span style="font-size: 10.5pt; line-height: 115%;">É isso aí,
espero que tenha gostado e <i>happy automation</i> </span><span style="font-family: "Segoe UI Emoji",sans-serif; font-size: 10.5pt; line-height: 115%; mso-ascii-font-family: Arial; mso-bidi-font-family: Arial; mso-char-type: symbol-ext; mso-fareast-font-family: "Arial Unicode MS"; mso-hansi-font-family: Arial; mso-symbol-font-family: "Segoe UI Emoji";">😉</span><span style="font-size: 10.5pt; line-height: 115%;"><o:p></o:p></span></p>
<span style="font-size: 10.5pt; line-height: 115%;">Um abraço e até o próximo post!</span></span></span></div>Raphael Santoshttp://www.blogger.com/profile/15872319796376300645noreply@blogger.com0tag:blogger.com,1999:blog-6645005980317067979.post-89737675608024318012022-03-31T19:56:00.006-03:002022-03-31T19:56:54.558-03:00Integração do Project Online com o Microsoft Teams - Adaptative Cards<p> <span style="font-family: Arial, sans-serif; font-size: 10.5pt;">Olá pessoal –</span></p>
<p class="MsoNormal"><span style="font-family: "Arial",sans-serif; font-size: 10.5pt; line-height: 115%; mso-fareast-font-family: "Arial Unicode MS";">Por aqui
continuamos a todo vapor na exploração de soluções automatizadas que permitam
às equipes trabalhar de maneira mais produtiva, com o objetivo de facilitar a
comunicação e a colaboração, tornando o gerenciamento de projetos mais eficaz e
inteligente.<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-family: "Arial",sans-serif; font-size: 10.5pt; line-height: 115%; mso-fareast-font-family: "Arial Unicode MS";">Atualmente, um
número muito grande de organizações utiliza o Microsoft Teams para possibilitar
que as diferentes equipes de trabalho possam se comunicar e colaborar de maneira
simples e eficiente, e por muitas vezes há o desejo de que tal cenário possa
ser, de certa forma, estendido à gestão de projetos disponível na plataforma
PPM – uma vez que os recursos e funcionalidades padrão do Teams não possuem uma
integração nativa com o Project Online.<o:p></o:p></span></p>
<span style="font-family: "Arial",sans-serif; font-size: 10.5pt; line-height: 115%; mso-ansi-language: PT-BR; mso-bidi-language: AR-SA; mso-fareast-font-family: "Arial Unicode MS"; mso-fareast-language: EN-US;">Para dar início à exploração das possibilidades
de integração entre o Project Online e o Microsoft Teams, decidi começar pelos <a href="https://docs.microsoft.com/en-us/adaptive-cards/" target="_blank">Adaptative Cards</a>: de
maneira bem resumida, eles são cartões abertos que podem ser formatados para
exibir informações nos mais variados formatos, a depender das necessidades
apresentadas. Para conhecer um pouco mais sobre os adaptative cards, sugiro que
você dê uma olhada na <a href="https://adaptivecards.io/samples/ActivityUpdate.html" target="_blank">galeria de exemplos e templates</a> disponibilizada pela Microsoft. Você encontrará coisas muito legais
</span><span style="font-family: "Segoe UI Emoji",sans-serif; font-size: 10.5pt; line-height: 115%; mso-ansi-language: PT-BR; mso-ascii-font-family: Arial; mso-bidi-font-family: Arial; mso-bidi-language: AR-SA; mso-char-type: symbol-ext; mso-fareast-font-family: "Arial Unicode MS"; mso-fareast-language: EN-US; mso-hansi-font-family: Arial; mso-symbol-font-family: "Segoe UI Emoji";">😎</span><div><span style="font-family: "Segoe UI Emoji",sans-serif; font-size: 10.5pt; line-height: 115%; mso-ansi-language: PT-BR; mso-ascii-font-family: Arial; mso-bidi-font-family: Arial; mso-bidi-language: AR-SA; mso-char-type: symbol-ext; mso-fareast-font-family: "Arial Unicode MS"; mso-fareast-language: EN-US; mso-hansi-font-family: Arial; mso-symbol-font-family: "Segoe UI Emoji";"><br /></span></div><div><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEii_rt1tT5nb2P_Z0NvRLQirhLqKKj90wjS7uKMp6_wIeBjARV0cEe55A31iHOROxk-f3W66xBPOmsKoV6-YV7Bho3ka0IOv9Aed9W-quPGZnaR-RR7-D_fPlmqQ8jbLcCUa9TTMYebL8zLNmIEUeoHKWIPsYOlIKY6ghBPWa26kYNDExEuLpfFvwLc/s1383/adaptative_cards_000.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="722" data-original-width="1383" height="334" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEii_rt1tT5nb2P_Z0NvRLQirhLqKKj90wjS7uKMp6_wIeBjARV0cEe55A31iHOROxk-f3W66xBPOmsKoV6-YV7Bho3ka0IOv9Aed9W-quPGZnaR-RR7-D_fPlmqQ8jbLcCUa9TTMYebL8zLNmIEUeoHKWIPsYOlIKY6ghBPWa26kYNDExEuLpfFvwLc/w640-h334/adaptative_cards_000.png" width="640" /></a></div><div><br /></div><p class="MsoNormal"><span style="font-family: "Arial",sans-serif; font-size: 10.5pt; line-height: 115%; mso-fareast-font-family: "Arial Unicode MS";">A ideia aqui é começar
pelo básico: na minha empresa fictícia foi criado um novo time no Microsoft
Teams, com o objetivo de que seja utilizado pelos membros do escritório de
projetos, gerentes de projetos e demais interessados para troca de informações,
aconselhamento e esclarecimento de dúvidas, armazenamento dos modelos
utilizados pelas equipes (documentos, planilhas, apresentações e etc.), disponibilização
de processos, procedimentos e treinamentos e todos os demais aspectos e
artefatos que estejam relacionados à gestão de projetos na organização.<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-family: "Arial",sans-serif; font-size: 10.5pt; line-height: 115%; mso-fareast-font-family: "Arial Unicode MS";">Dessa forma,
nosso objetivo será o de desenvolver um fluxo automatizado no Power Automate
para que uma publicação seja feita no Microsoft Teams (através de um adaptive
card) sempre que um novo projeto for criado no Project Online.<o:p></o:p></span></p>
<p class="MsoNormal"><b><span style="font-family: "Arial Unicode MS", sans-serif; font-size: 10.5pt; font-variant-caps: small-caps; font-variant-east-asian: normal; font-variant-numeric: normal; line-height: 115%;">O flow<o:p></o:p></span></b></p>
<span style="font-family: "Arial",sans-serif; font-size: 10.5pt; line-height: 115%; mso-ansi-language: PT-BR; mso-bidi-language: AR-SA; mso-fareast-font-family: "Arial Unicode MS"; mso-fareast-language: EN-US;">O flow é relativamente simples: assim que um
novo projeto for criado, algumas informações devem ser coletadas e um novo post
deve ser feito no Microsoft Teams:</span></div><div><span style="font-family: Arial, sans-serif;"><span style="font-size: 14px;"><br /></span></span></div><div><span style="font-family: Arial, sans-serif;"><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgRvhjfSJLzaiaId3FH7bG1e8bh88cdhKi8OmmwajtdIh3Rg5NJyuLSTwwsSKYCOS_Mhd1jW6sQ6-Hr0MPrCUER74WKbQnj_PXZqu6d-ybtp3tUyhDaAzQYQ337PBqhbyyB-jc8xnV9eSwHhM8d41K9ktwv3QZYkRi2C9BJ5h_wPOI19IW3nUy83Fsq/s627/adaptative_cards_001.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="515" data-original-width="627" height="526" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgRvhjfSJLzaiaId3FH7bG1e8bh88cdhKi8OmmwajtdIh3Rg5NJyuLSTwwsSKYCOS_Mhd1jW6sQ6-Hr0MPrCUER74WKbQnj_PXZqu6d-ybtp3tUyhDaAzQYQ337PBqhbyyB-jc8xnV9eSwHhM8d41K9ktwv3QZYkRi2C9BJ5h_wPOI19IW3nUy83Fsq/w640-h526/adaptative_cards_001.png" width="640" /></a></div><div><span style="font-family: Arial, sans-serif;"><br /></span></div></span><p class="MsoNormal"><span style="font-family: "Arial",sans-serif; font-size: 10.5pt; line-height: 115%; mso-fareast-font-family: "Arial Unicode MS";">Para começar,
utilizei o gatilho nativo do Project Online <b>When a new project is created</b>.
Em seguida, mais duas ações: a) iniciar uma variável para capturar a URL do
ambiente do PWA; b) uma pausa de 30 segundos, para garantir que todas as
informações tenham sido processadas adequadamente antes de efetivamente postar
a mensagem no Teams.<o:p></o:p></span></p>
<span style="font-family: "Arial",sans-serif; font-size: 10.5pt; line-height: 115%; mso-ansi-language: PT-BR; mso-bidi-language: AR-SA; mso-fareast-font-family: "Arial Unicode MS"; mso-fareast-language: EN-US;">Em seguida utilizei a ação <b>Send an HTTP
request to SharePoint</b>, da qual já falei inúmeras vezes aqui no blog, para
capturar as informações do projeto recém criado:</span></div><div><span style="font-family: Arial, sans-serif;"><span style="font-size: 14px;"><br /></span></span></div><div><span style="font-family: Arial, sans-serif;"><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjV5USwBk-yHrPoHAdCIpygamSEu5H5Xf7wtUb6phNUCgvfT4kozK1j4BlTOkWdN1MHL4iRvGkoPYti_0Ui9k0079458L4AYXoLqXs2oLCuQxBs-FyDwQhiKzr1NayRIZo6FvZBUg90RffbNWcrG0HpOQp5w72d1yfPEOFJBwTzjoFaQk0VHSaREt5v/s818/adaptative_cards_002.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="818" data-original-width="640" height="640" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjV5USwBk-yHrPoHAdCIpygamSEu5H5Xf7wtUb6phNUCgvfT4kozK1j4BlTOkWdN1MHL4iRvGkoPYti_0Ui9k0079458L4AYXoLqXs2oLCuQxBs-FyDwQhiKzr1NayRIZo6FvZBUg90RffbNWcrG0HpOQp5w72d1yfPEOFJBwTzjoFaQk0VHSaREt5v/w500-h640/adaptative_cards_002.png" width="500" /></a></div><div><span style="font-family: Arial, sans-serif;"><br /></span></div></span><span style="font-family: "Arial",sans-serif; font-size: 10.5pt; line-height: 115%; mso-ansi-language: PT-BR; mso-bidi-language: AR-SA; mso-fareast-font-family: "Arial Unicode MS"; mso-fareast-language: EN-US;">Uma
vez capturadas as informações desejadas, é necessário utilizar a ação <b>Post
adaptative card in a chat or channel</b> para passar as intruções a respeito de
como o cartão deverá ser configurado:</span></div><div><span style="font-family: Arial, sans-serif;"><span style="font-size: 14px;"><br /></span></span></div><div><span style="font-family: Arial, sans-serif;"><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgg3SC3z-m3l9erk2GumLkrhCJj3oidCJrVFngMs4xtv5uCOakWCVqE1d53yF6_C0kIIBEbSholNCogFUoVTUwbOlZ-6I7EUq3ZTgzPWf-i0UfRwZmjpZKZFN932O23oT1efvtonIE89pjD4I9OF97QhAiwztmT6ogdlQXVQ5_MvnqGF7RwPv3f509w/s842/adaptative_cards_003.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="842" data-original-width="667" height="640" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgg3SC3z-m3l9erk2GumLkrhCJj3oidCJrVFngMs4xtv5uCOakWCVqE1d53yF6_C0kIIBEbSholNCogFUoVTUwbOlZ-6I7EUq3ZTgzPWf-i0UfRwZmjpZKZFN932O23oT1efvtonIE89pjD4I9OF97QhAiwztmT6ogdlQXVQ5_MvnqGF7RwPv3f509w/w506-h640/adaptative_cards_003.png" width="506" /></a></div><br /></span><p class="MsoNormal"><span style="font-family: "Arial",sans-serif; font-size: 10.5pt; line-height: 115%; mso-fareast-font-family: "Arial Unicode MS";">Abaixo vou
deixar a instrução completa do exemplo que utilizei para construir o meu
adaptative card. Vou destacar em <span style="background: yellow; mso-highlight: yellow;">amarelo</span> os itens que você precisará ajustar, de acordo com o que
desejar exibir:<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-family: "Arial",sans-serif; font-size: 10.5pt; line-height: 115%; mso-fareast-font-family: "Arial Unicode MS";">...........................................................................................................................................<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-family: "Georgia",serif; font-size: 12.0pt; line-height: 115%; mso-bidi-font-family: "Arial Unicode MS"; mso-fareast-font-family: "Arial Unicode MS";">{<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-family: "Georgia",serif; font-size: 12.0pt; line-height: 115%; mso-bidi-font-family: "Arial Unicode MS"; mso-fareast-font-family: "Arial Unicode MS";">
"$schema":
"http://adaptivecards.io/schemas/adaptive-card.json",<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-family: "Georgia",serif; font-size: 12.0pt; line-height: 115%; mso-bidi-font-family: "Arial Unicode MS"; mso-fareast-font-family: "Arial Unicode MS";"> "type":
"AdaptiveCard",<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-family: "Georgia",serif; font-size: 12.0pt; line-height: 115%; mso-bidi-font-family: "Arial Unicode MS"; mso-fareast-font-family: "Arial Unicode MS";">
"version": "1.0",<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-family: "Georgia",serif; font-size: 12.0pt; line-height: 115%; mso-bidi-font-family: "Arial Unicode MS"; mso-fareast-font-family: "Arial Unicode MS";"> "body":
[<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-family: "Georgia",serif; font-size: 12.0pt; line-height: 115%; mso-bidi-font-family: "Arial Unicode MS"; mso-fareast-font-family: "Arial Unicode MS";"> {<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-family: "Georgia",serif; font-size: 12.0pt; line-height: 115%; mso-bidi-font-family: "Arial Unicode MS"; mso-fareast-font-family: "Arial Unicode MS";">
"type": "TextBlock",<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-family: "Georgia",serif; font-size: 12.0pt; line-height: 115%; mso-bidi-font-family: "Arial Unicode MS"; mso-fareast-font-family: "Arial Unicode MS";">
"text": "Novo projeto: <span style="background: yellow; mso-highlight: yellow;"><insira o nome do projeto aqui></span>",<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-family: "Georgia",serif; font-size: 12.0pt; line-height: 115%; mso-bidi-font-family: "Arial Unicode MS"; mso-fareast-font-family: "Arial Unicode MS";">
"id": "ProjectName",<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-family: "Georgia",serif; font-size: 12.0pt; line-height: 115%; mso-bidi-font-family: "Arial Unicode MS"; mso-fareast-font-family: "Arial Unicode MS";">
"spacing": "Medium",<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-family: "Georgia",serif; font-size: 12.0pt; line-height: 115%; mso-bidi-font-family: "Arial Unicode MS"; mso-fareast-font-family: "Arial Unicode MS";">
"horizontalAlignment": "Center",<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-family: "Georgia",serif; font-size: 12.0pt; line-height: 115%; mso-bidi-font-family: "Arial Unicode MS"; mso-fareast-font-family: "Arial Unicode MS";">
"size": "Large",<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-family: "Georgia",serif; font-size: 12.0pt; line-height: 115%; mso-bidi-font-family: "Arial Unicode MS"; mso-fareast-font-family: "Arial Unicode MS";">
"weight": "Bolder",<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-family: "Georgia",serif; font-size: 12.0pt; line-height: 115%; mso-bidi-font-family: "Arial Unicode MS"; mso-fareast-font-family: "Arial Unicode MS";">
"color": "Accent"<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-family: "Georgia",serif; font-size: 12.0pt; line-height: 115%; mso-bidi-font-family: "Arial Unicode MS"; mso-fareast-font-family: "Arial Unicode MS";"> },<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-family: "Georgia",serif; font-size: 12.0pt; line-height: 115%; mso-bidi-font-family: "Arial Unicode MS"; mso-fareast-font-family: "Arial Unicode MS";"> {<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-family: "Georgia",serif; font-size: 12.0pt; line-height: 115%; mso-bidi-font-family: "Arial Unicode MS"; mso-fareast-font-family: "Arial Unicode MS";"> "type":
"TextBlock",<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-family: "Georgia",serif; font-size: 12.0pt; line-height: 115%; mso-bidi-font-family: "Arial Unicode MS"; mso-fareast-font-family: "Arial Unicode MS";">
"text": "Um novo projeto foi criado. Abaixo você poderá
visualizar os detalhes",<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-family: "Georgia",serif; font-size: 12.0pt; line-height: 115%; mso-bidi-font-family: "Arial Unicode MS"; mso-fareast-font-family: "Arial Unicode MS";">
"id": "Subheader",<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-family: "Georgia",serif; font-size: 12.0pt; line-height: 115%; mso-bidi-font-family: "Arial Unicode MS"; mso-fareast-font-family: "Arial Unicode MS";">
"separator": true<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-family: "Georgia",serif; font-size: 12.0pt; line-height: 115%; mso-bidi-font-family: "Arial Unicode MS"; mso-fareast-font-family: "Arial Unicode MS";"> }, <o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-family: "Georgia",serif; font-size: 12.0pt; line-height: 115%; mso-bidi-font-family: "Arial Unicode MS"; mso-fareast-font-family: "Arial Unicode MS";"> {<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-family: "Georgia",serif; font-size: 12.0pt; line-height: 115%; mso-bidi-font-family: "Arial Unicode MS"; mso-fareast-font-family: "Arial Unicode MS";">
"type": "TextBlock",<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-family: "Georgia",serif; font-size: 12.0pt; line-height: 115%; mso-bidi-font-family: "Arial Unicode MS"; mso-fareast-font-family: "Arial Unicode MS";">
"text": "<span style="background: yellow; mso-highlight: yellow;"><insira o título do seu campo personalizado aqui></span>",<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-family: "Georgia",serif; font-size: 12.0pt; line-height: 115%; mso-bidi-font-family: "Arial Unicode MS"; mso-fareast-font-family: "Arial Unicode MS";">
"id": "Campo1Header",<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-family: "Georgia",serif; font-size: 12.0pt; line-height: 115%; mso-bidi-font-family: "Arial Unicode MS"; mso-fareast-font-family: "Arial Unicode MS";"> "weight": "Bolder", <o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-family: "Georgia",serif; font-size: 12.0pt; line-height: 115%; mso-bidi-font-family: "Arial Unicode MS"; mso-fareast-font-family: "Arial Unicode MS";">
"wrap": true<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-family: "Georgia",serif; font-size: 12.0pt; line-height: 115%; mso-bidi-font-family: "Arial Unicode MS"; mso-fareast-font-family: "Arial Unicode MS";"> },<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-family: "Georgia",serif; font-size: 12.0pt; line-height: 115%; mso-bidi-font-family: "Arial Unicode MS"; mso-fareast-font-family: "Arial Unicode MS";"> {<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-family: "Georgia",serif; font-size: 12.0pt; line-height: 115%; mso-bidi-font-family: "Arial Unicode MS"; mso-fareast-font-family: "Arial Unicode MS";">
"type": "TextBlock",<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-family: "Georgia",serif; font-size: 12.0pt; line-height: 115%; mso-bidi-font-family: "Arial Unicode MS"; mso-fareast-font-family: "Arial Unicode MS";">
"text": "<span style="background: yellow; mso-highlight: yellow;"><insira o campo desejado aqui></span>",<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-family: "Georgia",serif; font-size: 12.0pt; line-height: 115%; mso-bidi-font-family: "Arial Unicode MS"; mso-fareast-font-family: "Arial Unicode MS";">
"id": "Campo1",<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-family: "Georgia",serif; font-size: 12.0pt; line-height: 115%; mso-bidi-font-family: "Arial Unicode MS"; mso-fareast-font-family: "Arial Unicode MS";">
"wrap": true,<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-family: "Georgia",serif; font-size: 12.0pt; line-height: 115%; mso-bidi-font-family: "Arial Unicode MS"; mso-fareast-font-family: "Arial Unicode MS";"> "separator": true <o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-family: "Georgia",serif; font-size: 12.0pt; line-height: 115%; mso-bidi-font-family: "Arial Unicode MS"; mso-fareast-font-family: "Arial Unicode MS";"> },<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-family: "Georgia",serif; font-size: 12.0pt; line-height: 115%; mso-bidi-font-family: "Arial Unicode MS"; mso-fareast-font-family: "Arial Unicode MS";"> {<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-family: "Georgia",serif; font-size: 12.0pt; line-height: 115%; mso-bidi-font-family: "Arial Unicode MS"; mso-fareast-font-family: "Arial Unicode MS";">
"type": "TextBlock",<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-family: "Georgia",serif; font-size: 12.0pt; line-height: 115%; mso-bidi-font-family: "Arial Unicode MS"; mso-fareast-font-family: "Arial Unicode MS";">
"text": "<span style="background: yellow; mso-highlight: yellow;"><insira o título do seu campo personalizado aqui></span>",<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-family: "Georgia",serif; font-size: 12.0pt; line-height: 115%; mso-bidi-font-family: "Arial Unicode MS"; mso-fareast-font-family: "Arial Unicode MS";">
"id": "Campo2Header",<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-family: "Georgia",serif; font-size: 12.0pt; line-height: 115%; mso-bidi-font-family: "Arial Unicode MS"; mso-fareast-font-family: "Arial Unicode MS";"> "weight": "Bolder", <o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-family: "Georgia",serif; font-size: 12.0pt; line-height: 115%; mso-bidi-font-family: "Arial Unicode MS"; mso-fareast-font-family: "Arial Unicode MS";"> "wrap": true <o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-family: "Georgia",serif; font-size: 12.0pt; line-height: 115%; mso-bidi-font-family: "Arial Unicode MS"; mso-fareast-font-family: "Arial Unicode MS";"> },<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-family: "Georgia",serif; font-size: 12.0pt; line-height: 115%; mso-bidi-font-family: "Arial Unicode MS"; mso-fareast-font-family: "Arial Unicode MS";"> {<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-family: "Georgia",serif; font-size: 12.0pt; line-height: 115%; mso-bidi-font-family: "Arial Unicode MS"; mso-fareast-font-family: "Arial Unicode MS";">
"type": "TextBlock",<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-family: "Georgia",serif; font-size: 12.0pt; line-height: 115%; mso-bidi-font-family: "Arial Unicode MS"; mso-fareast-font-family: "Arial Unicode MS";">
"text": "<span style="background: yellow; mso-highlight: yellow;"><insira o campo desejado aqui></span>",<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-family: "Georgia",serif; font-size: 12.0pt; line-height: 115%; mso-bidi-font-family: "Arial Unicode MS"; mso-fareast-font-family: "Arial Unicode MS";">
"id": "Campo2",<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-family: "Georgia",serif; font-size: 12.0pt; line-height: 115%; mso-bidi-font-family: "Arial Unicode MS"; mso-fareast-font-family: "Arial Unicode MS";">
"wrap": true,<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-family: "Georgia",serif; font-size: 12.0pt; line-height: 115%; mso-bidi-font-family: "Arial Unicode MS"; mso-fareast-font-family: "Arial Unicode MS";"> "separator": true <o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-family: "Georgia",serif; font-size: 12.0pt; line-height: 115%; mso-bidi-font-family: "Arial Unicode MS"; mso-fareast-font-family: "Arial Unicode MS";"> },<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-family: "Georgia",serif; font-size: 12.0pt; line-height: 115%; mso-bidi-font-family: "Arial Unicode MS"; mso-fareast-font-family: "Arial Unicode MS";"> {<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-family: "Georgia",serif; font-size: 12.0pt; line-height: 115%; mso-bidi-font-family: "Arial Unicode MS"; mso-fareast-font-family: "Arial Unicode MS";">
"type": "TextBlock",<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-family: "Georgia",serif; font-size: 12.0pt; line-height: 115%; mso-bidi-font-family: "Arial Unicode MS"; mso-fareast-font-family: "Arial Unicode MS";">
"text": "<span style="background: yellow; mso-highlight: yellow;"><insira o título do seu campo personalizado aqui></span>",<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-family: "Georgia",serif; font-size: 12.0pt; line-height: 115%; mso-bidi-font-family: "Arial Unicode MS"; mso-fareast-font-family: "Arial Unicode MS";">
"id": "Campo3Header",<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-family: "Georgia",serif; font-size: 12.0pt; line-height: 115%; mso-bidi-font-family: "Arial Unicode MS"; mso-fareast-font-family: "Arial Unicode MS";"> "weight": "Bolder",<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-family: "Georgia",serif; font-size: 12.0pt; line-height: 115%; mso-bidi-font-family: "Arial Unicode MS"; mso-fareast-font-family: "Arial Unicode MS";">
"wrap": true<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-family: "Georgia",serif; font-size: 12.0pt; line-height: 115%; mso-bidi-font-family: "Arial Unicode MS"; mso-fareast-font-family: "Arial Unicode MS";"> },<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-family: "Georgia",serif; font-size: 12.0pt; line-height: 115%; mso-bidi-font-family: "Arial Unicode MS"; mso-fareast-font-family: "Arial Unicode MS";"> {<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-family: "Georgia",serif; font-size: 12.0pt; line-height: 115%; mso-bidi-font-family: "Arial Unicode MS"; mso-fareast-font-family: "Arial Unicode MS";">
"type": "TextBlock",<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-family: "Georgia",serif; font-size: 12.0pt; line-height: 115%; mso-bidi-font-family: "Arial Unicode MS"; mso-fareast-font-family: "Arial Unicode MS";">
"text": "<span style="background: yellow; mso-highlight: yellow;"><insira o campo desejado aqui></span>",<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-family: "Georgia",serif; font-size: 12.0pt; line-height: 115%; mso-bidi-font-family: "Arial Unicode MS"; mso-fareast-font-family: "Arial Unicode MS";">
"id": "Campo3",<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-family: "Georgia",serif; font-size: 12.0pt; line-height: 115%; mso-bidi-font-family: "Arial Unicode MS"; mso-fareast-font-family: "Arial Unicode MS";">
"wrap": true,<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-family: "Georgia",serif; font-size: 12.0pt; line-height: 115%; mso-bidi-font-family: "Arial Unicode MS"; mso-fareast-font-family: "Arial Unicode MS";"> "separator": true <o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-family: "Georgia",serif; font-size: 12.0pt; line-height: 115%; mso-bidi-font-family: "Arial Unicode MS"; mso-fareast-font-family: "Arial Unicode MS";"> },<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-family: "Georgia",serif; font-size: 12.0pt; line-height: 115%; mso-bidi-font-family: "Arial Unicode MS"; mso-fareast-font-family: "Arial Unicode MS";"> {<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-family: "Georgia",serif; font-size: 12.0pt; line-height: 115%; mso-bidi-font-family: "Arial Unicode MS"; mso-fareast-font-family: "Arial Unicode MS";">
"type": "TextBlock",<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-family: "Georgia",serif; font-size: 12.0pt; line-height: 115%; mso-bidi-font-family: "Arial Unicode MS"; mso-fareast-font-family: "Arial Unicode MS";">
"text": "Projeto criado por: <span style="background: yellow; mso-highlight: yellow;"><insira o nome do proprietário do projeto aqui></span>",<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-family: "Georgia",serif; font-size: 12.0pt; line-height: 115%; mso-bidi-font-family: "Arial Unicode MS"; mso-fareast-font-family: "Arial Unicode MS";">
"id": "CriadoPor",<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-family: "Georgia",serif; font-size: 12.0pt; line-height: 115%; mso-bidi-font-family: "Arial Unicode MS"; mso-fareast-font-family: "Arial Unicode MS";">
"wrap": true<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-family: "Georgia",serif; font-size: 12.0pt; line-height: 115%; mso-bidi-font-family: "Arial Unicode MS"; mso-fareast-font-family: "Arial Unicode MS";"> }<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-family: "Georgia",serif; font-size: 12.0pt; line-height: 115%; mso-bidi-font-family: "Arial Unicode MS"; mso-fareast-font-family: "Arial Unicode MS";"> ]<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-family: "Georgia",serif; font-size: 12.0pt; line-height: 115%; mso-bidi-font-family: "Arial Unicode MS"; mso-fareast-font-family: "Arial Unicode MS";">}<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-family: "Arial",sans-serif; font-size: 10.5pt; line-height: 115%; mso-fareast-font-family: "Arial Unicode MS";">...........................................................................................................................................<o:p></o:p></span></p>
<span style="font-family: "Arial",sans-serif; font-size: 10.5pt; line-height: 115%; mso-ansi-language: PT-BR; mso-bidi-language: AR-SA; mso-fareast-font-family: "Arial Unicode MS"; mso-fareast-language: EN-US;">Assim, quando um novo projeto for criado, a
postagem será feita no canal especificado no Microsoft Teams:</span></div><div><span style="font-family: Arial, sans-serif;"><span style="font-size: 14px;"><br /></span></span></div><div><span style="font-family: Arial, sans-serif;"><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiYyXFyIMzDE1PoqI46kk2Y-0THwRkZv6iUHNLxfshvsZ0IRDHZM1iz9bg6cqBFZI0Ja-FKvBIstUk1WdPrX7m7FbOo6ophqP-iegSVoDP0xemphD2saC70XTk1SX3CQBHNJsYMmD18OIApE82EWCok_nn_JnntYSnUERZ1GBp9jHUn9mC2LLrKBoc3/s564/adaptative_cards_004.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="474" data-original-width="564" height="538" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiYyXFyIMzDE1PoqI46kk2Y-0THwRkZv6iUHNLxfshvsZ0IRDHZM1iz9bg6cqBFZI0Ja-FKvBIstUk1WdPrX7m7FbOo6ophqP-iegSVoDP0xemphD2saC70XTk1SX3CQBHNJsYMmD18OIApE82EWCok_nn_JnntYSnUERZ1GBp9jHUn9mC2LLrKBoc3/w640-h538/adaptative_cards_004.png" width="640" /></a></div><br /></span><p class="MsoNormal"><span style="font-family: "Arial",sans-serif; font-size: 10.5pt; line-height: 115%; mso-fareast-font-family: "Arial Unicode MS";">...........................................................................................................................................<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-family: "Arial",sans-serif; font-size: 10.5pt; line-height: 115%; mso-fareast-font-family: "Arial Unicode MS";">E aí, o que
achou? Deixe seu feedback pra eu saber se você gosta desse tipo de conteúdo </span><span style="font-family: "Segoe UI Emoji",sans-serif; font-size: 10.5pt; line-height: 115%; mso-ascii-font-family: Arial; mso-bidi-font-family: Arial; mso-char-type: symbol-ext; mso-fareast-font-family: "Arial Unicode MS"; mso-hansi-font-family: Arial; mso-symbol-font-family: "Segoe UI Emoji";">😉</span><span style="font-family: "Arial",sans-serif; font-size: 10.5pt; line-height: 115%; mso-fareast-font-family: "Arial Unicode MS";"><o:p></o:p></span></p>
<span style="font-family: "Arial",sans-serif; font-size: 10.5pt; line-height: 115%; mso-ansi-language: PT-BR; mso-bidi-language: AR-SA; mso-fareast-font-family: "Arial Unicode MS"; mso-fareast-language: EN-US;">Um abraço e até o próximo post!</span></div><div><br /></div>Raphael Santoshttp://www.blogger.com/profile/15872319796376300645noreply@blogger.com0tag:blogger.com,1999:blog-6645005980317067979.post-35429393478274236512022-03-29T15:04:00.000-03:002022-03-29T15:04:32.825-03:00Como forçar o check in de projetos<p> <span style="font-family: Arial, sans-serif; font-size: 10.5pt;">Olá pessoal –</span></p>
<p class="MsoNormal"><span style="font-family: "Arial",sans-serif; font-size: 10.5pt; line-height: 115%; mso-fareast-font-family: "Arial Unicode MS";">Os leitores mais
atentos desse blog já devem ter percebido que, na maioria dos cenários em que é
necessário construir um <a href="http://www.raphael-santos.net/search/label/Power%20Automate" target="_blank">processo de automação do Project Online através do Power Automate</a>, a realização do check
out dos projetos é obrigatória.<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-family: "Arial",sans-serif; font-size: 10.5pt; line-height: 115%; mso-fareast-font-family: "Arial Unicode MS";">Tal obrigatoriedade
é observada porque, sempre que uma interação com o Project Online tenha como objetivo
editar/modificar um parâmetro (seja ele um parâmetro da entidade <i>Projects</i>
– como por exemplo um campo personalizado; seja ele um parâmetro da entidade <i>Tasks</i>
– como a data de término de uma tarefa do cronograma) o projeto deve primeiramente
ser bloqueado para edição, impedindo que outros usuários tenham condições de manipular
o objeto (projeto) ao mesmo tempo.<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-family: "Arial",sans-serif; font-size: 10.5pt; line-height: 115%; mso-fareast-font-family: "Arial Unicode MS";">Porém, e se
durante o processo de automação o projeto já se encontrar bloqueado por outra
pessoa? O que devemos fazer caso algum gerente de projeto se esqueça de efetuar
o check in do projeto ao finalizar o seu trabalho, mantendo assim o objeto
bloqueado no servidor?<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-family: "Arial",sans-serif; font-size: 10.5pt; line-height: 115%; mso-fareast-font-family: "Arial Unicode MS";">Faz uns 2 anos,
eu fiz um vídeo com o MVP
Renato Romão ensinando como obter a relação de projetos em check out no
Project Online via Power Automate.</span></p><div class="separator" style="clear: both; text-align: center;"><iframe allowfullscreen="" class="BLOG_video_class" height="266" src="https://www.youtube.com/embed/dFYNpJ-MfKw" width="320" youtube-src-id="dFYNpJ-MfKw"></iframe></div><br /><p class="MsoNormal"><span style="font-family: Arial, sans-serif; font-size: 10.5pt;">Em teoria, ao obter a relação de projetos
bloqueados, alguém poderia agir de maneira proativa, seja conversando com os
gestores para que efetuem o check in dos projetos, seja forçando o check in por
conta própria...</span></p>
<p class="MsoNormal"><span style="font-family: "Arial",sans-serif; font-size: 10.5pt; line-height: 115%; mso-fareast-font-family: "Arial Unicode MS";">Porém, para um
cliente com o qual venho trabalhando atualmente, essa abordagem ainda seria insuficiente.
Esse cliente roda todo sábado um processo automatizado que tem como objetivo
obter informações de um sistema financeiro (ERP) para então alimentar algumas
tarefas no Project Online, atualizando os custos do cronograma com base nos lançamentos
realizados pelo time de controladoria. E, para garantir que o processo possa
acontecer independentemente de o projeto encontrar-se em check in ou não, a
decisão foi radical: no momento da execução do fluxo, caso algum projeto esteja
em check out, o check in deve ser forçado para que as tarefas possam ser
atualizadas corretamente.<o:p></o:p></span></p>
<span style="font-family: "Arial",sans-serif; font-size: 10.5pt; line-height: 115%; mso-ansi-language: PT-BR; mso-bidi-language: AR-SA; mso-fareast-font-family: "Arial Unicode MS"; mso-fareast-language: EN-US;"> Para
forçar o check in de um projeto no Project Online através do Power Automate, é
possível utilizar a ação <a href="http://www.raphael-santos.net/2019/10/flow-e-project-online-enviando-uma-solicitacao-http-ao-sharepoint.html" target="_blank">Send an HTTP request to SharePoint</a>, conforme print abaixo:</span><div><span style="font-family: "Arial",sans-serif; font-size: 10.5pt; line-height: 115%; mso-ansi-language: PT-BR; mso-bidi-language: AR-SA; mso-fareast-font-family: "Arial Unicode MS"; mso-fareast-language: EN-US;"><br /></span></div><div><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiRJrSCrGmdcfm-8gEfKJZ-sn24PrXCaJoHdeL2eoDt3U-9t37NTeYK-n3R8249VHuT5Joim6zBJjOM3sUQiNtvC3WXNMU4Bxvpyjl9_z0OhdF0ycJg13AA2TWS8Jh5MQH71XWdnguWEMaVT5fH0mK7FOObQrZrPcUvtC9jCr-5-PrBp_PSwWj2g6uh/s970/003.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="832" data-original-width="970" height="548" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiRJrSCrGmdcfm-8gEfKJZ-sn24PrXCaJoHdeL2eoDt3U-9t37NTeYK-n3R8249VHuT5Joim6zBJjOM3sUQiNtvC3WXNMU4Bxvpyjl9_z0OhdF0ycJg13AA2TWS8Jh5MQH71XWdnguWEMaVT5fH0mK7FOObQrZrPcUvtC9jCr-5-PrBp_PSwWj2g6uh/w640-h548/003.png" width="640" /></a></div><div><br /></div><p class="MsoNormal"><span style="font-family: "Arial",sans-serif; font-size: 10.5pt; line-height: 115%; mso-fareast-font-family: "Arial Unicode MS";">A instrução Uri deverá
explicitar que o check in será forçado para cada projeto encontrado em check
out:<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-family: "Georgia",serif; font-size: 12.0pt; line-height: 115%; mso-bidi-font-family: "Arial Unicode MS"; mso-fareast-font-family: "Arial Unicode MS";">/_api/ProjectServer/Projects('<span style="background: yellow; mso-highlight: yellow;"><projectId></span>')/Draft/checkIn(true)<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-family: "Arial",sans-serif; font-size: 10.5pt; line-height: 115%; mso-fareast-font-family: "Arial Unicode MS";">Lembre-se de
substituir os conteúdos dinâmicos com os resultados obtidos das ações
anteriores, conforme destacado acima.<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-family: "Arial",sans-serif; font-size: 10.5pt; line-height: 115%; mso-fareast-font-family: "Arial Unicode MS";">Dessa forma,
toda vez que o fluxo é acionado será possível garantir que todos os projetos
serão atualizados, mesmo que algum gerente de projetos tenha esquecido de
efetuar o check in ao finalizar a atualização do cronograma.<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-family: "Arial",sans-serif; font-size: 10.5pt; line-height: 115%; mso-fareast-font-family: "Arial Unicode MS";">....................................................................................................<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-family: "Segoe UI Emoji",sans-serif; font-size: 14.0pt; line-height: 115%; mso-ascii-font-family: Arial; mso-bidi-font-family: Arial; mso-char-type: symbol-ext; mso-fareast-font-family: "Arial Unicode MS"; mso-hansi-font-family: Arial; mso-symbol-font-family: "Segoe UI Emoji";">⚠</span><span style="font-family: "Arial",sans-serif; font-size: 10.5pt; line-height: 115%; mso-fareast-font-family: "Arial Unicode MS";"> É importante destacar que você
deve utilizar esse recurso apenas em casos extremos, pois ao forçar o check in
de um projeto a sessão ativa será encerrada e o gerente de projetos poderá eventualmente
perder todo o seu trabalho caso não o tenha salvo.<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-family: "Arial",sans-serif; font-size: 10.5pt; line-height: 115%; mso-fareast-font-family: "Arial Unicode MS";">....................................................................................................<o:p></o:p></span></p>
<span style="font-family: "Arial",sans-serif; font-size: 10.5pt; line-height: 115%; mso-ansi-language: PT-BR; mso-bidi-language: AR-SA; mso-fareast-font-family: "Arial Unicode MS"; mso-fareast-language: EN-US;">E por hoje é só pessoal. Espero que gostem desse
post, e até o próximo!</span><br /><span style="font-family: "Arial",sans-serif; font-size: 10.5pt; line-height: 115%; mso-ansi-language: PT-BR; mso-bidi-language: AR-SA; mso-fareast-font-family: "Arial Unicode MS"; mso-fareast-language: EN-US;"><br /></span></div>Raphael Santoshttp://www.blogger.com/profile/15872319796376300645noreply@blogger.com0tag:blogger.com,1999:blog-6645005980317067979.post-45586942378329937392022-02-18T19:17:00.001-03:002022-02-18T19:17:03.205-03:00Adicionando membros de equipe ao projeto automaticamente<p> <span style="font-family: Arial, sans-serif; font-size: 10.5pt;">Olá pessoal –</span></p>
<p class="MsoNormal"><span style="font-family: "Arial",sans-serif; font-size: 10.5pt; line-height: 115%; mso-fareast-font-family: "Arial Unicode MS";">No Microsoft
Project Online, para que os recursos corporativos tenham condições de acessar
os <a href="http://www.raphael-santos.net/2016/12/project-online-server-criando-um-site-de-projetos-modelo.html" target="_blank">sites de projeto</a> para colaborar através da criação e do gerenciamento de riscos,
problemas, documentos, entre outros artefatos, eles precisam obrigatoriamente
fazer parte da equipe do projeto.<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-family: "Arial",sans-serif; font-size: 10.5pt; line-height: 115%; mso-fareast-font-family: "Arial Unicode MS";">Recentemente um cliente
entrou em contato pois tinha um requisito de negócio importante: o processo de
adição dos membros de equipe a um projeto recém criado deveria acontecer de
maneira automatizada. Nessa organização, quando um novo projeto é criado, todos
os colaboradores devem ganhar acesso ao site de projeto imediatamente, e o fato
de os gerentes de projeto terem que adicioná-los manualmente estava causando
muitos problemas – pois infelizmente nem todas as pessoas seguem os processos.<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-family: "Arial",sans-serif; font-size: 10.5pt; line-height: 115%; mso-fareast-font-family: "Arial Unicode MS";">Para facilitar a
vida dos gerentes de projeto e garantir o cumprimento dos requisitos de negócio,
mais uma vez, o <a href="http://www.raphael-santos.net/search/label/Power%20Automate" target="_blank">Power Automate</a> foi utilizado para automatização dos processos. Nesse post vou detalhar
o passo-a-passo caso você precise fazer algo parecido na sua empresa </span><span style="font-family: "Segoe UI Emoji",sans-serif; font-size: 10.5pt; line-height: 115%; mso-ascii-font-family: Arial; mso-bidi-font-family: Arial; mso-char-type: symbol-ext; mso-fareast-font-family: "Arial Unicode MS"; mso-hansi-font-family: Arial; mso-symbol-font-family: "Segoe UI Emoji";">😉</span><span style="font-family: "Arial",sans-serif; font-size: 10.5pt; line-height: 115%; mso-fareast-font-family: "Arial Unicode MS";">.<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-family: "Arial",sans-serif; font-size: 10.5pt; line-height: 115%; mso-fareast-font-family: "Arial Unicode MS";">Nota: é muito importante
ressaltar que, sem a colaboração do meu grande amigo <a href="https://www.linkedin.com/in/allissonscalco/" target="_blank">Alisson Scalco</a>, este
problema não teria sido resolvido. Então, fica aqui o meu agradecimento público
a este grande profissional. <o:p></o:p></span></p>
<p class="MsoNormal"><b><span style="font-family: Arial, sans-serif; font-size: 10.5pt; font-variant-caps: small-caps; font-variant-east-asian: normal; font-variant-numeric: normal; line-height: 115%;">O flow<o:p></o:p></span></b></p>
<span style="font-family: "Arial",sans-serif; font-size: 10.5pt; line-height: 115%; mso-ansi-language: PT-BR; mso-bidi-language: AR-SA; mso-fareast-font-family: "Arial Unicode MS"; mso-fareast-language: EN-US;">O gatilho <b>When a new project is created (V2)</b>
foi utilizado para determinar quando o flow deve ser iniciado:</span><div><span style="font-family: "Arial",sans-serif; font-size: 10.5pt; line-height: 115%; mso-ansi-language: PT-BR; mso-bidi-language: AR-SA; mso-fareast-font-family: "Arial Unicode MS"; mso-fareast-language: EN-US;"><br /></span></div><div><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/a/AVvXsEjn1zUEsZoH-Z9ZS7wkkrUQ13Y-cNVaFkBlME8cOWErF1K04k4cyhysPwHvRcRDbq6VcS02tHXEtzVkM-_93OB1Owhk0hz23rtQhClOZ4xF9FDJ7fbXw6lkiVCy3nCEewdvIFhOTo0LbERMh6x81iNE92ej9aqXvFAszWO3cratDuf0yKhGSLxL3qYw=s881" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="568" data-original-width="881" height="412" src="https://blogger.googleusercontent.com/img/a/AVvXsEjn1zUEsZoH-Z9ZS7wkkrUQ13Y-cNVaFkBlME8cOWErF1K04k4cyhysPwHvRcRDbq6VcS02tHXEtzVkM-_93OB1Owhk0hz23rtQhClOZ4xF9FDJ7fbXw6lkiVCy3nCEewdvIFhOTo0LbERMh6x81iNE92ej9aqXvFAszWO3cratDuf0yKhGSLxL3qYw=w640-h412" width="640" /></a></div><br /><span style="font-family: "Arial",sans-serif; font-size: 10.5pt; line-height: 115%; mso-ansi-language: PT-BR; mso-bidi-language: AR-SA; mso-fareast-font-family: "Arial Unicode MS"; mso-fareast-language: EN-US;">Na
propriedade <b>Select Query</b> desse gatilho apenas duas colunas foram
selecionadas para melhorar a eficiência do flow – são elas ProjectId e
ProjectName:</span></div><div><span style="font-family: "Arial",sans-serif; font-size: 10.5pt; line-height: 115%; mso-ansi-language: PT-BR; mso-bidi-language: AR-SA; mso-fareast-font-family: "Arial Unicode MS"; mso-fareast-language: EN-US;"><br /></span></div><div><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/a/AVvXsEiRT95xnZDjbyax0oYgT5GKp3xPDAOyG7AagnYVhBePK2Xkvaj3CkXajEMJHnALDzxZ5iQFjg8XxdYG5HJ8HmbfkufHbphiO9R5lrgKNEukCLInAdYcDTafsEiCZyZkc5hscYkV8jydPv4bTfIvw0-welkx1TWYu0kRC7gFkSu04cpdPIAlOHA30Z-k=s631" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="264" data-original-width="631" height="268" src="https://blogger.googleusercontent.com/img/a/AVvXsEiRT95xnZDjbyax0oYgT5GKp3xPDAOyG7AagnYVhBePK2Xkvaj3CkXajEMJHnALDzxZ5iQFjg8XxdYG5HJ8HmbfkufHbphiO9R5lrgKNEukCLInAdYcDTafsEiCZyZkc5hscYkV8jydPv4bTfIvw0-welkx1TWYu0kRC7gFkSu04cpdPIAlOHA30Z-k=w640-h268" width="640" /></a></div><div><br /></div><p class="MsoNormal"><span style="font-family: "Arial",sans-serif; font-size: 10.5pt; line-height: 115%; mso-fareast-font-family: "Arial Unicode MS";">Uma vez
disparado o gatilho, foi necessário paralizar o flow por um certo tempo, pois
as próximas ações não podem ocorrer imediatamente após a criação do projeto. Essa
pausa precisa ser adicionada pois o gerente de projetos pode ainda estar
trabalhando com o projeto (ou seja, o projeto pode estar em check-out) ao mesmo
tempo em que o Power Automate tenta executar as ações do flow. É difícil determinar
com precisão por quanto tempo o flow deve ser paralisado, pois não sabemos
exatamente quando o gerente de projetos finalizará suas ações, mas uma boa
alternativa é calcular um intervalo até que se atinja um horário fora do
expediente de trabalho (por exemplo, até às 22 horas), onde se espera que o gerente
de projetos não mais esteja trabalhando com o projeto em questão – e assim, espera-se,
o projeto não mais esteja em check-out.<o:p></o:p></span></p>
<span style="font-family: "Arial",sans-serif; font-size: 10.5pt; line-height: 115%; mso-ansi-language: PT-BR; mso-bidi-language: AR-SA; mso-fareast-font-family: "Arial Unicode MS"; mso-fareast-language: EN-US;">Após configurar a pausa, a próxima ação irá
listar o projeto para que seja possível trabalhar com as suas propriedades:</span></div><div><span style="font-family: Arial, sans-serif;"><span style="font-size: 14px;"><br /></span></span></div><div><span style="font-family: Arial, sans-serif;"><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/a/AVvXsEjV_h9AWzgrvXng9gVxbA6QJfdq8PHIpuzrYMOBxavRYJOV4yT6EvQ6ELzwbX0kInhcIvrihU-U3YOCIUr6_DVQoh_OOB-Gdcbx1EacaKbtI1BGacNkKV2fU_zhL7zeOt43n0SH_GvTbfXBPwp1NbHtb_LH2NMvIp1FZJMGIRf7jygoUuHbCoHhRZTN=s622" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="376" data-original-width="622" height="386" src="https://blogger.googleusercontent.com/img/a/AVvXsEjV_h9AWzgrvXng9gVxbA6QJfdq8PHIpuzrYMOBxavRYJOV4yT6EvQ6ELzwbX0kInhcIvrihU-U3YOCIUr6_DVQoh_OOB-Gdcbx1EacaKbtI1BGacNkKV2fU_zhL7zeOt43n0SH_GvTbfXBPwp1NbHtb_LH2NMvIp1FZJMGIRf7jygoUuHbCoHhRZTN=w640-h386" width="640" /></a></div><div><span style="font-family: Arial, sans-serif;"><br /></span></div></span><span style="font-family: "Arial",sans-serif; font-size: 10.5pt; line-height: 115%; mso-ansi-language: PT-BR; mso-bidi-language: AR-SA; mso-fareast-font-family: "Arial Unicode MS"; mso-fareast-language: EN-US;">Em
seguida é preciso adicionar uma condição para verificar se o projeto está em
check-out. Caso a condição seja verdadeira, é possível enviar um e-mail à
equipe de PMO ou ao gerente de projetos para informar que não foi possível adicionar
os membros de equipe automaticamente:</span></div><div><span style="font-family: Arial, sans-serif;"><span style="font-size: 14px;"><br /></span></span></div><div><span style="font-family: Arial, sans-serif;"><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/a/AVvXsEiwH2xMJgin8gi2j-R8ycz8ZlPe6xNsXetxRJGxvElHi8W2aNY2sr7qLTLflnNXRlpOAJOwkgdiIEIFQ_pMSvvh32cvudrjEyVdzjPMhWYD3eVA-LorDUxGckLvLB0HDle6JKoROIfZeDuhsENJB-Lk4FkApEYh0twhuis4ERa_fXbNrG0UQjbxe0CN=s1229" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="647" data-original-width="1229" height="336" src="https://blogger.googleusercontent.com/img/a/AVvXsEiwH2xMJgin8gi2j-R8ycz8ZlPe6xNsXetxRJGxvElHi8W2aNY2sr7qLTLflnNXRlpOAJOwkgdiIEIFQ_pMSvvh32cvudrjEyVdzjPMhWYD3eVA-LorDUxGckLvLB0HDle6JKoROIfZeDuhsENJB-Lk4FkApEYh0twhuis4ERa_fXbNrG0UQjbxe0CN=w640-h336" width="640" /></a></div><div><span style="font-family: Arial, sans-serif;"><br /></span></div></span><span style="font-family: "Arial",sans-serif; font-size: 10.5pt; line-height: 115%; mso-ansi-language: PT-BR; mso-bidi-language: AR-SA; mso-fareast-font-family: "Arial Unicode MS"; mso-fareast-language: EN-US;">Entretanto,
caso a condição seja falsa (ou seja, o projeto não encontra-se em check-out),
será possível prosseguir e adicionar os membros de equipe ao projeto. A primeira
coisa a se fazer é efetivamente colocar o projeto em check-out:</span></div><div><span style="font-family: Arial, sans-serif;"><span style="font-size: 14px;"><br /></span></span></div><div><span style="font-family: Arial, sans-serif;"><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/a/AVvXsEjlYmILMJGcX17kQmy4nxnpdVkGV0iOtJadvFprkLnI2msh7gf3xJ0jR8IiptJKnyxFoEGxUjw3j110XI8ROBBXhv2MAPbMd-0pc5vlUPbMLBlaHhnlpFUDSVV_YUTLb-9tbFp3DdqHoqwkQCTtrOd56tWy1b1r9n_0FHHCeW5A9yNTGoEpd4RKyhmd=s947" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="563" data-original-width="947" height="380" src="https://blogger.googleusercontent.com/img/a/AVvXsEjlYmILMJGcX17kQmy4nxnpdVkGV0iOtJadvFprkLnI2msh7gf3xJ0jR8IiptJKnyxFoEGxUjw3j110XI8ROBBXhv2MAPbMd-0pc5vlUPbMLBlaHhnlpFUDSVV_YUTLb-9tbFp3DdqHoqwkQCTtrOd56tWy1b1r9n_0FHHCeW5A9yNTGoEpd4RKyhmd=w640-h380" width="640" /></a></div><div><span style="font-family: Arial, sans-serif;"><br /></span></div></span><span style="font-family: "Arial",sans-serif; font-size: 10.5pt; line-height: 115%; mso-ansi-language: PT-BR; mso-bidi-language: AR-SA; mso-fareast-font-family: "Arial Unicode MS"; mso-fareast-language: EN-US;">Em
seguida, será preciso listar todos os recursos ativos da organização para que
seja possível adicioná-los como membros de equipe ao projeto. Para listar os recursos
adequadamente, foi utilizada a ação <b>Send an HTTP Request to SharePoint</b>, que
neste exemplo foi renomeada para ‘<i>Get Resources</i>’ (para saber mais sobre
esta ação, veja <a href="https://docs.microsoft.com/en-us/sharepoint/dev/business-apps/power-automate/guidance/working-with-send-sp-http-request" target="_blank">este link</a>). Perceba que a instrução definida na ação está obtendo a lista de recursos
ativos do Project Online, desde que não sejam recursos genéricos:</span></div><div><span style="font-family: Arial, sans-serif;"><span style="font-size: 14px;"><br /></span></span></div><div><span style="font-family: Arial, sans-serif;"><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/a/AVvXsEhT48-gukSeMZq25IDFY1vagt233uO-z08wTE5ptTdsSSC0r7IxU-Nm6NRVaI5iDmottuwQq5kT1ov5PYger0TBMkUhwhnV5Pk1eQ5KhjzeeUS5NfT8qVtLV2tJgrRKCOYWoXYWkRhY9c-jud_l98UTjnRp4uhsBPKQDRALaCWffRBdssaW_mNdHEa7=s783" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="783" data-original-width="648" height="640" src="https://blogger.googleusercontent.com/img/a/AVvXsEhT48-gukSeMZq25IDFY1vagt233uO-z08wTE5ptTdsSSC0r7IxU-Nm6NRVaI5iDmottuwQq5kT1ov5PYger0TBMkUhwhnV5Pk1eQ5KhjzeeUS5NfT8qVtLV2tJgrRKCOYWoXYWkRhY9c-jud_l98UTjnRp4uhsBPKQDRALaCWffRBdssaW_mNdHEa7=w530-h640" width="530" /></a></div><br /></span><p class="MsoNormal"><span style="font-family: "Arial",sans-serif; font-size: 10.5pt; line-height: 115%; mso-fareast-font-family: "Arial Unicode MS";">Aqui a instrução
completa:<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-family: "Georgia",serif; font-size: 12.0pt; line-height: 115%; mso-bidi-font-family: "Arial Unicode MS"; mso-fareast-font-family: "Arial Unicode MS";">/_api/ProjectData/[en-us]/Resources()?$Select=ResourceId&$Filter=
TypeName eq 'Work Resource' and ResourceIsActive eq true and ResourceIsGeneric
eq false</span><span style="font-family: "Georgia",serif; font-size: 10.5pt; line-height: 115%; mso-bidi-font-family: "Arial Unicode MS"; mso-fareast-font-family: "Arial Unicode MS";"><o:p></o:p></span></p>
<span style="font-family: "Arial",sans-serif; font-size: 10.5pt; line-height: 115%; mso-ansi-language: PT-BR; mso-bidi-language: AR-SA; mso-fareast-font-family: "Arial Unicode MS"; mso-fareast-language: EN-US;">Como a ação ‘<i>Get Resources</i>’ irá trazer a
lista de todos os recursos ativos do Project Online, e como cada um deles terá
de ser adicionado como membro de equipe no projeto, é necessário utilizar a
ação <b>Apply to each</b> para especificar que esta ação deve ser aplicada a
todos os registros obtidos (para saber mais sobre esta ação, veja <a href="https://docs.microsoft.com/pt-pt/power-automate/apply-to-each" target="_blank">este link</a>).
Dentro da ação ‘<i>Apply to each</i>’ é possível utilizar uma expressão para
especificar o resultado que deve ser utilizado como entrada:</span></div><div><span style="font-family: Arial, sans-serif;"><span style="font-size: 14px;"><br /></span></span></div><div><span style="font-family: Arial, sans-serif;"><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/a/AVvXsEih3BnI1uyEFvfi175D13VnzmRuN6Xi_8ZYlvJYT4Wk2NsMv57m7JFtx23tgL-BdBPa24DLxoHrRPk-boFLxY3LLlYAUV1aDimlaSxAnaJSWlHpwxvEyScjbVRxD1oBilswtAHX5hPJgHZYMRI8voZ51cOnc01qV_iuihzs4mK-p-OwIFNlHFx4ckD_=s888" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="667" data-original-width="888" height="480" src="https://blogger.googleusercontent.com/img/a/AVvXsEih3BnI1uyEFvfi175D13VnzmRuN6Xi_8ZYlvJYT4Wk2NsMv57m7JFtx23tgL-BdBPa24DLxoHrRPk-boFLxY3LLlYAUV1aDimlaSxAnaJSWlHpwxvEyScjbVRxD1oBilswtAHX5hPJgHZYMRI8voZ51cOnc01qV_iuihzs4mK-p-OwIFNlHFx4ckD_=w640-h480" width="640" /></a></div><br /></span><p class="MsoNormal"><span style="font-family: "Georgia",serif; font-size: 12.0pt; line-height: 115%; mso-bidi-font-family: "Arial Unicode MS"; mso-fareast-font-family: "Arial Unicode MS";">body('Get_Resources')?['value']<o:p></o:p></span></p>
<span style="font-family: "Arial",sans-serif; font-size: 10.5pt; line-height: 115%; mso-ansi-language: PT-BR; mso-bidi-language: AR-SA; mso-fareast-font-family: "Arial Unicode MS"; mso-fareast-language: EN-US;">Dessa maneira será possível utilizar mais uma
vez a ação <b>Send an HTTP Request to SharePoint</b> para adicionar os recursos
como membros de equipe do projeto (perceba que a ação foi renomeada para ‘<i>Add
Resources</i>’):</span></div><div><span style="font-family: Arial, sans-serif;"><span style="font-size: 14px;"><br /></span></span></div><div><span style="font-family: Arial, sans-serif;"><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/a/AVvXsEjHJ7O3_DPpYNm8bgTjaDpCakIYYwm9EfmyENd_Bw_u3SM3XBXo1chJOmslv-BNpYLKyDodoY2xy7ZyP8QO7wCxJKZ9P6NLD7-NJrNvUs1pnr3oGSkL7zReZ56xlnUp9GDB8wgK3Zq5q8-5Gn9ACOwyB2MKDDJBu52M0aTX39fKpg28cVszEmmwztIo=s759" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="561" data-original-width="759" height="474" src="https://blogger.googleusercontent.com/img/a/AVvXsEjHJ7O3_DPpYNm8bgTjaDpCakIYYwm9EfmyENd_Bw_u3SM3XBXo1chJOmslv-BNpYLKyDodoY2xy7ZyP8QO7wCxJKZ9P6NLD7-NJrNvUs1pnr3oGSkL7zReZ56xlnUp9GDB8wgK3Zq5q8-5Gn9ACOwyB2MKDDJBu52M0aTX39fKpg28cVszEmmwztIo=w640-h474" width="640" /></a></div><div><span style="font-family: Arial, sans-serif;"><br /></span></div></span><p class="MsoNormal"><span style="font-family: "Georgia",serif; font-size: 12.0pt; line-height: 115%; mso-bidi-font-family: "Arial Unicode MS"; mso-fareast-font-family: "Arial Unicode MS";">/_api/ProjectServer/Projects('<span style="background: yellow; mso-highlight: yellow;"><projectId></span>')/Draft/ProjectResources/AddEnterpriseResourceById('<span style="background: yellow; mso-highlight: yellow;"><enterpriseResourceId></span>')<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-family: "Arial",sans-serif; font-size: 10.5pt; line-height: 115%; mso-fareast-font-family: "Arial Unicode MS";">Lembre-se de
substituir os conteúdos dinâmicos com os resultados obtidos das ações
anteriores, conforme destacado acima.<o:p></o:p></span></p>
<span style="font-family: "Arial",sans-serif; font-size: 10.5pt; line-height: 115%; mso-ansi-language: PT-BR; mso-bidi-language: AR-SA; mso-fareast-font-family: "Arial Unicode MS"; mso-fareast-language: EN-US;">Como ação final, bastará publicar o projeto ao
final do loop de adição de recursos para garantir que eles sejam devidamente
sincronizados com o site de projeto:</span></div><div><span style="font-family: Arial, sans-serif;"><span style="font-size: 14px;"><br /></span></span></div><div><span style="font-family: Arial, sans-serif;"><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/a/AVvXsEjb_HZVXgBCNsScUgPB0ezK3d-Vjgf3Uzjabjvr_-2NejBTmVHjAIVWV7MSpVGOAaebbniPGp6Np5xiRpM9ctWyVMhvwUstqxO-lSOEvDL98R6zMpGVqPNS7rpHdo-7Z9NQY0UwqDK5in2W1J--6oNIl8jSK25j55rbosft6skhSzK84INQoxHouq4a=s841" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="841" data-original-width="682" height="640" src="https://blogger.googleusercontent.com/img/a/AVvXsEjb_HZVXgBCNsScUgPB0ezK3d-Vjgf3Uzjabjvr_-2NejBTmVHjAIVWV7MSpVGOAaebbniPGp6Np5xiRpM9ctWyVMhvwUstqxO-lSOEvDL98R6zMpGVqPNS7rpHdo-7Z9NQY0UwqDK5in2W1J--6oNIl8jSK25j55rbosft6skhSzK84INQoxHouq4a=w520-h640" width="520" /></a></div><br /></span><span style="font-family: "Arial",sans-serif; font-size: 10.5pt; line-height: 115%; mso-ansi-language: PT-BR; mso-bidi-language: AR-SA; mso-fareast-font-family: "Arial Unicode MS"; mso-fareast-language: EN-US;">Quando
um novo projeto for criado, o flow será disparado, e como consequência os membros
de equipe serão devidamente adicionados ao projeto:</span></div><div><span style="font-family: Arial, sans-serif;"><span style="font-size: 14px;"><br /></span></span></div><div><span style="font-family: Arial, sans-serif;"><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/a/AVvXsEhu0RibV6IJ_GQ5a_BWxgWYTUdmYwzFXPVNDHT_3s_9jrRtxesyEyYYUZ2wHu_vQZUX3hvcOCQaX7Xyi619WNlyI7NTL27BwenZBA0P1mowePGM9EXaR6sMkwkzYb3DevHpsh1Og2UP57U6EeQpUOtsUs8cURSb83MoaEtZSZt7mJLc1Sd7zPX410as=s938" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="852" data-original-width="938" height="582" src="https://blogger.googleusercontent.com/img/a/AVvXsEhu0RibV6IJ_GQ5a_BWxgWYTUdmYwzFXPVNDHT_3s_9jrRtxesyEyYYUZ2wHu_vQZUX3hvcOCQaX7Xyi619WNlyI7NTL27BwenZBA0P1mowePGM9EXaR6sMkwkzYb3DevHpsh1Og2UP57U6EeQpUOtsUs8cURSb83MoaEtZSZt7mJLc1Sd7zPX410as=w640-h582" width="640" /></a></div><br /><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/a/AVvXsEiFKNkplJBLlqc6dHoE-2oNTODwQGqqekMLQB56iuSg1Enu01qpTA6QOgUlwqLAN5nfHXiRn0jRJ3gw-8PCnOecjITAbrGof29u2RIKUBTTgy5dKucoknu-eci2vKospmKcoMeRFPIvvXEs5Qh0QI5RXyNfIrT50qJcTW0SkzADCxHXMBloPz10uRug=s1052" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="464" data-original-width="1052" height="282" src="https://blogger.googleusercontent.com/img/a/AVvXsEiFKNkplJBLlqc6dHoE-2oNTODwQGqqekMLQB56iuSg1Enu01qpTA6QOgUlwqLAN5nfHXiRn0jRJ3gw-8PCnOecjITAbrGof29u2RIKUBTTgy5dKucoknu-eci2vKospmKcoMeRFPIvvXEs5Qh0QI5RXyNfIrT50qJcTW0SkzADCxHXMBloPz10uRug=w640-h282" width="640" /></a></div><br /></span><p class="MsoNormal"><span style="font-family: "Arial",sans-serif; font-size: 10.5pt; line-height: 115%; mso-fareast-font-family: "Arial Unicode MS";">....................................................................................................<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-family: "Arial",sans-serif; font-size: 10.5pt; line-height: 115%; mso-fareast-font-family: "Arial Unicode MS";">Como mencionado
no início do post, fica aqui minha nota de agradecimento ao Alisson Scalco pela
sua fundamental colaboração nesse post. Valeu demais, Alisson!<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-family: "Arial",sans-serif; font-size: 10.5pt; line-height: 115%; mso-fareast-font-family: "Arial Unicode MS";">....................................................................................................<o:p></o:p></span></p>
<span style="font-family: "Arial",sans-serif; font-size: 10.5pt; line-height: 115%; mso-ansi-language: PT-BR; mso-bidi-language: AR-SA; mso-fareast-font-family: "Arial Unicode MS"; mso-fareast-language: EN-US;">E por hoje é só pessoal. Espero que gostem desse
post, e até o próximo!</span><span style="font-family: Arial, sans-serif;"><span style="font-size: 14px;"><br /></span></span><span style="font-family: "Arial",sans-serif; font-size: 10.5pt; line-height: 115%; mso-ansi-language: PT-BR; mso-bidi-language: AR-SA; mso-fareast-font-family: "Arial Unicode MS"; mso-fareast-language: EN-US;"><br /></span></div>Raphael Santoshttp://www.blogger.com/profile/15872319796376300645noreply@blogger.com0tag:blogger.com,1999:blog-6645005980317067979.post-75599682232368519452022-01-29T12:33:00.003-03:002022-01-29T12:33:49.806-03:00Caminho crítico no Project for the web<p> <span style="font-family: "Arial Unicode MS", sans-serif; font-size: 10.5pt;">Olá pessoal –</span></p>
<p class="MsoNormal"><span style="font-family: "Arial Unicode MS",sans-serif; font-size: 10.5pt; line-height: 115%;">A habilidade de identificar o caminho crítico de
um projeto é de fundamental importância para os gerentes de projeto, uma vez que
irá auxiliá-los no entendimento e na identificação das tarefas com potencial
para afetar negativamente a data final de um projeto.<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-family: "Arial Unicode MS",sans-serif; font-size: 10.5pt; line-height: 115%;">Apesar de este ser um tópico bastante estudado e
presente no dia-a-dia dos gerentes de projeto que utilizam o <a href="http://www.raphael-santos.net/2011/12/caminho-critico.html" target="_blank">Microsoft Project Desktop</a>, o Project for the web ainda não dispunha dessa
funcionalidade. A boa notícia é que a Microsoft recentemente introduziu um novo
esquema de filtros nas visões de Tabela e de Linha do tempo que permitem aos
gerentes de projeto a rápida identificação das tarefas que fazem parte do
caminho crítico do cronograma.<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-family: "Arial Unicode MS",sans-serif; font-size: 10.5pt; line-height: 115%;">Se você consegue se virar bem em inglês, um <a href="https://hbr.org/1963/09/the-abcs-of-the-critical-path-method" target="_blank">artigo escrito no longínquo ano de 1963</a> e disponibilizado pela revista <i>Harvard
Business Review</i> esmiuça os métodos para cálculo do caminho crítico em um riquíssimo
nível de detalhes – vale muito a pena a leitura.<o:p></o:p></span></p>
<p class="MsoNormal"><b><span style="font-family: "Arial Unicode MS", sans-serif; font-size: 10.5pt; font-variant-caps: small-caps; font-variant-east-asian: normal; font-variant-numeric: normal; line-height: 115%;">Filtrando as tarefas críticas na visão tabela<o:p></o:p></span></b></p>
<span style="font-family: "Arial Unicode MS",sans-serif; font-size: 10.5pt; line-height: 115%; mso-ansi-language: PT-BR; mso-bidi-language: AR-SA; mso-fareast-language: EN-US;">Para
filtrar as tarefas críticas do cronograma na visão Tabela, acesse o projeto e
clique na opção <b>Filtros</b>:</span><div><span style="font-family: "Arial Unicode MS",sans-serif; font-size: 10.5pt; line-height: 115%; mso-ansi-language: PT-BR; mso-bidi-language: AR-SA; mso-fareast-language: EN-US;"><br /></span></div><div><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/a/AVvXsEhmEAghtszQ2ZXAWTeAT0eJt5sNllwhXAxvP-MIL7P49PeuPtjbkF7N88gYOpOhh5GHKNuwvIe6bIKiNoZuffScNLWyZThP5gVvix--ivT8h_Vlnm-EECdihTI7kGTNYmAyVJxz0gh3oCWBPjyMsGA8t9BQOKepqfHhdf9jU6poofH8Fvc8vRNUTJS_=s1421" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="533" data-original-width="1421" height="240" src="https://blogger.googleusercontent.com/img/a/AVvXsEhmEAghtszQ2ZXAWTeAT0eJt5sNllwhXAxvP-MIL7P49PeuPtjbkF7N88gYOpOhh5GHKNuwvIe6bIKiNoZuffScNLWyZThP5gVvix--ivT8h_Vlnm-EECdihTI7kGTNYmAyVJxz0gh3oCWBPjyMsGA8t9BQOKepqfHhdf9jU6poofH8Fvc8vRNUTJS_=w640-h240" width="640" /></a></div><br /><span style="font-family: "Arial Unicode MS",sans-serif; font-size: 10.5pt; line-height: 115%; mso-ansi-language: PT-BR; mso-bidi-language: AR-SA; mso-fareast-language: EN-US;">Em seguida, dentre as opções apresentadas, você
poderá expandir e então filtrar as tarefas críticas do cronograma:</span></div><div><span style="font-family: "Arial Unicode MS",sans-serif; font-size: 10.5pt; line-height: 115%; mso-ansi-language: PT-BR; mso-bidi-language: AR-SA; mso-fareast-language: EN-US;"><br /></span></div><div><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/a/AVvXsEi6HQXo42E1p8_zyPI9BrKzTVpe6ulbcocQqhOWJaOzr4i9ZfNYPk5W_bvhEYWx1OEMuvVCNj6jtgRN--QkY1Qlyyp_ykdGJRt1UjUDF9M4GMnstYVjuQJRA-ceiwob6A4t0izL68Qf-VbYW4L0aHqY83VFD13B0nphOed9VNkTsdv104kSmSw8ajl-=s455" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="450" data-original-width="455" height="395" src="https://blogger.googleusercontent.com/img/a/AVvXsEi6HQXo42E1p8_zyPI9BrKzTVpe6ulbcocQqhOWJaOzr4i9ZfNYPk5W_bvhEYWx1OEMuvVCNj6jtgRN--QkY1Qlyyp_ykdGJRt1UjUDF9M4GMnstYVjuQJRA-ceiwob6A4t0izL68Qf-VbYW4L0aHqY83VFD13B0nphOed9VNkTsdv104kSmSw8ajl-=w400-h395" width="400" /></a></div><br /><span style="font-family: "Arial Unicode MS",sans-serif; font-size: 10.5pt; line-height: 115%; mso-ansi-language: PT-BR; mso-bidi-language: AR-SA; mso-fareast-language: EN-US;">Como resultado, o Project for the web irá exibir
apenas as tarefas com potencial de impactar a data final do projeto:</span></div><div><span style="font-family: "Arial Unicode MS",sans-serif; font-size: 10.5pt; line-height: 115%; mso-ansi-language: PT-BR; mso-bidi-language: AR-SA; mso-fareast-language: EN-US;"><br /></span></div><div><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/a/AVvXsEh-EhMJPChgxD35aDjhcn22rOgs1vo9fClsu6ngKq_IQ31Ksm9UA2IH0hQGktEBCegEZgyGNVmUP66bwPrz4kbO61NjtSdWgY0WBGBxOXgeOIdeEFm_4iUcCGhvpgBPIiTLPV2_-wNcS6Kz7zpJjtltBDxuIvL8kjxZRnhIqvyT9IB093kyiU76GB6v=s698" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="302" data-original-width="698" height="276" src="https://blogger.googleusercontent.com/img/a/AVvXsEh-EhMJPChgxD35aDjhcn22rOgs1vo9fClsu6ngKq_IQ31Ksm9UA2IH0hQGktEBCegEZgyGNVmUP66bwPrz4kbO61NjtSdWgY0WBGBxOXgeOIdeEFm_4iUcCGhvpgBPIiTLPV2_-wNcS6Kz7zpJjtltBDxuIvL8kjxZRnhIqvyT9IB093kyiU76GB6v=w640-h276" width="640" /></a></div><div><br /></div><p class="MsoNormal"><b><span style="font-family: "Arial Unicode MS", sans-serif; font-size: 10.5pt; font-variant-caps: small-caps; font-variant-east-asian: normal; font-variant-numeric: normal; line-height: 115%;">Destacando as tarefas críticas na visão linha do tempo<o:p></o:p></span></b></p>
<span style="font-family: "Arial Unicode MS",sans-serif; font-size: 10.5pt; line-height: 115%; mso-ansi-language: PT-BR; mso-bidi-language: AR-SA; mso-fareast-language: EN-US;">Já
na visão de Linha do tempo, as tarefas críticas podem ser filtradas ou apenas
destacadas, de acordo com a preferência e necessidade do usuário. Ao clicar na
opção <b>Filtros</b>, você terá a opção de ativar a funcionalidade que irá
destacar as tarefas críticas:</span></div><div><span style="font-family: Arial Unicode MS, sans-serif;"><span style="font-size: 14px;"><br /></span></span></div><div><span style="font-family: Arial Unicode MS, sans-serif;"><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/a/AVvXsEjcdb0d4SLPpJGnSh8LSTOBdvjiBvMb8G1U5JBDE8IUFY8TSpE4h9TtHb69TnXwb3MSyrU_nxAQ-jfdoAVjoRR2YdR3pfMReSpkGFeftmcAZh-wZtx91bGcgyAQjBSiNv9IEVSZuW9f5zK2PamCLNdVwp-KDzWO4FH_tn6iLuim9BqBwn2lHTDnf6kf=s557" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="557" data-original-width="455" height="400" src="https://blogger.googleusercontent.com/img/a/AVvXsEjcdb0d4SLPpJGnSh8LSTOBdvjiBvMb8G1U5JBDE8IUFY8TSpE4h9TtHb69TnXwb3MSyrU_nxAQ-jfdoAVjoRR2YdR3pfMReSpkGFeftmcAZh-wZtx91bGcgyAQjBSiNv9IEVSZuW9f5zK2PamCLNdVwp-KDzWO4FH_tn6iLuim9BqBwn2lHTDnf6kf=w326-h400" width="326" /></a></div><div><span style="font-family: Arial Unicode MS, sans-serif;"><br /></span></div></span><span style="font-family: "Arial Unicode MS",sans-serif; font-size: 10.5pt; line-height: 115%; mso-ansi-language: PT-BR; mso-bidi-language: AR-SA; mso-fareast-language: EN-US;">Como resultado, todas as tarefas que fazem parte
do caminho crítico serão devidamente marcadas com as barras vermelhas ao redor
da barra tradicional do Gráfico de Gantt:</span></div><div><span style="font-family: Arial Unicode MS, sans-serif;"><span style="font-size: 14px;"><br /></span></span></div><div><span style="font-family: Arial Unicode MS, sans-serif;"><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/a/AVvXsEiL2TTF7rvNaGksNs_zy0yg0vXQhzVsw6AEmwooW31AiNiRYmb_DnYMF4RKEDXKPujZ1owDjYUz9TZaQzIia_xt-9LQWP9Vsoeyku283v7U3BLlUBpZOrehCJiAzmAQxxKt1WhjZ_SMg9WF0EleUWG1yECIXHe-hVKZb9b_QaXfZ6DivCurY7RBM1R4=s1496" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="704" data-original-width="1496" height="302" src="https://blogger.googleusercontent.com/img/a/AVvXsEiL2TTF7rvNaGksNs_zy0yg0vXQhzVsw6AEmwooW31AiNiRYmb_DnYMF4RKEDXKPujZ1owDjYUz9TZaQzIia_xt-9LQWP9Vsoeyku283v7U3BLlUBpZOrehCJiAzmAQxxKt1WhjZ_SMg9WF0EleUWG1yECIXHe-hVKZb9b_QaXfZ6DivCurY7RBM1R4=w640-h302" width="640" /></a></div><div><span style="font-family: Arial Unicode MS, sans-serif;"><br /></span></div></span><p class="MsoNormal"><b><span style="font-family: "Arial Unicode MS", sans-serif; font-size: 10.5pt; font-variant-caps: small-caps; font-variant-east-asian: normal; font-variant-numeric: normal; line-height: 115%;">Considerações finais<o:p></o:p></span></b></p>
<p class="MsoNormal"><span style="font-family: "Arial Unicode MS",sans-serif; font-size: 10.5pt; line-height: 115%;">É importante ressaltar que a visualização das
tarefas que fazem parte do caminho crítico no Project for the web é algo que
está diretamente relacionado a maneira como o cronograma foi desenvolvido e
organizado pelo gerente do projeto. Em cronogramas não muito bem elaborados,
tarefas que não seriam críticas podem eventualmente ser listadas como tal, ao
ponto que tarefas importantes e que deveriam estar no caminho crítico podem não
ser assim identificadas pelo software – tudo em razão da sequência estabelecida
através das predecessoras e sucessoras do cronograma.<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-family: "Arial Unicode MS",sans-serif; font-size: 10.5pt; line-height: 115%;">Nesse sentido, como bons gerentes de projeto que
somos, podemos utilizar o conhecimento obtido nos tempos em que construíamos
cronogramas no Microsoft Project Desktop, com o objetivo de garantir que todas
as tarefas do cronograma tenham predecessoras e sucessoras.<o:p></o:p></span></p>
<span style="font-family: "Arial Unicode MS",sans-serif; font-size: 10.5pt; line-height: 115%; mso-ansi-language: PT-BR; mso-bidi-language: AR-SA; mso-fareast-language: EN-US;">Eu falei
sobre essa boa prática em um dos meus vídeos sobre os cinco erros mais comuns
no Microsoft Project:</span></div><div><span style="font-family: Arial Unicode MS, sans-serif;"><span style="font-size: 14px;"><br /></span></span></div><div><span style="font-family: Arial Unicode MS, sans-serif;"><div class="separator" style="clear: both; text-align: center;"><iframe allowfullscreen="" class="BLOG_video_class" height="266" src="https://www.youtube.com/embed/6oiX3nfRu0A" width="320" youtube-src-id="6oiX3nfRu0A"></iframe></div><br /></span><p class="MsoNormal"><span style="font-family: "Arial Unicode MS",sans-serif; font-size: 10.5pt; line-height: 115%;">Por hoje é isso pessoal.<o:p></o:p></span></p>
<span style="font-family: "Arial Unicode MS",sans-serif; font-size: 10.5pt; line-height: 115%; mso-ansi-language: PT-BR; mso-bidi-language: AR-SA; mso-fareast-language: EN-US;">Espero
que tenham gostado desse post – um grande abraço e até a próxima!</span><span style="font-family: Arial Unicode MS, sans-serif;"><span style="font-size: 14px;"><br /></span></span><span style="font-family: "Arial Unicode MS",sans-serif; font-size: 10.5pt; line-height: 115%; mso-ansi-language: PT-BR; mso-bidi-language: AR-SA; mso-fareast-language: EN-US;"><br /></span></div>Raphael Santoshttp://www.blogger.com/profile/15872319796376300645noreply@blogger.com0tag:blogger.com,1999:blog-6645005980317067979.post-69838890772953316162022-01-10T14:08:00.002-03:002022-01-10T14:08:21.623-03:00Projetos administrativos no Project Online<p><span style="font-family: "Arial Unicode MS", sans-serif; font-size: 10.5pt;">Olá pessoal –</span></p>
<p class="MsoNormal"><span style="font-family: "Arial Unicode MS",sans-serif; font-size: 10.5pt; line-height: 115%;">Muitas organizações enxergam a necessidade de
adotar uma plataforma de gerenciamento de projetos como o Project Online para que
tenham condições de capturar a demanda de trabalho dos recursos corporativos,
comparando-a então com a capacidade de trabalho das pessoas e tendo assim uma
clara visão dos eventuais gargalos existentes (quantas horas no total estão
sendo requeridas versus quantas horas estão efetivamente disponíveis).<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-family: "Arial Unicode MS",sans-serif; font-size: 10.5pt; line-height: 115%;">Este é inclusive um tema que abordei no meu
canal do YouTube, em dois vídeos específicos (com tutoriais):<o:p></o:p></span></p>
<div class="separator" style="clear: both; text-align: center;"><iframe allowfullscreen="" class="BLOG_video_class" height="266" src="https://www.youtube.com/embed/pJsmnhyTcyM" width="320" youtube-src-id="pJsmnhyTcyM"></iframe></div><div><br /></div><br /><div class="separator" style="clear: both; text-align: center;"><iframe allowfullscreen="" class="BLOG_video_class" height="266" src="https://www.youtube.com/embed/w2gWFBHvvYc" width="320" youtube-src-id="w2gWFBHvvYc"></iframe></div><p class="MsoNormal"><span style="font-family: "Arial Unicode MS", sans-serif; font-size: 10.5pt;">Porém, nem todas as horas que as pessoas dedicam
ao trabalho no dia-a-dia estão relacionadas a projetos. É possível inclusive
fazer um exercício simples: quantas horas do seu dia são consumidas em
reuniões, treinamentos, apoio e suporte, comunicação, entre outras tantas
atividades administrativas? Ao pensar nisso, a seguinte pergunta emerge: como
utilizar o Project Online para criar um plano de utilização de recursos
efetivo, que considere não só as horas trabalhadas em projetos mas também suas
horas administrativas?</span></p>
<p class="MsoNormal"><b><span style="font-family: "Arial Unicode MS", sans-serif; font-size: 10.5pt; font-variant-caps: small-caps; font-variant-east-asian: normal; font-variant-numeric: normal; line-height: 115%;">Projetos administrativos<o:p></o:p></span></b></p>
<p class="MsoNormal"><span style="font-family: "Arial Unicode MS",sans-serif; font-size: 10.5pt; line-height: 115%;">Para atender essa necessidade, membros do PMO e
Gerentes de Recursos podem criar projetos administrativos no Project Online,
que tenham como objetivo estabelecer uma previsão de utilização de recursos em atividades
administrativas ao longo de um período. Ao criar um projeto administrativo e
realizar as devidas atribuições dos recursos corporativos, uma porção de sua
capacidade será consumida, reduzindo sua disponibilidade e provendo aos demais
usuários uma visão mais fiel à realidade no que se refere à disponibilidade
real dos recursos.<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-family: "Arial Unicode MS",sans-serif; font-size: 10.5pt; line-height: 115%;">Para criar projetos administrativos, o ideal é
que um novo </span><a href="https://support.microsoft.com/pt-br/office/criar-um-tipo-de-projeto-da-empresa-personalizado-c576de02-a25c-4ea1-9de6-02be44dbb0a6#ID0EBF=Online" target="_blank"><span style="font-family: "Arial Unicode MS",sans-serif; font-size: 10.5pt; line-height: 115%;">tipo
de projeto da empresa (EPT)</span></a><span style="font-family: "Arial Unicode MS",sans-serif; font-size: 10.5pt; line-height: 115%;"> seja criado. Isso facilitará
sua identificação e também sua segmentação nas visões de portfólio, nos
relatórios e dashboards que a empresa utiliza (observação: é importante
ressaltar que a criação de tipos de projeto da empresa é uma prerrogativa
exclusiva dos usuários com perfil de administradores).<o:p></o:p></span></p>
<span style="font-family: "Arial Unicode MS",sans-serif; font-size: 10.5pt; line-height: 115%; mso-ansi-language: PT-BR; mso-bidi-language: AR-SA; mso-fareast-language: EN-US;">No
exemplo abaixo, criei no meu ambiente um novo tipo de projeto da empresa
chamado <b>Projeto Administrativo</b>:</span><div><span style="font-family: "Arial Unicode MS",sans-serif; font-size: 10.5pt; line-height: 115%; mso-ansi-language: PT-BR; mso-bidi-language: AR-SA; mso-fareast-language: EN-US;"><br /></span></div><div><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/a/AVvXsEiZytfE9z0nxHjXLGNGNiLzOqsf1-rV7oHmIi6Rf3ykw9Jo8mmaFKSREk81-3-lLpQMSp0gEY1JpF31X3hz7slus_KnNDMvfFfCtFreA54ZNRv9V80X3mJdXGsP6q9597qvOzT0GKTnfCFeS2zc8C1Pk0-BbLj5K9Mq-3W0txqUBKRGekuT5QnyYQCQ=s294" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="294" data-original-width="274" height="400" src="https://blogger.googleusercontent.com/img/a/AVvXsEiZytfE9z0nxHjXLGNGNiLzOqsf1-rV7oHmIi6Rf3ykw9Jo8mmaFKSREk81-3-lLpQMSp0gEY1JpF31X3hz7slus_KnNDMvfFfCtFreA54ZNRv9V80X3mJdXGsP6q9597qvOzT0GKTnfCFeS2zc8C1Pk0-BbLj5K9Mq-3W0txqUBKRGekuT5QnyYQCQ=w373-h400" width="373" /></a></div><br /><span style="font-family: "Arial Unicode MS",sans-serif; font-size: 10.5pt; line-height: 115%; mso-ansi-language: PT-BR; mso-bidi-language: AR-SA; mso-fareast-language: EN-US;">Dessa forma os usuários estarão habilitados a criar
novos projetos baseados no EPT administrativo:</span></div><div><span style="font-family: "Arial Unicode MS",sans-serif; font-size: 10.5pt; line-height: 115%; mso-ansi-language: PT-BR; mso-bidi-language: AR-SA; mso-fareast-language: EN-US;"><br /></span></div><div><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/a/AVvXsEjjb9u8Zta-k8YFWX-un7hP9mJa08UVgiRnY7at60MnUu6lLSKSovY0kytEa5eedVXLxEtvOKFwP67LCFoO4P8YeXQYxKPFtS7SA8HSPm72OgDEXzaBcXfgv9nkCPEvOEe99mNMtKipvzieVP0qPnwr4nZ2W-mF47LCmR0iME5BL3eiOa8Gy1NrYO1w=s742" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="621" data-original-width="742" height="536" src="https://blogger.googleusercontent.com/img/a/AVvXsEjjb9u8Zta-k8YFWX-un7hP9mJa08UVgiRnY7at60MnUu6lLSKSovY0kytEa5eedVXLxEtvOKFwP67LCFoO4P8YeXQYxKPFtS7SA8HSPm72OgDEXzaBcXfgv9nkCPEvOEe99mNMtKipvzieVP0qPnwr4nZ2W-mF47LCmR0iME5BL3eiOa8Gy1NrYO1w=w640-h536" width="640" /></a></div><div><br /></div><span style="font-family: "Arial Unicode MS",sans-serif; font-size: 10.5pt; line-height: 115%; mso-ansi-language: PT-BR; mso-bidi-language: AR-SA; mso-fareast-language: EN-US;">Uma vez criado um novo projeto administrativo, o
próximo passo será configurar o cronograma. A estruturação das tarefas poderá
ser feita de inúmeras formas, a depender das características, do negócio e dos
processos de gestão estabelecidos em cada empresa. Neste exemplo, estou
estruturando um projeto administrativo para capturar as horas administrativas
dos colaboradores da área de Tecnologia da Informação, organizadas em atividades
de desenvolvimento e atividades de suporte e sustentação:</span></div><div><span style="font-family: Arial Unicode MS, sans-serif;"><span style="font-size: 14px;"><br /></span></span></div><div><span style="font-family: Arial Unicode MS, sans-serif;"><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/a/AVvXsEh-kPsqOguktojfw48TYuYIMExiCnjPAcCrbWDEfKIeD-Pn0pquM-LqcDgMUwxqteZR7iewXdRVtSOz8VEUZj4_jBMU-bC7cV90OvJe2PmtXdUY7HDukSR5zIYw6rzXhy66FN0TsJLHK_9ZMw6EaWu7HcRTQ3l5HI5dS6d7Kk3ijj1bCZW8uQTfR9rQ=s1154" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="377" data-original-width="1154" height="210" src="https://blogger.googleusercontent.com/img/a/AVvXsEh-kPsqOguktojfw48TYuYIMExiCnjPAcCrbWDEfKIeD-Pn0pquM-LqcDgMUwxqteZR7iewXdRVtSOz8VEUZj4_jBMU-bC7cV90OvJe2PmtXdUY7HDukSR5zIYw6rzXhy66FN0TsJLHK_9ZMw6EaWu7HcRTQ3l5HI5dS6d7Kk3ijj1bCZW8uQTfR9rQ=w640-h210" width="640" /></a></div><div><span style="font-family: Arial Unicode MS, sans-serif;"><br /></span></div></span><p class="MsoNormal"><span style="font-family: "Arial Unicode MS",sans-serif; font-size: 10.5pt; line-height: 115%;">Para que você tenha maior nível de controle, e
também para garantir que você possa obter uma melhor performance do Project
Online no processamento das informações, minha sugestão é que cada grupo de
atividades seja subdividida em quatro partes, representando cada trimestre.
Dessa forma, ao invés de o software ter que processar uma única tarefa
distribuída ao longo de um ano inteiro, ele processará quatro partes menores,
melhorando a eficiência e evitando problemas com um grande volume de dados a
serem processados.<o:p></o:p></span></p>
<span style="font-family: "Arial Unicode MS",sans-serif; font-size: 10.5pt; line-height: 115%; mso-ansi-language: PT-BR; mso-bidi-language: AR-SA; mso-fareast-language: EN-US;">O
próximo passo será estabelecer a duração das tarefas para que respeitem a
duração de cada trimestre:</span></div><div><span style="font-family: Arial Unicode MS, sans-serif;"><span style="font-size: 14px;"><br /></span></span></div><div><span style="font-family: Arial Unicode MS, sans-serif;"><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/a/AVvXsEiUXz0Zawx2CdBfSk6UT0GOCq8S6vkxsJxSr4S6vvPNbJKSGEyhCFVt-PMrHKlS14Cm8giEvJHv0npsV7b3ZkLwlnxMFBj0LDOHEI_YvmRlXQ1KJAAj6ybCgXiE-NogeydiG8Uhm-4EGtje1x29Pl1N3nyPQ5ILjx5s-uM1iwpGFF9lLO3OhEG4dTqt=s1803" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="353" data-original-width="1803" height="126" src="https://blogger.googleusercontent.com/img/a/AVvXsEiUXz0Zawx2CdBfSk6UT0GOCq8S6vkxsJxSr4S6vvPNbJKSGEyhCFVt-PMrHKlS14Cm8giEvJHv0npsV7b3ZkLwlnxMFBj0LDOHEI_YvmRlXQ1KJAAj6ybCgXiE-NogeydiG8Uhm-4EGtje1x29Pl1N3nyPQ5ILjx5s-uM1iwpGFF9lLO3OhEG4dTqt=w640-h126" width="640" /></a></div><div><span style="font-family: Arial Unicode MS, sans-serif;"><br /></span></div></span><span style="font-family: "Arial Unicode MS",sans-serif; font-size: 10.5pt; line-height: 115%; mso-ansi-language: PT-BR; mso-bidi-language: AR-SA; mso-fareast-language: EN-US;">Outro ponto importante: altere o </span><span style="font-family: "Calibri",sans-serif; font-size: 11.0pt; line-height: 115%; mso-ansi-language: PT-BR; mso-ascii-theme-font: minor-latin; mso-bidi-font-family: "Times New Roman"; mso-bidi-language: AR-SA; mso-bidi-theme-font: minor-bidi; mso-fareast-font-family: Calibri; mso-fareast-language: EN-US; mso-fareast-theme-font: minor-latin; mso-hansi-theme-font: minor-latin;"><a href="https://www.youtube.com/watch?v=Ad-YUXZxPQ8" target="_blank"><span style="font-family: "Arial Unicode MS",sans-serif; font-size: 10.5pt; line-height: 115%;">Tipo de Tarefa</span></a></span><span style="font-family: "Arial Unicode MS",sans-serif; font-size: 10.5pt; line-height: 115%; mso-ansi-language: PT-BR; mso-bidi-language: AR-SA; mso-fareast-language: EN-US;">
para que seja <b>Duração Fixa</b>, <i>sem Controle de empenho</i>. Esta
alteração deve ser feita para garantir que, independentemente do número de
recursos atribuídos às tarefas, e independentemente das suas unidades de
atribuição, a duração das tarefas será sempre respeitada (as tarefas não
deverão ter sua duração aumentada ou reduzida):</span></div><div><span style="font-family: Arial Unicode MS, sans-serif;"><span style="font-size: 14px;"><br /></span></span></div><div><span style="font-family: Arial Unicode MS, sans-serif;"><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/a/AVvXsEhKmxueZ0P-ZxBVaiOBlsbsA_-D_Gh0k0OpnCBtX1Z5Cgwnmkmk7GPStexAtWCTa_aRgBPihsmv3YA577HmLZxUOBfW_yEzxkBRKO5urwKDfY9yM0LDtE7GsyAv1PQgfUNv0dpLgU5GLsQ-F7ZcTw1GXHAZ5tgFC3U2rEJ8P3UoLQbIrsL8YAGhQR9B=s568" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="381" data-original-width="568" height="269" src="https://blogger.googleusercontent.com/img/a/AVvXsEhKmxueZ0P-ZxBVaiOBlsbsA_-D_Gh0k0OpnCBtX1Z5Cgwnmkmk7GPStexAtWCTa_aRgBPihsmv3YA577HmLZxUOBfW_yEzxkBRKO5urwKDfY9yM0LDtE7GsyAv1PQgfUNv0dpLgU5GLsQ-F7ZcTw1GXHAZ5tgFC3U2rEJ8P3UoLQbIrsL8YAGhQR9B=w400-h269" width="400" /></a></div><div><span style="font-family: Arial Unicode MS, sans-serif;"><br /></span></div></span><span style="font-family: "Arial Unicode MS",sans-serif; font-size: 10.5pt; line-height: 115%; mso-ansi-language: PT-BR; mso-bidi-language: AR-SA; mso-fareast-language: EN-US;">Após finalizar esses passos você poderá iniciar
a atribuição dos recursos às tarefas, definindo suas unidades de atribuição
para que representem a estimativa de horas a serem dedicadas a cada tipo de
atividade administrativa:</span></div><div><span style="font-family: Arial Unicode MS, sans-serif;"><span style="font-size: 14px;"><br /></span></span></div><div><span style="font-family: Arial Unicode MS, sans-serif;"><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/a/AVvXsEgXyMLoKSBRNL__upNy4jKwss0QFfWYMBIbwGMRRjHWoptU1YJUYcKIMxJ7fPsZcVAgI2KZcEl_LaXzMmDwZc49yNL2dCcBYdlxl9pyGVaLMcfCTWx-AIOMPoNyHNeuvJVbNoe8MM6SRmsBmkIvDr9ILWSFU40YIxlprjEsKsO1iyVVceYLD6zzJfbu=s932" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="659" data-original-width="932" height="452" src="https://blogger.googleusercontent.com/img/a/AVvXsEgXyMLoKSBRNL__upNy4jKwss0QFfWYMBIbwGMRRjHWoptU1YJUYcKIMxJ7fPsZcVAgI2KZcEl_LaXzMmDwZc49yNL2dCcBYdlxl9pyGVaLMcfCTWx-AIOMPoNyHNeuvJVbNoe8MM6SRmsBmkIvDr9ILWSFU40YIxlprjEsKsO1iyVVceYLD6zzJfbu=w640-h452" width="640" /></a></div><div><span style="font-family: Arial Unicode MS, sans-serif;"><br /></span></div></span><span style="font-family: "Arial Unicode MS",sans-serif; font-size: 10.5pt; line-height: 115%; mso-ansi-language: PT-BR; mso-bidi-language: AR-SA; mso-fareast-language: EN-US;">Através do modo de exibição <b>Uso das Tarefas</b>
é possível observar mais detalhadamente a distribuição das horas dos recursos
ao longo de cada período:</span></div><div><span style="font-family: Arial Unicode MS, sans-serif;"><span style="font-size: 14px;"><br /></span></span></div><div><span style="font-family: Arial Unicode MS, sans-serif;"><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/a/AVvXsEiTZIfbn-AP-DVBQJnqp5kntynM_U98tlvJfuCZPR8z_cQuynCg3zwU6D5oy_9Rh3eLjmRUZJ33PbZafEj5fQc3kT45syrFNpB5o-P0Wj9dWKyDtka0K8QqA5gUCvAj2sd7StvjRcQ2ZgUA4YTz5TBwXiUgxkmIfbi5nart8uM7_Irw8IpWwCJrS7DD=s1866" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="226" data-original-width="1866" height="78" src="https://blogger.googleusercontent.com/img/a/AVvXsEiTZIfbn-AP-DVBQJnqp5kntynM_U98tlvJfuCZPR8z_cQuynCg3zwU6D5oy_9Rh3eLjmRUZJ33PbZafEj5fQc3kT45syrFNpB5o-P0Wj9dWKyDtka0K8QqA5gUCvAj2sd7StvjRcQ2ZgUA4YTz5TBwXiUgxkmIfbi5nart8uM7_Irw8IpWwCJrS7DD=w640-h78" width="640" /></a></div><div><span style="font-family: Arial Unicode MS, sans-serif;"><br /></span></div></span><p class="MsoNormal"><span style="font-family: "Arial Unicode MS",sans-serif; font-size: 10.5pt; line-height: 115%;">Assim, bastará adicionar ou remover recursos às
tarefas, aumentando ou reduzindo suas unidades de atribuição de acordo com a
expectativa de sua utilização em atividades administrativas ao longo do ano. <o:p></o:p></span></p>
<p class="MsoNormal"><b><span style="font-family: "Arial Unicode MS", sans-serif; font-size: 10.5pt; font-variant-caps: small-caps; font-variant-east-asian: normal; font-variant-numeric: normal; line-height: 115%;">Dica final<o:p></o:p></span></b></p>
<p class="MsoNormal"><span style="font-family: "Arial Unicode MS",sans-serif; font-size: 10.5pt; line-height: 115%;">Para melhorar ainda mais a eficiência dos
projetos administrativos, dentro do processo de gestão e manutenção do
cronograma, recomendo que você, ao final de cada trimestre, utilize as colunas <b>Bloqueada</b>
e <b>Publicar</b> para restringir os usuários de visualizar e editar
informações em períodos já encerrados. Isso irá garantir a integridade do
cronograma, além de também ajudar na performance do Microsoft Project no
processamento das informações.<o:p></o:p></span></p>
<span style="font-family: "Arial Unicode MS",sans-serif; font-size: 10.5pt; line-height: 115%; mso-ansi-language: PT-BR; mso-bidi-language: AR-SA; mso-fareast-language: EN-US;">Se
você não souber como utilizar essas colunas, sugiro dar uma olhada </span><span style="font-family: "Calibri",sans-serif; font-size: 11.0pt; line-height: 115%; mso-ansi-language: PT-BR; mso-ascii-theme-font: minor-latin; mso-bidi-font-family: "Times New Roman"; mso-bidi-language: AR-SA; mso-bidi-theme-font: minor-bidi; mso-fareast-font-family: Calibri; mso-fareast-language: EN-US; mso-fareast-theme-font: minor-latin; mso-hansi-theme-font: minor-latin;"><a href="http://www.raphael-santos.net/2021/01/arquivando-projetos-no-project-online.html" target="_blank"><span style="font-family: "Arial Unicode MS",sans-serif; font-size: 10.5pt; line-height: 115%;">neste
post</span></a></span><span style="font-family: "Arial Unicode MS",sans-serif; font-size: 10.5pt; line-height: 115%; mso-ansi-language: PT-BR; mso-bidi-language: AR-SA; mso-fareast-language: EN-US;">.</span></div><div><span style="font-family: Arial Unicode MS, sans-serif;"><span style="font-size: 14px;"><br /></span></span></div><div><span style="font-family: Arial Unicode MS, sans-serif;"><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/a/AVvXsEh4LVggVf92mOvgXMbFCUTOEaNNnTbBY6vF4U5P-cI0TqFNgmtok1G__2cI03y-dGED1ZFbLdL1JP9EOCaAGcqTvsy2JjI-HlxjYvstKw_4jW5fYTTdY04YwZT-Z3LW9qqfDs_o0SY7Om8j4Yj-E2yfIyAZCgG9skWQN0GNSiZJTcvfSfigCast50Qs=s1192" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="356" data-original-width="1192" height="192" src="https://blogger.googleusercontent.com/img/a/AVvXsEh4LVggVf92mOvgXMbFCUTOEaNNnTbBY6vF4U5P-cI0TqFNgmtok1G__2cI03y-dGED1ZFbLdL1JP9EOCaAGcqTvsy2JjI-HlxjYvstKw_4jW5fYTTdY04YwZT-Z3LW9qqfDs_o0SY7Om8j4Yj-E2yfIyAZCgG9skWQN0GNSiZJTcvfSfigCast50Qs=w640-h192" width="640" /></a></div><div><span style="font-size: 10.5pt;"><br /></span></div><div><span style="font-size: 10.5pt;">.....................</span></div><div><span style="font-size: 10.5pt;"><br /></span></div></span>
<span style="font-family: "Arial Unicode MS",sans-serif; font-size: 10.5pt; line-height: 115%; mso-ansi-language: PT-BR; mso-bidi-language: AR-SA; mso-fareast-language: EN-US;">E
por hoje é só, pessoal </span><span style="font-family: "Segoe UI Emoji",sans-serif; font-size: 10.5pt; line-height: 115%; mso-ansi-language: PT-BR; mso-ascii-font-family: "Arial Unicode MS"; mso-bidi-font-family: "Arial Unicode MS"; mso-bidi-language: AR-SA; mso-char-type: symbol-ext; mso-fareast-font-family: "Arial Unicode MS"; mso-fareast-language: EN-US; mso-hansi-font-family: "Arial Unicode MS"; mso-symbol-font-family: "Segoe UI Emoji";">😉</span><span style="font-family: "Arial Unicode MS",sans-serif; font-size: 10.5pt; line-height: 115%; mso-ansi-language: PT-BR; mso-bidi-language: AR-SA; mso-fareast-language: EN-US;">.</span><span style="font-family: Arial Unicode MS, sans-serif;"><br /></span><span style="font-family: "Arial Unicode MS",sans-serif; font-size: 10.5pt; line-height: 115%; mso-ansi-language: PT-BR; mso-bidi-language: AR-SA; mso-fareast-language: EN-US;"><br /></span></div>Raphael Santoshttp://www.blogger.com/profile/15872319796376300645noreply@blogger.com1tag:blogger.com,1999:blog-6645005980317067979.post-16372824772779967152021-12-31T16:35:00.005-03:002021-12-31T16:35:30.802-03:00Retrospectiva 2021<p> <span style="font-family: Arial, sans-serif; font-size: 10.5pt; text-align: justify;">Olá
pessoal –</span></p>
<p class="MsoNormal" style="text-align: justify;"><span style="font-family: Arial, sans-serif; font-size: 10.5pt;">Como
foi o 2021 de vocês? Conseguiram realizar todas (ou pelo menos a maioria) das
suas metas nesse ciclo que se encerra hoje? Mantendo a </span><a href="http://www.raphael-santos.net/2020/12/retrospectiva-2020.html" style="font-family: Arial, sans-serif; font-size: 10.5pt;" target="_blank">tradição aqui do blog</a><span style="font-family: Arial, sans-serif; font-size: 10.5pt;">, vou compartilhar um pouco do meu ano: as conquistas, os
desafios, o que deu certo, o que não deu certo... de maneira resumida, uma
reflexão do ano que se encerra e os planos para 2022. Simbora?</span></p>
<p class="MsoNormal" style="text-align: justify;"><span style="font-family: Arial, sans-serif; font-size: 10.5pt;">Dentro
do meu contexto pessoal, eu poderia resumir 2021 com uma palavra: </span><b style="font-family: Arial, sans-serif; font-size: 10.5pt;">trabalho</b><span style="font-family: Arial, sans-serif; font-size: 10.5pt;">.
Os impactos gerados pela pandemia fizeram com que um número muito grande de
empresas aderissem ao trabalho remoto de maneira quase que definitiva, e assim
as soluções Microsoft em nuvem com as quais eu trabalho – Microsoft 365, Power
Platform, Project Online e Project for the web – ganharam cada vez mais
relevância no processo de transformação digital das organizações. Como
consequência, tive a oportunidade de participar de um grande número de projetos
de adoção dessas plataformas, podendo contribuir com empresas de diferentes
verticais de negócio no Brasil e nos Estados Unidos.</span></p>
<p class="MsoNormal" style="text-align: justify;"><span style="font-family: Arial, sans-serif; font-size: 10.5pt;">Muitas
coisas legais também aconteceram no âmbito do trabalho realizado junto à
comunidade, que é uma das minhas grandes paixões. Entre um projeto profissional
e outro, procurei encontrar um tempo para criar conteúdo e para bater um papo
com grandes profissionais de tecnologia do Brasil, que estão fazendo um
trabalho grandioso para levar conhecimento de qualidade às pessoas.</span></p>
<p class="MsoNormal" style="text-align: justify;"><span style="font-family: Arial, sans-serif; font-size: 10.5pt;">No
fringir dos ovos, 2021 foi um excelente ano. É claro que algumas coisas que eu
gostaria de fazer acabaram não acontecendo, pois é difícil encontrar o ponto de
equilíbrio entre todas as atribuições que temos no dia-a-dia – mas pelo menos
as lições aprendidas estão sendo coletadas para que os mesmos erros não sejam
cometidos no próximo ciclo </span><span style="font-family: "Segoe UI Emoji", sans-serif; font-size: 10.5pt;">😊</span><span style="font-family: Arial, sans-serif; font-size: 10.5pt;">.</span></p>
<p class="MsoNormal" style="text-align: justify;"><b><span style="font-family: "Arial",sans-serif; font-size: 10.5pt; mso-fareast-font-family: "Arial Unicode MS";">Power Talk com Eduardo Amaral </span></b><b><span style="font-family: "Segoe UI Emoji",sans-serif; font-size: 10.5pt; mso-ascii-font-family: Arial; mso-bidi-font-family: Arial; mso-char-type: symbol-ext; mso-fareast-font-family: "Arial Unicode MS"; mso-hansi-font-family: Arial; mso-symbol-font-family: "Segoe UI Emoji";">🎙</span></b></p>
<p class="MsoNormal" style="text-align: justify;"><span style="font-family: Arial, sans-serif; font-size: 10.5pt; text-align: left;">Você sabe que o seu ano será especial quando você é
convidado para um bate-papo sobre tecnologias Microsoft com um cara do nível do
</span><a href="https://www.linkedin.com/in/eduardoamaral-mvp/" style="font-family: Arial, sans-serif; font-size: 10.5pt; text-align: left;" target="_blank">Eduardo Amaral</a><span style="font-family: Arial, sans-serif; font-size: 10.5pt; text-align: left;">.
Nesse encontro, chamado </span><a href="https://www.youtube.com/watch?v=wD6jpN_35W8" style="font-family: Arial, sans-serif; font-size: 10.5pt; text-align: left;" target="_blank">Power Talk</a><span style="font-family: Arial, sans-serif; font-size: 10.5pt; text-align: left;">, pudemos falar sobre os recursos e funcionalidades oferecidas pela
Power Platform no contexto do gerenciamento de projetos. Foi uma grandiosa
oportunidade participar desse encontro com o Edu, e também com todo o time que
trabalha nos bastidores.</span></p><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/a/AVvXsEgRlTLmQilpk5-rUTD_r7EZ1__tAELK5vrvfiSMDPUiwAP4XfnpgICNEmiBX8YQlEwRPKzyIfKtlmaG8uIFOyUh-GNz7UfVnGtK5kfQRNFnWHyOLZNBcdkvFc1sks2h_6n5ez2hPGBfCws0J5A3uCctQbWXCkPvxDHf3gYSGBqciyBtDYhH05AmM_FS=s698" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="392" data-original-width="698" height="360" src="https://blogger.googleusercontent.com/img/a/AVvXsEgRlTLmQilpk5-rUTD_r7EZ1__tAELK5vrvfiSMDPUiwAP4XfnpgICNEmiBX8YQlEwRPKzyIfKtlmaG8uIFOyUh-GNz7UfVnGtK5kfQRNFnWHyOLZNBcdkvFc1sks2h_6n5ez2hPGBfCws0J5A3uCctQbWXCkPvxDHf3gYSGBqciyBtDYhH05AmM_FS=w640-h360" width="640" /></a></div><div><br /></div><p class="MsoNormal" style="text-align: justify;"><b><span style="font-family: "Arial",sans-serif; font-size: 10.5pt; mso-fareast-font-family: "Arial Unicode MS";">Webinar com Mário Trentim<o:p></o:p></span></b></p>
<p class="MsoNormal" style="text-align: justify;"><span style="font-family: Arial, sans-serif; font-size: 10.5pt;">Já
no mês de Março fui convidado pelo mestre <a href="https://www.linkedin.com/in/trentim/" target="_blank">Mário Trentim</a> para falar um pouco
sobre as técnicas de <a href="https://www.youtube.com/watch?v=rAG4mdCMlmQ" target="_blank">criação de relatórios personalizados no Microsoft Project</a>. O que era para ter sido
uma conversa de 30 minutos acabou gerando um vídeo de quase uma hora e meia,
dada a participação fenomenal do pessoal que pôde reservar um tempo para
assistir a live ao vivo. Muito aprendizado, muitas ideias trocadas e uma
sensação de que temos que fazer isso mais vezes </span><span style="font-family: "Segoe UI Emoji", sans-serif; font-size: 10.5pt;">😊</span><span style="font-family: Arial, sans-serif; font-size: 10.5pt;">.</span><span style="font-family: Arial, sans-serif; font-size: 10.5pt;"> </span></p>
<p class="MsoNormal" style="text-align: justify;"><b><span style="font-family: "Arial",sans-serif; font-size: 10.5pt; mso-fareast-font-family: "Arial Unicode MS";">Como
se preparar para um teste de Excel? Pergunte ao Eduard Yto</span></b><span style="font-family: "Arial",sans-serif; font-size: 10.5pt; mso-fareast-font-family: "Arial Unicode MS";"> </span><span style="font-family: "Segoe UI Emoji",sans-serif; font-size: 10.5pt; mso-ascii-font-family: Arial; mso-bidi-font-family: Arial; mso-char-type: symbol-ext; mso-fareast-font-family: "Arial Unicode MS"; mso-hansi-font-family: Arial; mso-symbol-font-family: "Segoe UI Emoji";">🥋</span><span style="font-family: Arial, sans-serif; font-size: 10.5pt;"> </span></p>
<p class="MsoNormal" style="text-align: justify;"><span style="font-family: "Arial",sans-serif; font-size: 10.5pt; mso-fareast-font-family: "Arial Unicode MS";">Outra
data que merece destaque nesse ano de 2021 é o dia 27 de Abril. Há muito tempo
eu já seguia o cara, e ficava maravilhado com a maneira como ele se doava de
maneira genuína à comunidade... isso sem citar o trabalho voluntário de mentoria
e também os vouchers para treinamento que ele compartilhava gratuitamente com pessoas
a procura de emprego. Foi uma grande honra receber no meu canal o notório <a href="https://www.linkedin.com/in/profyto/" target="_blank">Eduardo Yto</a>, com participação
especial do <a href="https://www.linkedin.com/in/danilo-maciel/" target="_blank">Danilo Maciel</a>,
para bater um papo e obter algumas dicas sobre como as pessoas podem se <a href="https://www.linkedin.com/feed/update/urn:li:activity:6792826672828735489/?commentUrn=urn%3Ali%3Acomment%3A(activity%3A6792826672828735489%2C6792936224911826944)" target="_blank">preparar para um teste de Excel</a>.<o:p></o:p></span></p>
<p class="MsoNormal" style="text-align: justify;"><b><span style="font-family: "Arial",sans-serif; font-size: 10.5pt; mso-fareast-font-family: "Arial Unicode MS";">MVP
Conf 2021</span></b><span style="font-family: Arial, sans-serif; font-size: 10.5pt;"> </span></p>
<span style="font-family: "Arial",sans-serif; font-size: 10.5pt; mso-ansi-language: PT-BR; mso-bidi-language: AR-SA; mso-fareast-font-family: "Arial Unicode MS"; mso-fareast-language: PT-BR;">A edição 2021 do <a href="https://www.linkedin.com/posts/raphaelrsantos_mvpconf2021-mvpbuzz-activity-6876227830095585280-ZMqy" target="_blank">MVP Conf</a> foi mais do que especial, pois pela primeira vez pude contribuir como
palestrante e também como coordenador de trilha. Recebi a missão de ajudar na
trilha de Business Applications com os ilustres <a href="https://www.linkedin.com/in/axavier/" target="_blank">André Xavier</a> e <a href="https://www.linkedin.com/in/marciusmgsouza/" target="_blank">Marcius Souza</a>, e pudemos
garantir a entrega de todas as palestras durante os três dias de evento de maneira
impecável </span><span style="font-family: "Segoe UI Emoji",sans-serif; font-size: 10.5pt; mso-ansi-language: PT-BR; mso-bidi-font-family: "Segoe UI Emoji"; mso-bidi-language: AR-SA; mso-fareast-font-family: "Arial Unicode MS"; mso-fareast-language: PT-BR;">✅.</span><div><span style="font-family: Segoe UI Emoji, sans-serif;"><span style="font-size: 14px;"><br /></span></span></div><div><span style="font-family: Segoe UI Emoji, sans-serif;"><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/a/AVvXsEhg8teA6i25NcM7B_G1UJURsFRPsNr1mob2rpHpvN9OLm_5BEzHoRPfJE2jArZE5tlvGJK3rarrIg2NkNoker6aJkByqX08-k1DSGZOn6KfUOvSNvA6VFGDCXOMgnUYF9Ha7hNuPmJ1oCrUFvJ5DwZv1qiCSmQXFSmgtws-lrwgl_dZCaq-3I7VWr7x=s800" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="630" data-original-width="800" height="504" src="https://blogger.googleusercontent.com/img/a/AVvXsEhg8teA6i25NcM7B_G1UJURsFRPsNr1mob2rpHpvN9OLm_5BEzHoRPfJE2jArZE5tlvGJK3rarrIg2NkNoker6aJkByqX08-k1DSGZOn6KfUOvSNvA6VFGDCXOMgnUYF9Ha7hNuPmJ1oCrUFvJ5DwZv1qiCSmQXFSmgtws-lrwgl_dZCaq-3I7VWr7x=w640-h504" width="640" /></a></div><div><span style="font-family: Segoe UI Emoji, sans-serif;"><br /></span></div></span><p class="MsoNormal" style="text-align: justify;"><b><span style="font-family: "Arial",sans-serif; font-size: 10.5pt; mso-fareast-font-family: "Arial Unicode MS";">YouTube & Blog<o:p></o:p></span></b></p>
<p class="MsoNormal" style="text-align: justify;"><span style="font-family: Arial, sans-serif; font-size: 10.5pt; text-align: left;">Na minha </span><a href="http://www.raphael-santos.net/2020/12/retrospectiva-2020.html" style="font-family: Arial, sans-serif; font-size: 10.5pt; text-align: left;">restrospectiva
do ano passado</a><span style="font-family: Arial, sans-serif; font-size: 10.5pt; text-align: left;">, me coloquei as seguintes metas profissionais:</span></p><p class="MsoNormal" style="text-align: justify;"></p><ul><li><span style="font-family: "Arial",sans-serif; font-size: 10.5pt; mso-fareast-font-family: "Arial Unicode MS";">Publicar
ao menos 24 posts no blog</span></li><li><span style="font-family: "Arial",sans-serif; font-size: 10.5pt; mso-fareast-font-family: "Arial Unicode MS";">Publicar
ao menos 48 vídeos no YouTube</span></li></ul><p></p><p class="MsoNormal" style="text-align: justify;"><span style="font-family: Arial, sans-serif; font-size: 10.5pt;">Não querendo
justificar (mas já justificando...), como comentei no início desse post, esse
ano foi um ano de muito trabalho. E quando você tem várias demandas
(profissionais e pessoais) e tem que tentar administrá-las da melhor maneira
possível, alguns itens acabam necessariamente sendo repriorizados. E foi
exatamente isso que aconteceu com o meu blog e também com o canal do YouTube.</span></p><p class="MsoNormal" style="text-align: justify;"><span style="font-family: Arial, sans-serif; font-size: 10.5pt;">No
ano de 2021, ao invés dos 48 vídeos planejados, foram publicados efetivamente
apenas 24 (ou seja, exatamente 50% da meta </span><span style="font-family: "Segoe UI Emoji", sans-serif; font-size: 10.5pt;">❌</span><span style="font-family: Arial, sans-serif; font-size: 10.5pt;">).</span></p><p class="MsoNormal" style="text-align: justify;"><span style="font-family: "Arial",sans-serif; font-size: 10.5pt; mso-fareast-font-family: "Arial Unicode MS";">Já
em relação ao blog, apenas 11 dos 24 posts foram efetivamente publicados
(representando um percentual de 46% do total planejado </span><span style="font-family: "Segoe UI Emoji",sans-serif; font-size: 10.5pt; mso-bidi-font-family: "Segoe UI Emoji"; mso-fareast-font-family: "Arial Unicode MS";">❌).</span><span style="font-family: "Segoe UI Emoji", sans-serif; font-size: 10.5pt;"> </span></p><p class="MsoNormal" style="text-align: justify;"><span style="font-family: "Arial",sans-serif; font-size: 10.5pt; mso-fareast-font-family: "Arial Unicode MS";">Apesar
de ficar chateado por não ter conseguido chegar nos números que gostaria, tenho
consciência de que fiz o melhor com o tempo que tinha disponível.<o:p></o:p></span></p><p class="MsoNormal" style="text-align: justify;"><span style="font-family: Arial, sans-serif; font-size: 10.5pt;">Porém....
nem tudo são más notícias nessa área. No ano de 2021 tanto o blog quanto o
canal no YouTube atingiram marcas expressivas que merecem ser comemoradas:</span><span style="font-family: Arial, sans-serif; font-size: 10.5pt;"> </span></p><p class="MsoNormal" style="text-align: justify;">
<span style="font-family: "Segoe UI Emoji",sans-serif; font-size: 10.5pt; mso-ansi-language: PT-BR; mso-ascii-font-family: Arial; mso-bidi-font-family: Arial; mso-bidi-language: AR-SA; mso-char-type: symbol-ext; mso-fareast-font-family: "Arial Unicode MS"; mso-fareast-language: PT-BR; mso-hansi-font-family: Arial; mso-symbol-font-family: "Segoe UI Emoji";">🏆</span><span style="font-family: "Arial",sans-serif; font-size: 10.5pt; mso-ansi-language: PT-BR; mso-bidi-language: AR-SA; mso-fareast-font-family: "Arial Unicode MS"; mso-fareast-language: PT-BR;"> o canal do YouTube atingiu um total de <a href="https://www.linkedin.com/feed/update/urn:li:activity:6788290806898823168/" target="_blank">10 mil inscritos</a>!</span></p><p class="MsoNormal" style="text-align: justify;"></p><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/a/AVvXsEgn_i_jCXRA19V6kQgP-180IQzomfcJcYFRRHgu-RdW8yRrAvckbKGwtd5a0PjBUARHxcixnOjEIoK3Jm3uhb1i9hCskUBTQDWmrcsQTcYZkf7QUUdT7ietrejXjAeXCr7scwC7gY82BAbsd8jeZVSjcGW5g5V-Atu75RPij68SG7OtR3z1E8r_fDD7=s2048" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="1357" data-original-width="2048" height="424" src="https://blogger.googleusercontent.com/img/a/AVvXsEgn_i_jCXRA19V6kQgP-180IQzomfcJcYFRRHgu-RdW8yRrAvckbKGwtd5a0PjBUARHxcixnOjEIoK3Jm3uhb1i9hCskUBTQDWmrcsQTcYZkf7QUUdT7ietrejXjAeXCr7scwC7gY82BAbsd8jeZVSjcGW5g5V-Atu75RPij68SG7OtR3z1E8r_fDD7=w640-h424" width="640" /></a></div><p class="MsoNormal" style="text-align: justify;"><span style="font-family: "Segoe UI Emoji",sans-serif; font-size: 10.5pt; mso-ansi-language: PT-BR; mso-ascii-font-family: Arial; mso-bidi-font-family: Arial; mso-bidi-language: AR-SA; mso-char-type: symbol-ext; mso-fareast-font-family: "Arial Unicode MS"; mso-fareast-language: PT-BR; mso-hansi-font-family: Arial; mso-symbol-font-family: "Segoe UI Emoji";">🌟</span><span style="font-family: "Arial",sans-serif; font-size: 10.5pt; mso-ansi-language: PT-BR; mso-bidi-language: AR-SA; mso-fareast-font-family: "Arial Unicode MS"; mso-fareast-language: PT-BR;"> e o blog, desde a sua criação há 10 anos, atingiu o
total de <a href="https://www.linkedin.com/posts/raphaelrsantos_mvpbuzz-microsoft-msproject-activity-6839325857996128256-dA0c" target="_blank">1 milhão de visualizações</a>!</span></p><p class="MsoNormal" style="text-align: justify;"></p><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/a/AVvXsEj9lf5xcyZXwd_XYPyCQ1Knte5Y7zFMhiORiWbJpL7mx7i2qVEN-PyOzuASpnl3u18UDRj1njNrZdQAPeOgj5sDuElwVaqx1LVy-0pjk9n8qfxkGGDD4hyBzK6NO5SYgTmEZANBC6hg0fH7vwuhSgUuO-KubCZR2UVRTMWjk5bRFpt-JexMWJTitjig=s1018" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="397" data-original-width="1018" height="250" src="https://blogger.googleusercontent.com/img/a/AVvXsEj9lf5xcyZXwd_XYPyCQ1Knte5Y7zFMhiORiWbJpL7mx7i2qVEN-PyOzuASpnl3u18UDRj1njNrZdQAPeOgj5sDuElwVaqx1LVy-0pjk9n8qfxkGGDD4hyBzK6NO5SYgTmEZANBC6hg0fH7vwuhSgUuO-KubCZR2UVRTMWjk5bRFpt-JexMWJTitjig=w640-h250" width="640" /></a></div><p></p><p class="MsoNormal"><span style="font-family: "Arial",sans-serif; font-size: 10.5pt; mso-fareast-font-family: "Arial Unicode MS";">Ainda sobre blog e YouTube, vamos
falar de números.<o:p></o:p></span></p><p></p><p class="MsoNormal"><span style="font-family: Arial, sans-serif; font-size: 10.5pt; text-align: justify;">Considerando apenas o blog, nesse ano tivemos um total
de aproximadamente 88 mil visualizações, mantendo o número estável se comparado
ao total de visualizações do ano passado:</span></p><p class="MsoNormal"></p><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/a/AVvXsEhZ7u9zq-GuoBF24_Eg3SqtJ5ab_5Eb6th7FJNudJyrJWBwWv00gp989IPvcTmN1O34MSD-Jv5J77iXEKa5HilHIGAqSWZK2-9pzTsyua_xTeuODCLnyglA8Tp7vyKwegJK6jXZS1LjHlNaiI0SiEsGBnryUKvDMUyNh7n11S2hlyFRPAkt366dWGm1=s1182" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="127" data-original-width="1182" height="68" src="https://blogger.googleusercontent.com/img/a/AVvXsEhZ7u9zq-GuoBF24_Eg3SqtJ5ab_5Eb6th7FJNudJyrJWBwWv00gp989IPvcTmN1O34MSD-Jv5J77iXEKa5HilHIGAqSWZK2-9pzTsyua_xTeuODCLnyglA8Tp7vyKwegJK6jXZS1LjHlNaiI0SiEsGBnryUKvDMUyNh7n11S2hlyFRPAkt366dWGm1=w640-h68" width="640" /></a></div><p class="MsoNormal"><span style="font-family: "Arial",sans-serif; font-size: 10.5pt; mso-ansi-language: PT-BR; mso-bidi-language: AR-SA; mso-fareast-font-family: "Arial Unicode MS"; mso-fareast-language: PT-BR;">Já no canal do YouTube, foram aproximadamente
331 mil visualizações (um ligeiro aumento em relação ao ano anterior </span><span style="font-family: "Segoe UI Emoji",sans-serif; font-size: 10.5pt; mso-ansi-language: PT-BR; mso-ascii-font-family: Arial; mso-bidi-font-family: Arial; mso-bidi-language: AR-SA; mso-char-type: symbol-ext; mso-fareast-font-family: "Arial Unicode MS"; mso-fareast-language: PT-BR; mso-hansi-font-family: Arial; mso-symbol-font-family: "Segoe UI Emoji";">📈</span><span style="font-family: "Arial",sans-serif; font-size: 10.5pt; mso-ansi-language: PT-BR; mso-bidi-language: AR-SA; mso-fareast-font-family: "Arial Unicode MS"; mso-fareast-language: PT-BR;">) e +3,7 mil inscritos (ficando abaixo dos +4 mil
novos inscritos de 2020 </span><span style="font-family: "Segoe UI Emoji",sans-serif; font-size: 10.5pt; mso-ansi-language: PT-BR; mso-ascii-font-family: Arial; mso-bidi-font-family: Arial; mso-bidi-language: AR-SA; mso-char-type: symbol-ext; mso-fareast-font-family: "Arial Unicode MS"; mso-fareast-language: PT-BR; mso-hansi-font-family: Arial; mso-symbol-font-family: "Segoe UI Emoji";">📉</span><span style="font-family: "Arial",sans-serif; font-size: 10.5pt; mso-ansi-language: PT-BR; mso-bidi-language: AR-SA; mso-fareast-font-family: "Arial Unicode MS"; mso-fareast-language: PT-BR;">):</span></p><p class="MsoNormal"></p><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/a/AVvXsEi-hiO9BEH-2k6W0kJtcRneJSHX4bFTmu9EvEeWonCaKEJbXdchBm0SmywcCUsFERF9H_sYNAnKQYTomcNCe6yHBZsVCOcL1LkWyZo5U3elWJmms4Q6dtuAr2x3TeyUV6D0BU4t5zvEyHfzRxIsOpingPwQuGn8QXa5zKi9elDgCIgvRBP0evWoIQdp=s905" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="212" data-original-width="905" height="150" src="https://blogger.googleusercontent.com/img/a/AVvXsEi-hiO9BEH-2k6W0kJtcRneJSHX4bFTmu9EvEeWonCaKEJbXdchBm0SmywcCUsFERF9H_sYNAnKQYTomcNCe6yHBZsVCOcL1LkWyZo5U3elWJmms4Q6dtuAr2x3TeyUV6D0BU4t5zvEyHfzRxIsOpingPwQuGn8QXa5zKi9elDgCIgvRBP0evWoIQdp=w640-h150" width="640" /></a></div><p class="MsoNormal" style="text-align: justify;"><b><span style="font-family: "Arial",sans-serif; font-size: 10.5pt; mso-fareast-font-family: "Arial Unicode MS";">Ainda sobre metas...<o:p></o:p></span></b></p><p></p><p class="MsoNormal" style="text-align: justify;"><span style="font-family: Arial, sans-serif; font-size: 10.5pt;">Fechei
2021 com 3 livros lidos, dos quatro que havia planejado (foram eles: <a href="https://www.amazon.com.br/Sapiens-Nova-edi%C3%A7%C3%A3o-hist%C3%B3ria-humanidade/dp/8535933921/ref=sr_1_1?adgrpid=122908488871&gclid=CjwKCAiA8bqOBhANEiwA-sIlN63HEdCqM3_2rO5TR8Vn22JNp_Hi7MogzsM98K25bx4uGogIyMf0URoCNb4QAvD_BwE&hvadid=509864579424&hvdev=c&hvlocphy=9100314&hvnetw=g&hvqmt=e&hvrand=5057705774909124020&hvtargid=kwd-363061794154&hydadcr=29715_11803097&keywords=livro+sapiens&qid=1640977754&sr=8-1" target="_blank">Sapiens – uma breve história da humanidade</a>, <a href="https://www.amazon.com.br/revolu%C3%A7%C3%A3o-dos-bichos-conto-fadas/dp/8535909559/ref=sr_1_5?keywords=revolu%C3%A7%C3%A3o+dos+bichos&qid=1640977788&sprefix=rev%2Caps%2C552&sr=8-5" target="_blank">Animal Farm</a> e <a href="https://www.amazon.com.br/que-Governo-Fez-Nosso-Dinheiro/dp/8581190510/ref=sr_1_1?__mk_pt_BR=%C3%85M%C3%85%C5%BD%C3%95%C3%91&crid=SSB8594KSJAF&keywords=O+que+o+governo+fez+com+o+nosso+dinheiro&qid=1640977813&sprefix=o+que+o+governo+fez+com+o+nosso+dinheiro%2Caps%2C175&sr=8-1" target="_blank">O que o governo fez com o nosso dinheiro</a>) </span><span style="font-family: "Segoe UI Emoji", sans-serif; font-size: 10.5pt;">⚠</span></p><p></p><p class="MsoNormal" style="text-align: justify;"><span style="font-family: "Arial",sans-serif; font-size: 10.5pt; mso-fareast-font-family: "Arial Unicode MS";">Obtive
2 certificações (<a href="https://docs.microsoft.com/pt-br/learn/certifications/exams/pl-900" target="_blank">PL-900</a>
e <a href="https://docs.microsoft.com/pt-br/learn/certifications/exams/pl-200" target="_blank">PL-200</a>),
das três que havia planejado </span><span style="font-family: "Segoe UI Emoji", sans-serif; font-size: 14px;">⚠</span></p><p class="MsoNormal" style="text-align: justify;"><b><span style="font-family: "Arial",sans-serif; font-size: 10.5pt; mso-fareast-font-family: "Arial Unicode MS";">Vida pessoal 🔜</span></b></p><p class="MsoNormal" style="text-align: justify;"><span style="font-family: "Arial",sans-serif; font-size: 10.5pt; mso-fareast-font-family: "Arial Unicode MS";">A ideia
geral para 2022 é continuar seguindo o plano traçado, fazendo pequenos ajustes
para melhor administrar o meu tempo, sendo assim mais produtivo e eficiente.<o:p></o:p></span></p><p class="MsoNormal" style="text-align: justify;"><u><span style="font-family: "Arial",sans-serif; font-size: 10.5pt; mso-bidi-font-weight: bold; mso-fareast-font-family: "Arial Unicode MS";">Metas pessoais</span></u></p><p class="MsoNormal" style="text-align: justify;"><span style="font-family: Arial, sans-serif; font-size: 10.5pt;">▶Ler
ao menos 4 livros</span></p><p class="MsoNormal" style="text-align: justify;"><span style="font-family: "Arial",sans-serif; font-size: 10.5pt; mso-fareast-font-family: "Arial Unicode MS";">▶Continuar
estudando e melhorar o meu desenvolvimento no idioma espanhol<o:p></o:p></span></p><p class="MsoNormal" style="text-align: justify;"><span style="font-family: "Arial",sans-serif; font-size: 10.5pt; mso-fareast-font-family: "Arial Unicode MS";">▶Manter
a rotina de exercícios físicos (intercalando corridas esporádicas e bike)<o:p></o:p></span></p><p class="MsoNormal" style="text-align: justify;"><u><span style="font-family: "Arial",sans-serif; font-size: 10.5pt; mso-fareast-font-family: "Arial Unicode MS";">Metas
profissionais</span></u><span style="font-family: Arial, sans-serif; font-size: 10.5pt;"> </span></p><p class="MsoNormal" style="text-align: justify;"><span style="font-family: Arial, sans-serif; font-size: 14px;">▶</span><span style="font-family: "Arial",sans-serif; font-size: 10.5pt; mso-fareast-font-family: "Arial Unicode MS";">Publicar
ao menos 24 posts no blog com excelente conteúdo técnico (dessa vez vai!)<o:p></o:p></span></p><p class="MsoNormal" style="text-align: justify;"><span style="font-family: Arial, sans-serif; font-size: 14px;">▶</span><span style="font-family: "Arial",sans-serif; font-size: 10.5pt; mso-fareast-font-family: "Arial Unicode MS";">Publicar
ao menos 44 vídeos no meu canal no YouTube<o:p></o:p></span></p><p class="MsoNormal">
<span style="font-family: Arial, sans-serif; font-size: 14px; text-align: justify;">▶</span><span style="font-family: "Arial",sans-serif; font-size: 10.5pt; mso-ansi-language: PT-BR; mso-bidi-language: AR-SA; mso-fareast-font-family: "Arial Unicode MS"; mso-fareast-language: PT-BR;">Obter ao menos 3 novas certificações relacionadas à
minha atividade profissional</span></p><p class="MsoNormal" style="text-align: justify;"><b><span style="font-family: "Arial",sans-serif; font-size: 10.5pt; mso-fareast-font-family: "Arial Unicode MS";"><br /></span></b></p><p class="MsoNormal" style="text-align: justify;"><b><span style="font-family: "Arial",sans-serif; font-size: 10.5pt; mso-fareast-font-family: "Arial Unicode MS";">Resumindo<o:p></o:p></span></b></p><p class="MsoNormal" style="text-align: justify;"><span style="font-family: Arial, sans-serif; font-size: 10.5pt;">Se
você chegou até aqui, eu espero genuinamente que seu 2021 tenha sido muito bom.
Se não foi como gostaria, procure olhar com cuidado tudo o que se passou nesse
ano, e veja o que você pode fazer para melhorar – lembre-se que o processo de melhoria
e evolução é lento, mas contínuo – e que só depende de você.</span><span style="font-family: Arial, sans-serif; font-size: 10.5pt;"> </span></p><p class="MsoNormal">
<span style="font-family: "Arial",sans-serif; font-size: 10.5pt; mso-ansi-language: PT-BR; mso-bidi-language: AR-SA; mso-fareast-font-family: "Arial Unicode MS"; mso-fareast-language: PT-BR;">Um forte abraço e feliz 2022!</span></p></div>Raphael Santoshttp://www.blogger.com/profile/15872319796376300645noreply@blogger.com0tag:blogger.com,1999:blog-6645005980317067979.post-33451663776130223442021-12-11T16:16:00.003-03:002021-12-11T16:16:45.584-03:00Manutenção e ações administrativas no Project Online<p> <span style="font-family: "Arial Unicode MS", sans-serif; font-size: 10.5pt;">Olá pessoal –</span></p>
<p class="MsoNormal"><span style="font-family: "Arial Unicode MS",sans-serif; font-size: 10.5pt; line-height: 115%;">Com a proximidade do final do ano, os
administradores do Project Online devem se preparar para realizar um conjunto
de atividades na plataforma, de maneira a adequá-la para o encerramento
adequado do ciclo/ano atual, e para que esteja também em conformidade com o
ciclo que se iniciará na abertura do próximo ano.<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-family: "Arial Unicode MS",sans-serif; font-size: 10.5pt; line-height: 115%;">Nesse sentido, o objetivo desse post é apresentar
as principais <a href="https://docs.microsoft.com/pt-br/projectonline/periodic-tasks-for-project-online-administrators" target="_blank">atividades a serem realizadas pelos administradores do Project Online</a> para garantir
que o ambiente esteja em conformidade com as boas práticas, suportando o ciclo
de gerenciamento de projetos em vigor na organização.<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-family: "Arial Unicode MS",sans-serif; font-size: 10.5pt; line-height: 115%;">É importante lembrar que as ações aqui sugeridas
não seguem uma ordem específica, assim como também não são obrigatórias. Cada
ação deve ser ou não executada de acordo com o contexto de cada organização, e
da forma com que utilizam o Project Online para suportar o seu processo de
gestão.<o:p></o:p></span></p>
<p class="MsoNormal"><b><span style="font-family: "Arial Unicode MS", sans-serif; font-size: 10.5pt; font-variant-caps: small-caps; font-variant-east-asian: normal; font-variant-numeric: normal; line-height: 115%;">Identificar e desativar os recursos que não mais estão
na organização</span></b><span style="font-family: "Arial Unicode MS",sans-serif; font-size: 10.5pt; line-height: 115%;"><o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-family: "Arial Unicode MS",sans-serif; font-size: 10.5pt; line-height: 115%;">Por mais que eventualmente essa seja uma ação
que deveria estar associada aos usuários com perfil de gerentes de recurso, na
prática são poucas as organizações que possuem pessoas dedicadas exclusivamente
a gerenciar os recursos humanos que são atribuídos às tarefas dos cronogramas.
Nesse sentido, normalmente cabe aos administradores identificar e desativas
(não excluir) os recursos que não mais fazem parte do quadro de funcionários,
afim de: 1) remover os recursos das visões de capacidade e demanda; 2)
desassociar os recursos das licenças a ele concedidas anteriormente; 3)
garantir que os gerentes de projeto tenham visibilidade, nos seus cronogramas,
dos recursos inativos.<o:p></o:p></span></p>
<p class="MsoNormal"><b><span style="font-family: "Arial Unicode MS", sans-serif; font-size: 10.5pt; font-variant-caps: small-caps; font-variant-east-asian: normal; font-variant-numeric: normal; line-height: 115%;">Fechar os períodos passados no quadro de horários</span></b><span style="font-family: "Arial Unicode MS",sans-serif; font-size: 10.5pt; line-height: 115%;"><o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-family: "Arial Unicode MS",sans-serif; font-size: 10.5pt; line-height: 115%;">Para empresas que capturam o trabalho dos
colaboradores (tanto trabalho em projetos como trabalho administrativo) através
dos <a href="https://docs.microsoft.com/pt-br/projectonline/set-up-timesheets" target="_blank">quadros de horários</a>, é necessário fechar os períodos do ano que se encerra para
evitar que os recursos modifiquem dados de quadros de horários já submetidos.<o:p></o:p></span></p>
<p class="MsoNormal"><b><span style="font-family: "Arial Unicode MS", sans-serif; font-size: 10.5pt; font-variant-caps: small-caps; font-variant-east-asian: normal; font-variant-numeric: normal; line-height: 115%;">Criar novos períodos para o quadro de horários</span></b><span style="font-family: "Arial Unicode MS",sans-serif; font-size: 10.5pt; line-height: 115%;"><o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-family: "Arial Unicode MS",sans-serif; font-size: 10.5pt; line-height: 115%;">Para que os usuários tenham condições de
capturar suas horas adequadamente, os períodos de quadro de horário para o próximo
ano deverão ser criados e configurados.</span><b><span style="font-family: "Arial Unicode MS", sans-serif; font-size: 10.5pt; font-variant-caps: small-caps; font-variant-east-asian: normal; font-variant-numeric: normal; line-height: 115%;"> </span></b></p>
<p class="MsoNormal"><b><span style="font-family: "Arial Unicode MS", sans-serif; font-size: 10.5pt; font-variant-caps: small-caps; font-variant-east-asian: normal; font-variant-numeric: normal; line-height: 115%;">Atualizar as datas de exceção nos calendários</span></b><span style="font-family: "Arial Unicode MS",sans-serif; font-size: 10.5pt; line-height: 115%;"><o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-family: "Arial Unicode MS",sans-serif; font-size: 10.5pt; line-height: 115%;">Para que os gerentes de projeto possam ter
visibilidade correta sobre a demanda e disponibilidade dos recursos no próximo
ano, considerando os dias efetivos de trabalho, os administradores precisam
garantir que todas as <a href="https://support.microsoft.com/pt-br/office/criar-um-calend%C3%A1rio-da-empresa-a8af6757-a1a2-4626-bc9c-4160ca8ec7ea" target="_blank">datas de exceção</a> formalmente aprovadas para o próximo ano (feriados, pontes e
emendas e eventuais férias coletivas) estejam devidamente cadastradas nos
calendários globais do Project Online. Na maior parte das vezes, caso os
feriados fixos tenham sido cadastrados com recorrência, basta identificar se
haverão pontes e/ou emendas e então adicioná-los aos calendários globais
conforme apropriado.<o:p></o:p></span></p>
<p class="MsoNormal"><b><span style="font-family: "Arial Unicode MS", sans-serif; font-size: 10.5pt; font-variant-caps: small-caps; font-variant-east-asian: normal; font-variant-numeric: normal; line-height: 115%;">Arquivar projetos concluídos, cancelados ou suspensos</span></b><span style="font-family: "Arial Unicode MS",sans-serif; font-size: 10.5pt; line-height: 115%;"><o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-family: "Arial Unicode MS",sans-serif; font-size: 10.5pt; line-height: 115%;">Geralmente, essa é uma atividade de
responsabilidade dos membros do escritório de projetos (PMO). Porém, em muitas
ocasiões, os administradores são os próprios membros do PMO, já que na grande
maioria das empresas a TI não é diretamente responsável por
suportar/administrar o Project Online.<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-family: "Arial Unicode MS",sans-serif; font-size: 10.5pt; line-height: 115%;">Nessas ocasiões, os administradores devem
verificar com os gerentes de projeto quais são os projetos concluídos,
cancelados ou suspensos, garantindo assim que sejam <a href="http://www.raphael-santos.net/2021/01/arquivando-projetos-no-project-online.html" target="_blank">classificados e arquivados</a> adequadamente.<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-family: "Arial Unicode MS",sans-serif; font-size: 10.5pt; line-height: 115%;">....................................................................<o:p></o:p></span></p>
<span style="font-family: "Arial Unicode MS",sans-serif; font-size: 10.5pt; line-height: 115%; mso-ansi-language: PT-BR; mso-bidi-language: AR-SA; mso-fareast-language: EN-US;">Espero
que esse pequeno guia possa ajudá-lo na configuração do seu ambiente do Project
Online para o próximo ano!</span>Raphael Santoshttp://www.blogger.com/profile/15872319796376300645noreply@blogger.com0tag:blogger.com,1999:blog-6645005980317067979.post-47021508891871162362021-11-28T17:46:00.003-03:002021-11-28T17:46:53.281-03:00Obtendo a lista de projetos com falhas no workflow<p> <span style="font-family: "Arial Unicode MS", sans-serif; font-size: 10.5pt;">Olá pessoal –</span></p>
<p class="MsoNormal"><span style="font-family: "Arial Unicode MS",sans-serif; font-size: 10.5pt; line-height: 115%;">Se a sua empresa utiliza workflows para suportar
o ciclo de vida dos projetos, é possível que eventos e circustâncias inesperadas
causem falhas nos workflows, paralisando sua atividade e mantendo os projetos bloqueados.<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-family: "Arial Unicode MS",sans-serif; font-size: 10.5pt; line-height: 115%;">Para conseguir obter a lista dos projetos que
possuem algum tipo de erro no workflow, administradores e membros do escritório
de projetos podem utilizar a tabela </span><b><span style="font-family: "Cambria",serif; mso-ascii-theme-font: major-latin; mso-bidi-font-family: "Arial Unicode MS"; mso-fareast-font-family: "Arial Unicode MS"; mso-hansi-theme-font: major-latin;">ProjectWorkflowStageDataSet</span></b><span style="font-family: "Arial Unicode MS",sans-serif; font-size: 10.5pt; line-height: 115%;">,
através da API OData, para saber quais são os projetos com problemas.<o:p></o:p></span></p>
<span style="font-family: "Arial Unicode MS",sans-serif; font-size: 10.5pt; line-height: 115%; mso-ansi-language: PT-BR; mso-bidi-language: AR-SA; mso-fareast-language: EN-US;">Utilizando
a plataforma de sua preferência (Excel ou Power BI), conecte-se à API do Project
Online (</span><span style="font-family: "Cambria",serif; font-size: 11.0pt; line-height: 115%; mso-ansi-language: PT-BR; mso-ascii-theme-font: major-latin; mso-bidi-font-family: "Arial Unicode MS"; mso-bidi-language: AR-SA; mso-fareast-font-family: "Arial Unicode MS"; mso-fareast-language: EN-US; mso-hansi-theme-font: major-latin;">https://<nomedatenant>.sharepoint.com/sites/<nomedainstancia>/_api/ProjectData/[en-us]/</span><span style="font-family: "Arial Unicode MS",sans-serif; font-size: 10.5pt; line-height: 115%; mso-ansi-language: PT-BR; mso-bidi-language: AR-SA; mso-fareast-language: EN-US;">) e
então selecione a tabela </span><span style="font-family: "Cambria",serif; font-size: 11.0pt; line-height: 115%; mso-ansi-language: PT-BR; mso-ascii-theme-font: major-latin; mso-bidi-font-family: "Arial Unicode MS"; mso-bidi-language: AR-SA; mso-fareast-font-family: "Arial Unicode MS"; mso-fareast-language: EN-US; mso-hansi-theme-font: major-latin;">ProjectWorkflowStageDataSet</span><span style="font-family: "Arial Unicode MS",sans-serif; font-size: 10.5pt; line-height: 115%; mso-ansi-language: PT-BR; mso-bidi-language: AR-SA; mso-fareast-language: EN-US;">.
Ao transformar os dados, utilize a coluna <b>StageInformation</b> para filtar
os projetos com algum tipo de erro:</span><div><span style="font-family: "Arial Unicode MS",sans-serif; font-size: 10.5pt; line-height: 115%; mso-ansi-language: PT-BR; mso-bidi-language: AR-SA; mso-fareast-language: EN-US;"><br /></span></div><div><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhY2GJP4DbOvjLrt_95YvEl691Z4BvFCYr8RuJi07_yWU59F9DZFVSlXK9De2cXU980P-a-66n_J9eqjl_uWiircF6Zbl9hSe_ETvuaffTXRa8Agc19gxAGfAcjgVK-gU0NuYQCsXUSi3A/s857/0001.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="684" data-original-width="857" height="510" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhY2GJP4DbOvjLrt_95YvEl691Z4BvFCYr8RuJi07_yWU59F9DZFVSlXK9De2cXU980P-a-66n_J9eqjl_uWiircF6Zbl9hSe_ETvuaffTXRa8Agc19gxAGfAcjgVK-gU0NuYQCsXUSi3A/w640-h510/0001.png" width="640" /></a></div><div><br /></div><span style="font-family: "Arial Unicode MS",sans-serif; font-size: 10.5pt; line-height: 115%; mso-ansi-language: PT-BR; mso-bidi-language: AR-SA; mso-fareast-language: EN-US;">Dessa forma você irá obter a lista dos projetos
que precisam de uma observação mais detalhada, e poderá assim tomar medidas de
correção:</span></div><div><span style="font-family: Arial Unicode MS, sans-serif;"><span style="font-size: 14px;"><br /></span></span></div><div><span style="font-family: Arial Unicode MS, sans-serif;"><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg8S48RVxpEq924hR-RhWGr6FvlBxqnmVbz7XmB3kZhpLsh8VEQrjOxijzaKsddQwIZ0wyJEDwiH2C_ckhxrtTYnDd5AGzHua5Fcxyosv9sLIHgIwI4G6VWck9LSQ4hAF1-Rcn8pWTONLM/s721/0003.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="606" data-original-width="721" height="538" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg8S48RVxpEq924hR-RhWGr6FvlBxqnmVbz7XmB3kZhpLsh8VEQrjOxijzaKsddQwIZ0wyJEDwiH2C_ckhxrtTYnDd5AGzHua5Fcxyosv9sLIHgIwI4G6VWck9LSQ4hAF1-Rcn8pWTONLM/w640-h538/0003.png" width="640" /></a></div><div><span style="font-family: Arial Unicode MS, sans-serif;"><br /></span></div></span><span style="font-family: "Arial Unicode MS",sans-serif; font-size: 10.5pt; line-height: 115%; mso-ansi-language: PT-BR; mso-bidi-language: AR-SA; mso-fareast-language: EN-US;">Espero que ajude </span><span style="font-family: "Segoe UI Emoji",sans-serif; font-size: 10.5pt; line-height: 115%; mso-ansi-language: PT-BR; mso-ascii-font-family: "Arial Unicode MS"; mso-bidi-font-family: "Arial Unicode MS"; mso-bidi-language: AR-SA; mso-char-type: symbol-ext; mso-fareast-font-family: "Arial Unicode MS"; mso-fareast-language: EN-US; mso-hansi-font-family: "Arial Unicode MS"; mso-symbol-font-family: "Segoe UI Emoji";">😉</span><span style="font-family: "Arial Unicode MS",sans-serif; font-size: 10.5pt; line-height: 115%; mso-ansi-language: PT-BR; mso-bidi-language: AR-SA; mso-fareast-language: EN-US;">.</span></div><div><br /></div>Raphael Santoshttp://www.blogger.com/profile/15872319796376300645noreply@blogger.com0tag:blogger.com,1999:blog-6645005980317067979.post-59506192478399797122021-11-02T18:42:00.000-03:002021-11-02T18:42:12.249-03:00Utilizando a API ProjectServer<p class="MsoNormal"><span style="font-family: "Arial Unicode MS",sans-serif; font-size: 10.5pt; line-height: 115%;">Olá pessoal –<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-family: "Arial Unicode MS",sans-serif; font-size: 10.5pt; line-height: 115%;">Se você é um administrador do Project Online, ou
então um membro do time do Escritório de Projetos, é quase certo que você já
tenha tido a necessidade de <a href="https://www.youtube.com/playlist?list=PLHzrAtk7JoVRsuHFq_4ysKeyPZtZM6PcZ" target="_blank">construir relatórios e dashboards</a> para prover aos diferentes interessados informações
que a eles sejam relevantes.<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-family: "Arial Unicode MS",sans-serif; font-size: 10.5pt; line-height: 115%;">Ao <a href="https://support.microsoft.com/pt-br/office/usar-o-excel-2013-para-criar-um-novo-relat%C3%B3rio-do-project-online-d523d604-940c-4c57-a190-59b793ac9d49" target="_blank">construir</a>
relatórios no Project Online, em 99% dos casos deve-se utilizar a api <a href="https://docs.microsoft.com/en-us/odata/" target="_blank">OData</a> para obter os dados –
mas hoje iremos focar no 1% restante.<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-family: "Arial Unicode MS",sans-serif; font-size: 10.5pt; line-height: 115%;">A Microsoft disponibiliza aos usuários a
possibilidade de se conectar à api <a href="https://docs.microsoft.com/pt-br/office/client-developer/project/project-server-programmability" target="_blank">ProjectServer</a>
que, de maneira bem resumida, permite que desenvolvedores se conectem ao
Project Online através de aplicações customizadas que tenham a capacidade de ler
e/ou alterar os dados existentes nas diferentes tabelas da plataforma –
conforme os mais variados exemplos que tenho disponibilizado no meu canal do <a href="https://www.youtube.com/playlist?list=PLHzrAtk7JoVR7lIhj1gx-ccNd-KZB0jlF" target="_blank">YouTube</a>
e também aqui no <a href="http://www.raphael-santos.net/search/label/Power%20Automate" target="_blank">blog</a>.<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-family: "Arial Unicode MS",sans-serif; font-size: 10.5pt; line-height: 115%;">A principal razão para se conectar ao Project Online
através da api ProjectServer é obter informações de bastidores que não estão
disponíveis na api OData, geralmente relacionadas a códigos internos de sistema
que estão associados aos diferentes tipos de objeto. Por exemplo: <a href="http://www.raphael-santos.net/2021/01/como-escolher-o-tipo-de-projeto.html" target="_blank">nesse post</a> eu comentei sobre como é possível escolher o tipo de projeto da
empresa (EPT) ao automatizar o processo de criação de novos projetos via Power
Automate. Os tipos de projeto (e seus respectivos atributos) são objetos que
não estão disponíveis na api padrão (OData), então para obter o Id respectivo
de cada tipo de projeto, é necessário conectar-se à api Project Server.<o:p></o:p></span></p>
<p class="MsoNormal"><b><span style="font-family: "Arial Unicode MS", sans-serif; font-size: 10.5pt; font-variant-caps: small-caps; font-variant-east-asian: normal; font-variant-numeric: normal; line-height: 115%;">Conectando-se à api Project Server<o:p></o:p></span></b></p>
<p class="MsoNormal"><span style="font-family: "Arial Unicode MS",sans-serif; font-size: 10.5pt; line-height: 115%;">Digamos que você tenha a necessidade de descobrir
quais os calendários que estão configurados no seu ambiente, assim como seus
respectivos Ids internos. Para se conectar à api ProjectServer, via Excel ou
Power BI, você poderá se conectar ao seguinte <i>endpoint</i>:<o:p></o:p></span></p>
<p><span style="font-family: Cambria, serif; font-size: 12pt;">https://<nomedatenant>.sharepoint.com/sites/<nomedainstancia>/_api/ProjectServer</span></p><p></p><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhu2dj-ocIVRZ6wL0XQmvvZoB0qUQf9B_Q7JD5-Cr4m1GfN9gOupt38jwYLpJtF0XEppzR01CxEB6RsrM5yrr0eEzYtuONcko74qKToTuBdjvU6-kttcxfwiKUJLVd5P_JzC99-7GZQp_s/s696/ps_api-0001.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="219" data-original-width="696" height="202" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhu2dj-ocIVRZ6wL0XQmvvZoB0qUQf9B_Q7JD5-Cr4m1GfN9gOupt38jwYLpJtF0XEppzR01CxEB6RsrM5yrr0eEzYtuONcko74qKToTuBdjvU6-kttcxfwiKUJLVd5P_JzC99-7GZQp_s/w640-h202/ps_api-0001.png" width="640" /></a></div><br /> <span style="font-family: "Arial Unicode MS", sans-serif; font-size: 10.5pt;">Caso necessário, você deverá entrar com as suas
credenciais para que a plataforma possa garantir que você possui as devidas
permissões para ler os dados. Na janela seguinte, será necessário clicar em </span><b style="font-family: "Arial Unicode MS", sans-serif; font-size: 10.5pt;">Transform
Data</b><span style="font-family: "Arial Unicode MS", sans-serif; font-size: 10.5pt;"> para iniciar o processo de transformação dos dados no Power Query:</span><p></p><p></p><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhj-m66omb4hvr0YJHvs0NW-dpVjscFJMIZbSW8Ccz3nOLgmVkRn-EFNWlIorqBachDaWyrlZXX62wYdyRpRNVV_ToU6P98kOKCRC_auhyphenhyphenX3VHn4qyfyDe1VxfYwRWpUcjDXZE9Bavps9I/s951/ps_api-0002.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="396" data-original-width="951" height="266" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhj-m66omb4hvr0YJHvs0NW-dpVjscFJMIZbSW8Ccz3nOLgmVkRn-EFNWlIorqBachDaWyrlZXX62wYdyRpRNVV_ToU6P98kOKCRC_auhyphenhyphenX3VHn4qyfyDe1VxfYwRWpUcjDXZE9Bavps9I/w640-h266/ps_api-0002.png" width="640" /></a></div><p><span style="font-family: "Arial Unicode MS",sans-serif; font-size: 10.5pt; line-height: 115%; mso-ansi-language: PT-BR; mso-bidi-language: AR-SA; mso-fareast-language: EN-US;">Em seguida você será apresentado às diferentes
entidades disponíveis na api (por exemplo: <b>Calendars</b>, <b>CustomFields</b>,
<b>EnterpriseProjectTypes</b>,...)</span></p><p></p><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj3NHOkM5AYsn48haTs4VbLUfcEPEISV5eqrXZfQ15GMU_DkxyRQ0KnQm2zCHT6F9zTlIgxXPCyfCTUn1HsjPJdk5QsQ433tFHtJouejUdcKtMrCpcroD1-tkT9eccrDcDiOHlgBVhdjX4/s1592/ps_api-0003.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="312" data-original-width="1592" height="126" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj3NHOkM5AYsn48haTs4VbLUfcEPEISV5eqrXZfQ15GMU_DkxyRQ0KnQm2zCHT6F9zTlIgxXPCyfCTUn1HsjPJdk5QsQ433tFHtJouejUdcKtMrCpcroD1-tkT9eccrDcDiOHlgBVhdjX4/w640-h126/ps_api-0003.png" width="640" /></a></div><br /><span style="font-family: "Arial Unicode MS",sans-serif; font-size: 10.5pt; line-height: 115%; mso-ansi-language: PT-BR; mso-bidi-language: AR-SA; mso-fareast-language: EN-US;">Ao clicar no botão de expansão da entidade
desejada, será possível iniciar o processo de transformação das consultas para
obter os registros necessários:</span><p></p><p></p><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhMjECkAzWGXshsSQjRKyGjl9F6wssvwv9eOuwi56cn62o_QRp0RROzzBYNLChxmsSwAL2HM8H8q_2Y0iUiJg321zTnKHxMkt9rmpfHY6Fj3oRybX8YyTjVh2_7MuLuFCmj6oA2Wj5Ilew/s420/ps_api-0004.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="371" data-original-width="420" height="354" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhMjECkAzWGXshsSQjRKyGjl9F6wssvwv9eOuwi56cn62o_QRp0RROzzBYNLChxmsSwAL2HM8H8q_2Y0iUiJg321zTnKHxMkt9rmpfHY6Fj3oRybX8YyTjVh2_7MuLuFCmj6oA2Wj5Ilew/w400-h354/ps_api-0004.png" width="400" /></a></div><br /><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh5_AcMUHcDJRb_P0OEcWZXtnk4bhNFaPcSXN1vIzYUe2TUWDLDLjl8TyUbBgHxQgs_tZqWlkhPnwE80R1Wo_WkO9qYPDOR7BDwJEAuFavFSLLjALAUzFC4rm72-HGGx0ruLHQqpLSN6kE/s1200/ps_api-0005.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="170" data-original-width="1200" height="90" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh5_AcMUHcDJRb_P0OEcWZXtnk4bhNFaPcSXN1vIzYUe2TUWDLDLjl8TyUbBgHxQgs_tZqWlkhPnwE80R1Wo_WkO9qYPDOR7BDwJEAuFavFSLLjALAUzFC4rm72-HGGx0ruLHQqpLSN6kE/w640-h90/ps_api-0005.png" width="640" /></a></div><br /><span style="font-family: "Arial Unicode MS",sans-serif; font-size: 10.5pt; line-height: 115%; mso-ansi-language: PT-BR; mso-bidi-language: AR-SA; mso-fareast-language: EN-US;">Dentro do primeiro nível dos dados expandidos,
ainda é possível seguir ao nível seguinte. Por exemplo, se fosse necessário
descobrir quais as datas de excessão registradas dentro de cada calendário,
bastaria expandir a coluna <b>Calendars.BaseCalendarExceptions</b>:</span><p></p><p></p><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj2wILgvv4z_moQFwAQhR-Qw3ck5r8jdXuJ_Hw85jOUZW95ZX0zWSroN-XGQLqosGVz4A8GPIzwwK_F_qRt8kMXSBMiaafReHOXwbHzJ1Fos1k6xrasNltWl5CsG7b5sq3YuC9hA3Hxdf0/s587/ps_api-0006.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="587" data-original-width="457" height="400" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj2wILgvv4z_moQFwAQhR-Qw3ck5r8jdXuJ_Hw85jOUZW95ZX0zWSroN-XGQLqosGVz4A8GPIzwwK_F_qRt8kMXSBMiaafReHOXwbHzJ1Fos1k6xrasNltWl5CsG7b5sq3YuC9hA3Hxdf0/w311-h400/ps_api-0006.png" width="311" /></a></div><br /><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjvhRfTeSKFOK4DOSrRCB9VxPHHfcWnfD4G4bdeuxUkPjUV9DzUQVAsqRE9yEdIA3q-a-gwR7ajHH1GICuL6qDlqaYrz50XodpHKHOnjJ2JpGXlBof3NIlJnEAVD54JgnstiVXVS4tZhdE/s1050/ps_api-0007.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="247" data-original-width="1050" height="150" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjvhRfTeSKFOK4DOSrRCB9VxPHHfcWnfD4G4bdeuxUkPjUV9DzUQVAsqRE9yEdIA3q-a-gwR7ajHH1GICuL6qDlqaYrz50XodpHKHOnjJ2JpGXlBof3NIlJnEAVD54JgnstiVXVS4tZhdE/w640-h150/ps_api-0007.png" width="640" /></a></div><p></p><p class="MsoNormal"><span style="font-family: "Arial Unicode MS",sans-serif; font-size: 10.5pt; line-height: 115%;">Seguindo a mesma lógica é possível obter
informações detalhadas de inúmeros objetos internos do Project Online, como
campos personalizados, tabelas de pesquisa, dados de workflow e etc. Assim, ao
construir aplicações e/ou automações no Project Online, fica muito mais fácil
se referir a cada um dos objetos que serão utilizados no processo de automação.<o:p></o:p></span></p><p></p><p><span style="font-family: "Arial Unicode MS",sans-serif; font-size: 10.5pt; line-height: 115%; mso-ansi-language: PT-BR; mso-bidi-language: AR-SA; mso-fareast-language: EN-US;">
<span style="font-size: 10.5pt; line-height: 115%;">Espero
que ajude </span><span style="font-family: "Segoe UI Emoji",sans-serif; font-size: 10.5pt; line-height: 115%; mso-ansi-language: PT-BR; mso-ascii-font-family: "Arial Unicode MS"; mso-bidi-font-family: "Arial Unicode MS"; mso-bidi-language: AR-SA; mso-char-type: symbol-ext; mso-fareast-font-family: "Arial Unicode MS"; mso-fareast-language: EN-US; mso-hansi-font-family: "Arial Unicode MS"; mso-symbol-font-family: "Segoe UI Emoji";">😉</span><span style="font-size: 10.5pt; line-height: 115%;">.</span></span></p><p><span style="font-family: "Arial Unicode MS", sans-serif; font-size: 10.5pt;"><br /></span></p>Raphael Santoshttp://www.blogger.com/profile/15872319796376300645noreply@blogger.com0tag:blogger.com,1999:blog-6645005980317067979.post-48934538988876895932021-10-19T19:37:00.000-03:002021-10-19T19:37:12.154-03:00Como obter dados de colunas do tipo pesquisa no Power Automate<p> <span style="font-family: "Arial Unicode MS", sans-serif; font-size: 10.5pt;">Olá pessoal –</span></p>
<p class="MsoNormal"><span style="font-family: "Arial Unicode MS",sans-serif; font-size: 10.5pt; line-height: 115%;">Conforme o <a href="http://www.raphael-santos.net/search/label/Project%20for%20the%20Web" target="_blank">Project for the web</a> vai progredindo, vou também me aprofundando no estudo da Power
Platform e seus componentes, para estar apto a trabalhar no desenvolvimento de
soluções personalizadas para os clientes com os quais trabalho. Dessa maneira, na
medida em que vou descobrindo e aprendendo coisas novas, a ideia é ir trazendo
novos conteúdos aqui no blog e também no meu canal no <a href="https://youtube.com/c/raphaelsantosnet" target="_blank">YouTube</a> a respeito da Power
Platform, não ficando apenas restrito ao ecosistema PPM.<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-family: "Arial Unicode MS",sans-serif; font-size: 10.5pt; line-height: 115%;">Hoje vou explorar um tópico interessante: como
obter informações de campos baseados em pesquisa no Power Automate. O cenário é
o seguinte:<o:p></o:p></span></p>
<span style="font-family: "Arial Unicode MS",sans-serif; font-size: 10.5pt; line-height: 115%; mso-ansi-language: PT-BR; mso-bidi-language: AR-SA; mso-fareast-language: EN-US;">Ao
construir aplicativos no Power Apps, é possível criar tabelas que utilizem diferentes
<a href="https://docs.microsoft.com/pt-br/powerapps/maker/data-platform/types-of-fields" target="_blank">tipos de colunas</a> – incluindo colunas de <a href="https://docs.microsoft.com/pt-br/powerapps/maker/data-platform/types-of-fields#different-types-of-lookups" target="_blank">pesquisa</a>
(<i>lookup</i>). Por exemplo, eu construí um aplicativo simples para cadastramento
de tickets de suporte (Help Desk), o qual possui um campo para definição do
solicitante (<i>requester</i>) e também para definição da área de suporte (<i>support
area</i>):</span><div><span style="font-family: "Arial Unicode MS",sans-serif; font-size: 10.5pt; line-height: 115%; mso-ansi-language: PT-BR; mso-bidi-language: AR-SA; mso-fareast-language: EN-US;"><br /></span></div><div><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgxIaLWxfeVpinOj2Qr0mxi9Rhsh8uTqH76k7MobUUwT2QllETIQwz9bWwmGOSz5brLUUpzN8E9xdc9n0L3tmBkPp5Wlw8rQPbkwlYJ4NfokTjTTs8H197HVDpiPN4P2x62AEXIa39DBxw/s820/0003.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="557" data-original-width="820" height="434" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgxIaLWxfeVpinOj2Qr0mxi9Rhsh8uTqH76k7MobUUwT2QllETIQwz9bWwmGOSz5brLUUpzN8E9xdc9n0L3tmBkPp5Wlw8rQPbkwlYJ4NfokTjTTs8H197HVDpiPN4P2x62AEXIa39DBxw/w640-h434/0003.png" width="640" /></a></div><div class="separator" style="clear: both; text-align: center;"><br /></div><div><span style="font-family: "Arial Unicode MS", sans-serif; font-size: 10.5pt;">Acontece que, ao utilizar o Power Automate para
enviar notificações (por exemplo, enviar um e-mail para notificar a equipe de
que um novo ticket foi aberto), o registro armazenado na tabela principal (Tickets)
não utiliza o texto que contém o nome de exibição do requisitante, assim como a
área de suporte; ao invés disso, o flow irá obter apenas o Id exclusivo de cada
registro, os quais estão armazenados em tabelas à parte dentro do banco de
dados (neste exemplo, a tabela padrão do Power Apps </span><b style="font-family: "Arial Unicode MS", sans-serif; font-size: 10.5pt;">User</b><span style="font-family: "Arial Unicode MS", sans-serif; font-size: 10.5pt;"> é responsável
por armazenar as informações relacionadas ao solicitante, enquanto a tabela
personalizada </span><b style="font-family: "Arial Unicode MS", sans-serif; font-size: 10.5pt;">Support Area</b><span style="font-family: "Arial Unicode MS", sans-serif; font-size: 10.5pt;"> armazena os dados da área de suporte). A
imagem abaixo ilustra como a notificação é entregue:</span></div></div><div><span style="font-family: Arial Unicode MS, sans-serif;"><span style="font-size: 14px;"><br /></span></span></div><div><span style="font-family: Arial Unicode MS, sans-serif;"><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgrSxvYOWMA4XUoYBdIHlb20vbN3nuaTEYAXoOAU-KN5NyC5WgHP1ij0j23AYsLoY3MpY4cBa02Z8KKGOcGPIjV57pgexs3okLAFePImk1zjxfZtygSdhKAk4QX3nmtKBTybmL5WEBY8QQ/s765/0004.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="528" data-original-width="765" height="442" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgrSxvYOWMA4XUoYBdIHlb20vbN3nuaTEYAXoOAU-KN5NyC5WgHP1ij0j23AYsLoY3MpY4cBa02Z8KKGOcGPIjV57pgexs3okLAFePImk1zjxfZtygSdhKAk4QX3nmtKBTybmL5WEBY8QQ/w640-h442/0004.png" width="640" /></a></div><div class="separator" style="clear: both; text-align: center;"><br /></div></span><p class="MsoNormal"><span style="font-family: "Arial Unicode MS",sans-serif; font-size: 10.5pt; line-height: 115%;">Repare como as informações do requisitante e da
área de suporte são disponibilizadas em formato de código (Id). Isso acontece devido
ao fato de que tanto requisitante quanto área de suporte não residem na tabela Tickets
(de onde o flow está capturando as informações), mas sim nas tabelas <b>User</b>
e <b>Support Area</b>. <o:p></o:p></span></p>
<p class="MsoNormal"><b><span style="font-family: "Arial Unicode MS", sans-serif; font-size: 10.5pt; font-variant-caps: small-caps; font-variant-east-asian: normal; font-variant-numeric: normal; line-height: 115%;">Como obter dados de colunas do tipo pesquisa no power
automate?<o:p></o:p></span></b></p>
<p class="MsoNormal"><span style="font-family: "Arial Unicode MS",sans-serif; font-size: 10.5pt; line-height: 115%;">Então, como resolver o problema e exibir as informações
esperadas na notificação que é enviada por e-mail?<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-family: "Arial Unicode MS",sans-serif; font-size: 10.5pt; line-height: 115%;">Para isso é preciso configurar o flow com algumas
ações adicionais. Em primeiro lugar, vale a pena iniciar uma nova variável para
armazenar o nome de exibição do requisitante. Em seguida, é preciso adicionar
uma ação nativa do Dataverse (<i>List Rows</i>) para obter os dados da tabela <b>Users</b>,
filtrando o registro que corresponder ao Id do solicitante. Assim, na área de
filtro da ação, é preciso adicionar a seguinte condição:<o:p></o:p></span></p>
<span style="font-family: "Cambria",serif; font-size: 10.5pt; line-height: 115%; mso-ansi-language: PT-BR; mso-ascii-theme-font: major-latin; mso-bidi-font-family: "Arial Unicode MS"; mso-bidi-language: AR-SA; mso-fareast-font-family: "Arial Unicode MS"; mso-fareast-language: EN-US; mso-hansi-theme-font: major-latin;">systemuserid
eq '<parâmetro de filtro>'</span></div><div><span style="font-size: 14px;"><span style="font-family: Cambria, serif;"><br /></span></span></div><div><span style="font-size: 14px;"><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg7ZjF5PreEOYIF5LyblHAoXm79bO7lzUN6Dd_RKASRKyeYENwCO_ZU_2dVfxYITVHFlaKa17uyPf3QFnXtx3lMygecbZkmTaWGybGsoPwiBwihb7XswT9Me3AX2KsbPY7RZyQ4YhSCwrM/s841/0005.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="841" data-original-width="637" height="640" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg7ZjF5PreEOYIF5LyblHAoXm79bO7lzUN6Dd_RKASRKyeYENwCO_ZU_2dVfxYITVHFlaKa17uyPf3QFnXtx3lMygecbZkmTaWGybGsoPwiBwihb7XswT9Me3AX2KsbPY7RZyQ4YhSCwrM/w484-h640/0005.png" width="484" /></a></div><br /></span><span style="font-family: "Arial Unicode MS",sans-serif; font-size: 10.5pt; line-height: 115%; mso-ansi-language: PT-BR; mso-bidi-language: AR-SA; mso-fareast-language: EN-US;">Através dessa abordagem, o Id exclusivo do
requisitante, capturado na tabela <b>Tickets</b>, será utilizado como parâmetro
de filtro para obter o registro correspondente na tabela <b>Users</b>. Em
seguida bastará armazenar a informação na variável iniciada anteriormente para
que seja então possível utilizá-la no envio da notificação:</span></div><div><span style="font-size: 14px;"><span style="font-family: Arial Unicode MS, sans-serif;"><br /></span></span></div><div><span style="font-size: 14px;"><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjGUxygHZewq7Z9_6m1qCF_L-8LJo3Gfs4Jhqirc0wPychlv-OWl20eNhGViqtnxPFdsa5tXIgkjR8FmVm3smQ5nz7fOXDWnO9qqe447gUsH8dM6UZq4OlZ0GJiHVYWzhyphenhyphenuf3fHN1cTkdQ/s951/0006.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="951" data-original-width="664" height="640" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjGUxygHZewq7Z9_6m1qCF_L-8LJo3Gfs4Jhqirc0wPychlv-OWl20eNhGViqtnxPFdsa5tXIgkjR8FmVm3smQ5nz7fOXDWnO9qqe447gUsH8dM6UZq4OlZ0GJiHVYWzhyphenhyphenuf3fHN1cTkdQ/w446-h640/0006.png" width="446" /></a></div><br /></span><span style="font-family: "Arial Unicode MS",sans-serif; font-size: 10.5pt; line-height: 115%; mso-ansi-language: PT-BR; mso-bidi-language: AR-SA; mso-fareast-language: EN-US;">Com isso, quando um novo ticket for submetido e
a notificação for disparada, as informações do requisitante serão apresentadas
conforme esperado:</span></div><div><span style="font-size: 14px;"><span style="font-family: Arial Unicode MS, sans-serif;"><br /></span></span></div><div><span style="font-size: 14px;"><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEicBQdpn-Vj8YwuA9-CbJYLZRLAwG51OZeRh8de8jWVZ40_GjW6T1_XXTAVTSPJ2RHbFLCTHmKP0RAl0BTYZAtC2C1ACvabvquCKqTr_lTS1x5UjGIzEaSwFUcEIlFv54tbQX46PhZ2LZ8/s755/0007.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="538" data-original-width="755" height="456" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEicBQdpn-Vj8YwuA9-CbJYLZRLAwG51OZeRh8de8jWVZ40_GjW6T1_XXTAVTSPJ2RHbFLCTHmKP0RAl0BTYZAtC2C1ACvabvquCKqTr_lTS1x5UjGIzEaSwFUcEIlFv54tbQX46PhZ2LZ8/w640-h456/0007.png" width="640" /></a></div><div><span style="font-size: 14px;"><br /></span></div></span><p class="MsoNormal"><span style="font-family: "Arial Unicode MS",sans-serif; font-size: 10.5pt; line-height: 115%;">Agora basta repetir o mesmo procedimento para obter
as informações da área de suporte... porém, é importante destacar que é preciso
observar atentamente o banco de dados para descobrir o nome correto da tabela e
também do campo por ela armazenado, o qual será utilizado como parâmetro de filtro.
No caso do meu ambiente, os parâmetros são:<o:p></o:p></span></p>
<span style="font-family: "Cambria",serif; font-size: 10.5pt; line-height: 115%; mso-ansi-language: PT-BR; mso-ascii-theme-font: major-latin; mso-bidi-font-family: "Arial Unicode MS"; mso-bidi-language: AR-SA; mso-fareast-font-family: "Arial Unicode MS"; mso-fareast-language: EN-US; mso-hansi-theme-font: major-latin;">opm_supportareaid
eq '<parâmetro de filtro>'</span></div><div><span style="font-size: 14px;"><span style="font-family: Cambria, serif;"><br /></span></span></div><div><span style="font-size: 14px;"><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj0LfIVF2c8pgjuQIugUmNK1PDc12J704ib2BrNlRlAJtgDJkclcGDNtux0dGKWnPZFTEB1jQccix1RsHk507_5fU-qSyU2q84pjBgiVGtO84Z-OJxB_Dquln9Id1VNbiDrF7ngRd521-4/s857/0008.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="857" data-original-width="635" height="640" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj0LfIVF2c8pgjuQIugUmNK1PDc12J704ib2BrNlRlAJtgDJkclcGDNtux0dGKWnPZFTEB1jQccix1RsHk507_5fU-qSyU2q84pjBgiVGtO84Z-OJxB_Dquln9Id1VNbiDrF7ngRd521-4/w474-h640/0008.png" width="474" /></a></div><br /></span><span style="font-family: "Arial Unicode MS",sans-serif; font-size: 10.5pt; line-height: 115%; mso-ansi-language: PT-BR; mso-bidi-language: AR-SA; mso-fareast-language: EN-US;">Resultando na seguinte notificação automatizada:</span></div><div><span style="font-size: 14px;"><span style="font-family: Arial Unicode MS, sans-serif;"><br /></span></span></div><div><span style="font-size: 14px;"><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjAUrDwXsQaH5C0yab76jGIF2aniV7t-Us-YbjXqxj1IhasRWvvOjBSY1Yso7mqp6eK1RlQcHY4MkOoMMMqiv7mKqCYYHj0g7X540ngM96vK9sqv8A-ydY0SLjXlobJPBipSNjMjGFpOog/s717/0009.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="533" data-original-width="717" height="476" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjAUrDwXsQaH5C0yab76jGIF2aniV7t-Us-YbjXqxj1IhasRWvvOjBSY1Yso7mqp6eK1RlQcHY4MkOoMMMqiv7mKqCYYHj0g7X540ngM96vK9sqv8A-ydY0SLjXlobJPBipSNjMjGFpOog/w640-h476/0009.png" width="640" /></a></div><br /></span><span style="font-family: "Arial Unicode MS",sans-serif; font-size: 10.5pt; line-height: 115%; mso-ansi-language: PT-BR; mso-bidi-language: AR-SA; mso-fareast-language: EN-US;">Por hoje é isso. Espero que o post ajude </span><span style="font-family: "Segoe UI Emoji",sans-serif; font-size: 10.5pt; line-height: 115%; mso-ansi-language: PT-BR; mso-ascii-font-family: "Arial Unicode MS"; mso-bidi-font-family: "Arial Unicode MS"; mso-bidi-language: AR-SA; mso-char-type: symbol-ext; mso-fareast-font-family: "Arial Unicode MS"; mso-fareast-language: EN-US; mso-hansi-font-family: "Arial Unicode MS"; mso-symbol-font-family: "Segoe UI Emoji";">😉</span><span style="font-family: "Arial Unicode MS",sans-serif; font-size: 10.5pt; line-height: 115%; mso-ansi-language: PT-BR; mso-bidi-language: AR-SA; mso-fareast-language: EN-US;">.</span><span style="font-size: 14px;"><span style="font-family: Arial Unicode MS, sans-serif;"><br /></span></span><span style="font-family: "Arial Unicode MS",sans-serif; font-size: 10.5pt; line-height: 115%; mso-ansi-language: PT-BR; mso-bidi-language: AR-SA; mso-fareast-language: EN-US;"><br /></span></div>Raphael Santoshttp://www.blogger.com/profile/15872319796376300645noreply@blogger.com0tag:blogger.com,1999:blog-6645005980317067979.post-57243466046259070372021-10-02T19:17:00.003-03:002021-10-02T19:17:46.592-03:00Importando cronogramas para o Project for the web<p> <span style="font-family: "Arial Unicode MS", sans-serif; font-size: 10.5pt;">Olá pessoal –</span></p>
<p class="MsoNormal"><span style="font-family: "Arial Unicode MS",sans-serif; font-size: 10.5pt; line-height: 115%;">Na medida em que o tempo vai passando, novas
funcionalidades vão sendo adicionadas ao <a href="https://www.youtube.com/watch?v=_p8ClpjPum4" target="_blank">Project for the web</a>, e
assim o produto vai amadurecendo e se tornando cada vez mais robusto para
suportar as necessidades de negócio das organizações no que se refere ao
gerenciamento de projetos.<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-family: "Arial Unicode MS",sans-serif; font-size: 10.5pt; line-height: 115%;">Recentemente, a Microsoft <a href="https://techcommunity.microsoft.com/t5/project-blog/import-your-project-desktop-files-to-project-for-the-web/ba-p/2435528" target="_blank">anunciou</a>
a inclusão de um novo recurso à plataforma, com o objetivo de permitir a
importação de cronogramas criados no Microsoft Project Desktop (.mpp files)
para o Project for the web – e hoje vamos explorar este tópico aqui no blog.<o:p></o:p></span></p>
<span style="font-family: "Arial Unicode MS",sans-serif; font-size: 10.5pt; line-height: 115%; mso-ansi-language: PT-BR; mso-bidi-language: AR-SA; mso-fareast-language: EN-US;">A
partir da página inicial do Microsoft Project (<a href="https://project.microsoft.com/pt-br" target="_blank">https://project.microsoft.com/pt-br</a>),
os usuários podem clicar em <b>Novo projeto em branco</b> e então escolher a
opção <b>Importar da área de trabalho do Project</b>:</span><div><span style="font-family: "Arial Unicode MS",sans-serif; font-size: 10.5pt; line-height: 115%; mso-ansi-language: PT-BR; mso-bidi-language: AR-SA; mso-fareast-language: EN-US;"><br /></span></div><div><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjeCBhpHW4b7-jUX1WUPwj-RMHRxvnW7sbBAI9OcjZRkakeRSqdPh5UBSghMVakdfBbN9HtwXmRSxiDJXul9pMPNt04tTG8yZWO8JBvSIta5yaWT_LufXRhFQlvm9ZkONFEbsPOx-GDGcQ/s1571/0001.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="827" data-original-width="1571" height="336" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjeCBhpHW4b7-jUX1WUPwj-RMHRxvnW7sbBAI9OcjZRkakeRSqdPh5UBSghMVakdfBbN9HtwXmRSxiDJXul9pMPNt04tTG8yZWO8JBvSIta5yaWT_LufXRhFQlvm9ZkONFEbsPOx-GDGcQ/w640-h336/0001.png" width="640" /></a></div><div class="separator" style="clear: both; text-align: center;"><br /></div><div class="separator" style="clear: both; text-align: left;"><span style="font-family: "Arial Unicode MS",sans-serif; font-size: 10.5pt; line-height: 115%; mso-ansi-language: PT-BR; mso-bidi-language: AR-SA; mso-fareast-language: EN-US;">No passo seguinte, é necessário selecionar o
arquivo a ser importado:</span></div><div class="separator" style="clear: both; text-align: left;"><span style="font-family: "Arial Unicode MS",sans-serif; font-size: 10.5pt; line-height: 115%; mso-ansi-language: PT-BR; mso-bidi-language: AR-SA; mso-fareast-language: EN-US;"><br /></span></div><div class="separator" style="clear: both; text-align: left;"><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEguz2oMtnYUu0SiAo2qbAW8L6H4v1D3BtypmcIQpMQcYe1I4Ly793CdNDMP1BAerSP5yx3HKdql-Dn8z-Ae_uraV2CYJ3yUemkRkpR6fd8YT-msz0dDEOy6sLXbEQ1riKyUASNIeqO1b40/s1112/0003.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="450" data-original-width="1112" height="258" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEguz2oMtnYUu0SiAo2qbAW8L6H4v1D3BtypmcIQpMQcYe1I4Ly793CdNDMP1BAerSP5yx3HKdql-Dn8z-Ae_uraV2CYJ3yUemkRkpR6fd8YT-msz0dDEOy6sLXbEQ1riKyUASNIeqO1b40/w640-h258/0003.png" width="640" /></a></div><div class="separator" style="clear: both; text-align: center;"><br /></div><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEggdjOes0R1Fd2HdEm-0ylTQCldn9YY6qHFpcO6o1GZnMWjj4cQBljegHh5CzR9oDlOuE5GLwAReXC5gYVXT3p11oPJlpL6MSdH7Nkh-duGdkb54IlNkrZTZSIJG6dUuSqnJ8twNV5Yfvo/s1952/0004.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="588" data-original-width="1952" height="192" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEggdjOes0R1Fd2HdEm-0ylTQCldn9YY6qHFpcO6o1GZnMWjj4cQBljegHh5CzR9oDlOuE5GLwAReXC5gYVXT3p11oPJlpL6MSdH7Nkh-duGdkb54IlNkrZTZSIJG6dUuSqnJ8twNV5Yfvo/w640-h192/0004.png" width="640" /></a></div><div class="separator" style="clear: both; text-align: left;"><br /></div><span style="font-family: "Arial Unicode MS",sans-serif; font-size: 10.5pt; line-height: 115%; mso-ansi-language: PT-BR; mso-bidi-language: AR-SA; mso-fareast-language: EN-US;">Ao término do processo de importação, um resumo
das ações realizadas para alinhar o arquivo .mpp com as características aceitas
pelo Project for the web será compartilhado:</span></div><div class="separator" style="clear: both; text-align: left;"><span style="font-family: Arial Unicode MS, sans-serif;"><span style="font-size: 14px;"><br /></span></span></div><div class="separator" style="clear: both; text-align: left;"><span style="font-family: Arial Unicode MS, sans-serif;"><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjTxlpcFFynuizNods9ejmnd56dNK-5gp8gNxeOMdJCGJSjxv7aLoUCOcO_BS34UDq3Pk1mmA6y7nV9IlTNXEWseNcRpahyphenhyphen_2CtzW_gAZHeTtVOyKVMCnl-24xdBxZT5i8HbevLs8TZ9sk/s1117/0005.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="1018" data-original-width="1117" height="584" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjTxlpcFFynuizNods9ejmnd56dNK-5gp8gNxeOMdJCGJSjxv7aLoUCOcO_BS34UDq3Pk1mmA6y7nV9IlTNXEWseNcRpahyphenhyphen_2CtzW_gAZHeTtVOyKVMCnl-24xdBxZT5i8HbevLs8TZ9sk/w640-h584/0005.png" width="640" /></a></div><br /></span><span style="font-family: "Arial Unicode MS",sans-serif; font-size: 10.5pt; line-height: 115%; mso-ansi-language: PT-BR; mso-bidi-language: AR-SA; mso-fareast-language: EN-US;">Ao clicar em OK, o projeto criado é
disponibilizado no Project for the web:</span></div><div class="separator" style="clear: both; text-align: left;"><span style="font-family: Arial Unicode MS, sans-serif;"><span style="font-size: 14px;"><br /></span></span></div><div class="separator" style="clear: both; text-align: left;"><span style="font-family: Arial Unicode MS, sans-serif;"><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgaIN7yhm7zsoujpQ5miumqDyxhNc-acWbvH_ACAZHtnwAsiaur-V8gVL6xzDsBtagRvCRCM6vYCKc58HNqkRKfr9awo8AEMQdEfc8DI4vgTMBaUz0P7rTvGJoJLnjxHKKAv2Vta0cHWMk/s2048/0006.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="1138" data-original-width="2048" height="356" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgaIN7yhm7zsoujpQ5miumqDyxhNc-acWbvH_ACAZHtnwAsiaur-V8gVL6xzDsBtagRvCRCM6vYCKc58HNqkRKfr9awo8AEMQdEfc8DI4vgTMBaUz0P7rTvGJoJLnjxHKKAv2Vta0cHWMk/w640-h356/0006.png" width="640" /></a></div><div class="separator" style="clear: both; text-align: left;"><span style="font-family: Arial Unicode MS, sans-serif;"><br /></span></div></span><p class="MsoNormal"><b><span style="font-family: "Arial Unicode MS", sans-serif; font-size: 10.5pt; font-variant-caps: small-caps; font-variant-east-asian: normal; font-variant-numeric: normal; line-height: 115%;">O que é e o que não é importado?<o:p></o:p></span></b></p>
<p class="MsoNormal"><span style="font-family: "Arial Unicode MS",sans-serif; font-size: 10.5pt; line-height: 115%;">Como sabemos, o Microsoft Project Desktop é um
aplicativo completo para gerenciamento de projetos, que oferece inúmeros recursos
e funcionalidades para organização dos cronogramas. Em contrapartida, o Project
for the web foi inicialmente concebido para ser uma versão “<i>super light</i>”
de uma plataforma de gerenciamento de projetos, de forma que inúmeros recursos
e funcionalidades que são disponibilizadas pelo Microsoft Project Desktop não
estão presentes no Project for the web.<o:p></o:p></span></p>
<span style="font-family: "Arial Unicode MS",sans-serif; font-size: 10.5pt; line-height: 115%; mso-ansi-language: PT-BR; mso-bidi-language: AR-SA; mso-fareast-language: EN-US;">Como
foi possível notar no print que detalha o resumo do processo de importação, os
seguintes itens não são suportados pelo Project for the web:</span></div><div class="separator" style="clear: both; text-align: left;"><p class="MsoNormal"></p><ul style="text-align: left;"><li><span style="font-family: "Arial Unicode MS",sans-serif; font-size: 10.5pt; line-height: 115%;"><b>Recursos</b> – pois o Project for the web não
suporta atribuições que definam unidades</span></li><li><span style="font-family: "Arial Unicode MS",sans-serif; font-size: 10.5pt; line-height: 115%;"><b>Linha de Base</b> – pois se trata de uma
função/recurso que, até o momento, não existe no âmbito do Project for the web</span></li><li><span style="font-family: "Arial Unicode MS",sans-serif; font-size: 10.5pt; line-height: 115%;"><b>Datas limite</b> – também se trata de uma
função/recurso não suportada pelo Project for the web</span></li><li><span style="font-family: "Arial Unicode MS",sans-serif; font-size: 10.5pt; line-height: 115%;"><b>Divisão de tarefas</b> – também se trata de uma
função/recurso não suportada pelo Project for the web</span></li><li><span style="font-family: "Arial Unicode MS",sans-serif; font-size: 10.5pt; line-height: 115%;"><b>Tarefa recorrentes</b> – também se trata de uma
função/recurso não suportada pelo Project for the web</span></li></ul><p></p>
<p class="MsoNormal"><span style="font-family: "Arial Unicode MS",sans-serif; font-size: 10.5pt; line-height: 115%;">Vale sempre a pena lembrar que a Microsoft
procura sempre <a href="https://support.microsoft.com/pt-br/office/como-posso-enviar-coment%C3%A1rios-sobre-o-microsoft-office-2b102d44-b43f-4dd2-9ff4-23cf144cfb11">estar
atenta às sugestões da comunidade</a> no que se refere à melhoria e inclusão de
recursos e funcionalidades em seus produtos. Portanto, se você tem uma sugestão
de melhoria para o Project for the web, não deixe de compartilhá-la </span><span style="font-family: "Segoe UI Emoji",sans-serif; font-size: 10.5pt; line-height: 115%; mso-ascii-font-family: "Arial Unicode MS"; mso-bidi-font-family: "Arial Unicode MS"; mso-char-type: symbol-ext; mso-fareast-font-family: "Arial Unicode MS"; mso-hansi-font-family: "Arial Unicode MS"; mso-symbol-font-family: "Segoe UI Emoji";">😉</span><span style="font-family: "Arial Unicode MS",sans-serif; font-size: 10.5pt; line-height: 115%;">.
<o:p></o:p></span></p>
<span style="font-family: "Arial Unicode MS",sans-serif; font-size: 10.5pt; line-height: 115%; mso-ansi-language: PT-BR; mso-bidi-language: AR-SA; mso-fareast-language: EN-US;">Um
abraço e até o próximo post!</span><span style="font-family: "Arial Unicode MS",sans-serif; font-size: 10.5pt; line-height: 115%; mso-ansi-language: PT-BR; mso-bidi-language: AR-SA; mso-fareast-language: EN-US;"><br /></span></div><br /><span style="font-family: "Arial Unicode MS",sans-serif; font-size: 10.5pt; line-height: 115%; mso-ansi-language: PT-BR; mso-bidi-language: AR-SA; mso-fareast-language: EN-US;"><br /></span></div>Raphael Santoshttp://www.blogger.com/profile/15872319796376300645noreply@blogger.com1tag:blogger.com,1999:blog-6645005980317067979.post-72796773080777695292021-08-28T17:46:00.003-03:002021-08-28T17:46:45.283-03:00Importando riscos em lote via Power Automate<p> <span style="font-family: "Arial Unicode MS", sans-serif; font-size: 10.5pt;">Olá pessoal –</span></p>
<p class="MsoNormal"><span style="font-family: "Arial Unicode MS",sans-serif; font-size: 10.5pt; line-height: 115%;">Esse é mais um <a href="http://www.raphael-santos.net/search/label/Power%20Automate" target="_blank">daqueles posts</a> que eu deixo registrado aqui como base de conhecimento caso venha
precisar fazer algo semelhante no futuro.<o:p></o:p></span></p>
<p class="MsoNormal"><b><span style="font-family: "Arial Unicode MS", sans-serif; font-size: 10.5pt; font-variant-caps: small-caps; font-variant-east-asian: normal; font-variant-numeric: normal; line-height: 115%;">Contexto<o:p></o:p></span></b></p>
<p class="MsoNormal"><span style="font-family: "Arial Unicode MS",sans-serif; font-size: 10.5pt; line-height: 115%;">Trabalhei recentemente em um projeto de
implantação do Project Online para um cliente que atua na área de saneamento.
Após a finalização das configurações da plataforma conforme os requisitos de
negócio, iniciamos o cadastramento dos projetos no sistema. <o:p></o:p></span></p>
<span style="font-family: "Arial Unicode MS",sans-serif; font-size: 10.5pt; line-height: 115%; mso-ansi-language: PT-BR; mso-bidi-language: AR-SA; mso-fareast-language: EN-US;">O
cliente já efetuava a gestão de riscos em uma planilha do Microsoft Excel, e dessa
planilha surgiu o desejo de importar todos os riscos já mepeados em lote para o
Project Online, evitando o re-trabalho de cadastro de maneira manual.</span><div><span style="font-family: "Arial Unicode MS",sans-serif; font-size: 10.5pt; line-height: 115%; mso-ansi-language: PT-BR; mso-bidi-language: AR-SA; mso-fareast-language: EN-US;"><br /></span></div><div><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhdKv99ukcF-ylpD2I7tt18GzG5XkxVAQajTTJeO3HQ0kOC1PIKwt7S5XM6j6DvLjlRm2lMFkBwtH7VlunR-kZbx28Zl-y_KG0iqCTXbXF-aZNuseZ7kN7KU7zhBei9Rm0RO_uwrp-YiRk/s1478/riscos_001.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="722" data-original-width="1478" height="312" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhdKv99ukcF-ylpD2I7tt18GzG5XkxVAQajTTJeO3HQ0kOC1PIKwt7S5XM6j6DvLjlRm2lMFkBwtH7VlunR-kZbx28Zl-y_KG0iqCTXbXF-aZNuseZ7kN7KU7zhBei9Rm0RO_uwrp-YiRk/w640-h312/riscos_001.png" width="640" /></a></div><br /><span style="font-family: "Arial Unicode MS",sans-serif; font-size: 10.5pt; line-height: 115%; mso-ansi-language: PT-BR; mso-bidi-language: AR-SA; mso-fareast-language: EN-US;"><p class="MsoNormal"><b><span style="font-size: 10.5pt; font-variant-caps: small-caps; font-variant-east-asian: normal; font-variant-numeric: normal; line-height: 115%;">Ajustes<o:p></o:p></span></b></p>
<p class="MsoNormal"><span style="font-size: 10.5pt; line-height: 115%;">Antes de construir o flow foi necessário ajustar
a planilha para deixá-la em conformidade com a forma como o Power Automate é
capaz de interpretar e utilizar seus dados. As seguintes ações foram aplicadas:<o:p></o:p></span></p>
<p class="MsoNormal"></p><ul style="text-align: left;"><li><span style="font-size: 10.5pt; line-height: 115%;">Linhas vazias na planilha foram excluídas</span></li><li><span style="font-size: 10.5pt; line-height: 115%;">Todas as formatações foram limpas, e o intervalo
de dados foi <a href="https://support.microsoft.com/pt-br/office/criar-e-formatar-tabelas-e81aa349-b006-4f8a-9806-5af9df0ac664" target="_blank">convertido em uma tabela</a></span></li><li><span style="font-size: 10.5pt; line-height: 115%;">Uma coluna chamada Id do Projeto foi adicionada
à planilha, contendo o Id exclusivo dos projetos a partir do Project Online.
Esta informação é necessária para que o flow possa filtrar os projetos individualmente
quando da importação dos riscos em lote</span></li><li><span style="font-size: 10.5pt; line-height: 115%;">Todos os campos baseados em uma lista de valores
(Status e Categoria) foram normatizados para mapearem os mesmos valores da
lista padrão de riscos do Project Online</span></li><li><span style="font-size: 10.5pt; line-height: 115%;">Por fim, uma vez realizados todos os ajustes, a
planilha foi carregada para a biblioteca de documentos compartilhados dentro da
coleção de sites padrão do Project Online</span></li></ul><p></p>
<p class="MsoNormal"><b><span style="font-size: 10.5pt; font-variant-caps: small-caps; font-variant-east-asian: normal; font-variant-numeric: normal; line-height: 115%;">Flow para importação de riscos em lote<o:p></o:p></span></b></p>
<span style="font-size: 10.5pt; line-height: 115%;">Já
no Microsoft Power Automate, temos o seguinte flow:</span></span></div><div><span style="font-family: "Arial Unicode MS",sans-serif; font-size: 10.5pt; line-height: 115%; mso-ansi-language: PT-BR; mso-bidi-language: AR-SA; mso-fareast-language: EN-US;"><span style="font-size: 10.5pt; line-height: 115%;"><br /></span></span></div><div><span style="font-family: "Arial Unicode MS",sans-serif; font-size: 10.5pt; line-height: 115%; mso-ansi-language: PT-BR; mso-bidi-language: AR-SA; mso-fareast-language: EN-US;"><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgC3VebYQ0lamd0LOhNku05nyIt2KroCYnM4ik46ljUofpIRX1MHlz43Rlli8tqmrerjODUuY9i_wkQmzE9Mflpd3JOFIcFDJa8H5X2iDh9aa1HcHPFrw4khin8VyAshTKI7NLISt3O6as/s789/riscos_002.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="789" data-original-width="663" height="640" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgC3VebYQ0lamd0LOhNku05nyIt2KroCYnM4ik46ljUofpIRX1MHlz43Rlli8tqmrerjODUuY9i_wkQmzE9Mflpd3JOFIcFDJa8H5X2iDh9aa1HcHPFrw4khin8VyAshTKI7NLISt3O6as/w538-h640/riscos_002.png" width="538" /></a></div><div><br /></div><div><p class="MsoNormal"><span style="font-size: 10.5pt; line-height: 115%;">A essência do flow é bem simples:<o:p></o:p></span></p>
<p class="MsoNormal"></p><ul style="text-align: left;"><li><span style="font-size: 10.5pt; line-height: 115%;">Um gatilho manual foi inserido, uma vez que o
flow será executado uma única vez</span></li><li><span style="font-size: 10.5pt; line-height: 115%;">Em seguida é necessário obter as linhas
presentes em uma tabela do Excel (a planilha que foi carregada para a biblioteca
de documentos compartilhados)</span></li><li><span style="font-size: 10.5pt; line-height: 115%;">Então, para cada um dos registros encontrados na
planilha, deve-se encontrar o seu respectivo projeto para que o risco seja
cadastrado de maneira automática</span></li></ul><p></p>
<span style="font-size: 10.5pt; line-height: 115%;">Para
obter a lista de projetos do Project Online foi utilizada a ação ‘<i><a href="https://docs.microsoft.com/pt-br/sharepoint/dev/business-apps/power-automate/guidance/working-with-send-sp-http-request" target="_blank">Send an HTTP Request to SharePoint</a></i>’, através do método GET. Para garantir
que cada projeto seja obtido de maneira individual, de acordo com os riscos
obtidos inicialmente na planilha, foi utilizado um <a href="http://www.raphael-santos.net/2021/03/como-filtrar.html" target="_blank">filtro de projeto</a> baseado na coluna ‘<i>Id do Projeto</i>’:</span></div><div><span style="font-size: 10.5pt; line-height: 115%;"><br /></span></div><div><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiiisvdmtTkMYjskD5IAkskWiDWp9RIGUoHvu22peLLyV6CNwifJC9d6hyWlBMf7Z8tcuQlTz275Z3DEf2mi5xV_YKGPee2zWHmTactXWG5HQAP1wHJd8IKYGOeNNZ8qI4l6nWwvkJ6HD4/s784/riscos_003.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="784" data-original-width="668" height="640" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiiisvdmtTkMYjskD5IAkskWiDWp9RIGUoHvu22peLLyV6CNwifJC9d6hyWlBMf7Z8tcuQlTz275Z3DEf2mi5xV_YKGPee2zWHmTactXWG5HQAP1wHJd8IKYGOeNNZ8qI4l6nWwvkJ6HD4/w546-h640/riscos_003.png" width="546" /></a></div><div><br /></div><span style="font-size: 10.5pt; line-height: 115%;">Então, com o projeto devidamente filtrado, uma
outra ação ‘<i>Send an HTTP Request to SharePoint</i>’ foi configurada
utilizando o métod POST, de forma a cadastrar os riscos no projeto:</span></div><div><br /></div><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg5eSYEei1MypoeYj8pHfQtzp1Sjx6uTb6-sXAxVrB3cmaL6fwBHPMTkat-zmB_EPjzzgMf-VcjTPR8sB0obgJmvgVotd9LR7LgYuUdrfEBxY5V8ZVJhobg_lZj3OsixC8CNrosrcYleeo/s805/riscos_004.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="805" data-original-width="675" height="640" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg5eSYEei1MypoeYj8pHfQtzp1Sjx6uTb6-sXAxVrB3cmaL6fwBHPMTkat-zmB_EPjzzgMf-VcjTPR8sB0obgJmvgVotd9LR7LgYuUdrfEBxY5V8ZVJhobg_lZj3OsixC8CNrosrcYleeo/w536-h640/riscos_004.png" width="536" /></a></div><br /><div><span style="font-size: 10.5pt; line-height: 115%;">Através desse
processo de automação, aproximadamente 450 riscos – pertencentes a 80
diferentes projetos – foram criados de maneira automática, salvando algumas
boas horas de trabalho manual dos usuários </span><span style="font-family: "Segoe UI Emoji", sans-serif; font-size: 10.5pt; line-height: 115%;">😊</span><span style="font-size: 10.5pt; line-height: 115%;">.</span></div><div><span style="font-size: 10.5pt; line-height: 115%;"><br /></span></div><div>
<span style="font-size: 10.5pt; line-height: 115%;">Um
abraço e até o próximo post!</span><br /><span style="font-size: 10.5pt; line-height: 115%;"><br /></span></div><br /><span style="font-size: 10.5pt; line-height: 115%;"><br /></span></span></div>Raphael Santoshttp://www.blogger.com/profile/15872319796376300645noreply@blogger.com0tag:blogger.com,1999:blog-6645005980317067979.post-53630343908357004842021-06-29T07:03:00.000-03:002021-06-29T07:03:11.025-03:00Atualizações no Project for the web<p> </p><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh9HJaZGMedDRwcoQmjQIQoxOnDjYKhyphenhyphenkUuauI4KgBaKs7A3g_K5ZEPFYYI-1hqSu9GD3NV2HNPkanR7zJ5UXMTjaLTExEsljqF4F5or9Pc_PM0X8T7RC4o6cTp58CdkdFlnNRmW78L6wA/s1381/novidades-0001.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="566" data-original-width="1381" height="262" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh9HJaZGMedDRwcoQmjQIQoxOnDjYKhyphenhyphenkUuauI4KgBaKs7A3g_K5ZEPFYYI-1hqSu9GD3NV2HNPkanR7zJ5UXMTjaLTExEsljqF4F5or9Pc_PM0X8T7RC4o6cTp58CdkdFlnNRmW78L6wA/w640-h262/novidades-0001.png" width="640" /></a></div><div class="separator" style="clear: both; text-align: center;"><br /></div><p></p><p class="MsoNormal"><span style="font-family: "Arial Unicode MS",sans-serif; font-size: 10.5pt; line-height: 115%;">Olá pessoal –<o:p></o:p></span></p><div class="separator" style="clear: both;">
<p class="MsoNormal"><span style="font-family: "Arial Unicode MS",sans-serif; font-size: 10.5pt; line-height: 115%;">De tempos em tempos eu compartilho aqui no blog
novidades e atualizações que são incorporadas ao Project for the web, e hoje
chego com um conjunto de atualizações que foram adicionadas a plataforma nos
últimos meses.<o:p></o:p></span></p>
<p class="MsoNormal"><b><span style="font-family: "Arial Unicode MS", sans-serif; font-size: 10.5pt; font-variant-caps: small-caps; font-variant-east-asian: normal; font-variant-numeric: normal; line-height: 115%;">Anexos<o:p></o:p></span></b></p>
<span style="font-family: "Arial Unicode MS",sans-serif; font-size: 10.5pt; line-height: 115%; mso-ansi-language: PT-BR; mso-bidi-language: AR-SA; mso-fareast-language: EN-US;">Os
usuários do Project for the web agora podem anexar documentos às tarefas do
cronograma. Ao clicar em uma tarefa e abrir os seus detalhes, a seção <b>Anexos</b>
estará disponível, permitindo assim que arquivos sejam vinculados diretamente à
tarefa:</span></div><div class="separator" style="clear: both;"><span style="font-family: "Arial Unicode MS",sans-serif; font-size: 10.5pt; line-height: 115%; mso-ansi-language: PT-BR; mso-bidi-language: AR-SA; mso-fareast-language: EN-US;"><br /></span></div><div class="separator" style="clear: both;"><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh7aE68hk58WEQ2zYXIIxVYqHgU_2izVfRblecrBePTIO0snOlhOFmy6PQAwlsPoigllc5kwf9PCZQRy-FJ5vkkYjLQSEfg2a3CVj2iATBhgCuzxyNdhehq9OwrvAdcBtG708Kn71XF1xU/s838/novidades-0002.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="573" data-original-width="838" height="274" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh7aE68hk58WEQ2zYXIIxVYqHgU_2izVfRblecrBePTIO0snOlhOFmy6PQAwlsPoigllc5kwf9PCZQRy-FJ5vkkYjLQSEfg2a3CVj2iATBhgCuzxyNdhehq9OwrvAdcBtG708Kn71XF1xU/w400-h274/novidades-0002.png" width="400" /></a></div><div class="separator" style="clear: both;"><br /></div><span style="font-family: "Arial Unicode MS",sans-serif; font-size: 10.5pt; line-height: 115%; mso-ansi-language: PT-BR; mso-bidi-language: AR-SA; mso-fareast-language: EN-US;"><br /></span></div><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhrx651EGf0BfyP2i_fa945qRlSPZ2TemwHxIah-Cuk3_-Rut4EowCiIiQdp-6H4ZFy6HU5EVWkCJnosvHFE7kLD_xlfkkj8PON5WM8TpxAV3uBGIUQI5lGvGuKmASsl-lIMiWWJumtVR0/s818/novidades-0003.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="568" data-original-width="818" height="278" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhrx651EGf0BfyP2i_fa945qRlSPZ2TemwHxIah-Cuk3_-Rut4EowCiIiQdp-6H4ZFy6HU5EVWkCJnosvHFE7kLD_xlfkkj8PON5WM8TpxAV3uBGIUQI5lGvGuKmASsl-lIMiWWJumtVR0/w400-h278/novidades-0003.png" width="400" /></a></div><div><br /></div><span style="font-family: "Arial Unicode MS",sans-serif; font-size: 10.5pt; line-height: 115%; mso-ansi-language: PT-BR; mso-bidi-language: AR-SA; mso-fareast-language: EN-US;">Uma vez anexado, o arquivo ficará disponível na
seção <b>Documentos</b> do site criado junto ao grupo que está relacionado ao
projeto:</span><div><span style="font-family: Arial Unicode MS, sans-serif;"><span style="font-size: 14px;"><br /></span></span></div><div><span style="font-family: Arial Unicode MS, sans-serif;"><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhpgtug5WNSeuXyGpPjbbBvmgNPPjmvpxZOuBEFGzYqTpbjSm9mtycFiVqciBrNx_lBOroOGH8-UWJnhZN9k-Zmu1trG3YXbAXvbsEHBfvyfOLll5WqTnDXjlH_0nqkjz5S-R5Zhf9kNtg/s1197/novidades-0004.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="513" data-original-width="1197" height="274" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhpgtug5WNSeuXyGpPjbbBvmgNPPjmvpxZOuBEFGzYqTpbjSm9mtycFiVqciBrNx_lBOroOGH8-UWJnhZN9k-Zmu1trG3YXbAXvbsEHBfvyfOLll5WqTnDXjlH_0nqkjz5S-R5Zhf9kNtg/w640-h274/novidades-0004.png" width="640" /></a></div><div><span style="font-family: Arial Unicode MS, sans-serif;"><br /></span></div></span><p class="MsoNormal"><b><span style="font-family: "Arial Unicode MS", sans-serif; font-size: 10.5pt; font-variant-caps: small-caps; font-variant-east-asian: normal; font-variant-numeric: normal; line-height: 115%;">Visualização rápida<o:p></o:p></span></b></p>
<span style="font-family: "Arial Unicode MS",sans-serif; font-size: 10.5pt; line-height: 115%; mso-ansi-language: PT-BR; mso-bidi-language: AR-SA; mso-fareast-language: EN-US;">Pegando
carona no exemplo acima, após anexar um documento a uma tarefa, como saber
quais tarefas do cronograma também possuem anexos? E como saber quais possuem
comentários? Para isso, uma nova coluna chamada <b>Visualização rápida</b> é
agora parte integrante do Project for the web:</span></div><div><span style="font-family: Arial Unicode MS, sans-serif;"><span style="font-size: 14px;"><br /></span></span></div><div><span style="font-family: Arial Unicode MS, sans-serif;"><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjKQCIJcv6_e-M57LuKU90mOYf0XGxN_McYRdMHLXtMIBUGMJjHo6YPA0OPdEz5b-7cbu_1g-w-sZ5NO3RQxMz_psUVs3sme5k2qLD_nzWJy9RRz4cJA-Ypt2vNtqXWrgC6e17wr60q14U/s457/novidades-0005.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="457" data-original-width="292" height="400" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjKQCIJcv6_e-M57LuKU90mOYf0XGxN_McYRdMHLXtMIBUGMJjHo6YPA0OPdEz5b-7cbu_1g-w-sZ5NO3RQxMz_psUVs3sme5k2qLD_nzWJy9RRz4cJA-Ypt2vNtqXWrgC6e17wr60q14U/w255-h400/novidades-0005.png" width="255" /></a></div><div><span style="font-family: Arial Unicode MS, sans-serif;"><br /></span></div></span><span style="font-family: "Arial Unicode MS",sans-serif; font-size: 10.5pt; line-height: 115%; mso-ansi-language: PT-BR; mso-bidi-language: AR-SA; mso-fareast-language: EN-US;">Quando adicionada à visualização da tabela, a
coluna irá apontar as tarefas que possuem algum tipo de elemento adicional:</span></div><div><span style="font-family: Arial Unicode MS, sans-serif;"><span style="font-size: 14px;"><br /></span></span></div><div><span style="font-family: Arial Unicode MS, sans-serif;"><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgFL2GmAS5uUCR7Wqge_UkKhpKK-iLiLJQu_RY40_jclEgAadEl-VkmB2IZrlg3oNYdozqGUvYX49Is4xnq2mqJGYnmx5YC3EZmWXtbeA2aVsMTW2ctxayEDX3DEzPmyKJFxYacvzWQO1k/s1433/novidades-0006.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="561" data-original-width="1433" height="250" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgFL2GmAS5uUCR7Wqge_UkKhpKK-iLiLJQu_RY40_jclEgAadEl-VkmB2IZrlg3oNYdozqGUvYX49Is4xnq2mqJGYnmx5YC3EZmWXtbeA2aVsMTW2ctxayEDX3DEzPmyKJFxYacvzWQO1k/w640-h250/novidades-0006.png" width="640" /></a></div><div><span style="font-family: Arial Unicode MS, sans-serif;"><br /></span></div></span><span style="font-family: "Arial Unicode MS",sans-serif; font-size: 10.5pt; line-height: 115%; mso-ansi-language: PT-BR; mso-bidi-language: AR-SA; mso-fareast-language: EN-US;">É possível clicar diretamente no ícone para
abrir os detalhes da tarefa:</span></div><div><span style="font-family: Arial Unicode MS, sans-serif;"><span style="font-size: 14px;"><br /></span></span></div><div><span style="font-family: Arial Unicode MS, sans-serif;"><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh7s_7yciPhYu1CsJjAgmYYGTfSnJBqRi_H0LRaC7-TFFM3_TnnibdkrcSDaxY6mtNWwqUwBaVZQYst3u03EuLxUaFXON5682jT03z-poKLzOoepmTbo115lFEu2cGB0-zUjNOLJ4MsfWI/s560/novidades-0007.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="560" data-original-width="440" height="400" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh7s_7yciPhYu1CsJjAgmYYGTfSnJBqRi_H0LRaC7-TFFM3_TnnibdkrcSDaxY6mtNWwqUwBaVZQYst3u03EuLxUaFXON5682jT03z-poKLzOoepmTbo115lFEu2cGB0-zUjNOLJ4MsfWI/w314-h400/novidades-0007.png" width="314" /></a></div><div><span style="font-family: Arial Unicode MS, sans-serif;"><br /></span></div></span><p class="MsoNormal"><b><span style="font-family: "Arial Unicode MS", sans-serif; font-size: 10.5pt; font-variant-caps: small-caps; font-variant-east-asian: normal; font-variant-numeric: normal; line-height: 115%;">Exportar para o excel<o:p></o:p></span></b></p>
<span style="font-family: "Arial Unicode MS",sans-serif; font-size: 10.5pt; line-height: 115%; mso-ansi-language: PT-BR; mso-bidi-language: AR-SA; mso-fareast-language: EN-US;">Conforme
<a href="https://techcommunity.microsoft.com/t5/project-blog/export-your-entire-project-to-excel/ba-p/1947655" target="_blank">anunciado pela Microsoft</a> em meados de Dezembro/2020, o Project for the web agora
permite que os usuários exportem seus cronogramas para o Excel. Esta é uma
funcionalidade muito útil, pois permite aos gerentes de projeto uma maneira
simples e eficaz de exportar seus cronogramas para compartilhamento externo,
para impressão ou mesmo para criação de relatórios estatísticos simples:</span></div><div><span style="font-family: Arial Unicode MS, sans-serif;"><span style="font-size: 14px;"><br /></span></span></div><div><span style="font-family: Arial Unicode MS, sans-serif;"><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiiH64e1wKN_rKcElkzQ-cToVzB-rWrAyuiqudF084aahysAFuXN7D61Elge1v4FZuusXcugA5x2VOa53C1-KfS2FSn70SnsL2tDJ9lD90e1fSr3C0Mm71nJf6OnLYdo3j9BdfBB-upnQM/s331/novidades-0008.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="279" data-original-width="331" height="338" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiiH64e1wKN_rKcElkzQ-cToVzB-rWrAyuiqudF084aahysAFuXN7D61Elge1v4FZuusXcugA5x2VOa53C1-KfS2FSn70SnsL2tDJ9lD90e1fSr3C0Mm71nJf6OnLYdo3j9BdfBB-upnQM/w400-h338/novidades-0008.png" width="400" /></a></div><div><span style="font-family: Arial Unicode MS, sans-serif;"><br /></span></div></span><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjzPCKy07mhwUEIm_4WIXKST-980rTJITZLjWPfdxzhgq3yZnmAnkxxcEHdLoBKJ-RugxQiOo50KDnNaSXu4oAgWCqza7CtQsXXZK9W2p23xV6MaV7IeGVA59L-6_Gh1eghlTB_GNVX-iM/s1748/novidades-0009.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="651" data-original-width="1748" height="238" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjzPCKy07mhwUEIm_4WIXKST-980rTJITZLjWPfdxzhgq3yZnmAnkxxcEHdLoBKJ-RugxQiOo50KDnNaSXu4oAgWCqza7CtQsXXZK9W2p23xV6MaV7IeGVA59L-6_Gh1eghlTB_GNVX-iM/w640-h238/novidades-0009.png" width="640" /></a></div><div><br /></div><p class="MsoNormal"><b><span style="font-family: "Arial Unicode MS", sans-serif; font-size: 10.5pt; font-variant-caps: small-caps; font-variant-east-asian: normal; font-variant-numeric: normal; line-height: 115%;">Exportar para PDF<o:p></o:p></span></b></p>
<span style="font-family: "Arial Unicode MS",sans-serif; font-size: 10.5pt; line-height: 115%; mso-ansi-language: PT-BR; mso-bidi-language: AR-SA; mso-fareast-language: EN-US;">Outra
opção interessante que agora está disponível é a exportação para PDF. Imagine
que você precise enviar o resumo geral do seu cronograma com a linha do tempo (Gantt)
para um cliente...</span></div><div><span style="font-family: Arial Unicode MS, sans-serif;"><span style="font-size: 14px;"><br /></span></span></div><div><span style="font-family: Arial Unicode MS, sans-serif;"><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgtf8Uke_p9WAmVXXwghrzIhhhq0u4PihOpRpeOTpQmDcjHw7LQEa5FZ3r4cwqLaQz34s1Azjjmlr7_FwVVkzVGL_1NaM-IbOMKbN-Aln15gWzvSDQD3stTM6IwoDw7Iwqr6HaJRCFAZvg/s566/novidades-0011.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="312" data-original-width="566" height="352" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgtf8Uke_p9WAmVXXwghrzIhhhq0u4PihOpRpeOTpQmDcjHw7LQEa5FZ3r4cwqLaQz34s1Azjjmlr7_FwVVkzVGL_1NaM-IbOMKbN-Aln15gWzvSDQD3stTM6IwoDw7Iwqr6HaJRCFAZvg/w640-h352/novidades-0011.png" width="640" /></a></div><div><br /></div></span><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgyLhAOJRcnIeB4D5fQISPGx6UPHQW3uscxB4KWyBl5jAs3rZ-8m4N3VhZ5fWC199eNkVQuyTYi913i7QEjengNRFUkCzrKiF-kQvpmVWYO1nkOGcl9CSG628sDiVmp1_kn27haSoBN7sY/s1351/novidades-0012.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="543" data-original-width="1351" height="258" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgyLhAOJRcnIeB4D5fQISPGx6UPHQW3uscxB4KWyBl5jAs3rZ-8m4N3VhZ5fWC199eNkVQuyTYi913i7QEjengNRFUkCzrKiF-kQvpmVWYO1nkOGcl9CSG628sDiVmp1_kn27haSoBN7sY/w640-h258/novidades-0012.png" width="640" /></a></div><div><br /></div><p class="MsoNormal"><b><span style="font-family: "Arial Unicode MS", sans-serif; font-size: 10.5pt; font-variant-caps: small-caps; font-variant-east-asian: normal; font-variant-numeric: normal; line-height: 115%;">Organização dos quadros<o:p></o:p></span></b></p>
<p class="MsoNormal"><span style="font-family: "Arial Unicode MS",sans-serif; font-size: 10.5pt; line-height: 115%;">Na sua configuração padrão inicial, o Project
for the web apenas permitia o agrupamento das tarefas, na visão de quadro, por
Bucket, Progresso e Data de Término:<o:p></o:p></span></p><p class="MsoNormal"></p><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhT_3tuO4n_mo9Xxvckpxv5C10TSPzGEqVTBz6wabD3_I5MwUQaFxEsfN_zBNyIN5oVqAZXJrC73ZzqjlaBFGExcRy-MR7jkF9WoDY1slhdmg4qSw0TOJ791_egPcWnQ7ruJAmz5x7mLtg/s1613/novidades-0013.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="640" data-original-width="1613" height="254" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhT_3tuO4n_mo9Xxvckpxv5C10TSPzGEqVTBz6wabD3_I5MwUQaFxEsfN_zBNyIN5oVqAZXJrC73ZzqjlaBFGExcRy-MR7jkF9WoDY1slhdmg4qSw0TOJ791_egPcWnQ7ruJAmz5x7mLtg/w640-h254/novidades-0013.png" width="640" /></a></div><br /><span style="font-family: "Arial Unicode MS",sans-serif; font-size: 10.5pt; line-height: 115%;">Agora também é possível agrupar as tarefas de
acordo com os recursos atribuídos:</span><p></p><p class="MsoNormal"></p><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhP4I_YCDGyqq7sqSDYqSUbiCXGioePeR6Q8JTpcRjbtbkl5c_w10dx8bfpSGKjCb54On5kHGgzSESes-DbgT2TQg0VCd0DrfPT7ndbhSaILtoeOtgqihM5GGGpv5cXOrQnyVNxepC8phM/s382/novidades-0014.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="222" data-original-width="382" height="233" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhP4I_YCDGyqq7sqSDYqSUbiCXGioePeR6Q8JTpcRjbtbkl5c_w10dx8bfpSGKjCb54On5kHGgzSESes-DbgT2TQg0VCd0DrfPT7ndbhSaILtoeOtgqihM5GGGpv5cXOrQnyVNxepC8phM/w400-h233/novidades-0014.png" width="400" /></a></div><br /><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhBpwl44jbgihOSeMmyfrEVE2k6_zfaOSG_PJxf02_ZPvG0EjzJ72vX4Wag8lSqhbAt_0WhslJykeJwSVd74VcktM9f_XT8i81efvEut55cCts8suYHuHxVLbEvRwHMKlP5oDiuBkPTbYw/s1817/novidades-0015.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="751" data-original-width="1817" height="264" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhBpwl44jbgihOSeMmyfrEVE2k6_zfaOSG_PJxf02_ZPvG0EjzJ72vX4Wag8lSqhbAt_0WhslJykeJwSVd74VcktM9f_XT8i81efvEut55cCts8suYHuHxVLbEvRwHMKlP5oDiuBkPTbYw/w640-h264/novidades-0015.png" width="640" /></a></div><p class="MsoNormal"><span style="font-family: "Arial Unicode MS",sans-serif; font-size: 10.5pt; line-height: 115%;">E você, o que achou das atualizações e novas
funcionalidades do Project for the web? Quais delas já está utilizando, e quais
passará a utilizar?<o:p></o:p></span></p><p></p><p class="MsoNormal"><span style="font-family: "Arial Unicode MS",sans-serif; font-size: 10.5pt; line-height: 115%;">Vale lembrar que muitas das novas funcionalidades
incluídas no Project for the web são fruto das solicitações dos usuários no
User Voice: <a href="https://microsoftproject.uservoice.com/forums/914203-project-for-the-web">https://microsoftproject.uservoice.com/forums/914203-project-for-the-web</a>
<o:p></o:p></span></p><p class="MsoNormal">
</p><p class="MsoNormal"><span style="font-family: "Arial Unicode MS",sans-serif; font-size: 10.5pt; line-height: 115%;">Um abraço e até o próximo post</span></p></div>Raphael Santoshttp://www.blogger.com/profile/15872319796376300645noreply@blogger.com1tag:blogger.com,1999:blog-6645005980317067979.post-64936615921941903842021-05-19T15:13:00.001-03:002021-05-19T15:13:32.165-03:00Notificações no Project for the web<p> <span style="font-family: "Arial Unicode MS", sans-serif; font-size: 10.5pt;">Olá pessoal –</span></p>
<p class="MsoNormal"><span style="font-family: "Arial Unicode MS",sans-serif; font-size: 10.5pt; line-height: 115%;">No mês de Abril-2021, a Microsoft <a href="https://techcommunity.microsoft.com/t5/project-blog/email-notifications-in-project-for-the-web/ba-p/2268235" target="_blank">anunciou oficialmente</a> que as notificações por e-mail foram finalmente incorporadas
ao Project for the web. A maneira como esse recurso funciona é bem simples:
quando um recurso é atribuído a uma tarefa em um projeto, ele irá receber
automaticamente uma notificação da atribuição. <o:p></o:p></span></p>
<span style="font-family: "Arial Unicode MS",sans-serif; font-size: 10.5pt; line-height: 115%; mso-ansi-language: PT-BR; mso-bidi-language: AR-SA; mso-fareast-language: EN-US;">Como
podemos ver no exemplo abaixo, um novo projeto é criado e as tarefas do
cronograma são devidamente organizadas:</span><div><span style="font-family: "Arial Unicode MS",sans-serif; font-size: 10.5pt; line-height: 115%; mso-ansi-language: PT-BR; mso-bidi-language: AR-SA; mso-fareast-language: EN-US;"><br /></span></div><div><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh9_SiudFNCeoNsXnHYqReytxH4adbbW3VZQxCyBRF8sOUkNgXE1cMP9LeFbp5-YXQNEOsmjnuDJdDiTIqIm6r6w3LDByS0hDFD4LezVBkXJCP3CfwL8Gc7WdOj7hdefwAgofggM8x902M/s1454/notificacoes_001.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="484" data-original-width="1454" height="214" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh9_SiudFNCeoNsXnHYqReytxH4adbbW3VZQxCyBRF8sOUkNgXE1cMP9LeFbp5-YXQNEOsmjnuDJdDiTIqIm6r6w3LDByS0hDFD4LezVBkXJCP3CfwL8Gc7WdOj7hdefwAgofggM8x902M/w640-h214/notificacoes_001.png" width="640" /></a></div><br /><span style="font-family: "Arial Unicode MS",sans-serif; font-size: 10.5pt; line-height: 115%; mso-ansi-language: PT-BR; mso-bidi-language: AR-SA; mso-fareast-language: EN-US;">Uma vez estruturado o cronograma, o responsável
poderá atribuir as tarefas aos recursos:</span></div><div><span style="font-family: "Arial Unicode MS",sans-serif; font-size: 10.5pt; line-height: 115%; mso-ansi-language: PT-BR; mso-bidi-language: AR-SA; mso-fareast-language: EN-US;"><br /></span></div><div><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgPh046TcgEVWLrnyG9JPaw6H6xp5ZnCuqEQLiVNpmeiaRv3G881eJig0AVSwQkihnGMinTNhzZjhZvW-fSWdu1y6iCvNUHwmMXIkbiCZoIEjzNYFMRStEDJvB765g7U7VP8gf5RcWVzUU/s1452/notificacoes_002.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="483" data-original-width="1452" height="212" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgPh046TcgEVWLrnyG9JPaw6H6xp5ZnCuqEQLiVNpmeiaRv3G881eJig0AVSwQkihnGMinTNhzZjhZvW-fSWdu1y6iCvNUHwmMXIkbiCZoIEjzNYFMRStEDJvB765g7U7VP8gf5RcWVzUU/w640-h212/notificacoes_002.png" width="640" /></a></div><div><br /></div><span style="font-family: "Arial Unicode MS",sans-serif; font-size: 10.5pt; line-height: 115%; mso-ansi-language: PT-BR; mso-bidi-language: AR-SA; mso-fareast-language: EN-US;">Logo que as tarefas forem atribuídas, os
recursos receberão as devidas notificações por e-mail:</span></div><div><span style="font-family: Arial Unicode MS, sans-serif;"><span style="font-size: 14px;"><br /></span></span></div><div><span style="font-family: Arial Unicode MS, sans-serif;"><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj6l3csLtrjJthMAuxrYeL_0xnTa9cTUi578URsqf3olxED0Te_VJ3mQlmq6Ov0TvMURyJtV6SMA9MAfQRgKhB7_1mzZU0zz2MVET8bbGYaGh3vk8xpbCMtVLE033aEDE572m4sTqqiZKI/s771/notificacoes_003.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="433" data-original-width="771" height="360" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj6l3csLtrjJthMAuxrYeL_0xnTa9cTUi578URsqf3olxED0Te_VJ3mQlmq6Ov0TvMURyJtV6SMA9MAfQRgKhB7_1mzZU0zz2MVET8bbGYaGh3vk8xpbCMtVLE033aEDE572m4sTqqiZKI/w640-h360/notificacoes_003.png" width="640" /></a></div><div><span style="font-family: Arial Unicode MS, sans-serif;"><br /></span></div><span style="font-size: 14px;"><br /></span></span><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhpNPX6uiCGYEB-HVH7hSCasLruiLDnMaCvP9HWSin0xDB8RzyxJnfnIDXKIDa8sm4IjY-eLQoV4HwsfUgArO_sBGmSiQv3uIlR2J1wzjCaQzP26rY2dUOrI0wNjiH7dFerJrWGLKZGic0/s817/notificacoes_004.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="697" data-original-width="817" height="546" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhpNPX6uiCGYEB-HVH7hSCasLruiLDnMaCvP9HWSin0xDB8RzyxJnfnIDXKIDa8sm4IjY-eLQoV4HwsfUgArO_sBGmSiQv3uIlR2J1wzjCaQzP26rY2dUOrI0wNjiH7dFerJrWGLKZGic0/w640-h546/notificacoes_004.png" width="640" /></a></div><br /><span style="font-family: "Arial Unicode MS",sans-serif; font-size: 10.5pt; line-height: 115%; mso-ansi-language: PT-BR; mso-bidi-language: AR-SA; mso-fareast-language: EN-US;">Ao clicar nos links disponibilizados, o recurso
será direcionado aos detalhes da tarefa:</span></div><div><span style="font-family: "Arial Unicode MS",sans-serif; font-size: 10.5pt; line-height: 115%; mso-ansi-language: PT-BR; mso-bidi-language: AR-SA; mso-fareast-language: EN-US;"><br /></span></div><div><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgEjVy_5MSehriluqrY0Bx9H4qY6cFfR3PsiILxmh4jIH1Sp9v_AE4AXDNFBqg6cO5AR7PKJXWipnrI5ri3Wu5lTSjl_8HDWU94zo5cKdDpM7n9wiueJrhPMRjXB7fWEjtRQGvXCNJLuIg/s841/notificacoes_005.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="566" data-original-width="841" height="430" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgEjVy_5MSehriluqrY0Bx9H4qY6cFfR3PsiILxmh4jIH1Sp9v_AE4AXDNFBqg6cO5AR7PKJXWipnrI5ri3Wu5lTSjl_8HDWU94zo5cKdDpM7n9wiueJrhPMRjXB7fWEjtRQGvXCNJLuIg/w640-h430/notificacoes_005.png" width="640" /></a></div><br /><span style="font-family: "Arial Unicode MS",sans-serif; font-size: 10.5pt; line-height: 115%; mso-ansi-language: PT-BR; mso-bidi-language: AR-SA; mso-fareast-language: EN-US;">Lembrando também que os usuários possuem a
prerrogativa de desabilitar as notificações que são disparadas pela plataforma,
caso queiram:</span></div><div><span style="font-family: "Arial Unicode MS",sans-serif; font-size: 10.5pt; line-height: 115%; mso-ansi-language: PT-BR; mso-bidi-language: AR-SA; mso-fareast-language: EN-US;"><br /></span></div><div><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEipwVT_Rt1FGr1IsQOjDbPcQa-3x7kpSC0OMUnnxsRQR434SHEipbt5jp3ZyrmPywTLH_fsUSTZ2mV82JyS0N665H6MeIEuTrzKthUQcWaqr4zWilGcaQZgonXsGw8Cf17HiD83IM-F1U4/s449/notificacoes_006.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="255" data-original-width="449" height="228" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEipwVT_Rt1FGr1IsQOjDbPcQa-3x7kpSC0OMUnnxsRQR434SHEipbt5jp3ZyrmPywTLH_fsUSTZ2mV82JyS0N665H6MeIEuTrzKthUQcWaqr4zWilGcaQZgonXsGw8Cf17HiD83IM-F1U4/w400-h228/notificacoes_006.png" width="400" /></a></div><br /><span style="font-family: "Arial Unicode MS",sans-serif; font-size: 10.5pt; line-height: 115%; mso-ansi-language: PT-BR; mso-bidi-language: AR-SA; mso-fareast-language: EN-US;">Até a próxima!</span></div><div><span style="font-family: "Arial Unicode MS",sans-serif; font-size: 10.5pt; line-height: 115%; mso-ansi-language: PT-BR; mso-bidi-language: AR-SA; mso-fareast-language: EN-US;"><br /></span></div>Raphael Santoshttp://www.blogger.com/profile/15872319796376300645noreply@blogger.com0tag:blogger.com,1999:blog-6645005980317067979.post-86988304058246172502021-05-11T22:04:00.001-03:002021-05-11T22:04:47.595-03:00Consolidando as listas dos sites de projeto<p> <span style="font-family: "Arial Unicode MS", sans-serif; font-size: 10.5pt;">Olá pessoal –</span></p>
<p class="MsoNormal"><span style="font-family: "Arial Unicode MS",sans-serif; font-size: 10.5pt; line-height: 115%;">Esse vai ser um post rápido que terá como
objetivo complementar as informações que foram compartilhadas no vídeo
publicado no meu canal do YouTube, onde explico como é possível consolidar
todos os registros das listas personalizadas disponíveis nos sites de projeto
em uma lista central, com o objetivo de criar relatórios, painéis e dashboards
gerenciais.<o:p></o:p></span></p>
<span style="font-family: "Arial Unicode MS",sans-serif; font-size: 10.5pt; line-height: 115%; mso-ansi-language: PT-BR; mso-bidi-language: AR-SA; mso-fareast-language: EN-US;">Esse
post sozinho não irá fazer muito sentido, então é importante que você assista o
vídeo para ter todo o contexto da discussão proposta:</span><div><span style="font-family: "Arial Unicode MS",sans-serif; font-size: 10.5pt; line-height: 115%; mso-ansi-language: PT-BR; mso-bidi-language: AR-SA; mso-fareast-language: EN-US;"><br /></span></div><div><div class="separator" style="clear: both; text-align: center;"><iframe allowfullscreen="" class="BLOG_video_class" height="395" src="https://www.youtube.com/embed/3DnMdfCIlBY" width="474" youtube-src-id="3DnMdfCIlBY"></iframe></div><br /><span style="font-family: "Arial Unicode MS",sans-serif; font-size: 10.5pt; line-height: 115%; mso-ansi-language: PT-BR; mso-bidi-language: AR-SA; mso-fareast-language: EN-US;">Bem, vamos lá... conforme explicado no vídeo, a
ação inicial do flow irá obter a lista dos projetos no ambiente do Project
Online, com o cuidado de filtrar apenas os projetos que possuam um site associado:</span></div><div><span style="font-family: "Arial Unicode MS",sans-serif; font-size: 10.5pt; line-height: 115%; mso-ansi-language: PT-BR; mso-bidi-language: AR-SA; mso-fareast-language: EN-US;"><br /></span></div><div><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiZ7jn_5QKytRMBoaa9oOWyGeSrSHmIOXihd6Lw9tHnsNngJvBg2qfzthOUF3IzYZumPNovuHF8sAU7_QdQoBrFS2V-3RcTTX6-tuYOKISSAkAU8LKPrvuT_Bczy8AOhYTl0K_8_CpTuTw/s621/0001.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="435" data-original-width="621" height="448" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiZ7jn_5QKytRMBoaa9oOWyGeSrSHmIOXihd6Lw9tHnsNngJvBg2qfzthOUF3IzYZumPNovuHF8sAU7_QdQoBrFS2V-3RcTTX6-tuYOKISSAkAU8LKPrvuT_Bczy8AOhYTl0K_8_CpTuTw/w640-h448/0001.png" width="640" /></a></div><div><br /></div><p class="MsoNormal"><span style="font-family: "Arial Unicode MS",sans-serif; font-size: 10.5pt; line-height: 115%;">Aqui listada a Uri da ação ‘Send an HTTP request
to SharePoint’:<o:p></o:p></span></p>
<div style="background: #F2F2F2; border: solid windowtext 1.0pt; mso-background-themecolor: background1; mso-background-themeshade: 242; mso-border-alt: solid windowtext .5pt; mso-element: para-border-div; padding: 1.0pt 4.0pt 1.0pt 4.0pt;">
<p class="MsoNormal" style="background-attachment: initial; background-clip: initial; background-image: initial; background-origin: initial; background-position: initial; background-repeat: initial; background-size: initial; border: none; padding: 0in;"><span style="font-family: Consolas; font-size: 10.5pt; line-height: 115%;">/_api/projectdata/[en-us]/Projects()?$Select=ProjectId,ProjectName,ProjectWorkspaceInternalUrl&$Filter=ProjectWorkspaceInternalUrl
ne null</span><span style="font-family: Consolas; font-size: 10.5pt; line-height: 115%; mso-bidi-font-family: "Arial Unicode MS"; mso-fareast-font-family: "Arial Unicode MS";"><o:p></o:p></span></p>
</div>
<span style="font-family: "Arial Unicode MS",sans-serif; font-size: 10.5pt; line-height: 115%; mso-ansi-language: PT-BR; mso-bidi-language: AR-SA; mso-fareast-language: EN-US;"><div><span style="font-family: "Arial Unicode MS",sans-serif; font-size: 10.5pt; line-height: 115%; mso-ansi-language: PT-BR; mso-bidi-language: AR-SA; mso-fareast-language: EN-US;"><br /></span></div>Em
seguida, para cada projeto obtido na ação anterior, uma ação ‘Apply to each’
foi aplicada para que as ações subsequentes aconteçam no contexto de cada site
de projeto individualmente. No nosso exemplo, dentro de cada site de projeto é
preciso navegar até a lista customizada <b>Lessons</b> e obter todos os seus
registros:</span></div><div><span style="font-family: Arial Unicode MS, sans-serif;"><span style="font-size: 14px;"><br /></span></span></div><div><span style="font-family: Arial Unicode MS, sans-serif;"><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgBMXpfUVI-bRnd3iLM765ZhGivkJoJm3E7tlv191PmPa76UsyGXImRKNRXj19cynPjNiyqes6cE23U5aS46L8QxM9BRQ0RDPeAq3av2LpAnWUgpGR5N3fFRYWPdmeJkuqaQcmDirqdfI4/s670/0002.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="630" data-original-width="670" height="602" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgBMXpfUVI-bRnd3iLM765ZhGivkJoJm3E7tlv191PmPa76UsyGXImRKNRXj19cynPjNiyqes6cE23U5aS46L8QxM9BRQ0RDPeAq3av2LpAnWUgpGR5N3fFRYWPdmeJkuqaQcmDirqdfI4/w640-h602/0002.png" width="640" /></a></div><br /></span><span style="font-family: "Arial Unicode MS",sans-serif; font-size: 10.5pt; line-height: 115%; mso-ansi-language: PT-BR; mso-bidi-language: AR-SA; mso-fareast-language: EN-US;">Em seguida, uma nova ação ‘Apply to each’ foi utilizada
para que, para cada lição aprendida encontrada no contexto do site atual, um
novo registro fosse criado na lista central de lições aprendidas (que eu chamei
de <b>All Lessons</b>):</span></div><div><span style="font-family: Arial Unicode MS, sans-serif;"><span style="font-size: 14px;"><br /></span></span></div><div><span style="font-family: Arial Unicode MS, sans-serif;"><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiPjcgCbNs94sxvZ17uo_EEUsl4yH11xb8jxYSHDXLNn2agIKt9j9fRuy-5HBbZjhgpFptlSETAs3iX0E5PwXwoyA4MnKyufXx5FHcW44ZuADGtM6txZkOjxxk_cYDjMmf23-8Jlo3B-dA/s667/0003.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="667" data-original-width="650" height="640" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiPjcgCbNs94sxvZ17uo_EEUsl4yH11xb8jxYSHDXLNn2agIKt9j9fRuy-5HBbZjhgpFptlSETAs3iX0E5PwXwoyA4MnKyufXx5FHcW44ZuADGtM6txZkOjxxk_cYDjMmf23-8Jlo3B-dA/w624-h640/0003.png" width="624" /></a></div><div><span style="font-family: Arial Unicode MS, sans-serif;"><br /></span></div></span><p class="MsoNormal"><span style="font-family: "Arial Unicode MS",sans-serif; font-size: 10.5pt; line-height: 115%;">Lembrando que, de acordo com os campos/colunas
que você criou na sua lista customizada, será necessário descobrir como o Power
Automate os reconhece internamente, pois alguns campos podem ter seus nomes
reduzidos ou reorganizados a depender de diferentes fatores, como acentos, espaços,
caracteres especiais e etc.<o:p></o:p></span></p>
<span style="font-family: "Arial Unicode MS",sans-serif; font-size: 10.5pt; line-height: 115%; mso-ansi-language: PT-BR; mso-bidi-language: AR-SA; mso-fareast-language: EN-US;">A
título de exemplo, abaixo a lista dos campos que eu utilizei nas minhas listas
personalizadas, e como o nome desses campos foram reorganizados pelo Power
Automate:</span></div><div><p class="MsoNormal" style="line-height: normal; mso-margin-bottom-alt: auto; mso-margin-top-alt: auto;"></p><ul style="text-align: left;"><li><b><span style="font-family: Consolas; mso-bidi-font-family: "Times New Roman"; mso-fareast-font-family: "Times New Roman"; mso-fareast-language: PT-BR;">Lesson</span></b><span style="font-family: Consolas; mso-bidi-font-family: "Times New Roman"; mso-fareast-font-family: "Times New Roman"; mso-fareast-language: PT-BR;"> = items('Apply_to_each_2')['Title']<o:p></o:p></span></li><li><b><span style="font-family: Consolas; mso-bidi-font-family: "Times New Roman"; mso-fareast-font-family: "Times New Roman"; mso-fareast-language: PT-BR;">Lesson Type</span></b><span style="font-family: Consolas; mso-bidi-font-family: "Times New Roman"; mso-fareast-font-family: "Times New Roman"; mso-fareast-language: PT-BR;"> = items('Apply_to_each_2')?['Lesson_x0020_Type/Value']<o:p></o:p></span></li><li><b><span style="font-family: Consolas; mso-bidi-font-family: "Times New Roman"; mso-fareast-font-family: "Times New Roman"; mso-fareast-language: PT-BR;">Category</span></b><span style="font-family: Consolas; mso-bidi-font-family: "Times New Roman"; mso-fareast-font-family: "Times New Roman"; mso-fareast-language: PT-BR;"> = items('Apply_to_each_2')?['Category/Value']<o:p></o:p></span></li><li><b><span style="font-family: Consolas; mso-bidi-font-family: "Times New Roman"; mso-fareast-font-family: "Times New Roman"; mso-fareast-language: PT-BR;">What happened</span></b><span style="font-family: Consolas; mso-bidi-font-family: "Times New Roman"; mso-fareast-font-family: "Times New Roman"; mso-fareast-language: PT-BR;"> = items('Apply_to_each_2')?['What_x0020_Happened']<o:p></o:p></span></li><li><b><span style="font-family: Consolas; mso-bidi-font-family: "Times New Roman"; mso-fareast-font-family: "Times New Roman"; mso-fareast-language: PT-BR;">What have we learned</span></b><span style="font-family: Consolas; mso-bidi-font-family: "Times New Roman"; mso-fareast-font-family: "Times New Roman"; mso-fareast-language: PT-BR;"> =
items('Apply_to_each_2')?['What_x0020_have_x0020_we_x0020_l']<o:p></o:p></span></li><li><b><span style="font-family: Consolas; mso-bidi-font-family: "Times New Roman"; mso-fareast-font-family: "Times New Roman"; mso-fareast-language: PT-BR;">Status</span></b><span style="font-family: Consolas; mso-bidi-font-family: "Times New Roman"; mso-fareast-font-family: "Times New Roman"; mso-fareast-language: PT-BR;"> = items('Apply_to_each_2')?['Status/Value']<o:p></o:p></span></li><li><b><span style="font-family: Consolas; mso-bidi-font-family: "Times New Roman"; mso-fareast-font-family: "Times New Roman"; mso-fareast-language: PT-BR;">Owner</span></b><span style="font-family: Consolas; mso-bidi-font-family: "Times New Roman"; mso-fareast-font-family: "Times New Roman"; mso-fareast-language: PT-BR;"> = items('Apply_to_each_2')?['Owner/Email']</span></li></ul><p></p>
<p class="MsoNormal"><span style="font-family: "Arial Unicode MS",sans-serif; font-size: 10.5pt; line-height: 115%;">Espero que ajude!<o:p></o:p></span></p><span style="font-family: "Arial Unicode MS",sans-serif; font-size: 10.5pt; line-height: 115%; mso-ansi-language: PT-BR; mso-bidi-language: AR-SA; mso-fareast-language: EN-US;"><br /></span></div>Raphael Santoshttp://www.blogger.com/profile/15872319796376300645noreply@blogger.com2tag:blogger.com,1999:blog-6645005980317067979.post-84149127036245375862021-04-30T10:20:00.001-03:002021-04-30T10:20:29.824-03:00Arquivando projetos no Project for the web<p> <span style="font-family: "Arial Unicode MS", sans-serif; font-size: 10.5pt;">Olá pessoal –</span></p>
<p class="MsoNormal"><span style="font-family: "Arial Unicode MS",sans-serif; font-size: 10.5pt; line-height: 115%;">No começo desse ano publiquei um post aqui no
blog falando sobre as <a href="http://www.raphael-santos.net/2021/01/arquivando-projetos-no-project-online.html" target="_blank">boas práticas para arquivar projetos no Project Online</a>. No post de hoje irei
falar sobre as opções disponíveis para o Project for the web.<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-family: "Arial Unicode MS",sans-serif; font-size: 10.5pt; line-height: 115%;">Se você já está utilizando o Project for the
web, então deve saber que os recursos e funcionalidades da plataforma são mais
simples quando comparadas aos recursos e funcionalidades do Project Online. Nesse
sentido, o processo de arquivamento dos projetos também é mais simples e
direto.<o:p></o:p></span></p>
<span style="font-family: "Arial Unicode MS",sans-serif; font-size: 10.5pt; line-height: 115%; mso-ansi-language: PT-BR; mso-bidi-language: AR-SA; mso-fareast-language: EN-US;">Porém,
antes de iniciarmos os procedimentos técnicos, é preciso responder uma
pergunta: quais os motivos para arquivar um projeto? Vejo algumas razões pelas
quais um projeto precise ser arquivado:</span><div><span style="font-family: "Arial Unicode MS",sans-serif; font-size: 10.5pt; line-height: 115%; mso-ansi-language: PT-BR; mso-bidi-language: AR-SA; mso-fareast-language: EN-US;"><p class="MsoNormal"></p><ul style="text-align: left;"><li><span style="font-size: 10.5pt; line-height: 115%;">O projeto pode ter sido encerrado e, dessa
forma, é preciso garantir que os dados não mais serão alterados</span></li><li><span style="font-size: 10.5pt; line-height: 115%;">O projeto pode ser sido paralisado (cancelado ou
temporariamente suspenso) e, enquanto durar essa paralização, é preciso
garantir a integridade do cronograma</span></li><li><span style="font-size: 10.5pt; line-height: 115%;">A organização pode estar passando por uma janela
de paralização (por exemplo, uma parada de fábrica ou férias coletivas) e durante
esse intervalo de tempo os cronogramas devem ser mantidos em modo leitura</span></li></ul><p></p>
<p class="MsoNormal"><span style="font-size: 10.5pt; line-height: 115%;">Indo agora às tecnicalidades, para arquivar um
projeto no Project for the web é preciso inativá-lo. A ação de inativação pode
apenas ser feita via aplicativo no Model Canvas (Power Apps) – <a href="https://make.powerapps.com/" target="_blank">https://make.powerapps.com</a>. <o:p></o:p></span></p>
<span style="font-size: 10.5pt; line-height: 115%;">Ao
acessar o aplicativo <b>Projects</b>, basta selecionar o projeto desejado e
clicar em <b>Deactivate</b>:</span></span></div><div><span style="font-family: "Arial Unicode MS",sans-serif; font-size: 10.5pt; line-height: 115%; mso-ansi-language: PT-BR; mso-bidi-language: AR-SA; mso-fareast-language: EN-US;"><span style="font-size: 10.5pt; line-height: 115%;"><br /></span></span></div><div><span style="font-family: "Arial Unicode MS",sans-serif; font-size: 10.5pt; line-height: 115%; mso-ansi-language: PT-BR; mso-bidi-language: AR-SA; mso-fareast-language: EN-US;"><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj_uyEZ55HBEJ1zg_Hga7JydoUqPbvygy3umn9A8iFifRBOWl4T7sw_Io4CFKsDKVvvQd7PJoVuVUqKFTKogYhK3NK7YPubTpoYT9Ehad3tItUfSh5FkfFD9so7LYFkvUGtKY-JZxJykKc/s940/projetos-conclu%25C3%25ADdos-0001.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="477" data-original-width="940" height="324" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj_uyEZ55HBEJ1zg_Hga7JydoUqPbvygy3umn9A8iFifRBOWl4T7sw_Io4CFKsDKVvvQd7PJoVuVUqKFTKogYhK3NK7YPubTpoYT9Ehad3tItUfSh5FkfFD9so7LYFkvUGtKY-JZxJykKc/w640-h324/projetos-conclu%25C3%25ADdos-0001.png" width="640" /></a></div><br /><span style="font-size: 10.5pt; line-height: 115%;">Em seguida será preciso confirmar a inativação
do projeto:</span></span></div><div><span style="font-family: "Arial Unicode MS",sans-serif; font-size: 10.5pt; line-height: 115%; mso-ansi-language: PT-BR; mso-bidi-language: AR-SA; mso-fareast-language: EN-US;"><span style="font-size: 10.5pt; line-height: 115%;"><br /></span></span></div><div><span style="font-family: "Arial Unicode MS",sans-serif; font-size: 10.5pt; line-height: 115%; mso-ansi-language: PT-BR; mso-bidi-language: AR-SA; mso-fareast-language: EN-US;"><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEglsMyUVfcyor_INgt33lo8Mxc5Vt6_ZO0zLIoqoFXv8wmyhgTNUXVDTVE9nVEFiLMskCRLrjSunnVrETkhLBkMl9ze7W3XVuog8J_pDl4nyXhl16Pk4q2TP4cz99nSVIAgwphyphenhyphenTmNxAyc/s594/projetos-conclu%25C3%25ADdos-0002.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="246" data-original-width="594" height="166" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEglsMyUVfcyor_INgt33lo8Mxc5Vt6_ZO0zLIoqoFXv8wmyhgTNUXVDTVE9nVEFiLMskCRLrjSunnVrETkhLBkMl9ze7W3XVuog8J_pDl4nyXhl16Pk4q2TP4cz99nSVIAgwphyphenhyphenTmNxAyc/w400-h166/projetos-conclu%25C3%25ADdos-0002.png" width="400" /></a></div><div><span style="font-family: "Arial Unicode MS",sans-serif; font-size: 10.5pt; line-height: 115%; mso-ansi-language: PT-BR; mso-bidi-language: AR-SA; mso-fareast-language: EN-US;"><br /></span></div><span style="font-size: 10.5pt; line-height: 115%;">Dessa forma, caso os usuários tentem acessar o
cronograma, receberão a mensagem de que o projeto encontra-se inativo, estando
assim em modo apenas leitura:</span></span></div><div><span style="font-family: "Arial Unicode MS",sans-serif; font-size: 10.5pt; line-height: 115%; mso-ansi-language: PT-BR; mso-bidi-language: AR-SA; mso-fareast-language: EN-US;"><br /></span></div><div><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjbc7-5Am728CEMPcxQp_MBiypTIaQ5FM8HMOokKk1gHSDtCKAMg-cWlZVQNvNSk01F4A2UtQcCGLBfX1a8muJuDLjUAVhGo41W33qfVqYw3tyVot6OwPVEW3zeS7XPCIRzmc4Pm5Jbcpk/s774/projetos-conclu%25C3%25ADdos-0003.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="643" data-original-width="774" height="532" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjbc7-5Am728CEMPcxQp_MBiypTIaQ5FM8HMOokKk1gHSDtCKAMg-cWlZVQNvNSk01F4A2UtQcCGLBfX1a8muJuDLjUAVhGo41W33qfVqYw3tyVot6OwPVEW3zeS7XPCIRzmc4Pm5Jbcpk/w640-h532/projetos-conclu%25C3%25ADdos-0003.png" width="640" /></a></div><br /><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiS88uzQzSCFPXd6JWoWsx86WuChXL1xo-vLtjYjmwomJ4Q-bmBb4g-sSANeWFX_JW7OitDNLsA_fxmIyUsOS2VwMGu8jC2F3Iv9b4CTIUGkyRg3_o5MdORyyNn_9oKO72ClH2SKvSxKLA/s1186/projetos-conclu%25C3%25ADdos-0004.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="476" data-original-width="1186" height="256" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiS88uzQzSCFPXd6JWoWsx86WuChXL1xo-vLtjYjmwomJ4Q-bmBb4g-sSANeWFX_JW7OitDNLsA_fxmIyUsOS2VwMGu8jC2F3Iv9b4CTIUGkyRg3_o5MdORyyNn_9oKO72ClH2SKvSxKLA/w640-h256/projetos-conclu%25C3%25ADdos-0004.png" width="640" /></a></div><div><br /></div><span style="font-family: "Arial Unicode MS",sans-serif; font-size: 10.5pt; line-height: 115%; mso-ansi-language: PT-BR; mso-bidi-language: AR-SA; mso-fareast-language: EN-US;"><span style="font-size: 10.5pt; line-height: 115%;"><br /></span></span></div><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgIWvGtF1whu3sKRVkF-P95F3xdml6qkImaHBtQKHpBgpXMM1nPQ0qYR54rb2cVhyphenhyphen5GmWrJ7EaZUiR-XcQyCAI-XWfpQkKTzOKux6pZQkp6l2qKKwezmDs5FBaKBuEvuktfOn8jl7lJ5Y8/s765/projetos-conclu%25C3%25ADdos-0005.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="765" data-original-width="437" height="640" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgIWvGtF1whu3sKRVkF-P95F3xdml6qkImaHBtQKHpBgpXMM1nPQ0qYR54rb2cVhyphenhyphen5GmWrJ7EaZUiR-XcQyCAI-XWfpQkKTzOKux6pZQkp6l2qKKwezmDs5FBaKBuEvuktfOn8jl7lJ5Y8/w366-h640/projetos-conclu%25C3%25ADdos-0005.png" width="366" /></a></div><br /><div><span style="font-family: "Arial Unicode MS",sans-serif; font-size: 10.5pt; line-height: 115%; mso-ansi-language: PT-BR; mso-bidi-language: AR-SA; mso-fareast-language: EN-US;">Espero que ajude </span><span style="font-family: "Segoe UI Emoji",sans-serif; font-size: 10.5pt; line-height: 115%; mso-ansi-language: PT-BR; mso-ascii-font-family: "Arial Unicode MS"; mso-bidi-font-family: "Arial Unicode MS"; mso-bidi-language: AR-SA; mso-char-type: symbol-ext; mso-fareast-font-family: "Arial Unicode MS"; mso-fareast-language: EN-US; mso-hansi-font-family: "Arial Unicode MS"; mso-symbol-font-family: "Segoe UI Emoji";">😉</span><span style="font-family: "Arial Unicode MS",sans-serif; font-size: 10.5pt; line-height: 115%; mso-ansi-language: PT-BR; mso-bidi-language: AR-SA; mso-fareast-language: EN-US;">.</span></div>Raphael Santoshttp://www.blogger.com/profile/15872319796376300645noreply@blogger.com0tag:blogger.com,1999:blog-6645005980317067979.post-20649589324162358512021-04-06T23:43:00.003-03:002021-04-06T23:43:53.238-03:00Filtrando as tarefas de um projeto via Power Automate<p> <span face=""Arial Unicode MS", sans-serif" style="font-size: 10.5pt;">Olá pessoal –</span></p>
<p class="MsoNormal"><span face=""Arial Unicode MS",sans-serif" style="font-size: 10.5pt; line-height: 115%;">No final de Março/2021 <a href="http://www.raphael-santos.net/2021/03/como-filtrar.html" target="_blank">publiquei um post</a> para explicar como é possível filtrar um projeto pelo seu ID no Power
Automate. Logo depois de efetuar a publicação do post surgiu uma nova necessidade
com um dos clientes com os quais eu trabalho, que acho que vale a pena
compartilhar por aqui. Vou procurar explicar com um pouco mais de detalhes:<o:p></o:p></span></p>
<p class="MsoNormal"><span face=""Arial Unicode MS",sans-serif" style="font-size: 10.5pt; line-height: 115%;">--- um cliente gostaria que, logo após a criação
de um novo projeto, seus marcos fossem obtidos e sincronizados com um sistema
externo, que era utilizado por uma área específica da organização para fins de
controle.<o:p></o:p></span></p>
<p class="MsoNormal"><span face=""Arial Unicode MS",sans-serif" style="font-size: 10.5pt; line-height: 115%;">É importante destacar que nesse post não
pretendo explicar como os dados exportados foram adicionados ao sistema
externo. Ao invés disso, meu objetivo aqui será detalhar como é possível criar
uma ação no Power Automate que utilize o parâmetro do ID do projeto (GUID) para
filtrar as tarefas daquele cronograma especificamente. Antes de começar, é
importante apenas deixar claro que, no contexto desse cliente, todos os novos
projetos criados possuíam um modelo de cronograma associado, ou seja, quando da
criação de um novo projeto toda a estrutura básica de tarefas já estaria pronta.
Feitos os devidos disclaimers, vamos lá. <o:p></o:p></span></p>
<span face=""Arial Unicode MS",sans-serif" style="font-size: 10.5pt; line-height: 115%; mso-ansi-language: PT-BR; mso-bidi-language: AR-SA; mso-fareast-language: EN-US;">O
primeiro passo é iniciar o gatilho do flow usando a opção ‘<i>When a new
project is created</i>’. Em seguida, paralisamos o fluxo por 2 minutos para
garantir que todas as ações de criação do projeto tenham sido processadas pela
fila do Project Online. Por fim, uma ação ‘<i>Send an HTTP request to
SharePoint</i>’ foi adicionada para que seja possível obter a lista de tarefas:</span><div><span face=""Arial Unicode MS",sans-serif" style="font-size: 10.5pt; line-height: 115%; mso-ansi-language: PT-BR; mso-bidi-language: AR-SA; mso-fareast-language: EN-US;"><br /></span></div><div><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjRRzSX8hVI3544JXD8ZuXfGd9E40m5oIywzv23b2Gzox5-FTyKiiqQXs3YlFOJhTwvyC1Md1hUSv72cSEmz8ohOni7MCjDdnt05Cfs1g9ojIlklJTIsrnWFqFjryNtvx_qD3HRqRVB5VE/s634/tasks_0001.png" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="613" data-original-width="634" height="618" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjRRzSX8hVI3544JXD8ZuXfGd9E40m5oIywzv23b2Gzox5-FTyKiiqQXs3YlFOJhTwvyC1Md1hUSv72cSEmz8ohOni7MCjDdnt05Cfs1g9ojIlklJTIsrnWFqFjryNtvx_qD3HRqRVB5VE/w640-h618/tasks_0001.png" width="640" /></a></div><div><br /></div><p class="MsoNormal"><span face=""Arial Unicode MS",sans-serif" style="font-size: 10.5pt; line-height: 115%;">Após especificar o endereço do PWA e manter o
método padrão GET, é preciso determinar que as tarefas a serem obtidas devem
ser oriundas do projeto que acabou de ser criado. Se você já está familiarizado
com as strings para obter dados da API do Project Online (OData), já deve saber
que o ponto final da entidade tarefas pode ser consultado da seguinte maneira (neste
exemplo estamos filtrando os marcos do cronograma e obtendo o seu ID, nome e
data de término): <o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-family: "Cambria",serif; mso-bidi-font-family: "Arial Unicode MS"; mso-fareast-font-family: "Arial Unicode MS";">/_api/ProjectData/Tasks()?$Select=TaskId,TaskName,TaskFinishDate&$Filter=TaskIsMilestone
eq true</span><span face=""Arial Unicode MS",sans-serif" style="font-size: 10.5pt; line-height: 115%;"><o:p></o:p></span></p>
<p class="MsoNormal"><span face=""Arial Unicode MS",sans-serif" style="font-size: 10.5pt; line-height: 115%;">Porém, como filtrar as tarefas para que sejam
apenas obtidas as tarefas do projeto criado? A resposta é que a API OData é
flexível o suficiente para permitir a inclusão de um parâmetro adicional
(Projects), que permite a aplicação do filtro desejado. Ficaria assim:<o:p></o:p></span></p>
<span style="font-family: Cambria, serif; line-height: 115%;">/_api/ProjectData/<span style="background: lime;">Projects(guid'[ProjectId] ')</span>/Tasks()?$Select=TaskId,TaskName,TaskFinishDate&$Filter=TaskIsMilestone
eq true</span></div><div><span style="font-family: Cambria, serif;"><span style="font-size: 14.6667px;"><br /></span></span></div><div><span style="font-family: Cambria, serif;"><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhIjLoryZs47DFuL_y8_93jcJduPOaVaxlZ132A2Ga5T-U9N9UA30xLwzN75JTOY5z0IlMrNV8opBpX214roFoE3ByfJHKdIL77nCmGS-W1XHc989BUqa2HLEoajMIRzJkm4sCQ1hNUWK8/s725/tasks_0002.png" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="725" data-original-width="627" height="640" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhIjLoryZs47DFuL_y8_93jcJduPOaVaxlZ132A2Ga5T-U9N9UA30xLwzN75JTOY5z0IlMrNV8opBpX214roFoE3ByfJHKdIL77nCmGS-W1XHc989BUqa2HLEoajMIRzJkm4sCQ1hNUWK8/w554-h640/tasks_0002.png" width="554" /></a></div><div><span style="font-family: Cambria, serif;"><br /></span></div></span><p class="MsoNormal"><span face=""Arial Unicode MS",sans-serif" style="font-size: 10.5pt; line-height: 115%;">Aplicando esta técnica apenas as tarefas
necessárias do projeto em vigor serão obtidas, e assim será possível prosseguir
com as ações futuras de acordo com as necessidades de negócio.<o:p></o:p></span></p>
<p class="MsoNormal"><span face=""Arial Unicode MS",sans-serif" style="font-size: 10.5pt; line-height: 115%;">Espero que ajude e até a próxima </span><span face=""Segoe UI Emoji",sans-serif" style="font-size: 10.5pt; line-height: 115%; mso-ascii-font-family: "Arial Unicode MS"; mso-bidi-font-family: "Arial Unicode MS"; mso-char-type: symbol-ext; mso-fareast-font-family: "Arial Unicode MS"; mso-hansi-font-family: "Arial Unicode MS"; mso-symbol-font-family: "Segoe UI Emoji";">😉</span><span face=""Arial Unicode MS",sans-serif" style="font-size: 10.5pt; line-height: 115%;">.<o:p></o:p></span></p><span style="font-family: Cambria, serif;"><span style="font-size: 14.6667px;"><br /></span></span><span face=""Arial Unicode MS",sans-serif" style="font-size: 10.5pt; line-height: 115%; mso-ansi-language: PT-BR; mso-bidi-language: AR-SA; mso-fareast-language: EN-US;"><br /></span></div>Raphael Santoshttp://www.blogger.com/profile/15872319796376300645noreply@blogger.com0tag:blogger.com,1999:blog-6645005980317067979.post-3966029821251949712021-04-02T20:40:00.003-03:002021-04-02T20:40:44.843-03:00Reimagine Project Management with Microsoft<p> </p><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgTBGp7_N9vXQ1turTZ1sAASEapj4XFqgndynuymYj758x3NjbUwxm49_epoD_fro7NtP6hBgqxodyh4llhyphenhyphenxkuDy95xuvIqkHf8xfTm2hIxNZI6pgNeskIRtMJ94LsUJMT-Jv0a9kixu0/s640/banner.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="170" data-original-width="640" height="170" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgTBGp7_N9vXQ1turTZ1sAASEapj4XFqgndynuymYj758x3NjbUwxm49_epoD_fro7NtP6hBgqxodyh4llhyphenhyphenxkuDy95xuvIqkHf8xfTm2hIxNZI6pgNeskIRtMJ94LsUJMT-Jv0a9kixu0/w640-h170/banner.png" width="640" /></a></div><br /><p></p><p class="MsoNormal"><span style="font-family: "Arial Unicode MS",sans-serif; font-size: 10.5pt; line-height: 115%;">Olá pessoal –<o:p></o:p></span></p><p class="MsoNormal"><span style="font-family: "Arial Unicode MS",sans-serif; font-size: 10.5pt; line-height: 115%;">Passando hoje rapidamente para falar sobre um
evento virtual muito importante para a turma que está pensando em adotar o
Project for the web (ou para aqueles que já estão em processo de adoção). Nesse
mês de Março/2021 a Microsoft disponibilizou as palestras que foram gravadas durante
o evento <b>Reimagine Project Management with Microsoft</b>, um evento
realizado pelo time de produto e engenheiros que trabalham ativamente no
desenvolvimento do Project for the web, discutindo as funcionalidades, recursos
e roadmap dessa importante plataforma de gerenciamento de projetos.<o:p></o:p></span></p><p class="MsoNormal"><span style="font-family: "Arial Unicode MS",sans-serif; font-size: 10.5pt; line-height: 115%;">A inscrição para o evento é gratuita e pode ser
feita no link abaixo:<o:p></o:p></span></p><p class="MsoNormal"><span style="font-family: "Arial Unicode MS",sans-serif; font-size: 10.5pt; line-height: 115%;"><a href="https://events1.social27.com/reimagine-projectmanagement/page/pre-signup" target="_blank">https://events1.social27.com/reimagine-projectmanagement/page/pre-signup</a>
<o:p></o:p></span></p><p>
<span style="font-family: "Arial Unicode MS",sans-serif; font-size: 10.5pt; line-height: 115%; mso-ansi-language: PT-BR; mso-bidi-language: AR-SA; mso-fareast-language: EN-US;">Só
pra vocês terem uma ideia da montanha de conteúdo disponível:</span></p><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgQ29ZmM30estDbmruQhD5rseKqfoJ6tquqUOqcFLJnwV4IeYoWvsQ621JX9Lw6wWINy7OgdDReXsjVR05Ze8bLXn_Jl1I9po1IpOCD-8GuOnzpPBv4WOBGgAi9_lmnADykEm5rOD4PuJo/s946/event_0001.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="946" data-original-width="812" height="640" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgQ29ZmM30estDbmruQhD5rseKqfoJ6tquqUOqcFLJnwV4IeYoWvsQ621JX9Lw6wWINy7OgdDReXsjVR05Ze8bLXn_Jl1I9po1IpOCD-8GuOnzpPBv4WOBGgAi9_lmnADykEm5rOD4PuJo/w550-h640/event_0001.png" width="550" /></a></div><br /><p><span style="font-family: "Arial Unicode MS",sans-serif; font-size: 10.5pt; line-height: 115%; mso-ansi-language: PT-BR; mso-bidi-language: AR-SA; mso-fareast-language: EN-US;">Agora é bloquear a agenda e dar no play </span><b><span style="font-family: "Segoe UI Emoji", sans-serif; font-size: 10.5pt; font-variant-caps: small-caps; font-variant-east-asian: normal; font-variant-numeric: normal; line-height: 115%;">📺</span></b></p><p><b><span style="font-family: "Segoe UI Emoji", sans-serif; font-size: 10.5pt; font-variant-caps: small-caps; font-variant-east-asian: normal; font-variant-numeric: normal; line-height: 115%;"><br /></span></b></p>Raphael Santoshttp://www.blogger.com/profile/15872319796376300645noreply@blogger.com0