<?xml version='1.0' encoding='UTF-8'?><?xml-stylesheet href="http://www.blogger.com/styles/atom.css" type="text/css"?><feed xmlns='http://www.w3.org/2005/Atom' xmlns:openSearch='http://a9.com/-/spec/opensearchrss/1.0/' xmlns:blogger='http://schemas.google.com/blogger/2008' xmlns:georss='http://www.georss.org/georss' xmlns:gd="http://schemas.google.com/g/2005" xmlns:thr='http://purl.org/syndication/thread/1.0'><id>tag:blogger.com,1999:blog-6956220039993174035</id><updated>2026-10-21T06:40:40.425-07:00</updated><category term="AX"/><category term="Francisco"/><category term="Silva"/><category term="Francisco Silva"/><category term="dynamics"/><category term="2012"/><category term="R2"/><category term="R3"/><category term="D365F&amp;O"/><category term="AX2012 R2"/><category term="Microsoft"/><category term="AX2012"/><category term="2009"/><category term="AX2009"/><category term="D365"/><category term="D365FO"/><category term="Update"/><category term="KB"/><category term="Reports"/><category term="SQL"/><category term="Dynamics AX2012"/><category term="Performance"/><category term="VM"/><category term="Configuração"/><category term="Cumulative"/><category term="Dynamics AX"/><category term="Server"/><category term="Upgrade"/><category term="CRM"/><category term="NF-e"/><category term="cu"/><category term="Dynamics AX2009"/><category term="MVP"/><category term="nfe"/><category term="sped"/><category term="7"/><category term="DevOps"/><category term="Erro"/><category term="Git"/><category term="Instalação"/><category term="KB2625455 Softteam softteam 11.0.8 FBI"/><category term="LCS"/><category term="Microsoft SQL Server 2012"/><category term="Restore"/><category term="Workflow"/><category term="error"/><category term="sped pis cofins softteam dynamics ax2009"/><category term="CU8"/><category term="Client"/><category term="EP"/><category term="bacpac"/><category term="cu9"/><category term="data"/><category term="10"/><category term="365"/><category term="AOS"/><category term="Certificação"/><category term="Demo"/><category term="Desempenho"/><category term="Enterprise Portal"/><category term="Francisco Bento"/><category term="Francisco Bento Da Silva Junior"/><category term="Fransico Silva"/><category term="Permissões"/><category term="Portal"/><category term="Services"/><category term="Sharepoint"/><category term="Windows"/><category term="database"/><category term="hotfix"/><category term="security"/><category term="11"/><category term="2011"/><category term="4.0"/><category term="8"/><category term="Build"/><category term="CU7"/><category term="DIEF"/><category term="Dev"/><category term="Dynamics AX2012 Lançamento Dynamics AX2012"/><category term="Help Server"/><category term="Importar"/><category term="Instalando"/><category term="PPAC"/><category term="Power"/><category term="Project"/><category term="RTM"/><category term="Report"/><category term="Reporting Services"/><category term="SSRS"/><category term="Sizing"/><category term="VS2022"/><category term="Version"/><category term="failed"/><category term="softteam 11.0.9"/><category term="suporte"/><category term="10.0.43"/><category term="10.0.48"/><category term="11.0.8"/><category term="2.0"/><category term="2014"/><category term="2015"/><category term="2016"/><category term="9"/><category term="Atualização"/><category term="BI"/><category term="CD"/><category term="CI"/><category term="CU6"/><category term="Cicle"/><category term="Crash"/><category term="DAX2012"/><category term="DMF"/><category term="Developer"/><category term="Diagnostic"/><category term="Download"/><category term="Enterprise"/><category term="Exception"/><category term="Extensions"/><category term="Faulting application ax32.exe"/><category term="Fiscal"/><category term="Fiscal Books"/><category term="Framework"/><category term="Life"/><category term="MROneBox"/><category term="Management"/><category term="NF"/><category term="NT"/><category term="Repos"/><category term="Role Center"/><category term="SQL 2008"/><category term="SQL 2008 R2"/><category term="Softteam"/><category term="Studio"/><category term="Tips"/><category term="Top 100"/><category term="UDE"/><category term="VHD"/><category term="Windows 8"/><category term="add-in"/><category term="backup"/><category term="cofins"/><category term="debugger"/><category term="deploy"/><category term="email"/><category term="excel"/><category term="help"/><category term="integration"/><category term="layout"/><category term="model"/><category term="new"/><category term="not"/><category term="pis"/><category term="query"/><category term="release"/><category term="service"/><category term="time"/><category term="003"/><category term="08"/><category term="10.0.40"/><category term="2013"/><category term="2022"/><category term="3.10"/><category term="4"/><category term="6"/><category term="AI"/><category term="AX2012R2"/><category term="Administration"/><category term="Agents"/><category term="App Registration"/><category term="Automate"/><category term="Award"/><category term="Azcopy"/><category term="Azure"/><category term="Banco"/><category term="Brasil"/><category term="Business Intelligence"/><category term="CU1"/><category term="Client AX2009"/><category term="Configurar"/><category term="Could"/><category term="Cubos"/><category term="Desktop"/><category term="Dicas"/><category term="Dynamcis AX2009"/><category term="Dynamics AX2009 AX 2009 AX2012 AX 2012"/><category term="Dynamics AX2012 Benchmark"/><category term="FBI"/><category term="FinOps"/><category term="GP"/><category term="GlobalUpdate"/><category term="Guide"/><category term="Hyper-V"/><category term="Infraestrutura"/><category term="Install"/><category term="Internet Explorer 10"/><category term="Junior"/><category term="KPI"/><category term="License"/><category term="Livros Fiscais"/><category term="Machine"/><category term="NAV"/><category term="NLB"/><category term="Notes"/><category term="Office 2013"/><category term="Organização"/><category term="Perf"/><category term="Pipeline"/><category term="Plan"/><category term="Planning"/><category term="Platform"/><category term="Premio"/><category term="RPA"/><category term="RSAT"/><category term="RU"/><category term="RU8"/><category term="Relatorios"/><category term="Relatórios"/><category term="Reporting"/><category term="SEFAZ"/><category term="SP1"/><category term="SP2"/><category term="SQL 2012 SP1"/><category term="SQL Server"/><category term="SQL Server 2008"/><category term="SQLPackage"/><category term="Setup"/><category term="Slipstreaming"/><category term="Tool"/><category term="Toolkit"/><category term="URL"/><category term="Unified"/><category term="V4"/><category term="Virtual"/><category term="Visual"/><category term="Visual Studio"/><category term="WCF"/><category term="White"/><category term="alta"/><category term="assembly"/><category term="buffer"/><category term="cannot"/><category term="certificado"/><category term="certificação dynamics ax2012"/><category term="cluster"/><category term="code"/><category term="compilação"/><category term="configuration"/><category term="connection"/><category term="dados"/><category term="development"/><category term="dica"/><category term="disponibilidade"/><category term="endpoint"/><category term="experience"/><category term="export"/><category term="exportar"/><category term="has"/><category term="import"/><category term="importação"/><category term="instalar"/><category term="internal"/><category term="launch"/><category term="lento"/><category term="licença"/><category term="livro"/><category term="logon"/><category term="nota"/><category term="online"/><category term="operations"/><category term="paper"/><category term="permissions"/><category term="problema"/><category term="pré requisitos"/><category term="remote"/><category term="remove"/><category term="required"/><category term="requisito"/><category term="security roles"/><category term="sorteio"/><category term="support"/><category term="syshotfixmanifest"/><category term="system"/><category term="tunning"/><category term="utility"/><category term="webinar"/><category term="xktools"/><category term="zone"/><category term="%d"/><category term="&#39;AXSITEDEF#0&#39;"/><category term="&#39;dbo.DAX_SP_ReadSyncParameters&#39;."/><category term=".NET"/><category term=".bacpac"/><category term=".mdf"/><category term="002"/><category term="06"/><category term="09"/><category term="0x000007ff05bbdac7"/><category term="0x50a65c76"/><category term="0xc000000e"/><category term="1.2"/><category term="10.0.31"/><category term="10.0.39"/><category term="10.0.41"/><category term="10.0.42"/><category term="10.0.46"/><category term="10.0.47"/><category term="10.0.49"/><category term="11.0.6"/><category term="12"/><category term="13"/><category term="18456"/><category term="2004"/><category term="2008"/><category term="2015-002"/><category term="2015-003"/><category term="2019.001"/><category term="2147945104"/><category term="2712"/><category term="2859549"/><category term="2899956"/><category term="3.0"/><category term="3.1"/><category term="3000301"/><category term="3001136"/><category term="3008"/><category term="3135629"/><category term="3335"/><category term="378213"/><category term="38"/><category term="4.5"/><category term="4.6"/><category term="4013819"/><category term="4086133"/><category term="409"/><category term="5.0"/><category term="500.21"/><category term="6.0"/><category term="8101"/><category term="8201"/><category term="9481"/><category term="@SYS"/><category term="A call to the Microsoft Dynamics AX SRSFrameworkService service failed"/><category term="AD"/><category term="AIF"/><category term="ALTER ANY CONNECTION"/><category term="AUC"/><category term="AX 7"/><category term="AX2012 R2; Management Utilities"/><category term="AX2012; licenças; francisco silva"/><category term="AX32.exe"/><category term="AX7"/><category term="AXADOMD"/><category term="AXSITEDEF#0"/><category term="Accounting"/><category term="Administração"/><category term="Agent"/><category term="An"/><category term="An error occurred during setup of Reporting Services extensions"/><category term="Analizer"/><category term="Analyzer"/><category term="Application"/><category term="Assessment"/><category term="Authorization"/><category term="AutoDrop. bacpac"/><category term="AxDB"/><category term="AxERD"/><category term="Axapta"/><category term="BLOCK"/><category term="Benchmark"/><category term="Bento"/><category term="Books"/><category term="Break"/><category term="Browser"/><category term="CDO.Message error"/><category term="CHE"/><category term="CIL"/><category term="CLR20r3"/><category term="CSV"/><category term="CU10"/><category term="CU11"/><category term="CU15"/><category term="CU4"/><category term="CU5"/><category term="Chamado"/><category term="Class"/><category term="Cloud"/><category term="Conferece"/><category term="Connect"/><category term="Controlascx"/><category term="Convertion"/><category term="CookBook"/><category term="Copilot"/><category term="Coputer"/><category term="Copy"/><category term="Cortana"/><category term="Could not load type"/><category term="CryptoAPI not available"/><category term="CryptoAPI não disponivel"/><category term="Cube"/><category term="Cubes"/><category term="Cubo"/><category term="Cumulative Update 01"/><category term="Cumulative Update 06"/><category term="D365&#xa;F&amp;O&#xa;Workflow&#xa;Application"/><category term="DAX"/><category term="DB"/><category term="DIXF"/><category term="DIXFService"/><category term="DVT"/><category term="DevOp"/><category term="Developer Tools"/><category term="Direction"/><category term="Duty"/><category term="Dynamcis"/><category term="Dynamics AX Migration"/><category term="Dynamics AX4.0"/><category term="Dynperf"/><category term="E-Books"/><category term="ECD"/><category term="ECF"/><category term="EFD"/><category term="Enterprise Portal; Sharepoint 2013; AX2012 R2; Francisco Silva"/><category term="Enterprise Search"/><category term="Environments"/><category term="Europa"/><category term="Exchange"/><category term="Explorer"/><category term="Farm"/><category term="Feature"/><category term="Federal"/><category term="Finance"/><category term="Financial"/><category term="Fiscais"/><category term="Flag"/><category term="Fluxo"/><category term="Fontes"/><category term="Fonts"/><category term="Forms"/><category term="Francosco"/><category term="FullyQualifiedErrorId"/><category term="Get-AXModel"/><category term="Gold"/><category term="Governance"/><category term="Graph"/><category term="Guideline"/><category term="HTTP"/><category term="HTTPS"/><category term="Handler"/><category term="Header"/><category term="IA"/><category term="ID"/><category term="IE11"/><category term="IIS"/><category term="IPD"/><category term="Identificar"/><category term="In-App"/><category term="Influencia"/><category term="Influentes"/><category term="Info"/><category term="Inside"/><category term="Instalation"/><category term="Instalaçao"/><category term="Internet"/><category term="KB2677619"/><category term="KB2807685"/><category term="KB2828929"/><category term="KB2839298"/><category term="KB2852728"/><category term="LOGISTICADDRESSCOUNTRYREGION"/><category term="Learning"/><category term="LedgerJournalTrans"/><category term="Licence"/><category term="Licensing"/><category term="Licenças"/><category term="Life Cicle Services"/><category term="Link"/><category term="LinkedIn"/><category term="Livros"/><category term="Local"/><category term="Localization"/><category term="MAP"/><category term="MOF"/><category term="MSMQ"/><category term="Marcel"/><category term="Master"/><category term="Matdata"/><category term="Matiazo"/><category term="Maximum"/><category term="McAfee"/><category term="Memória"/><category term="Metadata"/><category term="Microsoft Enterprise Portal"/><category term="Microsoft.Office.Server.UserProfiles"/><category term="Migrando Dynamics AX"/><category term="Migration"/><category term="NFw"/><category term="NT2016"/><category term="NT2017"/><category term="Navision"/><category term="NetTcpBinding_SysWorkflowConfigurationService"/><category term="Nome"/><category term="Not Found"/><category term="Nuget"/><category term="Office"/><category term="Optimization"/><category term="Out or memory or disk space"/><category term="OutOfMemory"/><category term="Output"/><category term="PDF"/><category term="PE"/><category term="PIM"/><category term="POPULATEROLEPRIVILEGELICENSEMAPV2"/><category term="PRECAUTION"/><category term="PU"/><category term="PU74"/><category term="Pack"/><category term="Pagamento"/><category term="Payment"/><category term="Pichler"/><category term="Plano"/><category term="Podcast"/><category term="Pool"/><category term="Power Shell; AXUtilLib.dll"/><category term="Powershell"/><category term="Private"/><category term="Problem"/><category term="Product"/><category term="Project Server"/><category term="Projetos"/><category term="PublicKeyToken=b77a5c561934e089"/><category term="QU"/><category term="R"/><category term="RDL"/><category term="RDP"/><category term="RU7"/><category term="Redmond"/><category term="Refresh"/><category term="Renew"/><category term="Reporter"/><category term="Requirements"/><category term="Resuisitos"/><category term="Retail"/><category term="RetailServer"/><category term="SCM"/><category term="SEHException"/><category term="SOAP"/><category term="SOD"/><category term="SQL Server 2012"/><category term="SRSQueryBuilder\initialize"/><category term="SRSReportServerWarmup"/><category term="SRSServers"/><category term="SSL/TLS"/><category term="Send"/><category term="Service Update"/><category term="ServiceModel"/><category term="ServicesPipeTimeout"/><category term="Session log failed"/><category term="Shell"/><category term="Solution"/><category term="Space"/><category term="Stack"/><category term="Statement"/><category term="Step"/><category term="Storage"/><category term="System Center"/><category term="TBLF_I200_TMP"/><category term="TFVC"/><category term="TMG"/><category term="Table"/><category term="Team"/><category term="Tenant"/><category term="Test"/><category term="The New Dynamics AX"/><category term="The deployment was aborted"/><category term="The reporting server is not set up correctly"/><category term="Timeout"/><category term="Trace"/><category term="Trace Parser"/><category term="Training"/><category term="Transfer"/><category term="Tuning"/><category term="UnO"/><category term="Updates"/><category term="Use"/><category term="VS"/><category term="VS2026"/><category term="Version=3.0.0.0"/><category term="Video"/><category term="Virtual Machine"/><category term="Visual Studio Tools"/><category term="WSDL"/><category term="Washington"/><category term="Windows Phone"/><category term="Windows Server"/><category term="Windows11"/><category term="Word"/><category term="World"/><category term="You do not have privileges to deploy to server"/><category term="academia"/><category term="accelerator"/><category term="access"/><category term="acesso"/><category term="alertas"/><category term="alter"/><category term="alto"/><category term="analise"/><category term="and"/><category term="anonymous"/><category term="another"/><category term="any"/><category term="appropriate"/><category term="approvals"/><category term="aprovações"/><category term="arithmetic"/><category term="autenticação"/><category term="axutil"/><category term="bacpac."/><category term="bad"/><category term="bancos"/><category term="barra"/><category term="barras"/><category term="based"/><category term="boas"/><category term="book"/><category term="boot"/><category term="botão"/><category term="cUF"/><category term="call"/><category term="camada"/><category term="certificate"/><category term="certificatename"/><category term="certification"/><category term="checklist"/><category term="cleanup"/><category term="codigo"/><category term="command"/><category term="compativel"/><category term="config"/><category term="connectioncontext"/><category term="consumo"/><category term="contadores"/><category term="contains"/><category term="contatar"/><category term="corrida"/><category term="corridas"/><category term="counters"/><category term="create"/><category term="customizations"/><category term="d365fo.tools"/><category term="dacfx"/><category term="danfe"/><category term="denied"/><category term="desapareceu"/><category term="desenvolvimento"/><category term="despesas"/><category term="device"/><category term="digital"/><category term="direito"/><category term="direta"/><category term="does"/><category term="domain"/><category term="duties"/><category term="dynamis"/><category term="e-mail"/><category term="eliminar"/><category term="end"/><category term="errors"/><category term="erros"/><category term="escalabilidade"/><category term="esquadrão"/><category term="estilo"/><category term="event"/><category term="evento"/><category term="excede"/><category term="exibido"/><category term="exist"/><category term="expenses"/><category term="falha"/><category term="fault"/><category term="favoritos"/><category term="fconti"/><category term="file"/><category term="financeiro"/><category term="find"/><category term="fo"/><category term="folha de ponto"/><category term="form"/><category term="formulário"/><category term="found"/><category term="foundation"/><category term="fsilvajr"/><category term="gacutil"/><category term="game"/><category term="gates"/><category term="generator"/><category term="generico"/><category term="grupos de usuários"/><category term="hang"/><category term="hora"/><category term="how to"/><category term="ideal"/><category term="implementação"/><category term="impressao"/><category term="info.startup"/><category term="initialization"/><category term="insider"/><category term="instancia"/><category term="instrução"/><category term="integração"/><category term="interopservices"/><category term="invalid"/><category term="issue"/><category term="joins"/><category term="junções"/><category term="kernel"/><category term="kill"/><category term="lançamento"/><category term="layer"/><category term="leak"/><category term="lifecycle"/><category term="line"/><category term="localização"/><category term="log"/><category term="login"/><category term="long"/><category term="managedpipelinehandler"/><category term="manager"/><category term="maximo"/><category term="memoria"/><category term="memory"/><category term="menu"/><category term="minimo"/><category term="module"/><category term="modulo"/><category term="mouse"/><category term="newer"/><category term="nfeCabecMsg"/><category term="night"/><category term="no"/><category term="notepad++"/><category term="novo"/><category term="number"/><category term="object"/><category term="oculto"/><category term="ocurred"/><category term="offset"/><category term="operation"/><category term="opções"/><category term="overflow"/><category term="overview"/><category term="package"/><category term="packt"/><category term="parentkey"/><category term="patching"/><category term="permission"/><category term="portion"/><category term="postman"/><category term="power pivot"/><category term="preview"/><category term="privilegies"/><category term="proccess cicles"/><category term="progresso"/><category term="práticas"/><category term="reduzir"/><category term="reference"/><category term="registering"/><category term="reindex"/><category term="rejection"/><category term="rejeição"/><category term="releases"/><category term="remover"/><category term="resolved"/><category term="resulted"/><category term="roles"/><category term="rua"/><category term="run"/><category term="running"/><category term="runtime"/><category term="save"/><category term="saúde"/><category term="script"/><category term="securitykey"/><category term="semaphore"/><category term="servidor"/><category term="serviço"/><category term="session"/><category term="sessão"/><category term="share"/><category term="short"/><category term="size"/><category term="slipstreamed"/><category term="slow"/><category term="srsframweorkservice"/><category term="stamp"/><category term="stopped"/><category term="stored procedure"/><category term="string"/><category term="sumiu"/><category term="summit"/><category term="syschecklist"/><category term="tables"/><category term="tamanho"/><category term="task"/><category term="tecnica"/><category term="the"/><category term="thumbprint"/><category term="timesheets"/><category term="token"/><category term="too"/><category term="tools"/><category term="trade"/><category term="trail"/><category term="treinamento"/><category term="troubleshooting"/><category term="unabla"/><category term="underlying"/><category term="unify"/><category term="uninstal"/><category term="unspecified"/><category term="user"/><category term="users"/><category term="v2"/><category term="valid"/><category term="validar"/><category term="validação"/><category term="vida"/><category term="wWinMainCRTStartup"/><category term="was"/><category term="web"/><category term="web.config"/><category term="webcast"/><category term="webnar"/><category term="wif"/><category term="wif.config"/><category term="working"/><title type='text'>Francisco Silva Jr. - Microsoft Dynamics</title><subtitle type='html'>Dynamics AX. Artigos Tecnicos. Tecnologia.&#xa;&#xa;Francisco Silva</subtitle><link rel='http://schemas.google.com/g/2005#feed' type='application/atom+xml' href='http://fsilvajunior.blogspot.com/feeds/posts/default'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6956220039993174035/posts/default?redirect=false'/><link rel='alternate' type='text/html' href='http://fsilvajunior.blogspot.com/'/><link rel='hub' href='http://pubsubhubbub.appspot.com/'/><link rel='next' type='application/atom+xml' href='http://www.blogger.com/feeds/6956220039993174035/posts/default?start-index=26&amp;max-results=25&amp;redirect=false'/><author><name>Anonymous</name><uri>http://www.blogger.com/profile/03988163001275903183</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><generator version='7.00' uri='http://www.blogger.com'>Blogger</generator><openSearch:totalResults>471</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>25</openSearch:itemsPerPage><entry><id>tag:blogger.com,1999:blog-6956220039993174035.post-8581264095987296026</id><published>2026-10-21T06:40:40.424-07:00</published><updated>2026-10-21T06:40:40.425-07:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="add-in"/><category scheme="http://www.blogger.com/atom/ns#" term="D365F&amp;O"/><category scheme="http://www.blogger.com/atom/ns#" term="database"/><category scheme="http://www.blogger.com/atom/ns#" term="Master"/><category scheme="http://www.blogger.com/atom/ns#" term="Planning"/><category scheme="http://www.blogger.com/atom/ns#" term="PPAC"/><category scheme="http://www.blogger.com/atom/ns#" term="Refresh"/><category scheme="http://www.blogger.com/atom/ns#" term="SCM"/><title type='text'>D365F&amp;O PPAC e o Planning Optimization Add-in for Dynamics 365 SCM</title><content type='html'>&lt;p&gt;&amp;nbsp;Aos que já utilizam o F&amp;amp;O via PPAC e também o Planning Optimization...&lt;/p&gt;&lt;p&gt;Após mover o banco de dados de um ambiente para outro, esse recurso não é reconfigurado automaticamente. Verificando nas configurações do Master Planning no F&amp;amp;O, você verá o status &quot;Not Connected&quot;:&lt;/p&gt;&lt;p&gt;&lt;/p&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhEr3weF0ZiWe90lyafS8YkkohXjSdvwEcbqqSwSQc4Cf5kUQnde1onkYwYq-iOSpTpJEyJM9TJofDSkjrn3p11XRLt9HvqnOThTyMvgqWXBk9hom53ggUjVFqRCJGqUqp5SyK0DCVBySQBpk2zjMaK6IKQo_NRiBez9e0WhjhAqQlNHkIkJJKugWuMA2Qy/s1600/image.png&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img alt=&quot;&quot; data-original-height=&quot;543&quot; data-original-width=&quot;1064&quot; height=&quot;163&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhEr3weF0ZiWe90lyafS8YkkohXjSdvwEcbqqSwSQc4Cf5kUQnde1onkYwYq-iOSpTpJEyJM9TJofDSkjrn3p11XRLt9HvqnOThTyMvgqWXBk9hom53ggUjVFqRCJGqUqp5SyK0DCVBySQBpk2zjMaK6IKQo_NRiBez9e0WhjhAqQlNHkIkJJKugWuMA2Qy/s1600/image.png&quot; width=&quot;320&quot; /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;Com este status, o job não será executado.&lt;p&gt;&lt;/p&gt;&lt;p&gt;Tive que abrir um chamado na Microsoft para solicitar a reinstalação do Add-in, já que, como sabemos, não temos como removê-lo pelo PPAC.&lt;/p&gt;&lt;p&gt;A resposta foi rápida e até simples. Eu realmente não pensei nesta possibilidade em momento algum!&lt;/p&gt;&lt;p&gt;A solução é ir ao make.powerapps.com, selecionar o seu ambiente e remover a solution de nome &quot;&lt;span style=&quot;font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 12pt;&quot;&gt;master planning anchor&quot;:&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style=&quot;font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 12pt;&quot;&gt;&lt;/span&gt;&lt;/p&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh9lyQXxeD2kWSRjmHS4lrjM3k58s7mnr71hXwDTENdBIGFl9p3ViTZGKbbM3TKR-UZ-G_3MZpFqQwstv-8L7DG0Ik2-Bd2OFI7rfiZw4mfadAzpvWga8t1I0-hSFrtFctMOS4lfqQ1ui3WBExwAS0QkOC_afQ8aFQZhWSa8Qrk3d-mFVyY6g4LvdlE2NWw/s1600/image.png&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img alt=&quot;&quot; data-original-height=&quot;730&quot; data-original-width=&quot;1626&quot; height=&quot;144&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh9lyQXxeD2kWSRjmHS4lrjM3k58s7mnr71hXwDTENdBIGFl9p3ViTZGKbbM3TKR-UZ-G_3MZpFqQwstv-8L7DG0Ik2-Bd2OFI7rfiZw4mfadAzpvWga8t1I0-hSFrtFctMOS4lfqQ1ui3WBExwAS0QkOC_afQ8aFQZhWSa8Qrk3d-mFVyY6g4LvdlE2NWw/s1600/image.png&quot; width=&quot;320&quot; /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: left;&quot;&gt;Depois de removê-la do make.powerapps.com, volte ao PPAC e instale o Add-in novamente em seu ambiente:&lt;/div&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: left;&quot;&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj2uj7ZIsFQAVb6ck12SXtV9nofUGyUVEBhDJT4vEra6ZCysTYB6aG1AhpfEKqJjG9IVwJQgaOLsUa-EclblipOzsTh_TbNHhCp30ylgdm3nRzQ7ZBLI6RVXTAiYaXBQ5o2m2rEYj_t_ZfRnqK_JYEuf4zx3xip2AgwxCRSsuwkE1HTLWWootkKekJSmC2O/s1600/image.png&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img alt=&quot;&quot; data-original-height=&quot;859&quot; data-original-width=&quot;1367&quot; height=&quot;201&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj2uj7ZIsFQAVb6ck12SXtV9nofUGyUVEBhDJT4vEra6ZCysTYB6aG1AhpfEKqJjG9IVwJQgaOLsUa-EclblipOzsTh_TbNHhCp30ylgdm3nRzQ7ZBLI6RVXTAiYaXBQ5o2m2rEYj_t_ZfRnqK_JYEuf4zx3xip2AgwxCRSsuwkE1HTLWWootkKekJSmC2O/s1600/image.png&quot; width=&quot;320&quot; /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;Agora o status no F&amp;amp;O muda para connected:&lt;p&gt;&lt;/p&gt;&lt;p&gt;&lt;span style=&quot;font-family: &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 12pt;&quot;&gt;&lt;/span&gt;&lt;/p&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiCIaYgY4VpsUv6oeUFRbreHGrNr_45H_Na8D_wX45Hcx_OTBTEpAT0HMfxaDDVm37lc9TQGUR-1eZDkhWPMFO15XlpeRjGnm4LBZPwKYKbkHRZyzI6NFG77Prcj8nbfJEZU6PGyDUT1bfVfTZBmz_Ogg-v5dRyZjoR7IpGV03l5wu7ElK021_TIw_Zdt0X/s1600/image.png&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img alt=&quot;&quot; data-original-height=&quot;547&quot; data-original-width=&quot;943&quot; height=&quot;186&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiCIaYgY4VpsUv6oeUFRbreHGrNr_45H_Na8D_wX45Hcx_OTBTEpAT0HMfxaDDVm37lc9TQGUR-1eZDkhWPMFO15XlpeRjGnm4LBZPwKYKbkHRZyzI6NFG77Prcj8nbfJEZU6PGyDUT1bfVfTZBmz_Ogg-v5dRyZjoR7IpGV03l5wu7ElK021_TIw_Zdt0X/s1600/image.png&quot; width=&quot;320&quot; /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: left;&quot;&gt;Tudo pronto para testar os trabalhos em lote do seu Master Plan!&lt;/div&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: left;&quot;&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: left;&quot;&gt;A documentação disponibilizada não especifica que podemos desinstalar um add-in. Eu não sabia disso, aprendi hoje!&amp;nbsp;&lt;/div&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: left;&quot;&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: left;&quot;&gt;A fonte oficial foi o chamado na Microsoft!&lt;/div&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: left;&quot;&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: left;&quot;&gt;O link fornecido por eles é este:&amp;nbsp;&lt;/div&gt;&lt;br /&gt;&lt;a href=&quot;https://learn.microsoft.com/en-us/dynamics365/supply-chain/master-planning/planning-optimization/planning-optimization-trouble-shooting#cause-2-connection-lost-after-a-database-refresh&quot; target=&quot;_blank&quot;&gt;Cause 2: Connection lost after a database refresh&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;p&gt;&lt;/p&gt;&lt;!--StartFragment--&gt;&lt;!--EndFragment--&gt;&lt;div&gt;A solução apresentada acima foi enviada por e-mail. Não consta no link da Microsoft.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&quot;Em primeira mão é só aqui, oh páh!&quot;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://fsilvajunior.blogspot.com/feeds/8581264095987296026/comments/default' title='Postar comentários'/><link rel='replies' type='text/html' href='http://fsilvajunior.blogspot.com/2026/10/d365f-ppac-e-o-planning-optimization.html#comment-form' title='0 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6956220039993174035/posts/default/8581264095987296026'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6956220039993174035/posts/default/8581264095987296026'/><link rel='alternate' type='text/html' href='http://fsilvajunior.blogspot.com/2026/10/d365f-ppac-e-o-planning-optimization.html' title='D365F&amp;O PPAC e o Planning Optimization Add-in for Dynamics 365 SCM'/><author><name>Francisco Silva Jr.</name><uri>http://www.blogger.com/profile/15240847900054947078</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhEr3weF0ZiWe90lyafS8YkkohXjSdvwEcbqqSwSQc4Cf5kUQnde1onkYwYq-iOSpTpJEyJM9TJofDSkjrn3p11XRLt9HvqnOThTyMvgqWXBk9hom53ggUjVFqRCJGqUqp5SyK0DCVBySQBpk2zjMaK6IKQo_NRiBez9e0WhjhAqQlNHkIkJJKugWuMA2Qy/s72-c/image.png" height="72" width="72"/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6956220039993174035.post-4256170631088180927</id><published>2026-10-14T01:03:25.414-07:00</published><updated>2026-10-14T01:03:25.414-07:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="D365F&amp;O"/><category scheme="http://www.blogger.com/atom/ns#" term="data"/><category scheme="http://www.blogger.com/atom/ns#" term="Management"/><category scheme="http://www.blogger.com/atom/ns#" term="PPAC"/><category scheme="http://www.blogger.com/atom/ns#" term="Space"/><category scheme="http://www.blogger.com/atom/ns#" term="Storage"/><title type='text'>Taming D365 F&amp;O Storage: Finding Files in the Database and Cleaning Them Up</title><content type='html'>&lt;p&gt;Most Dynamics 365 Finance and Operations environments store far more
files than anyone planned for. Some stay under a few GB; others pass 500
GB or even 1 TB of file and database consumption. This post gathers, in
one place, how to find out where those files live, how to clean them up
with standard and custom routines, and how to move them out of the
expensive storage tiers.&lt;/p&gt;
&lt;h2 id=&quot;why-this-matters-now&quot;&gt;Why this matters now&lt;/h2&gt;
&lt;p&gt;Storage capacity for finance and operations apps is reported and
enforced in the Power Platform admin center (PPAC). Each environment
shows two numbers under &lt;strong&gt;Resources &amp;gt; Capacity &amp;gt; Finance and
Operations&lt;/strong&gt;:&lt;/p&gt;
&lt;table&gt;
&lt;colgroup&gt;
&lt;col style=&quot;width: 50%;&quot;&gt;&lt;/col&gt;
&lt;col style=&quot;width: 50%;&quot;&gt;&lt;/col&gt;
&lt;/colgroup&gt;
&lt;thead&gt;
&lt;tr class=&quot;header&quot;&gt;
&lt;th&gt;Metric&lt;/th&gt;
&lt;th&gt;What it measures&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr class=&quot;odd&quot;&gt;
&lt;td&gt;Finance and operations database usage&lt;/td&gt;
&lt;td&gt;Size of the environment’s Azure SQL database, including large
container (BLOB) and memo fields&lt;/td&gt;
&lt;/tr&gt;
&lt;tr class=&quot;even&quot;&gt;
&lt;td&gt;Finance and operations file usage&lt;/td&gt;
&lt;td&gt;Files kept in the Microsoft-managed Azure Blob Storage behind the
environment (usually shown as &lt;code&gt;AXDB.File&lt;/code&gt;)&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;p&gt;Database capacity is the scarcer and more expensive of the two. A
file that sits inside a database table counts against it. The same file
in blob storage counts as file capacity, and the same file in SharePoint
or your own Azure Storage Account does not count against F&amp;amp;O
capacity at all.&lt;/p&gt;
&lt;p&gt;The database usage figure has a table-level drill-down in PPAC. That
drill-down is the single most useful starting point for everything
below.&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;Before you start.&lt;/strong&gt; Every environment is different:
version, localizations, ISV solutions, customizations, integrations and
legal retention rules all change the picture. Menu paths, table names
and field values in this post reflect what I have seen and what
Microsoft documents at the time of writing. Items marked
&lt;strong&gt;Verify&lt;/strong&gt; are not confirmed for every version and must be
checked by the professional responsible for each customer, in a sandbox,
before anything is changed or deleted in production.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;h2 id=&quot;where-a-file-can-live-in-fo&quot;&gt;Where a file can live in
F&amp;amp;O&lt;/h2&gt;
&lt;table&gt;
&lt;colgroup&gt;
&lt;col style=&quot;width: 33%;&quot;&gt;&lt;/col&gt;
&lt;col style=&quot;width: 33%;&quot;&gt;&lt;/col&gt;
&lt;col style=&quot;width: 33%;&quot;&gt;&lt;/col&gt;
&lt;/colgroup&gt;
&lt;thead&gt;
&lt;tr class=&quot;header&quot;&gt;
&lt;th&gt;Location&lt;/th&gt;
&lt;th&gt;How it is stored&lt;/th&gt;
&lt;th&gt;Counts against&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr class=&quot;odd&quot;&gt;
&lt;td&gt;Database&lt;/td&gt;
&lt;td&gt;A container (BLOB) field in a table, for example
&lt;code&gt;DocuValue.File&lt;/code&gt; when a document type uses Location =
Database, or any standard or custom table with a binary field&lt;/td&gt;
&lt;td&gt;Database capacity&lt;/td&gt;
&lt;/tr&gt;
&lt;tr class=&quot;even&quot;&gt;
&lt;td&gt;Azure storage (Microsoft-managed blob)&lt;/td&gt;
&lt;td&gt;The file is in the environment’s blob storage; the database keeps
only a pointer (DocuRef/DocuValue)&lt;/td&gt;
&lt;td&gt;File capacity&lt;/td&gt;
&lt;/tr&gt;
&lt;tr class=&quot;odd&quot;&gt;
&lt;td&gt;SharePoint Online&lt;/td&gt;
&lt;td&gt;The file is in a SharePoint library; the database keeps only a
pointer&lt;/td&gt;
&lt;td&gt;SharePoint storage, outside F&amp;amp;O capacity&lt;/td&gt;
&lt;/tr&gt;
&lt;tr class=&quot;even&quot;&gt;
&lt;td&gt;Your own storage (custom)&lt;/td&gt;
&lt;td&gt;The file is in an Azure Storage Account or DMS you own, reached
through an integration; F&amp;amp;O keeps a URL or reference&lt;/td&gt;
&lt;td&gt;Your Azure or DMS subscription&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;p&gt;Two practical rules come out of this table:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;“Azure storage” in document management means the
&lt;strong&gt;Microsoft-managed&lt;/strong&gt; blob of the environment, not a
Storage Account in your subscription. As far as I know, F&amp;amp;O has no
standard option to point document management at your own Storage
Account. &lt;strong&gt;Verify&lt;/strong&gt; for the version you run.&lt;/li&gt;
&lt;li&gt;A large container field anywhere, standard or custom, is effectively
a file inside the database, even when document management is never
involved.&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id=&quot;part-1-finding-files-in-the-database&quot;&gt;Part 1 – Finding files in
the database&lt;/h2&gt;
&lt;p&gt;Work in a sandbox with a recent copy of production. You will need
System administrator access in F&amp;amp;O, PPAC access to the capacity
pages, and SQL access to the sandbox database (just-in-time access for
Tier-2+ sandboxes, direct access on development environments). Never run
heavy diagnostic queries against production.&lt;/p&gt;
&lt;p&gt;A good order of work:&lt;/p&gt;
&lt;ol type=&quot;1&quot;&gt;
&lt;li&gt;Export the PPAC table drill-down for database usage and note the 30
largest tables.&lt;/li&gt;
&lt;li&gt;Run the table-size query below in the sandbox and compare it with
PPAC.&lt;/li&gt;
&lt;li&gt;Go through the seven areas in this section.&lt;/li&gt;
&lt;li&gt;Record each finding (source, tables, MB, database or blob, proposed
action, owner).&lt;/li&gt;
&lt;/ol&gt;
&lt;h3 id=&quot;start-here-the-largest-tables-and-their-lob-space&quot;&gt;Start here:
the largest tables and their LOB space&lt;/h3&gt;
&lt;pre class=&quot;sql&quot;&gt;&lt;code&gt;SELECT TOP 50
       t.name AS table_name,
       SUM(CASE WHEN p.index_id IN (0,1) THEN p.rows ELSE 0 END) AS row_count,
       SUM(a.total_pages) * 8 / 1024.0 AS total_mb,
       SUM(CASE WHEN a.type = 2 THEN a.total_pages ELSE 0 END) * 8 / 1024.0 AS lob_mb
FROM sys.tables t
JOIN sys.partitions p ON p.object_id = t.object_id
JOIN sys.allocation_units a ON a.container_id = p.partition_id
GROUP BY t.name
ORDER BY total_mb DESC;&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;&lt;code&gt;lob_mb&lt;/code&gt; (LOB_DATA allocation units) is the space used by
large fields: containers, memos and XML. A table with a high
&lt;code&gt;lob_mb&lt;/code&gt; is a strong candidate for “files hidden in the
database”. Sandbox numbers can differ slightly from PPAC because of
indexes and compression; use PPAC as the official figure and SQL to find
the cause.&lt;/p&gt;
&lt;h3 id=&quot;document-management-attachments&quot;&gt;1. Document management
(attachments)&lt;/h3&gt;
&lt;p&gt;This is the most common source, especially in environments upgraded
from AX 2012, where old attachments may arrive with their binary still
inside &lt;code&gt;DocuValue&lt;/code&gt;.&lt;/p&gt;
&lt;p&gt;In F&amp;amp;O:&lt;/p&gt;
&lt;ol type=&quot;1&quot;&gt;
&lt;li&gt;&lt;strong&gt;Organization administration &amp;gt; Document management &amp;gt;
Document types&lt;/strong&gt;: for each type note Class (Attach file, Attach
URL, Simple note), Group and &lt;strong&gt;Location&lt;/strong&gt;. Any type with
Class = Attach file and Location = Database sends files into the
database.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Document management parameters&lt;/strong&gt;: check the allowed
file types, any file size limit, and the SharePoint tab.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Active document tables&lt;/strong&gt;: which tables users can
attach to.&lt;/li&gt;
&lt;li&gt;Check the document types other features use: Electronic reporting
parameters, print archive, vendor invoice automation, ISV solutions and
custom integrations.&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;Key tables: &lt;strong&gt;DocuType&lt;/strong&gt; (types and location),
&lt;strong&gt;DocuRef&lt;/strong&gt; (link to the business record: RefTableId,
RefRecId, TypeId, ValueRecId) and &lt;strong&gt;DocuValue&lt;/strong&gt; (file name,
&lt;code&gt;StorageProviderId&lt;/code&gt;, &lt;code&gt;AccessInformation&lt;/code&gt; and the
&lt;code&gt;FILE_&lt;/code&gt; container).&lt;/p&gt;
&lt;p&gt;&lt;code&gt;StorageProviderId&lt;/code&gt; = 0 means database and 1 means Azure
storage. SharePoint uses another value, often reported as 2.
&lt;strong&gt;Verify&lt;/strong&gt;: run the first query below to see which values
actually exist in your environment.&lt;/p&gt;
&lt;pre class=&quot;sql&quot;&gt;&lt;code&gt;-- Where attachments live and how much sits inside the database
SELECT v.STORAGEPROVIDERID,
       COUNT(*) AS files,
       SUM(CAST(DATALENGTH(v.FILE_) AS BIGINT)) / 1048576.0 AS mb_in_database
FROM DOCUVALUE v
GROUP BY v.STORAGEPROVIDERID;

-- Which source tables and years hold the most attachments
SELECT t.NAME AS source_table,
       YEAR(r.CREATEDDATETIME) AS year_created,
       v.STORAGEPROVIDERID,
       COUNT(*) AS files,
       SUM(CAST(DATALENGTH(v.FILE_) AS BIGINT)) / 1048576.0 AS mb_in_database
FROM DOCUREF r
JOIN DOCUVALUE v ON v.RECID = r.VALUERECID
LEFT JOIN TABLEIDTABLE t ON t.ID = r.REFTABLEID
GROUP BY t.NAME, YEAR(r.CREATEDDATETIME), v.STORAGEPROVIDERID
ORDER BY files DESC;

-- Orphan DocuValue rows (no DocuRef pointing to them)
SELECT COUNT(*) FROM DOCUVALUE v
WHERE NOT EXISTS (SELECT 1 FROM DOCUREF r WHERE r.VALUERECID = v.RECID);&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;&lt;strong&gt;Verify&lt;/strong&gt;: the column is usually &lt;code&gt;FILE_&lt;/code&gt;
because &lt;code&gt;File&lt;/code&gt; is a reserved word
(&lt;code&gt;sp_columns &#39;DOCUVALUE&#39;&lt;/code&gt; confirms it).
&lt;code&gt;TABLEIDTABLE&lt;/code&gt; maps table IDs to names in the versions I have
used; if it is not available, use &lt;code&gt;SQLDICTIONARY&lt;/code&gt; with
&lt;code&gt;FIELDID = 0&lt;/code&gt;. Rows with &lt;code&gt;STORAGEPROVIDERID = 1&lt;/code&gt;
and a filled &lt;code&gt;FILE_&lt;/code&gt; suggest binaries duplicated in the
database, which I have seen after migrations.&lt;/p&gt;
&lt;h3 id=&quot;print-archive-and-print-management&quot;&gt;2. Print archive and print
management&lt;/h3&gt;
&lt;p&gt;Every SSRS report printed with the &lt;strong&gt;Archive&lt;/strong&gt;
destination keeps a copy. With high volumes of invoices, confirmations
and packing slips, this grows quickly and has no standard automatic
cleanup.&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Organization administration &amp;gt; Inquiries and reports &amp;gt;
Print archive&lt;/strong&gt;: filter by date and report to see the monthly
volume.&lt;/li&gt;
&lt;li&gt;Print management per module (for example &lt;strong&gt;Accounts receivable
&amp;gt; Setup &amp;gt; Forms &amp;gt; Form setup &amp;gt; Print management&lt;/strong&gt;):
which documents include Archive.&lt;/li&gt;
&lt;li&gt;Print destination settings saved on batch jobs, which can archive
without going through print management.&lt;/li&gt;
&lt;li&gt;The archive’s files are attachments of &lt;code&gt;PrintJobHeader&lt;/code&gt;;
run the source-table query above and look for that table.&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id=&quot;electronic-reporting-er&quot;&gt;3. Electronic reporting (ER)&lt;/h3&gt;
&lt;p&gt;ER keeps its files permanently: templates, files sent to the Archive
destination and outputs of ER jobs. Unlike Data management, there is no
automatic retention; a file is deleted only together with the record it
is attached to (&lt;a href=&quot;https://learn.microsoft.com/en-us/dynamics365/fin-ops-core/dev-itpro/analytics/er-destination-type-archive&quot;&gt;Microsoft
Learn&lt;/a&gt;).&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Electronic reporting parameters &amp;gt; Attachments&lt;/strong&gt;:
the document types used for configurations, job archive, temporary files
and others, and their Location.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Electronic reporting destination&lt;/strong&gt;: formats with
Archive enabled.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Electronic reporting jobs&lt;/strong&gt;: volume and age of jobs
(table &lt;code&gt;ERFormatMappingRunJobTable&lt;/code&gt; and its
attachments).&lt;/li&gt;
&lt;li&gt;Old, unused configuration versions also keep their templates.&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id=&quot;data-management-framework-dmf&quot;&gt;4. Data management framework
(DMF)&lt;/h3&gt;
&lt;p&gt;DMF keeps package files in the managed blob, but its &lt;strong&gt;staging
tables and execution history live in the database&lt;/strong&gt;.
High-frequency recurring integrations can push staging and log tables to
tens of GB.&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Job history volume per day and project, and the &lt;strong&gt;Job history
cleanup&lt;/strong&gt; settings.&lt;/li&gt;
&lt;li&gt;Projects that could use &lt;strong&gt;Skip staging&lt;/strong&gt;.&lt;/li&gt;
&lt;li&gt;Recurring data jobs and their frequency; export projects whose
packages nobody downloads.&lt;/li&gt;
&lt;li&gt;Tables to measure: all &lt;code&gt;*Staging&lt;/code&gt; tables,
&lt;code&gt;DMFDefinitionGroupExecution&lt;/code&gt;,
&lt;code&gt;DMFDefinitionGroupExecutionHistory&lt;/code&gt;,
&lt;code&gt;DMFExecution&lt;/code&gt;, &lt;code&gt;DMFStagingLog&lt;/code&gt;,
&lt;code&gt;DMFStagingLogDetail&lt;/code&gt;,
&lt;code&gt;DMFStagingExecutionErrors&lt;/code&gt;,
&lt;code&gt;DMFStagingValidationLog&lt;/code&gt;.&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id=&quot;email-batch-alerts-and-logs&quot;&gt;5. Email, batch, alerts and
logs&lt;/h3&gt;
&lt;p&gt;Several standard features write binaries or large payloads straight
into container fields.&lt;/p&gt;
&lt;table&gt;
&lt;colgroup&gt;
&lt;col style=&quot;width: 33%;&quot;&gt;&lt;/col&gt;
&lt;col style=&quot;width: 33%;&quot;&gt;&lt;/col&gt;
&lt;col style=&quot;width: 33%;&quot;&gt;&lt;/col&gt;
&lt;/colgroup&gt;
&lt;thead&gt;
&lt;tr class=&quot;header&quot;&gt;
&lt;th&gt;Table&lt;/th&gt;
&lt;th&gt;What it holds&lt;/th&gt;
&lt;th&gt;Where to look in F&amp;amp;O&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr class=&quot;odd&quot;&gt;
&lt;td&gt;SysOutgoingEmailTable / SysOutgoingEmailData&lt;/td&gt;
&lt;td&gt;Body and attachments of every email sent by the email distributor
(invoice PDFs, for example)&lt;/td&gt;
&lt;td&gt;System administration &amp;gt; Periodic tasks &amp;gt; Email processing &amp;gt;
Email history&lt;/td&gt;
&lt;/tr&gt;
&lt;tr class=&quot;even&quot;&gt;
&lt;td&gt;SysEmailHistory&lt;/td&gt;
&lt;td&gt;Email history&lt;/td&gt;
&lt;td&gt;Email parameters / View email history&lt;/td&gt;
&lt;/tr&gt;
&lt;tr class=&quot;odd&quot;&gt;
&lt;td&gt;BatchJobHistory / BatchHistory&lt;/td&gt;
&lt;td&gt;Batch history and infolog&lt;/td&gt;
&lt;td&gt;System administration &amp;gt; Inquiries &amp;gt; Batch jobs&lt;/td&gt;
&lt;/tr&gt;
&lt;tr class=&quot;even&quot;&gt;
&lt;td&gt;EventInbox / EventInboxData&lt;/td&gt;
&lt;td&gt;Alerts and notifications&lt;/td&gt;
&lt;td&gt;Alerts&lt;/td&gt;
&lt;/tr&gt;
&lt;tr class=&quot;odd&quot;&gt;
&lt;td&gt;SysDatabaseLog&lt;/td&gt;
&lt;td&gt;Database log (audit of changes)&lt;/td&gt;
&lt;td&gt;System administration &amp;gt; Inquiries &amp;gt; Database &amp;gt; Database
log&lt;/td&gt;
&lt;/tr&gt;
&lt;tr class=&quot;even&quot;&gt;
&lt;td&gt;HcmPersonImage, CompanyImage&lt;/td&gt;
&lt;td&gt;Photos and logos&lt;/td&gt;
&lt;td&gt;Workers / Legal entities&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;pre class=&quot;sql&quot;&gt;&lt;code&gt;-- Email attachments per year
SELECT YEAR(e.CREATEDDATETIME) AS year_created,
       COUNT(DISTINCT e.EMAILITEMID) AS emails,
       SUM(CAST(DATALENGTH(d.DATA) AS BIGINT)) / 1048576.0 AS attachment_mb
FROM SYSOUTGOINGEMAILTABLE e
LEFT JOIN SYSOUTGOINGEMAILDATA d ON d.EMAILITEMID = e.EMAILITEMID
GROUP BY YEAR(e.CREATEDDATETIME)
ORDER BY year_created;

-- Every binary column in the database
SELECT t.name AS table_name, c.name AS column_name, ty.name AS data_type
FROM sys.columns c
JOIN sys.tables t ON t.object_id = c.object_id
JOIN sys.types ty ON ty.user_type_id = c.user_type_id
WHERE ty.name IN (&#39;varbinary&#39;, &#39;image&#39;)
ORDER BY t.name;&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;For each relevant table returned, measure the real volume with
&lt;code&gt;SUM(CAST(DATALENGTH(&amp;lt;column&amp;gt;) AS BIGINT))&lt;/code&gt;.&lt;/p&gt;
&lt;h3 id=&quot;localizations-and-electronic-invoicing&quot;&gt;6. Localizations and
electronic invoicing&lt;/h3&gt;
&lt;p&gt;Localizations with electronic fiscal documents (Brazil, Mexico,
Italy, India and others) store submitted XML, authority responses and
events. They may be attachments or long text
(&lt;code&gt;nvarchar(max)&lt;/code&gt;) fields in localization tables. Check the
electronic document submission log, the document types used by
electronic invoicing, and the long-text columns in country-specific
tables. Removing anything here depends on legal retention rules, which
differ per country and per company: this is a decision for the tax team,
not only for IT.&lt;/p&gt;
&lt;h3 id=&quot;customizations-and-integrations&quot;&gt;7. Customizations and
integrations&lt;/h3&gt;
&lt;p&gt;In environments with hundreds of GB, the cause is often custom code:
integration logs that keep the full payload of every call, custom log
tables without retention, or attachments created automatically for each
processed record.&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;In the metadata, look for container fields
(&lt;code&gt;AxTableFieldContainer&lt;/code&gt;) and unlimited string fields used
for payloads.&lt;/li&gt;
&lt;li&gt;In X++, look for &lt;code&gt;DocumentManagement::attachFile&lt;/code&gt;, direct
&lt;code&gt;DocuRef&lt;/code&gt;/&lt;code&gt;DocuValue&lt;/code&gt; inserts,
&lt;code&gt;BinData&lt;/code&gt;, &lt;code&gt;con2Buf&lt;/code&gt;, &lt;code&gt;MemoryStream&lt;/code&gt;
written into table fields, and tables named &lt;code&gt;*Log&lt;/code&gt;,
&lt;code&gt;*Payload&lt;/code&gt;, &lt;code&gt;*Request&lt;/code&gt;,
&lt;code&gt;*Response&lt;/code&gt;.&lt;/li&gt;
&lt;li&gt;Cross the results with the table-size query using your model’s table
prefix.&lt;/li&gt;
&lt;/ul&gt;
&lt;pre class=&quot;powershell&quot;&gt;&lt;code&gt;Get-ChildItem -Recurse -Filter *.xml -Path .\&amp;lt;YourModel&amp;gt;\AxTable |
  Select-String -Pattern &#39;AxTableFieldContainer&#39; |
  Select-Object Path -Unique&lt;/code&gt;&lt;/pre&gt;
&lt;h2 id=&quot;part-2-cleanup-routines&quot;&gt;Part 2 – Cleanup routines&lt;/h2&gt;
&lt;p&gt;Cleanup in F&amp;amp;O deletes data permanently; there is no recycle bin.
Microsoft’s own guidance is to run cleanup routines only after the
business has confirmed the data is no longer needed, and to test each
one in a non-production environment first (&lt;a href=&quot;https://learn.microsoft.com/en-us/dynamics365/fin-ops-core/dev-itpro/sysadmin/cleanuproutines&quot;&gt;Microsoft
Learn&lt;/a&gt;). The retention periods below are starting points for
discussion, not recommendations for any specific company.&lt;/p&gt;
&lt;h3 id=&quot;document-management&quot;&gt;Document management&lt;/h3&gt;
&lt;p&gt;There is no standard retention policy for attachments. Reduction
comes from four directions:&lt;/p&gt;
&lt;ol type=&quot;1&quot;&gt;
&lt;li&gt;&lt;strong&gt;Limit what comes in.&lt;/strong&gt; Keep only the file types the
business uses, set a size limit if your version offers one, and switch
any Attach file document type with Location = Database to Azure storage
or SharePoint. The change applies to new attachments only.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Clean orphans.&lt;/strong&gt; The batch job &lt;em&gt;Scan for orphaned
document references&lt;/em&gt; finds attachments whose business record no
longer exists and creates &lt;em&gt;Deletes a bundle of orphaned document
references&lt;/em&gt; jobs to remove them. Check under &lt;strong&gt;System
administration &amp;gt; Inquiries &amp;gt; Batch jobs&lt;/strong&gt; that it exists
and recurs. &lt;strong&gt;Verify&lt;/strong&gt; the job names and behavior in your
version.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Watch deferred deletion.&lt;/strong&gt; If attachment recovery
(deferred deletion) is enabled, deleted attachments are kept for a
number of days and keep consuming space until then.
&lt;strong&gt;Verify&lt;/strong&gt; whether your version has this setting and how it
is configured.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Apply retention by document type.&lt;/strong&gt; For attachments
with no value after a period (delivery photos, integration files,
generated PDFs), agree a rule per document type and source table and
implement a custom batch job (pattern in Part 3).&lt;/li&gt;
&lt;/ol&gt;
&lt;h3 id=&quot;print-archive&quot;&gt;Print archive&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Prevent:&lt;/strong&gt; remove the Archive destination from
documents that are already emailed and logged, can be reprinted from the
journal, or are stored in a DMS or tax portal. Review print destination
settings saved on batch jobs too.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Clean:&lt;/strong&gt; in &lt;strong&gt;Organization administration &amp;gt;
Inquiries and reports &amp;gt; Print archive&lt;/strong&gt;, filter by date and
delete. Deleting the record removes its attached file. For large
volumes, use a custom batch job or a third-party tool that adds a print
archive cleanup (Docentric AX, for example, offers one in its free
edition; evaluate any third-party option yourself).&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id=&quot;electronic-reporting&quot;&gt;Electronic reporting&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Prevent:&lt;/strong&gt; keep the Archive destination only for
formats that really need a copy inside F&amp;amp;O. Use a SharePoint
document type for the job archive if files must be kept long term.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Clean:&lt;/strong&gt; in &lt;strong&gt;Electronic reporting
jobs&lt;/strong&gt;, filter by date and format, export the list as evidence
and delete. Attached files are removed with the jobs. Remove
configuration versions that are no longer used, keeping at least the
current and the previous version.&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id=&quot;data-management&quot;&gt;Data management&lt;/h3&gt;
&lt;p&gt;Since September 2023, job history and related staging data older than
90 days are deleted automatically. For a shorter retention, use the
&lt;em&gt;Execution history cleanup&lt;/em&gt; feature; the old &lt;em&gt;Staging
cleanup&lt;/em&gt; routine is deprecated (&lt;a href=&quot;https://learn.microsoft.com/en-us/dynamics365/fin-ops-core/dev-itpro/sysadmin/cleanuproutines&quot;&gt;Microsoft
Learn&lt;/a&gt;).&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;In the Data management workspace, open &lt;strong&gt;Job history
cleanup&lt;/strong&gt;, set the number of days, the maximum execution hours
per run and, if needed, export history before deleting. Schedule it
daily, outside business hours.&lt;/li&gt;
&lt;li&gt;Use &lt;strong&gt;Skip staging&lt;/strong&gt; where the entity and the process
allow it.&lt;/li&gt;
&lt;li&gt;Review the frequency of recurring data jobs and fix entities that
fail repeatedly.&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id=&quot;email-batch-alerts-and-logs-1&quot;&gt;Email, batch, alerts and
logs&lt;/h3&gt;
&lt;table&gt;
&lt;colgroup&gt;
&lt;col style=&quot;width: 33%;&quot;&gt;&lt;/col&gt;
&lt;col style=&quot;width: 33%;&quot;&gt;&lt;/col&gt;
&lt;col style=&quot;width: 33%;&quot;&gt;&lt;/col&gt;
&lt;/colgroup&gt;
&lt;thead&gt;
&lt;tr class=&quot;header&quot;&gt;
&lt;th&gt;Routine&lt;/th&gt;
&lt;th&gt;Path (may vary by version)&lt;/th&gt;
&lt;th&gt;What it removes&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr class=&quot;odd&quot;&gt;
&lt;td&gt;Email history retention&lt;/td&gt;
&lt;td&gt;Email parameters: &lt;em&gt;Number of days to retain email history&lt;/em&gt;,
plus the batch job SysEmailHistoryCleanupBatch&lt;/td&gt;
&lt;td&gt;SysEmailHistory&lt;/td&gt;
&lt;/tr&gt;
&lt;tr class=&quot;even&quot;&gt;
&lt;td&gt;Sent email cleanup&lt;/td&gt;
&lt;td&gt;No standard routine in many versions; Microsoft support has
suggested a custom X++ script&lt;/td&gt;
&lt;td&gt;SysOutgoingEmailTable, SysOutgoingEmailData&lt;/td&gt;
&lt;/tr&gt;
&lt;tr class=&quot;odd&quot;&gt;
&lt;td&gt;Batch job history clean-up&lt;/td&gt;
&lt;td&gt;System administration &amp;gt; Periodic tasks&lt;/td&gt;
&lt;td&gt;BatchJobHistory, BatchHistory, BatchConstraintsHistory&lt;/td&gt;
&lt;/tr&gt;
&lt;tr class=&quot;even&quot;&gt;
&lt;td&gt;Batch job clean-up&lt;/td&gt;
&lt;td&gt;System administration &amp;gt; Periodic tasks&lt;/td&gt;
&lt;td&gt;Finished batch jobs&lt;/td&gt;
&lt;/tr&gt;
&lt;tr class=&quot;odd&quot;&gt;
&lt;td&gt;Notification clean up&lt;/td&gt;
&lt;td&gt;System administration &amp;gt; Periodic tasks&lt;/td&gt;
&lt;td&gt;EventInbox, EventInboxData&lt;/td&gt;
&lt;/tr&gt;
&lt;tr class=&quot;even&quot;&gt;
&lt;td&gt;Database log clean up&lt;/td&gt;
&lt;td&gt;System administration &amp;gt; Inquiries &amp;gt; Database &amp;gt; Database
log&lt;/td&gt;
&lt;td&gt;SysDatabaseLog&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;p&gt;For sent emails, delete only those already sent, never queued or
failed ones, and test in a sandbox first. For the database log, also
review &lt;strong&gt;Database log setup&lt;/strong&gt;: auditing high-volume
transactional tables is a common cause of growth. Records with
electronic signatures cannot be deleted by the standard routine.&lt;/p&gt;
&lt;p&gt;Sources for the email items are Microsoft support articles KA-23493
and KA-23879 on the Dynamics community site. &lt;strong&gt;Verify&lt;/strong&gt; the
parameter names and batch class in your version.&lt;/p&gt;
&lt;h3 id=&quot;functional-history-routines&quot;&gt;Functional history routines&lt;/h3&gt;
&lt;p&gt;They do not remove files, but they often clear the tables at the top
of the PPAC drill-down. All need approval from the process owner.&lt;/p&gt;
&lt;table&gt;
&lt;colgroup&gt;
&lt;col style=&quot;width: 50%;&quot;&gt;&lt;/col&gt;
&lt;col style=&quot;width: 50%;&quot;&gt;&lt;/col&gt;
&lt;/colgroup&gt;
&lt;thead&gt;
&lt;tr class=&quot;header&quot;&gt;
&lt;th&gt;Module&lt;/th&gt;
&lt;th&gt;Examples&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr class=&quot;odd&quot;&gt;
&lt;td&gt;Sales and procurement&lt;/td&gt;
&lt;td&gt;Sales update history cleanup, Order events cleanup, Purchase update
history cleanup&lt;/td&gt;
&lt;/tr&gt;
&lt;tr class=&quot;even&quot;&gt;
&lt;td&gt;General ledger and projects&lt;/td&gt;
&lt;td&gt;Clean up ledger journals, Delete project journals (posted journals
can no longer be reversed afterwards)&lt;/td&gt;
&lt;/tr&gt;
&lt;tr class=&quot;odd&quot;&gt;
&lt;td&gt;Inventory&lt;/td&gt;
&lt;td&gt;Inventory journals cleanup, On-hand entries cleanup, Transfer order
update history cleanup&lt;/td&gt;
&lt;/tr&gt;
&lt;tr class=&quot;even&quot;&gt;
&lt;td&gt;Warehouse&lt;/td&gt;
&lt;td&gt;Work creation history, Wave processing history, Mobile device
activity log, Work user session log, Work exceptions log&lt;/td&gt;
&lt;/tr&gt;
&lt;tr class=&quot;odd&quot;&gt;
&lt;td&gt;Production and costing&lt;/td&gt;
&lt;td&gt;Production orders cleanup, Clean up registrations, Clean up the
costing sheet cache&lt;/td&gt;
&lt;/tr&gt;
&lt;tr class=&quot;even&quot;&gt;
&lt;td&gt;Master planning&lt;/td&gt;
&lt;td&gt;Plan version cleanup (monthly, while MRP is not running)&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;p&gt;Some routines, such as &lt;em&gt;Inventory dimensions cleanup&lt;/em&gt; and
&lt;em&gt;Inventory journal data correction&lt;/em&gt;, delete data without any log.
Use them only with a clear reason and after testing.&lt;/p&gt;
&lt;h3 id=&quot;a-starting-schedule&quot;&gt;A starting schedule&lt;/h3&gt;
&lt;p&gt;Adjust frequency and retention to the policy each customer
approves.&lt;/p&gt;
&lt;table&gt;
&lt;colgroup&gt;
&lt;col style=&quot;width: 33%;&quot;&gt;&lt;/col&gt;
&lt;col style=&quot;width: 33%;&quot;&gt;&lt;/col&gt;
&lt;col style=&quot;width: 33%;&quot;&gt;&lt;/col&gt;
&lt;/colgroup&gt;
&lt;thead&gt;
&lt;tr class=&quot;header&quot;&gt;
&lt;th&gt;Routine&lt;/th&gt;
&lt;th&gt;Frequency&lt;/th&gt;
&lt;th&gt;Starting retention&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr class=&quot;odd&quot;&gt;
&lt;td&gt;DMF job history cleanup&lt;/td&gt;
&lt;td&gt;Daily&lt;/td&gt;
&lt;td&gt;7–30 days for recurring integrations, up to 90 for manual loads&lt;/td&gt;
&lt;/tr&gt;
&lt;tr class=&quot;even&quot;&gt;
&lt;td&gt;Batch job history clean-up&lt;/td&gt;
&lt;td&gt;Daily&lt;/td&gt;
&lt;td&gt;30–90 days&lt;/td&gt;
&lt;/tr&gt;
&lt;tr class=&quot;odd&quot;&gt;
&lt;td&gt;Email history&lt;/td&gt;
&lt;td&gt;Daily&lt;/td&gt;
&lt;td&gt;30–90 days&lt;/td&gt;
&lt;/tr&gt;
&lt;tr class=&quot;even&quot;&gt;
&lt;td&gt;Sent emails (custom)&lt;/td&gt;
&lt;td&gt;Weekly&lt;/td&gt;
&lt;td&gt;Around 90 days&lt;/td&gt;
&lt;/tr&gt;
&lt;tr class=&quot;odd&quot;&gt;
&lt;td&gt;Notification clean up, batch job clean-up&lt;/td&gt;
&lt;td&gt;Weekly&lt;/td&gt;
&lt;td&gt;30 days&lt;/td&gt;
&lt;/tr&gt;
&lt;tr class=&quot;even&quot;&gt;
&lt;td&gt;Orphaned document references&lt;/td&gt;
&lt;td&gt;Daily or weekly&lt;/td&gt;
&lt;td&gt;—&lt;/td&gt;
&lt;/tr&gt;
&lt;tr class=&quot;odd&quot;&gt;
&lt;td&gt;Print archive, ER jobs, old attachments&lt;/td&gt;
&lt;td&gt;Monthly&lt;/td&gt;
&lt;td&gt;Per document type and legal requirement&lt;/td&gt;
&lt;/tr&gt;
&lt;tr class=&quot;even&quot;&gt;
&lt;td&gt;Database log&lt;/td&gt;
&lt;td&gt;Monthly&lt;/td&gt;
&lt;td&gt;As agreed with audit&lt;/td&gt;
&lt;/tr&gt;
&lt;tr class=&quot;odd&quot;&gt;
&lt;td&gt;Functional routines&lt;/td&gt;
&lt;td&gt;Monthly or quarterly&lt;/td&gt;
&lt;td&gt;As agreed with each process owner&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;p&gt;For the first cleanup of a large volume, work from the oldest data
forward, in slices (one year at a time, for example), outside period-end
closing, and record the space released in PPAC after each slice.&lt;/p&gt;
&lt;h2 id=&quot;part-3-moving-files-out-of-the-database-and-to-your-own-storage&quot;&gt;Part
3 – Moving files out of the database and to your own storage&lt;/h2&gt;
&lt;p&gt;There are two different moves, and it helps to keep them apart:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Database → managed blob or SharePoint&lt;/strong&gt;, which
converts database usage into file usage (or SharePoint storage).&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Managed blob → storage you own&lt;/strong&gt;, which takes files
out of F&amp;amp;O capacity altogether.&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id=&quot;option-1-sharepoint-for-new-attachments-standard&quot;&gt;Option 1:
SharePoint for new attachments (standard)&lt;/h3&gt;
&lt;p&gt;Set the document type’s Location to SharePoint. New files go to
SharePoint Online; existing ones do not move by themselves. Current
requirements include granting &lt;code&gt;Sites.ReadWrite.All&lt;/code&gt; to the
Microsoft Dynamics 365 finance and operations application in Entra ID,
because the older Microsoft-managed connection has been deprecated, and
avoiding SharePoint managed-device policies, which block the integration
(&lt;a href=&quot;https://learn.microsoft.com/en-us/dynamics365/fin-ops-core/fin-ops/organization-administration/configure-document-management&quot;&gt;Microsoft
Learn&lt;/a&gt;). SharePoint storage has its own cost and governance; it is
simply outside F&amp;amp;O capacity.&lt;/p&gt;
&lt;h3 id=&quot;option-2-migrate-database-attachments-to-azure-storage&quot;&gt;Option
2: migrate database attachments to Azure storage&lt;/h3&gt;
&lt;p&gt;For attachments with &lt;code&gt;StorageProviderId = 0&lt;/code&gt; and a filled
&lt;code&gt;FILE_&lt;/code&gt;: change the document type’s Location so the database
stops growing, then run a custom batch job that reads each container,
stores the file again through the document management API, updates the
pointer, and clears the binary. Validate samples (open migrated
attachments in F&amp;amp;O) before clearing anything, and run by year or
document type.&lt;/p&gt;
&lt;h3 id=&quot;option-3-export-to-your-own-azure-storage-account-custom&quot;&gt;Option
3: export to your own Azure Storage Account (custom)&lt;/h3&gt;
&lt;p&gt;This is the pattern I would consider for large legacy volumes. It is
a design outline, not a tested product; each customer’s security, legal
and access requirements will shape the details.&lt;/p&gt;
&lt;ol type=&quot;1&quot;&gt;
&lt;li&gt;Select attachments by document type, source table, age and storage
provider.&lt;/li&gt;
&lt;li&gt;Read the content with the document management API (for example
&lt;code&gt;DocumentManagement::getAttachmentStream&lt;/code&gt;;
&lt;strong&gt;Verify&lt;/strong&gt; the method available in your version).&lt;/li&gt;
&lt;li&gt;Send the stream to an Azure Storage Account the customer owns,
ideally through an intermediary such as an Azure Function or Logic App
using Managed Identity, so no storage keys live in F&amp;amp;O.&lt;/li&gt;
&lt;li&gt;Use a deterministic path, for example
&lt;code&gt;&amp;lt;company&amp;gt;/&amp;lt;table&amp;gt;/&amp;lt;year&amp;gt;/&amp;lt;RecId&amp;gt;_&amp;lt;filename&amp;gt;&lt;/code&gt;.&lt;/li&gt;
&lt;li&gt;Confirm the upload (size or hash) before deleting anything.&lt;/li&gt;
&lt;li&gt;If users still need access, replace the attachment with a URL-type
attachment that points to an endpoint issuing short-lived access (a
short SAS, for example). Never store a long-lived SAS in a URL.&lt;/li&gt;
&lt;li&gt;Delete the original attachment through &lt;code&gt;DocuRef.delete()&lt;/code&gt;
so the managed file is removed too.&lt;/li&gt;
&lt;li&gt;In the Storage Account, use Cool or Archive tiers with lifecycle
rules, and immutability for documents under legal retention.&lt;/li&gt;
&lt;/ol&gt;
&lt;h3 id=&quot;a-custom-cleanup-batch-pattern-x&quot;&gt;A custom cleanup batch pattern
(X++)&lt;/h3&gt;
&lt;p&gt;The skeleton below shows the shape of a SysOperation batch job that
deletes attachments by document type, source table and age. It is
&lt;strong&gt;illustrative and untested&lt;/strong&gt;: review, compile and test it
in your own environment, and adapt it to the tables you need
(PrintJobHeader, ERFormatMappingRunJobTable, SysOutgoingEmailTable and
custom logs follow the same idea).&lt;/p&gt;
&lt;pre class=&quot;cpp&quot;&gt;&lt;code&gt;// Illustrative only - review, compile and test before any use.
class XXXAttachmentCleanupService extends SysOperationServiceBase
{
    private const int CommitSize = 500;

    public void process(XXXAttachmentCleanupContract _contract)
    {
        DocuRef     docuRef;
        TableId     refTableId = tableName2Id(_contract.parmRefTableName());
        utcdatetime cutOff     = DateTimeUtil::addDays(DateTimeUtil::utcNow(),
                                                       -_contract.parmRetentionDays());
        int         maxRecords = _contract.parmMaxRecords();
        int         total, inBlock;

        if (_contract.parmRetentionDays() &amp;lt;= 0)
        {
            throw error(&quot;Retention must be greater than zero.&quot;);
        }

        if (_contract.parmSimulate())
        {
            select count(RecId) from docuRef
                where docuRef.TypeId          == _contract.parmDocuTypeId()
                   &amp;amp;&amp;amp; docuRef.RefTableId      == refTableId
                   &amp;amp;&amp;amp; docuRef.CreatedDateTime &amp;lt;  cutOff;
            info(strFmt(&quot;Simulation: %1 attachments would be deleted.&quot;, docuRef.RecId));
            return;
        }

        do
        {
            inBlock = 0;
            ttsbegin;
            while select forupdate docuRef
                where docuRef.TypeId          == _contract.parmDocuTypeId()
                   &amp;amp;&amp;amp; docuRef.RefTableId      == refTableId
                   &amp;amp;&amp;amp; docuRef.CreatedDateTime &amp;lt;  cutOff
            {
                // Optional: export to your own storage first (see Option 3)
                docuRef.delete();   // standard logic also removes DocuValue and the stored file
                inBlock++;
                total++;
                if (inBlock &amp;gt;= CommitSize || (maxRecords &amp;amp;&amp;amp; total &amp;gt;= maxRecords))
                {
                    break;
                }
            }
            ttscommit;
        }
        while (inBlock &amp;gt;= CommitSize &amp;amp;&amp;amp; (!maxRecords || total &amp;lt; maxRecords));

        info(strFmt(&quot;%1 attachments deleted.&quot;, total));
    }
}&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;Principles that matter more than the code itself:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Delete through the table’s &lt;code&gt;delete()&lt;/code&gt; method.
&lt;code&gt;delete_from&lt;/code&gt; with &lt;code&gt;skipDeleteMethod&lt;/code&gt;,
&lt;code&gt;skipDataMethods&lt;/code&gt; or direct SQL removes the row but can leave
the file behind as an orphan in blob storage.&lt;/li&gt;
&lt;li&gt;Commit in blocks, cap records per run, offer a simulation mode, and
log what was removed.&lt;/li&gt;
&lt;li&gt;New custom tables should be born with a retention parameter and a
cleanup job; integration logs should keep a summary, not the full
payload.&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id=&quot;governance-and-monitoring&quot;&gt;Governance and monitoring&lt;/h2&gt;
&lt;p&gt;Cleanup is easier to get right when the roles are clear:&lt;/p&gt;
&lt;table&gt;
&lt;colgroup&gt;
&lt;col style=&quot;width: 50%;&quot;&gt;&lt;/col&gt;
&lt;col style=&quot;width: 50%;&quot;&gt;&lt;/col&gt;
&lt;/colgroup&gt;
&lt;thead&gt;
&lt;tr class=&quot;header&quot;&gt;
&lt;th&gt;Role&lt;/th&gt;
&lt;th&gt;Responsibility&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr class=&quot;odd&quot;&gt;
&lt;td&gt;Business process owner&lt;/td&gt;
&lt;td&gt;Approves the retention period for each kind of data&lt;/td&gt;
&lt;/tr&gt;
&lt;tr class=&quot;even&quot;&gt;
&lt;td&gt;Tax / finance&lt;/td&gt;
&lt;td&gt;Confirms legal retention and where the legally valid copy lives&lt;/td&gt;
&lt;/tr&gt;
&lt;tr class=&quot;odd&quot;&gt;
&lt;td&gt;F&amp;amp;O administrator&lt;/td&gt;
&lt;td&gt;Configures and schedules the batch jobs&lt;/td&gt;
&lt;/tr&gt;
&lt;tr class=&quot;even&quot;&gt;
&lt;td&gt;Developer&lt;/td&gt;
&lt;td&gt;Builds custom cleanup and fixes customizations that create
volume&lt;/td&gt;
&lt;/tr&gt;
&lt;tr class=&quot;odd&quot;&gt;
&lt;td&gt;Power Platform administrator&lt;/td&gt;
&lt;td&gt;Follows capacity in PPAC&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;p&gt;A light monthly routine keeps the problem from coming back:&lt;/p&gt;
&lt;ol type=&quot;1&quot;&gt;
&lt;li&gt;Record database and file usage for each production environment in
PPAC.&lt;/li&gt;
&lt;li&gt;Compare the 20 largest tables in the drill-down with the previous
month.&lt;/li&gt;
&lt;li&gt;Confirm every cleanup job ran successfully.&lt;/li&gt;
&lt;li&gt;After each sandbox refresh, rerun the attachment queries by year and
source table.&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;Useful warning signs: growth of more than a few percent a month
without a business reason, any new growth in attachments stored in the
database, failed cleanup jobs, or a custom table entering the top
20.&lt;/p&gt;
&lt;h3 id=&quot;checklist&quot;&gt;Checklist&lt;/h3&gt;
&lt;ul class=&quot;task-list&quot;&gt;
&lt;li&gt;&lt;label&gt;&lt;input type=&quot;checkbox&quot; /&gt;PPAC table drill-down exported and
compared with the SQL table-size query&lt;/label&gt;&lt;/li&gt;
&lt;li&gt;&lt;label&gt;&lt;input type=&quot;checkbox&quot; /&gt;Document types reviewed; any
Location = Database identified&lt;/label&gt;&lt;/li&gt;
&lt;li&gt;&lt;label&gt;&lt;input type=&quot;checkbox&quot; /&gt;Attachments measured by storage
provider, source table and year&lt;/label&gt;&lt;/li&gt;
&lt;li&gt;&lt;label&gt;&lt;input type=&quot;checkbox&quot; /&gt;Print archive volume and print
management Archive destinations reviewed&lt;/label&gt;&lt;/li&gt;
&lt;li&gt;&lt;label&gt;&lt;input type=&quot;checkbox&quot; /&gt;ER parameters, Archive destinations
and ER job volume reviewed&lt;/label&gt;&lt;/li&gt;
&lt;li&gt;&lt;label&gt;&lt;input type=&quot;checkbox&quot; /&gt;DMF job history retention and
staging size checked&lt;/label&gt;&lt;/li&gt;
&lt;li&gt;&lt;label&gt;&lt;input type=&quot;checkbox&quot; /&gt;Email, batch, alert and database log
tables measured&lt;/label&gt;&lt;/li&gt;
&lt;li&gt;&lt;label&gt;&lt;input type=&quot;checkbox&quot; /&gt;Binary and long-text columns listed
across the database&lt;/label&gt;&lt;/li&gt;
&lt;li&gt;&lt;label&gt;&lt;input type=&quot;checkbox&quot; /&gt;Localization XML storage and legal
retention confirmed with the tax team&lt;/label&gt;&lt;/li&gt;
&lt;li&gt;&lt;label&gt;&lt;input type=&quot;checkbox&quot; /&gt;Custom code scanned for container
fields, automatic attachments and payload logs&lt;/label&gt;&lt;/li&gt;
&lt;li&gt;&lt;label&gt;&lt;input type=&quot;checkbox&quot; /&gt;Retention policy approved and
recurring cleanup jobs scheduled&lt;/label&gt;&lt;/li&gt;
&lt;li&gt;&lt;label&gt;&lt;input type=&quot;checkbox&quot; /&gt;Monthly monitoring in
place&lt;/label&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id=&quot;what-to-verify-in-your-own-environment&quot;&gt;What to verify in your
own environment&lt;/h2&gt;
&lt;p&gt;These points are based on experience and community sources rather
than on official documentation for every version. Treat them as
hypotheses to confirm:&lt;/p&gt;
&lt;table&gt;
&lt;colgroup&gt;
&lt;col style=&quot;width: 50%;&quot;&gt;&lt;/col&gt;
&lt;col style=&quot;width: 50%;&quot;&gt;&lt;/col&gt;
&lt;/colgroup&gt;
&lt;thead&gt;
&lt;tr class=&quot;header&quot;&gt;
&lt;th&gt;Item&lt;/th&gt;
&lt;th&gt;Why it needs checking&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr class=&quot;odd&quot;&gt;
&lt;td&gt;&lt;code&gt;StorageProviderId&lt;/code&gt; values beyond 0 and 1
(SharePoint)&lt;/td&gt;
&lt;td&gt;Values may differ; query your own data&lt;/td&gt;
&lt;/tr&gt;
&lt;tr class=&quot;even&quot;&gt;
&lt;td&gt;Column and helper table names (&lt;code&gt;FILE_&lt;/code&gt;,
&lt;code&gt;TABLEIDTABLE&lt;/code&gt;)&lt;/td&gt;
&lt;td&gt;Physical names can change between versions&lt;/td&gt;
&lt;/tr&gt;
&lt;tr class=&quot;odd&quot;&gt;
&lt;td&gt;Menu paths and routine names&lt;/td&gt;
&lt;td&gt;Microsoft moves and renames items; use page search&lt;/td&gt;
&lt;/tr&gt;
&lt;tr class=&quot;even&quot;&gt;
&lt;td&gt;Orphaned attachment jobs and deferred deletion&lt;/td&gt;
&lt;td&gt;Availability and behavior depend on version and features
enabled&lt;/td&gt;
&lt;/tr&gt;
&lt;tr class=&quot;odd&quot;&gt;
&lt;td&gt;Email cleanup parameters and batch class&lt;/td&gt;
&lt;td&gt;Based on Microsoft support articles, not core documentation&lt;/td&gt;
&lt;/tr&gt;
&lt;tr class=&quot;even&quot;&gt;
&lt;td&gt;Third-party tools mentioned&lt;/td&gt;
&lt;td&gt;Evaluate licensing, support and fit yourself&lt;/td&gt;
&lt;/tr&gt;
&lt;tr class=&quot;odd&quot;&gt;
&lt;td&gt;X++ sample&lt;/td&gt;
&lt;td&gt;Illustrative and untested&lt;/td&gt;
&lt;/tr&gt;
&lt;tr class=&quot;even&quot;&gt;
&lt;td&gt;Retention periods suggested&lt;/td&gt;
&lt;td&gt;Starting points only; legal and business rules decide&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;h2 id=&quot;closing-note&quot;&gt;Closing note&lt;/h2&gt;
&lt;p&gt;There is no single right answer for every customer. One environment’s
problem is a print archive nobody cleaned for five years; another’s is a
custom integration log keeping every payload; a third simply has a
document type still pointing at the database since the AX 2009/2012 upgrade.
Measure first, agree retention with the people who own the data,
automate the cleanup, and keep watching the numbers.&lt;/p&gt;
&lt;p&gt;If you have found other sources of growth, or other ways to deal with
them, I would like to hear about them.&lt;/p&gt;
&lt;h2 id=&quot;sources&quot;&gt;Sources&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://learn.microsoft.com/en-us/dynamics365/fin-ops-core/dev-itpro/sysadmin/cleanuproutines&quot;&gt;Cleanup
routines in Dynamics 365 Finance and Supply Chain Management (Microsoft
Learn)&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://learn.microsoft.com/en-us/dynamics365/fin-ops-core/dev-itpro/analytics/er-destination-type-archive&quot;&gt;Archive
ER destination type (Microsoft Learn)&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://learn.microsoft.com/en-us/dynamics365/fin-ops-core/fin-ops/organization-administration/configure-document-management&quot;&gt;Configure
document management (Microsoft Learn)&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://learn.microsoft.com/en-us/archive/blogs/axsa/how-to-select-the-document-management-storage-location&quot;&gt;How
to select the document management storage location (Microsoft, archived
blog)&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://learn.microsoft.com/en-us/power-platform/admin/finance-operations-storage-capacity&quot;&gt;Finance
and operations storage capacity (Microsoft Learn)&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://community.dynamics.com/article/KA-23493&quot;&gt;KA-23493:
cleaning SysEmailHistory and EventInboxData (Dynamics
Community)&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://community.dynamics.com/article/KA-23879&quot;&gt;KA-23879:
cleaning SysOutgoingEmail tables (Dynamics Community)&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://community.dynamics.com/article/KA-24904&quot;&gt;KA-24904:
orphaned attachments and attachment retention (Dynamics
Community)&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://ax.docentric.com/?p=32753&quot;&gt;Keep D365FO Print
Archive Small to Pay Less (Docentric)&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
</content><link rel='replies' type='application/atom+xml' href='http://fsilvajunior.blogspot.com/feeds/4256170631088180927/comments/default' title='Postar comentários'/><link rel='replies' type='text/html' href='http://fsilvajunior.blogspot.com/2026/10/taming-d365-f-storage-finding-files-in.html#comment-form' title='0 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6956220039993174035/posts/default/4256170631088180927'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6956220039993174035/posts/default/4256170631088180927'/><link rel='alternate' type='text/html' href='http://fsilvajunior.blogspot.com/2026/10/taming-d365-f-storage-finding-files-in.html' title='Taming D365 F&amp;O Storage: Finding Files in the Database and Cleaning Them Up'/><author><name>Francisco Silva Jr.</name><uri>http://www.blogger.com/profile/15240847900054947078</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6956220039993174035.post-1800821217315196272</id><published>2026-10-10T14:21:51.456-07:00</published><updated>2026-10-10T14:21:51.457-07:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="D365F&amp;O"/><category scheme="http://www.blogger.com/atom/ns#" term="Governance"/><category scheme="http://www.blogger.com/atom/ns#" term="PIM"/><category scheme="http://www.blogger.com/atom/ns#" term="security"/><title type='text'>Privileged User Management no D365 F&amp;O</title><content type='html'>&lt;p&gt;&amp;nbsp;&lt;/p&gt;&lt;h1 data-lfile-container=&quot;07ec6662-e846-4312-97e4-2a482dfaf54e&quot; data-pm-slice=&quot;0 0 []&quot; id=&quot;privileged-user-management-no-d365-fo-acesso-privilegiado-com-prazo-de-validade-e-gravação&quot;&gt;Acesso privilegiado com prazo de validade e gravação&lt;/h1&gt;&lt;p&gt;&lt;time class=&quot;ldoc-chip&quot; data-atom=&quot;date&quot; data-chip=&quot;date&quot; data-ts=&quot;&amp;quot;2026-10-10&amp;quot;&quot; datetime=&quot;2026-10-10&quot;&gt;Oct 10, 2026&lt;/time&gt; · &lt;span class=&quot;ldoc-mention&quot; data-atom=&quot;mention&quot; data-mention-id=&quot;u_BshJJt_Z1w3qphVZUIwUCQ&quot; data-principal=&quot;u_BshJJt_Z1w3qphVZUIwUCQ&quot;&gt;@Francisco&lt;/span&gt;&lt;/p&gt;&lt;h2 id=&quot;introdução&quot;&gt;Introdução&lt;/h2&gt;&lt;p&gt;O D365 F&amp;amp;O agora permite conceder acesso elevado com horário de início e término e gravar tudo o que o usuário faz nesse intervalo. Isso resolve um dos achados de auditoria mais comuns em projetos de ERP: contas com papéis de administrador ou de gestor financeiro que permanecem ativas &quot;para sempre&quot;.&lt;/p&gt;&lt;p&gt;Na prática, alguém sempre precisa de um acesso extra: um key user que vai investigar um problema em produção, um contador cobrindo as férias de um colega, um consultor ajudando no fechamento do mês. O problema não é conceder o acesso, é esquecer de retirá-lo e não ter evidência do que foi feito com ele.&lt;/p&gt;&lt;p&gt;&lt;span style=&quot;box-sizing: border-box; margin: 0px; padding: 0px;&quot;&gt;Neste post, mostro como as duas funcionalidades do Security Governance resolvem isso juntas:&amp;nbsp;&lt;strong&gt;Temporary role management&lt;/strong&gt;&amp;nbsp;(acesso com prazo) e&amp;nbsp;&lt;strong&gt;Privileged user management&lt;/strong&gt;&amp;nbsp;(gravação e rastro de auditoria).&lt;/span&gt;&lt;/p&gt;&lt;h2 id=&quot;as-duas-peças-do-security-governance&quot;&gt;As duas peças do Security Governance&lt;/h2&gt;&lt;p&gt;As duas funcionalidades são independentes, mas foram pensadas para trabalharem juntas: uma controla &lt;strong&gt;o que&lt;/strong&gt; o usuário pode fazer e por quanto tempo; a outra registra &lt;strong&gt;o que ele efetivamente fez&lt;/strong&gt;.&lt;/p&gt;&lt;table style=&quot;min-width: 144px;&quot;&gt;&lt;colgroup&gt;&lt;col style=&quot;min-width: 48px;&quot;&gt;&lt;/col&gt;&lt;col style=&quot;min-width: 48px;&quot;&gt;&lt;/col&gt;&lt;col style=&quot;min-width: 48px;&quot;&gt;&lt;/col&gt;&lt;/colgroup&gt;&lt;tbody&gt;&lt;tr&gt;&lt;th colspan=&quot;1&quot; rowspan=&quot;1&quot;&gt;&lt;p&gt;&lt;/p&gt;&lt;/th&gt;&lt;th colspan=&quot;1&quot; rowspan=&quot;1&quot;&gt;&lt;p&gt;Temporary role management&lt;/p&gt;&lt;/th&gt;&lt;th colspan=&quot;1&quot; rowspan=&quot;1&quot;&gt;&lt;p&gt;Privileged user management&lt;/p&gt;&lt;/th&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;1&quot; rowspan=&quot;1&quot;&gt;&lt;p&gt;Objetivo&lt;/p&gt;&lt;/td&gt;&lt;td colspan=&quot;1&quot; rowspan=&quot;1&quot;&gt;&lt;p&gt;Atribuir papéis de segurança por um período (sessão)&lt;/p&gt;&lt;/td&gt;&lt;td colspan=&quot;1&quot; rowspan=&quot;1&quot;&gt;&lt;p&gt;Gravar a atividade de contas privilegiadas por um período&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;1&quot; rowspan=&quot;1&quot;&gt;&lt;p&gt;O que muda no usuário&lt;/p&gt;&lt;/td&gt;&lt;td colspan=&quot;1&quot; rowspan=&quot;1&quot;&gt;&lt;p&gt;Os papéis (Merge ou Replace)&lt;/p&gt;&lt;/td&gt;&lt;td colspan=&quot;1&quot; rowspan=&quot;1&quot;&gt;&lt;p&gt;O estado da conta (habilitada ou desabilitada)&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;1&quot; rowspan=&quot;1&quot;&gt;&lt;p&gt;Duração máxima&lt;/p&gt;&lt;/td&gt;&lt;td colspan=&quot;1&quot; rowspan=&quot;1&quot;&gt;&lt;p&gt;Sem limite&lt;/p&gt;&lt;/td&gt;&lt;td colspan=&quot;1&quot; rowspan=&quot;1&quot;&gt;&lt;p&gt;24 horas por sessão&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;1&quot; rowspan=&quot;1&quot;&gt;&lt;p&gt;Status para liberar o processamento&lt;/p&gt;&lt;/td&gt;&lt;td colspan=&quot;1&quot; rowspan=&quot;1&quot;&gt;&lt;p&gt;Planned&lt;/p&gt;&lt;/td&gt;&lt;td colspan=&quot;1&quot; rowspan=&quot;1&quot;&gt;&lt;p&gt;Approve&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;1&quot; rowspan=&quot;1&quot;&gt;&lt;p&gt;Logs disponíveis&lt;/p&gt;&lt;/td&gt;&lt;td colspan=&quot;1&quot; rowspan=&quot;1&quot;&gt;&lt;p&gt;Audit logs, User log, User role change log&lt;/p&gt;&lt;/td&gt;&lt;td colspan=&quot;1&quot; rowspan=&quot;1&quot;&gt;&lt;p&gt;Audit logs, User log, Recordings&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;1&quot; rowspan=&quot;1&quot;&gt;&lt;p&gt;Ao final da sessão&lt;/p&gt;&lt;/td&gt;&lt;td colspan=&quot;1&quot; rowspan=&quot;1&quot;&gt;&lt;p&gt;Usuário volta aos papéis originais&lt;/p&gt;&lt;/td&gt;&lt;td colspan=&quot;1&quot; rowspan=&quot;1&quot;&gt;&lt;p&gt;Conta volta ao estado original&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;p&gt;&lt;span style=&quot;box-sizing: border-box; margin: 0px; padding: 0px;&quot;&gt;Em ambos os casos, só quem tem o papel&amp;nbsp;&lt;strong&gt;System administrator&lt;/strong&gt;&amp;nbsp;cria e aprova as sessões, e é um processo em batch que efetivamente aplica e reverte as mudanças.&lt;/span&gt;&lt;/p&gt;&lt;h2 id=&quot;habilitando-a-funcionalidade&quot;&gt;Habilitando a funcionalidade&lt;/h2&gt;&lt;p&gt;As telas só aparecem depois de ativar a feature &lt;strong&gt;User security governance&lt;/strong&gt; no Feature management:&lt;/p&gt;&lt;ol&gt;&lt;li&gt;Acesse &lt;strong&gt;System administration &amp;gt; Workspaces &amp;gt; Feature management&lt;/strong&gt;.&lt;/li&gt;&lt;li&gt;Pesquise por &lt;em&gt;User security governance&lt;/em&gt;.&lt;/li&gt;&lt;li&gt;Selecione &lt;strong&gt;Enable now&lt;/strong&gt;.&lt;/li&gt;&lt;/ol&gt;&lt;p&gt;Com a feature ativa, os dois formulários ficam disponíveis em:&lt;/p&gt;&lt;ul&gt;&lt;li&gt;&lt;strong&gt;System administration &amp;gt; Security &amp;gt; Security governance &amp;gt; Temporary role management&lt;/strong&gt;&lt;/li&gt;&lt;li&gt;&lt;strong&gt;System administration &amp;gt; Security &amp;gt; Security governance &amp;gt; Privileged user management&lt;/strong&gt;&lt;/li&gt;&lt;/ul&gt;&lt;p&gt;Dica: antes de usar em produção, valide a feature em um ambiente de sandbox (Tier-2) com a mesma versão da plataforma. Como o processamento depende de batch, vale confirmar se o servidor de batch do ambiente está saudável.&lt;/p&gt;&lt;h2 id=&quot;temporary-role-management-o-acesso-com-prazo-de-validade&quot;&gt;Temporary role management: o acesso com prazo de validade&lt;/h2&gt;&lt;p&gt;Uma sessão de papel temporário atribui um conjunto de papéis a um usuário entre uma data/hora de início e uma de fim. Quando a sessão termina, o usuário volta exatamente aos papéis que tinha antes. Casos típicos: cobertura de férias e divisão temporária de uma função entre várias pessoas.&lt;/p&gt;&lt;h3 id=&quot;ciclo-de-vida-da-sessão&quot;&gt;Ciclo de vida da sessão&lt;/h3&gt;&lt;ol&gt;&lt;li&gt;Em &lt;strong&gt;Temporary role management&lt;/strong&gt;, clique em &lt;strong&gt;New&lt;/strong&gt;. O registro nasce com status &lt;strong&gt;Draft&lt;/strong&gt;.&lt;/li&gt;&lt;li&gt;Informe o &lt;strong&gt;User ID&lt;/strong&gt;, o tipo de sessão, o início e o fim.&lt;/li&gt;&lt;li&gt;Em &lt;strong&gt;Assign roles&lt;/strong&gt;, escolha os papéis temporários. Se o acesso deve valer apenas para algumas empresas, use &lt;strong&gt;Assign organizations&lt;/strong&gt;.&lt;/li&gt;&lt;li&gt;Um System administrator aprova mudando o &lt;strong&gt;Change status&lt;/strong&gt; para &lt;strong&gt;Planned&lt;/strong&gt;.&lt;/li&gt;&lt;li&gt;O batch processa a sessão (ou o admin clica em &lt;strong&gt;Process&lt;/strong&gt; manualmente). No horário de início, o status passa para &lt;strong&gt;Active&lt;/strong&gt;.&lt;/li&gt;&lt;li&gt;Ao fim do horário, os papéis temporários são revogados e o status passa a&amp;nbsp;&lt;strong&gt;&#39;Finished&#39;&lt;/strong&gt;.&lt;/li&gt;&lt;/ol&gt;&lt;h3 id=&quot;merge-ou-replace&quot;&gt;Merge ou Replace?&lt;/h3&gt;&lt;ul&gt;&lt;li&gt;&lt;strong&gt;Merge&lt;/strong&gt; soma os papéis temporários aos que o usuário já possui. É o caso mais comum: o usuário continua fazendo o trabalho dele e ainda ganha algo a mais.&lt;/li&gt;&lt;li&gt;&lt;strong&gt;Replace&lt;/strong&gt; substitui os papéis atuais pelos temporários durante a sessão. Útil quando o usuário vai assumir outra função e não deve acumular acessos (pense na segregação de funções).&lt;/li&gt;&lt;/ul&gt;&lt;p&gt;Em ambos, ao final, os papéis originais são devolvidos. A aba &lt;strong&gt;Original roles&lt;/strong&gt; mostra o que o usuário tinha antes, o que ajuda na revisão.&lt;/p&gt;&lt;h3 id=&quot;rastreabilidade&quot;&gt;Rastreabilidade&lt;/h3&gt;&lt;ul&gt;&lt;li&gt;&lt;strong&gt;Audit logs&lt;/strong&gt;: cada mudança de status, quando, por quem e se foi o batch ou um administrador que processou.&lt;/li&gt;&lt;li&gt;&lt;strong&gt;User log&lt;/strong&gt;: os logins do usuário durante a sessão ativa (e o momento em que a sessão terminou). Logins fora da janela não aparecem aqui.&lt;/li&gt;&lt;li&gt;&lt;strong&gt;User role change log&lt;/strong&gt;: todas as alterações de papéis realizadas durante a sessão.&lt;/li&gt;&lt;/ul&gt;&lt;p&gt;Atenção: ao contrário da gravação, &lt;strong&gt;não há limite de duração&lt;/strong&gt; para uma sessão de papel temporário. Cabe ao processo interno definir um teto razoável.&lt;/p&gt;&lt;h2 id=&quot;privileged-user-management-gravando-o-que-foi-feito&quot;&gt;Privileged user management: gravando o que foi feito&lt;/h2&gt;&lt;p&gt;O Privileged user management agenda uma sessão para uma conta e, durante essa sessão, grava as interações do usuário na interface por meio do&amp;nbsp;&lt;strong&gt;Task recorder&lt;/strong&gt;.&amp;nbsp;A ideia é ter evidência objetiva, para fins de auditoria e compliance, de que uma conta com poderes elevados não foi usada para nada fora do combinado.&lt;/p&gt;&lt;h3 id=&quot;ciclo-de-vida-da-sessão-1&quot;&gt;Ciclo de vida da sessão&lt;/h3&gt;&lt;ol&gt;&lt;li&gt;Em &lt;strong&gt;Privileged user management&lt;/strong&gt;, clique em &lt;strong&gt;New&lt;/strong&gt;. O registro nasce como &lt;strong&gt;Draft&lt;/strong&gt;.&lt;/li&gt;&lt;li&gt;Informe o&amp;nbsp;&lt;strong&gt;User ID&lt;/strong&gt;&amp;nbsp;e as janelas de início e de fim.&amp;nbsp;A sessão pode durar,&amp;nbsp;&lt;strong&gt;no máximo, 24 horas&lt;/strong&gt;.&lt;/li&gt;&lt;li&gt;Defina se a conta deve ser &lt;strong&gt;habilitada&lt;/strong&gt; (se estava desabilitada) ou &lt;strong&gt;desabilitada&lt;/strong&gt; quando a sessão começar. Ao final, a conta volta ao estado original.&lt;/li&gt;&lt;li&gt;Um System administrator aprova mudando o &lt;strong&gt;Change status&lt;/strong&gt; para &lt;strong&gt;Approve&lt;/strong&gt;.&lt;/li&gt;&lt;li&gt;O batch processa a sessão (ou o admin processa manualmente). Ao fechar a janela, o status passa para&amp;nbsp;&lt;strong&gt;Ended&lt;/strong&gt;.&lt;/li&gt;&lt;/ol&gt;&lt;h3 id=&quot;consentimento-e-gravação&quot;&gt;Consentimento e gravação&lt;/h3&gt;&lt;p&gt;Quando o administrador agenda a sessão, o sistema avisa que o Task recorder vai capturar as interações do usuário; seguir em frente significa concordar com a gravação. Do lado do usuário, ao entrar no sistema durante a sessão, aparece uma mensagem de consentimento no topo da página. Se ele continuar usando o F&amp;amp;O, a sessão será gravada; se não concordar, deve fechar a aplicação.&lt;/p&gt;&lt;p&gt;O Task recorder registra o tipo de ação (clique em botão, preenchimento de campo, navegação) e os dados associados a ela.&amp;nbsp;&lt;span style=&quot;box-sizing: border-box; margin: 0px; padding: 0px;&quot;&gt;Cada sessão gera uma gravação separada, armazenada na aba&amp;nbsp;&lt;strong&gt;Recordings&lt;/strong&gt;, a partir da qual pode ser baixada.&lt;/span&gt;&amp;nbsp;As gravações&amp;nbsp;&lt;strong&gt;ficam lá até que alguém as apague manualmente&lt;/strong&gt;.&lt;/p&gt;&lt;h3 id=&quot;rastreabilidade-1&quot;&gt;Rastreabilidade&lt;/h3&gt;&lt;ul&gt;&lt;li&gt;&lt;strong&gt;Audit logs&lt;/strong&gt;: mudanças de status, data/hora, autor e se a aprovação veio do batch ou de um administrador.&lt;/li&gt;&lt;li&gt;&lt;strong&gt;User log&lt;/strong&gt;: os logins da conta durante a sessão privilegiada, com o tempo gasto em cada um. Nada fora da janela é registrado.&lt;/li&gt;&lt;li&gt;&lt;strong&gt;Recordings&lt;/strong&gt;: o arquivo do Task Recorder de cada sessão.&lt;/li&gt;&lt;/ul&gt;&lt;p&gt;A Microsoft recomenda usar o recurso apenas para contas realmente privilegiadas, cada uma com uma função única, e mantê-las&amp;nbsp;&lt;strong&gt;desabilitadas quando não estiverem em uso&lt;/strong&gt;.&amp;nbsp;A opção de habilitar a conta apenas durante a sessão se encaixa exatamente nesse modelo.&lt;/p&gt;&lt;h2 id=&quot;cenário-prático-30-minutos-de-accountant-com-gravação&quot;&gt;Cenário prático: 30 minutos de Accountant, com gravação&lt;/h2&gt;&lt;p&gt;Um key user precisa do papel de&amp;nbsp;&lt;strong&gt;Accountant&lt;/strong&gt; por 30 minutos (das 16:00 às 16:30) para investigar um lançamento em produção. A área de controles exige que o acesso seja temporário e que haja evidência de que nenhuma configuração foi alterada.&lt;/p&gt;&lt;div caption=&quot;ciclo de status das duas sessões no cenário&quot; data-lfile-embed=&quot;node/2c143013-5dea&quot; ref=&quot;node/2c143013-5dea&quot;&gt;[embed: node/2c143013-5dea]&lt;/div&gt;&lt;p&gt;As duas sessões correm em paralelo: uma concede e revoga o papel, a outra grava o que acontece no meio.&lt;/p&gt;&lt;h3 id=&quot;passo-1-conceder-o-papel-temporário&quot;&gt;Passo 1: conceder o papel temporário&lt;/h3&gt;&lt;p&gt;Em &lt;strong&gt;Temporary role management&lt;/strong&gt;:&lt;/p&gt;&lt;ol&gt;&lt;li&gt;Crie um registro e informe o &lt;strong&gt;User ID&lt;/strong&gt;.&lt;/li&gt;&lt;li&gt;Escolha &lt;strong&gt;Merge&lt;/strong&gt; para manter os papéis atuais do usuário.&lt;/li&gt;&lt;li&gt;Informe início às 16:00 e fim às 16:30.&lt;/li&gt;&lt;li&gt;Em &lt;strong&gt;Assign roles&lt;/strong&gt;, inclua &lt;strong&gt;Accountant&lt;/strong&gt; e&amp;nbsp;&lt;strong&gt;System user&lt;/strong&gt;.&lt;/li&gt;&lt;li&gt;Mude o status para &lt;strong&gt;Planned&lt;/strong&gt;.&lt;/li&gt;&lt;/ol&gt;&lt;p&gt;Pegadinha: se o &lt;strong&gt;System user&lt;/strong&gt; não estiver entre os papéis temporários, o sistema retorna um erro ao processar a sessão. Inclua-o sempre.&lt;/p&gt;&lt;h3 id=&quot;passo-2-agendar-o-batch-uma-única-vez&quot;&gt;Passo 2: agendar o batch (uma única vez)&lt;/h3&gt;&lt;p&gt;O processamento das sessões depende de um job em batch recorrente. Configure-o uma vez, com recorrência curta (por exemplo, a cada poucos minutos, conforme a precisão de horário de que vocês precisam). A partir daí, ele aplica e revoga as sessões sozinho. Quando a sessão for aplicada, o status muda para &lt;strong&gt;Active&lt;/strong&gt; e o papel aparece na atribuição do usuário.&lt;/p&gt;&lt;h3 id=&quot;passo-3-agendar-a-gravação&quot;&gt;Passo 3: agendar a gravação&lt;/h3&gt;&lt;p&gt;Em &lt;strong&gt;Privileged user management&lt;/strong&gt;:&lt;/p&gt;&lt;ol&gt;&lt;li&gt;Crie um registro com o mesmo &lt;strong&gt;User ID&lt;/strong&gt;.&lt;/li&gt;&lt;li&gt;Defina a janela de gravação, por exemplo, das 16:05 às 16:30.&lt;/li&gt;&lt;li&gt;Mude o status para &lt;strong&gt;Approve&lt;/strong&gt;.&lt;/li&gt;&lt;li&gt;Se ainda não houver um batch ativo para esse processo, configure-o; se já houver, não é preciso criar outro.&lt;/li&gt;&lt;/ol&gt;&lt;p&gt;Quando o usuário entrar no sistema dentro da janela, verá o aviso de que a sessão está sendo gravada.&lt;/p&gt;&lt;h3 id=&quot;passo-4-o-fim-das-sessões&quot;&gt;Passo 4: o fim das sessões&lt;/h3&gt;&lt;p&gt;Às 16:30, as duas sessões terminam: o registro de papel temporário passa para&amp;nbsp;&lt;strong&gt;Finished&lt;/strong&gt;&amp;nbsp;(o Accountant é removido) e o de gravação passa para&amp;nbsp;&lt;strong&gt;Ended&lt;/strong&gt;.&amp;nbsp;A gravação fica disponível na aba &lt;strong&gt;Recordings&lt;/strong&gt;.&lt;/p&gt;&lt;p&gt;Uma observação de desenho: no exemplo, a gravação começa cinco minutos após o papel. Em produção eu prefiro alinhar as duas janelas, ou começar a gravação antes, para não deixar nenhum minuto de acesso elevado sem registro.&lt;/p&gt;&lt;h2 id=&quot;analisando-a-gravação-com-security-diagnostics&quot;&gt;Analisando a gravação com Security diagnostics&lt;/h2&gt;&lt;p&gt;O arquivo baixado da aba &lt;strong&gt;Recordings&lt;/strong&gt; pode ser lido no próprio F&amp;amp;O, sem precisar abrir o Task recorder e reproduzir passo a passo:&lt;/p&gt;&lt;ol&gt;&lt;li&gt;Baixe a gravação em &lt;strong&gt;Privileged user management &amp;gt; Recordings &amp;gt; Download&lt;/strong&gt;.&lt;/li&gt;&lt;li&gt;Acesse &lt;strong&gt;System administration &amp;gt; Security &amp;gt; Security diagnostics for task recordings&lt;/strong&gt;.&lt;/li&gt;&lt;li&gt;&lt;span style=&quot;box-sizing: border-box; margin: 0px; padding: 0px;&quot;&gt;Selecione&amp;nbsp;&lt;strong&gt;&quot;Open from this PC&quot;&lt;/strong&gt;, clique em&amp;nbsp;&lt;strong&gt;&quot;Browse&quot;&lt;/strong&gt;&amp;nbsp;e escolha o arquivo.&lt;/span&gt;&lt;/li&gt;&lt;/ol&gt;&lt;p&gt;Após o upload, o sistema lista os pontos de entrada de segurança acionados e as telas visitadas pelo usuário durante a sessão. É esse resultado que fecha o ciclo para o auditor: quem teve o acesso, por quanto tempo e o que fez com ele.&lt;/p&gt;&lt;h2 id=&quot;boas-práticas-e-pegadinhas&quot;&gt;Boas práticas e pegadinhas&lt;/h2&gt;&lt;ul&gt;&lt;li&gt;&lt;strong&gt;Use os dois juntos.&lt;/strong&gt;&amp;nbsp;O papel temporário sem gravação reduz o tempo de exposição, mas não gera evidência do uso. Gravação sem papel temporário gera evidência, mas o acesso continua lá depois.&lt;/li&gt;&lt;li&gt;&lt;strong&gt;Inclua o System user&lt;/strong&gt; nos papéis temporários. Sem ele, o processamento falha.&lt;/li&gt;&lt;li&gt;&lt;strong&gt;Monitore o batch.&lt;/strong&gt; Se o job parar, as sessões nem começam nem terminam na hora. Um papel que deveria ter sido revogado permanece ativo, o que é justamente o risco que se quer evitar.&lt;/li&gt;&lt;li&gt;&lt;strong&gt;Defina um teto interno para Temporary role management.&lt;/strong&gt; O produto não limita a duração; a política da empresa deve fazê-lo.&lt;/li&gt;&lt;li&gt;&lt;span style=&quot;box-sizing: border-box; margin: 0px; padding: 0px;&quot;&gt;&lt;strong&gt;Mantenha as contas privilegiadas desabilitadas&lt;/strong&gt;&amp;nbsp;fora das sessões e use a opção para habilitá-las apenas durante a janela de gravação.&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;strong&gt;Prefira Replace quando houver conflito de segregação de funções.&lt;/strong&gt;&amp;nbsp;Se o papel temporário, somado aos atuais, cria um conflito (por exemplo, entre cadastro de fornecedor e liberação de pagamento), substituir é mais seguro do que mesclar.&lt;/li&gt;&lt;li&gt;&lt;strong&gt;Restrinja por empresa&lt;/strong&gt; com &lt;strong&gt;Assign organizations&lt;/strong&gt; quando o acesso só fizer sentido em uma entidade legal.&lt;/li&gt;&lt;li&gt;&lt;strong&gt;Cuide das gravações.&lt;/strong&gt;&amp;nbsp;Elas ficam guardadas até que alguém as apague. Defina quem baixa, onde arquiva e por quanto tempo, em conformidade com a política de retenção e com a LGPD/GDPR, já que contêm dados de usuário.&lt;/li&gt;&lt;li&gt;&lt;strong&gt;Avise os usuários antes.&lt;/strong&gt; A mensagem de consentimento aparece no login, mas comunicar o processo com antecedência evita surpresa e sessões abandonadas.&lt;/li&gt;&lt;/ul&gt;&lt;h2 id=&quot;conclusão&quot;&gt;Conclusão&lt;/h2&gt;&lt;p&gt;Com Temporary role management e Privileged user management, o D365 F&amp;amp;O passa a cobrir nativamente o ciclo completo de acesso privilegiado: conceder com prazo, revogar automaticamente e comprovar o que foi feito. Para quem atende a auditorias SOX ou a controles de ITGC, isso substitui planilhas e lembretes manuais por evidências geradas pelo próprio sistema.&lt;/p&gt;&lt;p&gt;O investimento é pequeno: ativar uma feature, agendar um batch e alinhar o processo com a área de controles. O retorno é sair da próxima auditoria sem o clássico achado de &quot;administrador permanente&quot;.&lt;/p&gt;&lt;h2 id=&quot;referências&quot;&gt;Referências&lt;/h2&gt;&lt;ul&gt;&lt;li&gt;&lt;a href=&quot;https://learn.microsoft.com/en-us/dynamics365/fin-ops-core/fin-ops/sysadmin/priv-user-mgmt&quot; rel=&quot;noopener noreferrer nofollow&quot; target=&quot;_blank&quot;&gt;Privileged user management (Microsoft Learn)&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href=&quot;https://learn.microsoft.com/en-us/dynamics365/fin-ops-core/fin-ops/sysadmin/temp-role-mgmt&quot; rel=&quot;noopener noreferrer nofollow&quot; target=&quot;_blank&quot;&gt;Temporary role management (Microsoft Learn)&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href=&quot;https://dynamics365clouderp.blogspot.com/2025/09/privileged-user-management-in-dynamics.html&quot; rel=&quot;noopener noreferrer nofollow&quot; target=&quot;_blank&quot;&gt;Privileged User Management in Dynamics 365 Finance and Supply Chain Management, por Dogan Adiyaman&lt;/a&gt;&lt;/li&gt;&lt;/ul&gt;</content><link rel='replies' type='application/atom+xml' href='http://fsilvajunior.blogspot.com/feeds/1800821217315196272/comments/default' title='Postar comentários'/><link rel='replies' type='text/html' href='http://fsilvajunior.blogspot.com/2026/10/privileged-user-management-no-d365-f.html#comment-form' title='0 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6956220039993174035/posts/default/1800821217315196272'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6956220039993174035/posts/default/1800821217315196272'/><link rel='alternate' type='text/html' href='http://fsilvajunior.blogspot.com/2026/10/privileged-user-management-no-d365-f.html' title='Privileged User Management no D365 F&amp;O'/><author><name>Francisco Silva Jr.</name><uri>http://www.blogger.com/profile/15240847900054947078</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6956220039993174035.post-4132362558088246649</id><published>2026-09-30T06:18:30.697-07:00</published><updated>2026-09-30T06:18:30.697-07:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="D365F&amp;O"/><category scheme="http://www.blogger.com/atom/ns#" term="PPAC"/><category scheme="http://www.blogger.com/atom/ns#" term="PU"/><category scheme="http://www.blogger.com/atom/ns#" term="QU"/><category scheme="http://www.blogger.com/atom/ns#" term="releases"/><category scheme="http://www.blogger.com/atom/ns#" term="Updates"/><title type='text'>D365F&amp;O - Atualizações via Power Platform</title><content type='html'>&lt;!-- Título sugerido do post: D365 F&amp;O em ambientes unificados (PPAC): Service Updates, Quality Updates e Hotfixes sem LCS --&gt;
&lt;!-- Marcadores sugeridos: D365 F&amp;O, Power Platform, PPAC, Unified Environments, UDE, PQU --&gt;

&lt;div style=&quot;font-family: inherit; line-height: 1.6;&quot;&gt;

&lt;p&gt;Com a migração da administração do Dynamics 365 Finance and Operations do Lifecycle Services (LCS) para o &lt;b&gt;Power Platform admin center (PPAC)&lt;/b&gt;, uma das dúvidas mais frequentes é: &lt;i&gt;como ficam os Service Updates, os Quality Updates (PQU) e os hotfixes?&lt;/i&gt;&lt;/p&gt;

&lt;p&gt;Neste post reúno o que está documentado hoje pela Microsoft (e alguns pontos da comunidade) considerando exclusivamente um &lt;b&gt;ambiente Sandbox criado no Power Platform&lt;/b&gt; (USE ou UDE), &lt;b&gt;sem qualquer envolvimento do LCS&lt;/b&gt;.&lt;/p&gt;

&lt;h2&gt;1. O modelo mudou: o F&amp;amp;O agora é uma aplicação&lt;/h2&gt;

&lt;p&gt;Em ambientes unificados, o Finance and Operations deixa de ser um &quot;ambiente&quot; próprio e passa a ser uma &lt;b&gt;aplicação Dynamics 365 instalada num ambiente Power Platform&lt;/b&gt; com Dataverse. Na prática, isto significa que &lt;b&gt;Service Updates e Quality Updates são aplicados pela mesma operação&lt;/b&gt;: atualizar a versão da aplicação &lt;b&gt;Dynamics 365 Finance and Operations Provisioning App&lt;/b&gt;.&lt;/p&gt;

&lt;h3&gt;Nomenclatura das versões&lt;/h3&gt;

&lt;p&gt;No PPAC as versões seguem o formato &lt;code&gt;10.0.XX.N&lt;/code&gt;, onde &lt;code&gt;10.0.XX&lt;/code&gt; é o service update e &lt;code&gt;N&lt;/code&gt; indica o nível de PQU incluído.&lt;/p&gt;

&lt;table style=&quot;border-collapse: collapse; width: 100%; margin: 12px 0;&quot;&gt;
  &lt;thead&gt;
    &lt;tr style=&quot;background: #f2f2f2;&quot;&gt;
      &lt;th style=&quot;border: 1px solid #ccc; padding: 6px; text-align: left;&quot;&gt;Versão&lt;/th&gt;
      &lt;th style=&quot;border: 1px solid #ccc; padding: 6px; text-align: left;&quot;&gt;Significado&lt;/th&gt;
      &lt;th style=&quot;border: 1px solid #ccc; padding: 6px; text-align: left;&quot;&gt;Disponível em&lt;/th&gt;
    &lt;/tr&gt;
  &lt;/thead&gt;
  &lt;tbody&gt;
    &lt;tr&gt;
      &lt;td style=&quot;border: 1px solid #ccc; padding: 6px;&quot;&gt;10.0.40.2 (Preview)&lt;/td&gt;
      &lt;td style=&quot;border: 1px solid #ccc; padding: 6px;&quot;&gt;10.0.40 com 3 PQUs, build preview&lt;/td&gt;
      &lt;td style=&quot;border: 1px solid #ccc; padding: 6px;&quot;&gt;Apenas ambientes com early release cycle&lt;/td&gt;
    &lt;/tr&gt;
    &lt;tr&gt;
      &lt;td style=&quot;border: 1px solid #ccc; padding: 6px;&quot;&gt;10.0.39.4&lt;/td&gt;
      &lt;td style=&quot;border: 1px solid #ccc; padding: 6px;&quot;&gt;10.0.39 com 5 PQUs&lt;/td&gt;
      &lt;td style=&quot;border: 1px solid #ccc; padding: 6px;&quot;&gt;Todas as geografias&lt;/td&gt;
    &lt;/tr&gt;
    &lt;tr&gt;
      &lt;td style=&quot;border: 1px solid #ccc; padding: 6px;&quot;&gt;10.0.38.9&lt;/td&gt;
      &lt;td style=&quot;border: 1px solid #ccc; padding: 6px;&quot;&gt;10.0.38 com 10 PQUs&lt;/td&gt;
      &lt;td style=&quot;border: 1px solid #ccc; padding: 6px;&quot;&gt;Todas as geografias&lt;/td&gt;
    &lt;/tr&gt;
  &lt;/tbody&gt;
&lt;/table&gt;

&lt;p&gt;Pontos importantes:&lt;/p&gt;
&lt;ul&gt;
  &lt;li&gt;Cada versão disponível já inclui o &lt;b&gt;PQU mais recente&lt;/b&gt; daquele service update.&lt;/li&gt;
  &lt;li&gt;&lt;b&gt;Não é possível&lt;/b&gt; escolher um build anterior de uma mesma versão.&lt;/li&gt;
  &lt;li&gt;Builds &lt;b&gt;preview&lt;/b&gt; só aparecem em ambientes com &lt;b&gt;early release cycle&lt;/b&gt;.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;O calendário oficial de PQU já publica o mapeamento entre o build &quot;clássico&quot; e a versão do Provisioning App. Exemplo: o train &lt;b&gt;10.0.48 Release-6&lt;/b&gt; corresponde ao App version &lt;code&gt;10.0.2645.136&lt;/code&gt;, Platform &lt;code&gt;7.0.7996.119&lt;/code&gt; e &lt;b&gt;Unified Environment Provisioning Application Version &lt;code&gt;10.0.48.7&lt;/code&gt;&lt;/b&gt;.&lt;/p&gt;

&lt;h2&gt;2. Aplicar manualmente um Service Update ou Quality Update num Sandbox&lt;/h2&gt;

&lt;ol&gt;
  &lt;li&gt;Aceda ao &lt;b&gt;PPAC&lt;/b&gt; → &lt;b&gt;Environments&lt;/b&gt; → selecione o ambiente.&lt;/li&gt;
  &lt;li&gt;No cartão &lt;b&gt;Resources&lt;/b&gt;, clique em &lt;b&gt;Dynamics 365 apps&lt;/b&gt;.&lt;/li&gt;
  &lt;li&gt;Selecione &lt;b&gt;Dynamics 365 Finance and Operations Provisioning App&lt;/b&gt; → &lt;b&gt;…&lt;/b&gt; → &lt;b&gt;Manage&lt;/b&gt;.&lt;br/&gt;
      &lt;i&gt;Se a opção Manage não aparecer, o ambiente já está na versão mais recente.&lt;/i&gt;&lt;/li&gt;
  &lt;li&gt;Confirme o aviso. Na nova página, escolha a versão na lista (só aparecem versões &lt;b&gt;superiores&lt;/b&gt; à instalada).&lt;br/&gt;
      &lt;i&gt;Se a lista estiver vazia, não submeta o pedido: o ambiente já está atualizado.&lt;/i&gt;&lt;/li&gt;
  &lt;li&gt;Aceite os termos e clique em &lt;b&gt;Install&lt;/b&gt;. O estado da aplicação passa a &lt;b&gt;Installing&lt;/b&gt;; a Microsoft indica cerca de &lt;b&gt;1 hora&lt;/b&gt; de duração.&lt;/li&gt;
&lt;/ol&gt;

&lt;h3&gt;Acompanhar a operação&lt;/h3&gt;
&lt;p&gt;Além do painel &lt;b&gt;Details&lt;/b&gt; da aplicação, o progresso pode ser acompanhado na app &lt;b&gt;Finance and Operations Package Manager&lt;/b&gt; (PPAC → Resources → Power Apps), no separador &lt;b&gt;Operation History&lt;/b&gt;.&lt;/p&gt;

&lt;h3&gt;Via Power Platform CLI (preview)&lt;/h3&gt;
&lt;p&gt;O grupo de comandos &lt;code&gt;pac dynamics&lt;/code&gt; já permite automatizar este processo:&lt;/p&gt;

&lt;pre style=&quot;background: #f6f8fa; border: 1px solid #ddd; padding: 10px; overflow-x: auto;&quot;&gt;&lt;code&gt;# Listar versões disponíveis para o ambiente
pac dynamics get-fin-ops-versions --environment https://meuambiente.crm4.dynamics.com

# Aplicar uma versão específica (operação de longa duração)
pac dynamics apply-fin-ops-version --version 10.0.47.5 --environment https://meuambiente.crm4.dynamics.com

# Consultar erros recentes de operações
pac dynamics get-fin-ops-operation-errors --environment https://meuambiente.crm4.dynamics.com&lt;/code&gt;&lt;/pre&gt;

&lt;h2&gt;3. Service Updates automáticos em ambientes unificados&lt;/h2&gt;

&lt;p&gt;A Microsoft mantém uma página de calendário &lt;b&gt;específica para ambientes unificados&lt;/b&gt;, com o build e a versão do Provisioning App de cada service update. Os clientes com ambientes agendados recebem notificação antes do rollout.&lt;/p&gt;

&lt;p&gt;O rollout segue o modelo de &lt;b&gt;estações&lt;/b&gt; (o mesmo usado pelos PQUs):&lt;/p&gt;

&lt;table style=&quot;border-collapse: collapse; width: 100%; margin: 12px 0;&quot;&gt;
  &lt;thead&gt;
    &lt;tr style=&quot;background: #f2f2f2;&quot;&gt;
      &lt;th style=&quot;border: 1px solid #ccc; padding: 6px; text-align: left;&quot;&gt;Estação&lt;/th&gt;
      &lt;th style=&quot;border: 1px solid #ccc; padding: 6px; text-align: left;&quot;&gt;Regiões&lt;/th&gt;
    &lt;/tr&gt;
  &lt;/thead&gt;
  &lt;tbody&gt;
    &lt;tr&gt;&lt;td style=&quot;border: 1px solid #ccc; padding: 6px;&quot;&gt;Station 1&lt;/td&gt;&lt;td style=&quot;border: 1px solid #ccc; padding: 6px;&quot;&gt;Apenas ambientes opted-in&lt;/td&gt;&lt;/tr&gt;
    &lt;tr&gt;&lt;td style=&quot;border: 1px solid #ccc; padding: 6px;&quot;&gt;Station 2&lt;/td&gt;&lt;td style=&quot;border: 1px solid #ccc; padding: 6px;&quot;&gt;Canada Central/East, France Central, India Central, Norway East, Switzerland West&lt;/td&gt;&lt;/tr&gt;
    &lt;tr&gt;&lt;td style=&quot;border: 1px solid #ccc; padding: 6px;&quot;&gt;Station 3&lt;/td&gt;&lt;td style=&quot;border: 1px solid #ccc; padding: 6px;&quot;&gt;France South, India South, Norway West, Switzerland North, South Africa North, Australia East/South East, UK South, UAE North, Japan East, South East Asia&lt;/td&gt;&lt;/tr&gt;
    &lt;tr&gt;&lt;td style=&quot;border: 1px solid #ccc; padding: 6px;&quot;&gt;Station 4&lt;/td&gt;&lt;td style=&quot;border: 1px solid #ccc; padding: 6px;&quot;&gt;East Asia, UK West, Japan West, Brazil South, North Europe, East US, UAE Central&lt;/td&gt;&lt;/tr&gt;
    &lt;tr&gt;&lt;td style=&quot;border: 1px solid #ccc; padding: 6px;&quot;&gt;Station 5&lt;/td&gt;&lt;td style=&quot;border: 1px solid #ccc; padding: 6px;&quot;&gt;West Europe, Central US, West US&lt;/td&gt;&lt;/tr&gt;
    &lt;tr&gt;&lt;td style=&quot;border: 1px solid #ccc; padding: 6px;&quot;&gt;Station 6&lt;/td&gt;&lt;td style=&quot;border: 1px solid #ccc; padding: 6px;&quot;&gt;DoD, GCC, China&lt;/td&gt;&lt;/tr&gt;
  &lt;/tbody&gt;
&lt;/table&gt;

&lt;p&gt;&lt;b&gt;Detalhe importante:&lt;/b&gt; o service update automático 10.0.48 aplica-se apenas a ambientes em &lt;b&gt;10.0.46 ou anterior&lt;/b&gt;; ambientes já em 10.0.47 ou superior são ignorados. Ou seja, o auto-update atua sobre ambientes que ficaram para trás, e quem se mantém atualizado manualmente não é &quot;empurrado&quot;.&lt;/p&gt;

&lt;h3&gt;E pausar?&lt;/h3&gt;
&lt;p&gt;O mecanismo de &lt;i&gt;pause service updates&lt;/i&gt; documentado é exclusivo do LCS. No PPAC, o controlo disponível são as &lt;b&gt;Maintenance Settings&lt;/b&gt; do Finance and Operations. Via CLI, o parâmetro &lt;code&gt;--updated-maintenance-window-cadence&lt;/code&gt; do comando &lt;code&gt;pac dynamics update-fin-ops-maintenance-settings&lt;/code&gt; aceita os valores &lt;code&gt;EveryUpdate&lt;/code&gt;, &lt;code&gt;EveryOtherUpdate&lt;/code&gt; e &lt;code&gt;Regulated&lt;/code&gt;. Até ao momento, não encontrei documentação no Microsoft Learn que detalhe o comportamento de cada valor no PPAC.&lt;/p&gt;

&lt;h2&gt;4. Proactive Quality Updates (PQU)&lt;/h2&gt;

&lt;ul&gt;
  &lt;li&gt;&lt;b&gt;Mesmo calendário:&lt;/b&gt; segundo a Microsoft, não há diferença no agendamento de PQUs entre ambientes unificados e ambientes geridos pelo LCS.&lt;/li&gt;
  &lt;li&gt;&lt;b&gt;Cadência quinzenal:&lt;/b&gt; a partir da 10.0.47, os PQUs passaram de um ciclo de 28 dias para um ciclo de &lt;b&gt;duas semanas&lt;/b&gt;.&lt;/li&gt;
  &lt;li&gt;&lt;b&gt;Sandbox primeiro:&lt;/b&gt; produção recebe o PQU sempre &lt;b&gt;pelo menos 5 dias depois&lt;/b&gt; dos sandboxes.&lt;/li&gt;
  &lt;li&gt;&lt;b&gt;Não é possível adiar, reagendar ou pausar&lt;/b&gt; um PQU, nem pedir exclusão da cadência quinzenal.&lt;/li&gt;
  &lt;li&gt;&lt;b&gt;Aplicação antecipada:&lt;/b&gt; é possível instalar um PQU antes do calendário. Em ambientes unificados isso equivale a escolher a versão &lt;code&gt;.N&lt;/code&gt; mais alta no Provisioning App. Se o ambiente já tiver um build igual ou superior, o PQU agendado é ignorado.&lt;/li&gt;
  &lt;li&gt;&lt;b&gt;PQU ignorado&lt;/b&gt; quando existe um service update agendado nos 7 dias seguintes.&lt;/li&gt;
  &lt;li&gt;&lt;b&gt;Sem rollback:&lt;/b&gt; após aplicado, um PQU não pode ser revertido. Em ambientes unificados, a alternativa prática é trabalhar com cópias/backups do ambiente antes de atualizar.&lt;/li&gt;
  &lt;li&gt;&lt;b&gt;Notificações:&lt;/b&gt; chegam pelo &lt;b&gt;Message center&lt;/b&gt; do Microsoft 365 admin center.&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;Receber PQUs em dias úteis (apenas produção)&lt;/h3&gt;
&lt;ol&gt;
  &lt;li&gt;PPAC → ambiente de &lt;b&gt;produção&lt;/b&gt; → &lt;b&gt;Settings&lt;/b&gt;.&lt;/li&gt;
  &lt;li&gt;Em &lt;b&gt;Updates&lt;/b&gt;, selecione &lt;b&gt;Maintenance Settings&lt;/b&gt;.&lt;/li&gt;
  &lt;li&gt;Na secção &lt;b&gt;Finance and Operations Maintenance Settings&lt;/b&gt;, escolha os &lt;b&gt;Maintenance window days&lt;/b&gt;.&lt;/li&gt;
  &lt;li&gt;Guarde. (Também é possível via &lt;code&gt;pac dynamics update-fin-ops-maintenance-settings --updated-maintenance-window-days-of-week&lt;/code&gt;.)&lt;/li&gt;
&lt;/ol&gt;

&lt;h2&gt;5. E os hotfixes individuais (KB)?&lt;/h2&gt;

&lt;p&gt;Este é o ponto com &lt;b&gt;menos documentação&lt;/b&gt;. Tudo o que a Microsoft documenta sobre aplicar hotfixes manualmente refere-se ao LCS. No PPAC:&lt;/p&gt;
&lt;ul&gt;
  &lt;li&gt;O &lt;b&gt;Asset library não existe&lt;/b&gt;: pacotes ficam no Azure DevOps e são importados diretamente para o Dataverse.&lt;/li&gt;
  &lt;li&gt;Não é possível escolher um build anterior de uma versão, nem (segundo a FAQ do UDE) provisionar/atualizar para um runtime update específico.&lt;/li&gt;
  &lt;li&gt;Não encontrei documentação oficial que descreva a seleção de um KB avulso num ambiente unificado.&lt;/li&gt;
&lt;/ul&gt;

&lt;div style=&quot;border-left: 4px solid #0078d4; background: #f3f9fd; padding: 10px 14px; margin: 12px 0;&quot;&gt;
&lt;b&gt;Conclusão prática:&lt;/b&gt; em ambientes unificados, o &quot;hotfix&quot; chega sempre como parte do &lt;b&gt;PQU cumulativo&lt;/b&gt; seguinte, aplicado automaticamente ou manualmente através do Provisioning App. Se um fix crítico ainda não estiver num PQU, o caminho é abrir um &lt;b&gt;ticket de suporte&lt;/b&gt;. A consulta da lista de KBs de um PQU continua documentada apenas via LCS.
&lt;/div&gt;

&lt;h2&gt;6. Outros pontos úteis&lt;/h2&gt;
&lt;ul&gt;
  &lt;li&gt;&lt;b&gt;Builds preview:&lt;/b&gt; em unified, o acesso é feito através do &lt;b&gt;early release cycle&lt;/b&gt; do ambiente (o First Release Program documentado é configurado no LCS).&lt;/li&gt;
  &lt;li&gt;&lt;b&gt;Paridade de versões entre ambientes:&lt;/b&gt; a Microsoft sugere usar a &lt;b&gt;cópia de ambiente&lt;/b&gt; para alinhar um UDE com a versão de um sandbox ou produção. Em ambientes unificados, a cópia leva dados &lt;b&gt;e&lt;/b&gt; código, portanto também a versão.&lt;/li&gt;
  &lt;li&gt;&lt;b&gt;UDE:&lt;/b&gt; as funcionalidades do Unified Developer Experience estão GA a partir da &lt;b&gt;10.0.39&lt;/b&gt;.&lt;/li&gt;
  &lt;li&gt;&lt;b&gt;Modo manutenção:&lt;/b&gt; ativar o &lt;b&gt;Administration mode&lt;/b&gt; no PPAC tem o mesmo efeito do maintenance mode do LCS.&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;Lacunas atuais na documentação&lt;/h2&gt;
&lt;ul&gt;
  &lt;li&gt;A semântica das cadências &lt;code&gt;EveryOtherUpdate&lt;/code&gt; e &lt;code&gt;Regulated&lt;/code&gt; no PPAC.&lt;/li&gt;
  &lt;li&gt;Como consultar a lista de KBs de um PQU sem acesso ao LCS.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Se tiverem experiência com algum destes pontos, deixem nos comentários!&lt;/p&gt;

&lt;h2&gt;Referências&lt;/h2&gt;
&lt;ul&gt;
  &lt;li&gt;&lt;a href=&quot;https://learn.microsoft.com/en-us/power-platform/admin/unified-experience/tutorial-update-finance-operations-provisioning-app&quot; target=&quot;_blank&quot;&gt;Tutorial: Update the Finance and Operations Provisioning app&lt;/a&gt;&lt;/li&gt;
  &lt;li&gt;&lt;a href=&quot;https://learn.microsoft.com/en-us/dynamics365/fin-ops-core/dev-itpro/get-started/service-update-unified-schedule&quot; target=&quot;_blank&quot;&gt;Release schedule for service updates (unified environments)&lt;/a&gt;&lt;/li&gt;
  &lt;li&gt;&lt;a href=&quot;https://learn.microsoft.com/en-us/dynamics365/fin-ops-core/dev-itpro/get-started/quality-updates-schedule&quot; target=&quot;_blank&quot;&gt;Release schedule for proactive quality updates&lt;/a&gt;&lt;/li&gt;
  &lt;li&gt;&lt;a href=&quot;https://learn.microsoft.com/en-us/dynamics365/fin-ops-core/dev-itpro/get-started/quality-updates-faq&quot; target=&quot;_blank&quot;&gt;Proactive quality updates FAQ&lt;/a&gt;&lt;/li&gt;
  &lt;li&gt;&lt;a href=&quot;https://learn.microsoft.com/en-us/power-platform/admin/unified-experience/finance-operations-apps-overview&quot; target=&quot;_blank&quot;&gt;Overview of unified admin experience for finance and operations apps&lt;/a&gt;&lt;/li&gt;
  &lt;li&gt;&lt;a href=&quot;https://learn.microsoft.com/en-us/power-platform/developer/cli/reference/dynamics&quot; target=&quot;_blank&quot;&gt;Power Platform CLI – pac dynamics&lt;/a&gt;&lt;/li&gt;
  &lt;li&gt;&lt;a href=&quot;https://learn.microsoft.com/en-us/power-platform/developer/unified-experience/finance-operations-faq&quot; target=&quot;_blank&quot;&gt;Unified developer experience FAQ&lt;/a&gt;&lt;/li&gt;
  &lt;li&gt;&lt;a href=&quot;https://learn.microsoft.com/en-us/dynamics365/fin-ops-core/dev-itpro/sysadmin/maintenance-mode&quot; target=&quot;_blank&quot;&gt;Maintenance mode&lt;/a&gt;&lt;/li&gt;
  &lt;li&gt;&lt;a href=&quot;https://anithasantosh.wordpress.com/2026/04/23/lcs-to-ppac-smoothly-transition-your-updates/&quot; target=&quot;_blank&quot;&gt;LCS to PPAC: Smoothly Transition Your Updates (Anitha Eswaran)&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://fsilvajunior.blogspot.com/feeds/4132362558088246649/comments/default' title='Postar comentários'/><link rel='replies' type='text/html' href='http://fsilvajunior.blogspot.com/2026/09/d365f-atualizacoes-via-power-platform.html#comment-form' title='0 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6956220039993174035/posts/default/4132362558088246649'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6956220039993174035/posts/default/4132362558088246649'/><link rel='alternate' type='text/html' href='http://fsilvajunior.blogspot.com/2026/09/d365f-atualizacoes-via-power-platform.html' title='D365F&amp;O - Atualizações via Power Platform'/><author><name>Francisco Silva Jr.</name><uri>http://www.blogger.com/profile/15240847900054947078</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6956220039993174035.post-5172684257450547769</id><published>2026-08-25T03:54:03.983-07:00</published><updated>2026-08-25T03:54:03.983-07:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="10.0.49"/><category scheme="http://www.blogger.com/atom/ns#" term="D365F&amp;O"/><title type='text'>Dynamics 365 Finance &amp; Operations 10.0.49: As novidades que merecem atenção!</title><content type='html'>&lt;h1&gt;D365 Finance &amp;amp; Operations 10.0.49: o que realmente muda no seu dia a dia&lt;/h1&gt;
&lt;p&gt;Toda nova versão do D365 F&amp;amp;O traz uma longa lista de novidades — mas nem tudo merece o mesmo nível de atenção. Na 10.0.49 (build 10.0.2790), separei o que é só ruído do que vai exigir teste, decisão ou ajuste de processo antes de chegar à produção.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;TL;DR:&lt;/strong&gt; mais automação no financeiro (pré-pagamento por linha, liquidação desacoplada, reconciliação bancária com revisão), planejamento mais preciso no supply chain, classificação dinâmica de trabalho no armazém com Power Fx — e uma mudança de ferramenta para quem desenvolve X++ que não pode ficar para a última semana do projeto.&lt;/p&gt;
&lt;hr /&gt;
&lt;h2&gt;📅 Quando isso chega ao seu ambiente?&lt;/h2&gt;
&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Fase&lt;/th&gt;
&lt;th&gt;Data&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;Preview&lt;/td&gt;
&lt;td&gt;Julho de 2026&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;GA (self-update)&lt;/td&gt;
&lt;td&gt;Setembro de 2026&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;GA (auto-update)&lt;/td&gt;
&lt;td&gt;Outubro de 2026&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;p&gt;Data de disponibilidade não é sinônimo de &quot;ativar tudo no dia seguinte&quot;. O caminho seguro continua sendo: sandbox primeiro, integrações revisadas, usuários-chave validando os processos críticos.&lt;/p&gt;
&lt;hr /&gt;
&lt;h2&gt;💰 Financeiro: menos trabalho manual, mais rastreabilidade&lt;/h2&gt;
&lt;h3&gt;Pré-pagamento agora pode ser calculado por linha&lt;/h3&gt;
&lt;p&gt;Até aqui, a regra de adiantamento valia para o documento inteiro. Agora dá para diferenciar por linha.&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;Cenário real:&lt;/strong&gt; equipamento de 100.000 com 30% de adiantamento + instalação de 20.000 com 50% de adiantamento. Antes, uma regra única distorcia um dos dois. Agora, cada linha respeita sua própria condição.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;📍 Ativação: &lt;strong&gt;Accounts receivable parameters&lt;/strong&gt;, com &lt;strong&gt;Prepayment customer invoice&lt;/strong&gt; habilitado no Feature management.&lt;/p&gt;
&lt;h3&gt;Datas contábeis que se ajustam sozinhas&lt;/h3&gt;
&lt;p&gt;Requisição criada em 30/06, aprovação arrasta até depois do fechamento do período. Em vez de travar o processo, o sistema reprocessa para o próximo período aberto do mesmo ano fiscal e reavalia o orçamento automaticamente.&lt;/p&gt;
&lt;p&gt;Menos ping-pong com o financeiro — mas vale confirmar se essa automação bate com a política de períodos e os requisitos de auditoria da empresa.&lt;/p&gt;
&lt;h3&gt;Reservas orçamentárias com mais controle&lt;/h3&gt;
&lt;p&gt;Um pacote de melhorias que ataca perguntas que todo controller já fez pelo menos uma vez:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;O compromisso ainda está mesmo aberto?&lt;/li&gt;
&lt;li&gt;Um documento finalizado continua consumindo orçamento por engano?&lt;/li&gt;
&lt;li&gt;Existe alguma relação quebrada entre compromisso e liquidação?&lt;/li&gt;
&lt;li&gt;O fechamento do exercício está sendo respeitado no saldo exibido?&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Prioridade alta de teste para quem trabalha com setor público ou governança orçamentária forte.&lt;/p&gt;
&lt;h3&gt;Pagamento contabilizado, liquidação em fila&lt;/h3&gt;
&lt;p&gt;&lt;strong&gt;Delay settlement from journal posting&lt;/strong&gt; separa dois momentos que hoje são um só: contabilizar o pagamento e concluir a liquidação. Se o volume travar a liquidação, o pagamento entra mesmo assim — e a liquidação roda depois, automática ou manual.&lt;/p&gt;
&lt;p&gt;⚠️ Ganho de continuidade operacional, mas alguém precisa monitorar a fila e tratar os casos que não se liquidam sozinhos.&lt;/p&gt;
&lt;h3&gt;Reconciliação bancária com um &quot;ok&quot; humano antes de fechar&lt;/h3&gt;
&lt;p&gt;As regras de correspondência continuam automáticas, mas agora é possível revisar e aprovar o resultado antes de marcar como conciliado. Útil para valores altos, contas sensíveis ou exceções que ninguém quer descobrir depois do fechamento.&lt;/p&gt;
&lt;p&gt;De brinde: filtro de transações de bridge por conta bancária, cliente/fornecedor, referência, número de cheque e período — relevante para quem trabalha com alto volume.&lt;/p&gt;
&lt;h3&gt;Ativos fixos e moeda de reporte&lt;/h3&gt;
&lt;p&gt;Ajustes de moeda de reporte agora acompanham corretamente divisões de ativos registrados em moeda estrangeira (o recurso de contabilização do ajuste ainda está em preview). Antes de ativar, vale revisar transações antigas, lançamentos não contabilizados e registros zerados em moeda de reporte.&lt;/p&gt;
&lt;h3&gt;Electronic Reporting fica mais robusto&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;Geração nativa de &lt;strong&gt;GS1-128, GS1 DataMatrix e GS1 QR Code&lt;/strong&gt;&lt;/li&gt;
&lt;li&gt;Funções &lt;strong&gt;DIV&lt;/strong&gt; e &lt;strong&gt;MOD&lt;/strong&gt; nas fórmulas&lt;/li&gt;
&lt;li&gt;Respeito ao número de cópias do Print management&lt;/li&gt;
&lt;li&gt;Menor consumo de memória em execuções grandes&lt;/li&gt;
&lt;li&gt;Validação de múltiplas versões de configuração numa única operação, com histórico&lt;/li&gt;
&lt;/ul&gt;
&lt;blockquote&gt;
&lt;p&gt;&lt;code&gt;DIV(25, 10)&lt;/code&gt; = 2 caixas completas · &lt;code&gt;MOD(25, 10)&lt;/code&gt; = 5 unidades restantes — simples, mas resolve paginação, agrupamento de volumes e dígitos verificadores.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;hr /&gt;
&lt;h2&gt;📦 Supply Chain: planejamento mais fino, armazém mais inteligente&lt;/h2&gt;
&lt;h3&gt;Master planning respeita melhor a realidade da produção&lt;/h3&gt;
&lt;p&gt;Duas melhorias que se somam: consideração de períodos fechados em calendários de transporte e, principalmente, &lt;strong&gt;sub-BOM e sub-roteiro entrando na redução de previsão&lt;/strong&gt;. Resultado esperado: menos excesso de compra e produção quando já existe suprimento no meio do caminho.&lt;/p&gt;
&lt;p&gt;📍 Antes de confiar no novo comportamento, rode um cenário de comparação: ordens planejadas, datas e quantidades, antes x depois.&lt;/p&gt;
&lt;h3&gt;Reserva de matéria-prima presa ao mesmo lote (preview)&lt;/h3&gt;
&lt;p&gt;Pensado para rastreabilidade em produção — típico caso de indústria alimentícia, onde a ordem precisa consumir de um único lote sempre que o estoque permitir. Testar com regras de validade, localização e disponibilidade parcial é obrigatório antes de ligar em produção.&lt;/p&gt;
&lt;h3&gt;ASN de entrada vira despatch advice&lt;/h3&gt;
&lt;p&gt;O aviso antecipado de embarque do fornecedor agora entra como despatch advice, permitindo organizar docas, equipe e conferência &lt;strong&gt;antes&lt;/strong&gt; do caminhão chegar. Ganho direto de produtividade no recebimento.&lt;/p&gt;
&lt;h3&gt;Uma localização, um proprietário&lt;/h3&gt;
&lt;p&gt;Nova regra impede múltiplos proprietários numa mesma localização de armazém — importante em operações de terceiros ou consignação. Antes de ativar: audite os saldos atuais, porque dado legado com múltiplos proprietários vai pedir limpeza.&lt;/p&gt;
&lt;h3&gt;Mapeamento de status de estoque para integrações externas&lt;/h3&gt;
&lt;p&gt;Um sistema externo manda &lt;code&gt;Available&lt;/code&gt;, &lt;code&gt;Blocked&lt;/code&gt;, &lt;code&gt;QualityHold&lt;/code&gt; — e agora dá para mapear isso direto para os status internos do SCM, com efeito claro em reserva, picking e disponibilidade para venda.&lt;/p&gt;
&lt;h3&gt;Classificação dinâmica de trabalho com Power Fx&lt;/h3&gt;
&lt;p&gt;Provavelmente o recurso mais &quot;de engenharia&quot; da lista: uma fórmula Power Fx substitui vários templates estáticos de work classification, decidindo em tempo real pool de trabalho, prioridade, diretiva de localização e classe de trabalho.&lt;/p&gt;
&lt;pre&gt;&lt;code class=&quot;language-powerfx&quot;&gt;Switch(workTable.Load.CarrierCode,
    &quot;Carrier1&quot;, {WorkPoolId: &quot;Carrier1&quot;, DefaultWorkPriority: 100},
    &quot;Carrier2&quot;, {WorkPoolId: &quot;Carrier2&quot;, DefaultWorkPriority: 50},
    &quot;Carrier3&quot;, {WorkPoolId: &quot;Carrier3&quot;, DefaultWorkPriority: 10}
)
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;Ou, direcionando por zona refrigerada:&lt;/p&gt;
&lt;pre&gt;&lt;code class=&quot;language-powerfx&quot;&gt;{ WorkClassId: Concatenate(&quot;S-&quot;, workLine.ZoneId) }
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;Poderoso, mas pede governança: documente as fórmulas, teste os casos sem correspondência e confira se a lógica se encaixa no agrupamento de templates já existente.&lt;/p&gt;
&lt;h3&gt;E ainda: melhorias incrementais&lt;/h3&gt;
&lt;p&gt;CAPA, consolidação de transações de estoque, sincronização de estabelecimento em entregas diretas, bloqueio de registros de chão de fábrica após o cálculo diário, escalabilidade de filas do message processor e rastreamento de alterações de preço para o Azure Product Search.&lt;/p&gt;
&lt;hr /&gt;
&lt;h2&gt;⚠️ O que passou a ser obrigatório&lt;/h2&gt;
&lt;p&gt;Nem tudo é opt-in. Ficaram &lt;strong&gt;obrigatórios&lt;/strong&gt; nesta versão:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Finance:&lt;/strong&gt; customer and vendor netting, melhorias de reconciliação bancária, cash position, cash control e diversas validações de pagamento&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Supply Chain:&lt;/strong&gt; Advanced quality management, integrações do Inventory Visibility, dispense management, recálculo de datas em entregas diretas, recursos de rebates&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Isso muda o jogo do planejamento: não basta escolher o que ativar — é preciso mapear o que mudou de comportamento por padrão e testar os processos que dependem disso.&lt;/p&gt;
&lt;hr /&gt;
&lt;h2&gt;✅ Checklist rápido para o projeto&lt;/h2&gt;
&lt;ol&gt;
&lt;li&gt;Confirme versão atual, canal de atualização e data planejada&lt;/li&gt;
&lt;li&gt;Inventário de customizações X++, extensões, integrações e ER&lt;/li&gt;
&lt;li&gt;Separe: novo opcional, ativado por padrão, obrigatório, preview&lt;/li&gt;
&lt;li&gt;Teste ponta a ponta: compras, vendas, pagamentos, fechamento, produção, planejamento, recebimento&lt;/li&gt;
&lt;li&gt;Compare master planning antes x depois&lt;/li&gt;
&lt;li&gt;Teste reconciliação bancária, liquidação em fila e filas de processamento&lt;/li&gt;
&lt;li&gt;Valide ER: cópias, idiomas, destinos, códigos de barras&lt;/li&gt;
&lt;li&gt;Teste regras de armazém com transportadoras, zonas e mudança de carga&lt;/li&gt;
&lt;li&gt;Revise permissões, batch jobs e monitoramento&lt;/li&gt;
&lt;li&gt;Documente decisões e mantenha um plano de rollback — mesmo em One Version&lt;/li&gt;
&lt;/ol&gt;
&lt;hr /&gt;
&lt;h2&gt;🛠️ Atenção, devs: o Visual Studio muda a partir do PU74&lt;/h2&gt;
&lt;p&gt;A partir do PU74, o &lt;strong&gt;Visual Studio 2022 deixa de ser suportado&lt;/strong&gt; para desenvolvimento X++ — o ambiente suportado passa a ser o &lt;strong&gt;Visual Studio 2026&lt;/strong&gt;. Isso não é só uma preferência de IDE: máquinas de desenvolvimento, agentes de build, pipelines de CI/CD e extensões precisam ser revisados.&lt;/p&gt;
&lt;p&gt;Não deixe essa migração para a última etapa do projeto — ela afeta diretamente a capacidade de compilar, testar e publicar.&lt;/p&gt;
&lt;hr /&gt;
&lt;h2&gt;Conclusão&lt;/h2&gt;
&lt;p&gt;A 10.0.49 segue a direção que o D365 F&amp;amp;O vem tomando há tempo: mais automação nos controles financeiros, mais inteligência no armazém, mais integração e rastreabilidade. Os ganhos mais claros para a maioria dos projetos estão em pré-pagamento por linha, liquidação desacoplada, reconciliação bancária com revisão, ER otimizado, planejamento mais preciso e classificação dinâmica de trabalho.&lt;/p&gt;
&lt;p&gt;Trate a atualização como projeto de negócio, não como aplicação de pacote. Testar os novos comportamentos, preparar os usuários e revisar as integrações vai pesar tanto quanto instalar a versão em si.&lt;/p&gt;
&lt;hr /&gt;
&lt;h3&gt;Fontes&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://learn.microsoft.com/en-us/dynamics365/finance/get-started/whats-new-changed-10-0-49&quot;&gt;Microsoft Learn — What&#39;s new in Dynamics 365 Finance 10.0.49&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://learn.microsoft.com/en-us/dynamics365/supply-chain/get-started/whats-new-scm-10-0-49&quot;&gt;Microsoft Learn — What&#39;s new in Dynamics 365 Supply Chain Management 10.0.49&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://learn.microsoft.com/pt-pt/dynamics365/supply-chain/warehousing/dynamic-work-classification&quot;&gt;Microsoft Learn — Classificação dinâmica do trabalho&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://learn.microsoft.com/en-us/dynamics365/fin-ops-core/fin-ops/get-started/whats-new-platform-updates-10-0-49&quot;&gt;Microsoft Learn — Platform updates for version 10.0.49&lt;/a&gt;&lt;/li&gt;&lt;/ul&gt;</content><link rel='replies' type='application/atom+xml' href='http://fsilvajunior.blogspot.com/feeds/5172684257450547769/comments/default' title='Postar comentários'/><link rel='replies' type='text/html' href='http://fsilvajunior.blogspot.com/2026/08/dynamics-365-finance-operations-10049.html#comment-form' title='0 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6956220039993174035/posts/default/5172684257450547769'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6956220039993174035/posts/default/5172684257450547769'/><link rel='alternate' type='text/html' href='http://fsilvajunior.blogspot.com/2026/08/dynamics-365-finance-operations-10049.html' title='Dynamics 365 Finance &amp; Operations 10.0.49: As novidades que merecem atenção!'/><author><name>Francisco Silva Jr.</name><uri>http://www.blogger.com/profile/15240847900054947078</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6956220039993174035.post-6933307293192614598</id><published>2026-08-11T04:08:03.018-07:00</published><updated>2026-08-11T04:08:03.019-07:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="D365F&amp;O"/><category scheme="http://www.blogger.com/atom/ns#" term="integration"/><category scheme="http://www.blogger.com/atom/ns#" term="Migration"/><category scheme="http://www.blogger.com/atom/ns#" term="Sharepoint"/><category scheme="http://www.blogger.com/atom/ns#" term="Tenant"/><title type='text'>Fixing &quot;Insufficient privileges&quot; on D365 Finance and Operations Batch SharePoint Connections</title><content type='html'>&lt;h1&gt;D365F&amp;amp;O Tenant Migration&lt;/h1&gt;
&lt;h2&gt;The symptom&lt;/h2&gt;
&lt;p&gt;While troubleshooting a custom SysOperation batch process that uploads a generated CSV file to a SharePoint document library (via &lt;code&gt;SharePointDocumentStorageProvider&lt;/code&gt;) after a Tenant Migration, I ran into an upload failure that looked like this:&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;Upload failed: Exception has been thrown by the target of an invocation.
Inner: An unknown error occurred while communicating with the SharePoint server &#39;&amp;lt;tenant&amp;gt;.sharepoint.com&#39;.
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;The exception itself is unhelpful — it&#39;s the generic wrapper message that the SharePoint client SDK returns whenever the underlying HTTP call fails, without exposing the actual status code or response body.&lt;/p&gt;
&lt;p&gt;The first clue came from &lt;strong&gt;Document management parameters&lt;/strong&gt; (&lt;code&gt;Organization administration &amp;gt; Document management &amp;gt; Document management parameters &amp;gt; SharePoint&lt;/code&gt;). This page has two separate connection tests:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Test interactive SharePoint connection&lt;/strong&gt; — succeeded&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Test batch SharePoint connection&lt;/strong&gt; — failed with &quot;You are not authorized to connect to &#39;&amp;lt;tenant&amp;gt;.sharepoint.com&#39;&quot;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;That asymmetry was the key diagnostic signal. If the interactive test works but the batch test doesn&#39;t, the problem isn&#39;t the SharePoint site, the folder path, or the Document Type configuration — it&#39;s specifically about how &lt;strong&gt;non-interactive (application-only) calls&lt;/strong&gt; authenticate.&lt;/p&gt;
&lt;h2&gt;Root cause&lt;/h2&gt;
&lt;p&gt;Interactive connections use the &lt;strong&gt;signed-in user&#39;s&amp;nbsp;&lt;/strong&gt;&lt;span style=&quot;box-sizing: border-box; margin: 0px; padding: 0px;&quot;&gt;&lt;strong&gt;delegated permissions&lt;/strong&gt;&amp;nbsp;— essentially riding on the user&#39;s existing Microsoft 365 license and SharePoint access, just like&lt;/span&gt;&amp;nbsp;a browser session would.&lt;/p&gt;
&lt;p&gt;Batch connections are different. Since Microsoft deprecated the old Microsoft-managed high-trust connection between finance and operations environments and SharePoint (this affects environments on version 10.0.40 and later that have &lt;strong&gt;SharePoint user authentication&lt;/strong&gt; enabled), batch jobs authenticate as an &lt;strong&gt;application rather than&lt;/strong&gt;&amp;nbsp;as a user. This means the finance and operations service principal needs its own application-level grant to talk to SharePoint Online — and that grant is &lt;strong&gt;not provisioned automatically&lt;/strong&gt;. A tenant administrator has to assign it manually once per tenant.&lt;/p&gt;
&lt;p&gt;If nobody has performed this one-time setup, every batch/non-interactive call to SharePoint — including custom X++ code using &lt;code&gt;SharePointDocumentStorageProvider&lt;/code&gt;, and the built-in &lt;strong&gt;Export attachments&lt;/strong&gt; feature — will fail with exactly the vague error shown above, while everything that goes through an interactive user session keeps working fine. This makes the problem easy to misdiagnose as a networking, firewall, or tenant-migration issue when it&#39;s actually a missing permission grant.&lt;/p&gt;
&lt;h2&gt;The fix&lt;/h2&gt;
&lt;p&gt;The fix is to grant the &lt;strong&gt;Microsoft Dynamics ERP&lt;/strong&gt; first-party service principal an application permission (&lt;code&gt;Sites.ReadWrite.All&lt;/code&gt;) against the &lt;strong&gt;SharePoint Online&lt;/strong&gt; first-party service principal, in the target tenant. Both service principals already exist in every tenant that runs finance and operations and SharePoint — there&#39;s nothing to register or create.&lt;/p&gt;
&lt;h3&gt;Option A — PowerShell (Microsoft Graph SDK)&lt;/h3&gt;
&lt;p&gt;This is Microsoft&#39;s documented approach. Run it once, as a Global Administrator (or a role with &lt;code&gt;Application.ReadWrite.All&lt;/code&gt;), against the tenant that hosts the finance and operations environment&#39;s SharePoint site:&lt;/p&gt;
&lt;pre&gt;&lt;code class=&quot;language-powershell&quot;&gt;Import-Module Microsoft.Graph.Applications

# Replace with your tenant
Connect-MgGraph -TenantId &amp;lt;yourtenant&amp;gt;.onmicrosoft.com -Scopes &#39;Application.ReadWrite.All&#39;

# These AppIds are fixed first-party application IDs — they do not change between tenants
$erpServicePrincipal = Get-MgServicePrincipal -Filter &quot;AppId eq &#39;00000015-0000-0000-c000-000000000000&#39;&quot;
$sharePointServicePrincipal = Get-MgServicePrincipal -Filter &quot;AppId eq &#39;00000008-0000-0ff5-ci00-000000000000&#39;&quot;
$spAppRole = $sharePointServicePrincipal.AppRoles | Where-Object { $_.Value -eq &#39;Sites.ReadWrite.All&#39; }

# Assign the SharePoint &#39;Sites.ReadWrite.All&#39; application role to the Dynamics ERP service principal
New-MgServicePrincipalAppRoleAssignedTo `
    -ServicePrincipalId $erpServicePrincipal.Id `
    -PrincipalId $erpServicePrincipal.Id `
    -ResourceId $sharePointServicePrincipal.Id `
    -AppRoleId $spAppRole.Id
&lt;/code&gt;&lt;/pre&gt;
&lt;h3&gt;Option B — Microsoft Graph Explorer (no local PowerShell needed)&lt;/h3&gt;
&lt;p&gt;If PowerShell isn&#39;t installed locally, or a policy restricts running scripts on your machine, the exact same operation can be done through &lt;a href=&quot;https://developer.microsoft.com/en-us/graph/graph-explorer&quot;&gt;Graph Explorer&lt;/a&gt;, signed in as a Global Administrator:&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;1. Find the Dynamics ERP service principal&lt;/strong&gt;&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;GET https://graph.microsoft.com/v1.0/servicePrincipals?$filter=appId eq &#39;00000015-0000-0000-c000-000000000000&#39;
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;Copy the &lt;code&gt;id&lt;/code&gt; from the response — this is &lt;code&gt;erpServicePrincipalId&lt;/code&gt;.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;2. Find the SharePoint Online service principal&lt;/strong&gt;&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;GET https://graph.microsoft.com/v1.0/servicePrincipals?$filter=appId eq &#39;00000008-0000-0ff5-ci00-000000000000&#39;
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;Copy the &lt;code&gt;id&lt;/code&gt; — &lt;code&gt;sharePointServicePrincipalId&lt;/code&gt; — and, from the &lt;code&gt;appRoles&lt;/code&gt; array in the same response, find the entry where &lt;code&gt;&quot;value&quot;: &quot;Sites.ReadWrite.All&quot;&lt;/code&gt; and copy its &lt;code&gt;id&lt;/code&gt; — this is &lt;code&gt;appRoleId&lt;/code&gt;.&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;Note: Graph Explorer&#39;s default permission set (&lt;code&gt;User.Read&lt;/code&gt;) won&#39;t be enough for either of these steps. Under &lt;strong&gt;Modify permissions&lt;/strong&gt;, consent to &lt;code&gt;Application.ReadWrite.All&lt;/code&gt; first — as a Global Admin you can grant this directly from the same screen.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;&lt;strong&gt;3. Grant the permission&lt;/strong&gt;&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;POST https://graph.microsoft.com/v1.0/servicePrincipals/{erpServicePrincipalId}/appRoleAssignments
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;Request body:&lt;/p&gt;
&lt;pre&gt;&lt;code class=&quot;language-json&quot;&gt;{
  &quot;principalId&quot;: &quot;{erpServicePrincipalId}&quot;,
  &quot;resourceId&quot;: &quot;{sharePointServicePrincipalId}&quot;,
  &quot;appRoleId&quot;: &quot;{appRoleId}&quot;
}
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;A &lt;code&gt;201 Created&lt;/code&gt; response confirms the grant succeeded.&lt;/p&gt;
&lt;h3&gt;Verifying the fix&lt;/h3&gt;
&lt;p&gt;Back in &lt;strong&gt;Document management parameters &amp;gt; SharePoint&lt;/strong&gt;, run &lt;strong&gt;Test batch SharePoint connection&lt;/strong&gt; again. It should now report success, matching the interactive test.&lt;/p&gt;
&lt;h2&gt;A security note&lt;/h2&gt;
&lt;p&gt;&lt;code&gt;Sites.ReadWrite.All&lt;/code&gt; is a broad grant — it gives the finance and operations application read/write access to &lt;strong&gt;every&lt;/strong&gt; SharePoint site in the tenant, not just the specific document library used by a given integration. There&#39;s no officially documented narrower alternative for this particular first-party grant (the more restrictive &lt;code&gt;Sites.Selected&lt;/code&gt; model applies to apps you register and control yourself, not to this Microsoft-managed service principal). If your organization has strict least-privilege requirements for SharePoint, this is worth flagging to your security team as an accepted trade-off and revisiting if Microsoft introduces a more granular option in the future.&lt;/p&gt;
&lt;h2&gt;Conclusion&lt;/h2&gt;
&lt;p&gt;When a finance and operations environment can reach SharePoint interactively but not from batch, don&#39;t waste time chasing networking, DNS, or tenant-migration theories first — check whether the one-time application consent for batch SharePoint access has actually been granted. This step is easy to miss because it doesn&#39;t live in D365 F&amp;amp;O at all: it&#39;s an Entra ID (Azure AD) application permission that must be granted once per tenant, and there&#39;s no button for it in the finance and operations client. Whether you use PowerShell or Graph Explorer, the operation is a single, five-minute application role assignment — but until it&#39;s done, every non-interactive SharePoint call from your environment, including custom integrations and the built-in Export attachments feature, will keep failing with the same unhelpful &quot;unknown error&quot; message.&lt;/p&gt;</content><link rel='replies' type='application/atom+xml' href='http://fsilvajunior.blogspot.com/feeds/6933307293192614598/comments/default' title='Postar comentários'/><link rel='replies' type='text/html' href='http://fsilvajunior.blogspot.com/2026/08/fixing-insufficient-privileges-on-d365.html#comment-form' title='0 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6956220039993174035/posts/default/6933307293192614598'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6956220039993174035/posts/default/6933307293192614598'/><link rel='alternate' type='text/html' href='http://fsilvajunior.blogspot.com/2026/08/fixing-insufficient-privileges-on-d365.html' title='Fixing &quot;Insufficient privileges&quot; on D365 Finance and Operations Batch SharePoint Connections'/><author><name>Francisco Silva Jr.</name><uri>http://www.blogger.com/profile/15240847900054947078</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6956220039993174035.post-4371421757142782199</id><published>2026-08-11T03:58:43.888-07:00</published><updated>2026-08-11T03:58:43.889-07:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="D365F&amp;O"/><category scheme="http://www.blogger.com/atom/ns#" term="Extensions"/><category scheme="http://www.blogger.com/atom/ns#" term="PU74"/><category scheme="http://www.blogger.com/atom/ns#" term="Studio"/><category scheme="http://www.blogger.com/atom/ns#" term="Visual"/><category scheme="http://www.blogger.com/atom/ns#" term="VS2026"/><title type='text'>Fim do suporte ao Visual Studio 2022 para X++: o que muda com o PU74</title><content type='html'>&lt;p&gt;A Microsoft confirmou uma mudança relevante para quem desenvolve em X++ no Dynamics 365 Finance &amp;amp; Operations: a partir do &lt;strong&gt;Platform Update 74 (versão 10.0.49)&lt;/strong&gt;, o &lt;strong&gt;Visual Studio 2022 deixa de ser suportado&lt;/strong&gt; para desenvolvimento em X++. A partir desse ponto, o&amp;nbsp;&lt;strong&gt;Visual Studio 2026 passa a ser a única IDE suportada&lt;/strong&gt;.&lt;/p&gt;
&lt;p&gt;Se você mantém pipelines de build, VMs de desenvolvimento (Tier 1) ou CHEs para clientes, este é o momento de começar a planejar a transição — não a semana antes do upgrade.&lt;/p&gt;
&lt;h2&gt;O que a Microsoft anunciou&lt;/h2&gt;
&lt;p&gt;Na documentação oficial de Platform Updates da versão 10.0.49, na seção de melhorias de &quot;Developer tools&quot;, a Microsoft declara que, a partir do PU74, o Visual Studio 2022 deixa de ser suportado para desenvolvimento em X++ e que apenas o Visual Studio 2026 passa a ter suporte.&lt;/p&gt;
&lt;p&gt;Não é uma depreciação gradual como aconteceu no passado com versões mais antigas do Visual Studio (2015, 2017, 2019) — é um corte direto: uma versão sai, a outra entra.&lt;/p&gt;
&lt;h2&gt;Cronograma oficial&lt;/h2&gt;
&lt;p&gt;De acordo com a página de &quot;Platform updates for version 10.0.49&quot;, o cronograma é o seguinte:&lt;/p&gt;
&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Fase&lt;/th&gt;
&lt;th&gt;Data&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;Preview de release&lt;/td&gt;
&lt;td&gt;Julho de 2026&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Disponibilidade geral (self-update)&lt;/td&gt;
&lt;td&gt;Setembro de 2026&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Disponibilidade geral (auto-update)&lt;/td&gt;
&lt;td&gt;Outubro de 2026&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;p&gt;Ou seja: quem faz self-update já pode ser impactado a partir de setembro de 2026. Quem depende do ciclo automático da Microsoft será atualizado em outubro de 2026, independentemente de estar ou não preparado.&lt;/p&gt;
&lt;h2&gt;Quem é afetado (e quem não é)&lt;/h2&gt;
&lt;p&gt;É importante deixar claro o escopo dessa mudança:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Afeta:&lt;/strong&gt; desenvolvedores X++, VMs de desenvolvimento Tier 1, ambientes CHE/UDE usados para build e debug, pipelines do Azure DevOps que compilam pacotes X++.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Não afeta diretamente:&lt;/strong&gt; usuários finais da aplicação. Ninguém vai notar nada na tela do ERP no dia a dia — a mudança é inteiramente do lado das ferramentas de desenvolvimento.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Isso significa que o impacto é silencioso até o dia em que alguém tentar compilar em uma VM ainda rodando VS2022 após o upgrade para 10.0.50/PU74 — e a extensão simplesmente não funcionar mais.&lt;/p&gt;
&lt;h2&gt;O que fazer antes do upgrade&lt;/h2&gt;
&lt;p&gt;Algumas ações recomendadas para quem tem PU74 no roadmap deste ano:&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;&lt;strong&gt;Inventariar ambientes de desenvolvimento.&lt;/strong&gt;&amp;nbsp;Levante todas as VMs Tier 1, CHEs e UDEs atualmente utilizadas para desenvolvimento em X++ em seus projetos e clientes.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Planejar a instalação do Visual Studio 2026&lt;/strong&gt; nessas máquinas antes da janela de upgrade, para evitar descobrir o problema no meio de um go-live.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Revisar pipelines de build no Azure DevOps.&lt;/strong&gt; Agentes de build hospedados (self-hosted) que compilam pacotes X++ também dependem da toolchain do Visual Studio — vale confirmar se o agente aponta para a versão correta.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Para ambientes CHE:&lt;/strong&gt; considerar reprovisionar a VM de desenvolvimento assim que a Microsoft atualizar as imagens base para incluir o Visual Studio 2026, em vez de tentar fazer upgrade in-place da IDE.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Comunicar a mudança à equipe de desenvolvimento&lt;/strong&gt; com antecedência — principalmente em times distribuídos por vários países e fusos horários, em que nem todo mundo acompanha as notas de release da Microsoft.&lt;/li&gt;
&lt;/ol&gt;
&lt;h2&gt;Por que isso importa&lt;/h2&gt;
&lt;p&gt;Esse tipo de mudança tende a pegar times desprevenidos justamente porque é &quot;invisível&quot; até o momento do upgrade. Diferente de uma feature nova que aparece na tela e gera perguntas dos usuários, uma mudança de toolchain de desenvolvimento só aparece quando alguém tenta compilar — e, nesse ponto, já é tarde para planejar com calma.&lt;/p&gt;
&lt;p&gt;Para consultorias e squads que atendem múltiplos clientes e ambientes (como costuma ser o caso em rollouts multipaís), vale incluir essa checagem no checklist de pré-upgrade padrão, junto com os itens de sempre: backup, testes de regressão, DBSync, etc.&lt;/p&gt;
&lt;h2&gt;Fonte oficial&lt;/h2&gt;
&lt;p&gt;A informação está documentada oficialmente pela Microsoft em:&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Platform updates for version 10.0.49 of finance and operations apps&lt;/strong&gt;
https://learn.microsoft.com/en-us/dynamics365/fin-ops-core/fin-ops/get-started/whats-new-platform-updates-10-0-49&lt;/p&gt;
&lt;p&gt;Vale a pena também acompanhar a página de release notes do Visual Studio 2026 para novidades da própria IDE:
https://learn.microsoft.com/en-us/visualstudio/releases/2026/release-notes&lt;/p&gt;
&lt;hr /&gt;
&lt;p&gt;&lt;em&gt;Este post faz parte da cobertura de novidades da plataforma Dynamics 365 Finance &amp;amp; Operations aqui no blog. Se você está planejando o upgrade para PU74 e quer trocar experiências sobre a transição de ambientes de desenvolvimento, deixe um comentário.&lt;/em&gt;&lt;/p&gt;</content><link rel='replies' type='application/atom+xml' href='http://fsilvajunior.blogspot.com/feeds/4371421757142782199/comments/default' title='Postar comentários'/><link rel='replies' type='text/html' href='http://fsilvajunior.blogspot.com/2026/08/fim-do-suporte-ao-visual-studio-2022.html#comment-form' title='0 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6956220039993174035/posts/default/4371421757142782199'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6956220039993174035/posts/default/4371421757142782199'/><link rel='alternate' type='text/html' href='http://fsilvajunior.blogspot.com/2026/08/fim-do-suporte-ao-visual-studio-2022.html' title='Fim do suporte ao Visual Studio 2022 para X++: o que muda com o PU74'/><author><name>Francisco Silva Jr.</name><uri>http://www.blogger.com/profile/15240847900054947078</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6956220039993174035.post-2145701924050968267</id><published>2026-07-07T22:25:10.174-07:00</published><updated>2026-07-07T22:25:10.175-07:00</updated><title type='text'>GlobalUpdate script for service model: MROneBox on machine</title><content type='html'></content><link rel='replies' type='application/atom+xml' href='http://fsilvajunior.blogspot.com/feeds/2145701924050968267/comments/default' title='Postar comentários'/><link rel='replies' type='text/html' href='http://fsilvajunior.blogspot.com/2026/07/globalupdate-script-for-service-model.html#comment-form' title='0 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6956220039993174035/posts/default/2145701924050968267'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6956220039993174035/posts/default/2145701924050968267'/><link rel='alternate' type='text/html' href='http://fsilvajunior.blogspot.com/2026/07/globalupdate-script-for-service-model.html' title='GlobalUpdate script for service model: MROneBox on machine'/><author><name>Francisco Silva Jr.</name><uri>http://www.blogger.com/profile/15240847900054947078</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6956220039993174035.post-7608823179106979151</id><published>2026-05-26T02:08:25.028-07:00</published><updated>2026-05-26T02:08:25.028-07:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="10.0.48"/><category scheme="http://www.blogger.com/atom/ns#" term="Agents"/><category scheme="http://www.blogger.com/atom/ns#" term="D365F&amp;O"/><category scheme="http://www.blogger.com/atom/ns#" term="IA"/><title type='text'>Agentes de IA no D365 F&amp;O: Como eles facilitam o trabalho no dia a dia?</title><content type='html'>&lt;!DOCTYPE html&gt;
&lt;html lang=&quot;pt&quot;&gt;
&lt;head&gt;
  &lt;meta charset=&quot;UTF-8&quot; /&gt;
  &lt;title&gt;Agentes de IA no D365 F&amp;amp;O: casos práticos do dia a dia&lt;/title&gt;
&lt;/head&gt;
&lt;body&gt;

&lt;!-- ============================================================
     POST: Agentes de IA no D365 F&amp;O — casos práticos
     Para usar no Blogspot: copie tudo entre as tags &lt;body&gt; e cole
     no editor HTML do Blogger (modo &quot;HTML&quot; / &quot;Editar HTML&quot;)
     ============================================================ --&gt;

&lt;div style=&quot;font-family: Arial, sans-serif; max-width: 720px; margin: 0 auto; color: #333; line-height: 1.7;&quot;&gt;

  &lt;!-- Cabeçalho --&gt;
  &lt;div style=&quot;background: linear-gradient(135deg, #004E8C 0%, #0078D4 100%); border-radius: 10px; padding: 32px 28px 24px; margin-bottom: 28px;&quot;&gt;
    &lt;span style=&quot;display: inline-block; background: rgba(255,255,255,0.2); color: #fff; font-size: 11px; font-weight: bold; padding: 3px 12px; border-radius: 20px; margin-bottom: 14px; letter-spacing: 0.05em; text-transform: uppercase;&quot;&gt;IA &amp;amp; Automação · D365 F&amp;amp;O&lt;/span&gt;
    &lt;h1 style=&quot;font-size: 24px; font-weight: bold; color: #fff; margin: 0 0 10px; line-height: 1.3;&quot;&gt;
      Agentes de IA no D365 F&amp;amp;O: como eles facilitam o trabalho no dia a dia
    &lt;/h1&gt;
    &lt;span style=&quot;font-size: 12px; color: rgba(255,255,255,0.75);&quot;&gt;Maio 2026 &amp;nbsp;·&amp;nbsp; Leitura rápida (~3 min)&lt;/span&gt;
  &lt;/div&gt;

  &lt;!-- Introdução --&gt;
  &lt;p style=&quot;font-size: 15px; margin: 0 0 16px;&quot;&gt;
    Os &lt;strong&gt;agentes de IA&lt;/strong&gt; chegaram ao Dynamics 365 Finance &amp;amp; Operations para ficar — e estão a mudar a forma como as equipas financeiras e operacionais trabalham. Ao contrário de simples chatbots, estes agentes &lt;strong&gt;analisam dados, tomam decisões dentro de limites definidos e executam ações&lt;/strong&gt; com mínima intervenção humana.
  &lt;/p&gt;

  &lt;!-- Destaque azul --&gt;
  &lt;div style=&quot;background: #E6F1FB; border-left: 4px solid #0078D4; border-radius: 0 8px 8px 0; padding: 14px 18px; margin: 20px 0;&quot;&gt;
    &lt;p style=&quot;margin: 0; font-size: 14px; color: #0C447C;&quot;&gt;
      💡 &lt;strong&gt;Em termos simples:&lt;/strong&gt; os agentes funcionam como um colaborador júnior que trata do trabalho rotineiro de forma autónoma e só escala para revisão humana quando surge uma exceção ou situação fora do padrão.
    &lt;/p&gt;
  &lt;/div&gt;

  &lt;!-- Imagem 1 --&gt;
  &lt;div style=&quot;border-radius: 10px; overflow: hidden; border: 1px solid #e0e0e0; margin: 24px 0;&quot;&gt;
    &lt;img
      src=&quot;https://learn.microsoft.com/en-us/dynamics365/release-plan/media/whatsnewandplanned.jpg&quot;
      alt=&quot;Agentes de IA no Dynamics 365 Finance and Operations&quot;
      style=&quot;width: 100%; display: block; max-height: 220px; object-fit: cover;&quot;
    /&gt;
    &lt;p style=&quot;font-size: 12px; color: #666; margin: 0; padding: 8px 14px; background: #f9f9f9; text-align: center;&quot;&gt;
      Investimentos em IA agentica no D365 F&amp;amp;O — 2026 Release Wave 1 (Fonte: Microsoft Learn)
    &lt;/p&gt;
  &lt;/div&gt;

  &lt;!-- Título secção --&gt;
  &lt;h2 style=&quot;font-size: 19px; font-weight: bold; color: #004E8C; margin: 32px 0 6px; border-bottom: 2px solid #0078D4; padding-bottom: 6px;&quot;&gt;
    🤖 Casos práticos: o que os agentes fazem por si hoje
  &lt;/h2&gt;
  &lt;p style=&quot;font-size: 14px; color: #555; margin: 0 0 20px;&quot;&gt;
    Veja exemplos concretos de como os agentes de IA atuam em módulos do D365 F&amp;amp;O no dia a dia:
  &lt;/p&gt;

  &lt;!-- CASO 1 --&gt;
  &lt;div style=&quot;background: #fff; border: 1px solid #dce6f0; border-radius: 10px; padding: 18px 20px; margin-bottom: 16px;&quot;&gt;
    &lt;div style=&quot;display: flex; align-items: center; gap: 10px; margin-bottom: 10px;&quot;&gt;
      &lt;div style=&quot;background: #0078D4; color: #fff; font-size: 13px; font-weight: bold; width: 28px; height: 28px; border-radius: 50%; display: flex; align-items: center; justify-content: center; flex-shrink: 0;&quot;&gt;1&lt;/div&gt;
      &lt;h3 style=&quot;margin: 0; font-size: 16px; color: #004E8C;&quot;&gt;💳 Pagamento automático de faturas (Payflow Agent)&lt;/h3&gt;
    &lt;/div&gt;
    &lt;p style=&quot;margin: 0 0 8px; font-size: 14px;&quot;&gt;&lt;strong&gt;O problema:&lt;/strong&gt; processar manualmente filas de pagamento consome horas e está sujeito a erros.&lt;/p&gt;
    &lt;p style=&quot;margin: 0 0 8px; font-size: 14px;&quot;&gt;&lt;strong&gt;O que o agente faz:&lt;/strong&gt; monitoriza a fila de pagamentos, identifica faturas prontas para pagar, verifica os dados bancários do fornecedor face ao mestre de dados, executa o processamento e lança os lançamentos contabilísticos — tudo sem intervenção humana para transações dentro da política definida.&lt;/p&gt;
    &lt;p style=&quot;margin: 0; font-size: 14px; background: #f0f7ff; border-radius: 6px; padding: 8px 12px; color: #0C447C;&quot;&gt;
      ✅ &lt;strong&gt;Resultado:&lt;/strong&gt; redução de 70–80% no esforço manual em contas a pagar, segundo dados da Microsoft.
    &lt;/p&gt;
  &lt;/div&gt;

  &lt;!-- CASO 2 --&gt;
  &lt;div style=&quot;background: #fff; border: 1px solid #dce6f0; border-radius: 10px; padding: 18px 20px; margin-bottom: 16px;&quot;&gt;
    &lt;div style=&quot;display: flex; align-items: center; gap: 10px; margin-bottom: 10px;&quot;&gt;
      &lt;div style=&quot;background: #0078D4; color: #fff; font-size: 13px; font-weight: bold; width: 28px; height: 28px; border-radius: 50%; display: flex; align-items: center; justify-content: center; flex-shrink: 0;&quot;&gt;2&lt;/div&gt;
      &lt;h3 style=&quot;margin: 0; font-size: 16px; color: #004E8C;&quot;&gt;📄 Captura e correspondência de faturas (AP Automation)&lt;/h3&gt;
    &lt;/div&gt;
    &lt;p style=&quot;margin: 0 0 8px; font-size: 14px;&quot;&gt;&lt;strong&gt;O problema:&lt;/strong&gt; equipas de AP a rever manualmente centenas de faturas por semana.&lt;/p&gt;
    &lt;p style=&quot;margin: 0 0 8px; font-size: 14px;&quot;&gt;&lt;strong&gt;O que o agente faz:&lt;/strong&gt; lê faturas em PDF, extrai os dados, faz a correspondência com as ordens de compra, aprende com as correções do utilizador ao longo do tempo, e encaminha automaticamente para aprovação com base nos limites configurados.&lt;/p&gt;
    &lt;p style=&quot;margin: 0; font-size: 14px; background: #f0f7ff; border-radius: 6px; padding: 8px 12px; color: #0C447C;&quot;&gt;
      ✅ &lt;strong&gt;Resultado:&lt;/strong&gt; redução de 60–70% no processamento manual de faturas, com acuidade crescente a cada ciclo.
    &lt;/p&gt;
  &lt;/div&gt;

  &lt;!-- CASO 3 --&gt;
  &lt;div style=&quot;background: #fff; border: 1px solid #dce6f0; border-radius: 10px; padding: 18px 20px; margin-bottom: 16px;&quot;&gt;
    &lt;div style=&quot;display: flex; align-items: center; gap: 10px; margin-bottom: 10px;&quot;&gt;
      &lt;div style=&quot;background: #0078D4; color: #fff; font-size: 13px; font-weight: bold; width: 28px; height: 28px; border-radius: 50%; display: flex; align-items: center; justify-content: center; flex-shrink: 0;&quot;&gt;3&lt;/div&gt;
      &lt;h3 style=&quot;margin: 0; font-size: 16px; color: #004E8C;&quot;&gt;🔁 Reconciliação contabilística automática&lt;/h3&gt;
    &lt;/div&gt;
    &lt;p style=&quot;margin: 0 0 8px; font-size: 14px;&quot;&gt;&lt;strong&gt;O problema:&lt;/strong&gt; o encerramento de período exige dias de reconciliação manual entre razão auxiliar e razão geral.&lt;/p&gt;
    &lt;p style=&quot;margin: 0 0 8px; font-size: 14px;&quot;&gt;&lt;strong&gt;O que o agente faz:&lt;/strong&gt; cruza automaticamente saldos do razão auxiliar com o razão geral, aplica regras de tolerância e lógica fuzzy para matches complexos (1-para-muitos e muitos-para-muitos), e sinaliza apenas as exceções para revisão humana.&lt;/p&gt;
    &lt;p style=&quot;margin: 0; font-size: 14px; background: #f0f7ff; border-radius: 6px; padding: 8px 12px; color: #0C447C;&quot;&gt;
      ✅ &lt;strong&gt;Resultado:&lt;/strong&gt; encerramento de período mais rápido com a equipa focada apenas nos casos de exceção reais.
    &lt;/p&gt;
  &lt;/div&gt;

  &lt;!-- CASO 4 --&gt;
  &lt;div style=&quot;background: #fff; border: 1px solid #dce6f0; border-radius: 10px; padding: 18px 20px; margin-bottom: 16px;&quot;&gt;
    &lt;div style=&quot;display: flex; align-items: center; gap: 10px; margin-bottom: 10px;&quot;&gt;
      &lt;div style=&quot;background: #0078D4; color: #fff; font-size: 13px; font-weight: bold; width: 28px; height: 28px; border-radius: 50%; display: flex; align-items: center; justify-content: center; flex-shrink: 0;&quot;&gt;4&lt;/div&gt;
      &lt;h3 style=&quot;margin: 0; font-size: 16px; color: #004E8C;&quot;&gt;📬 Cobranças e gestão de recebíveis (AR Collections)&lt;/h3&gt;
    &lt;/div&gt;
    &lt;p style=&quot;margin: 0 0 8px; font-size: 14px;&quot;&gt;&lt;strong&gt;O problema:&lt;/strong&gt; acompanhar clientes em atraso manualmente, sem priorização inteligente.&lt;/p&gt;
    &lt;p style=&quot;margin: 0 0 8px; font-size: 14px;&quot;&gt;&lt;strong&gt;O que o agente faz:&lt;/strong&gt; prioriza as atividades de cobrança com base no perfil de risco do cliente, gera comunicações de cobrança personalizadas, faz seguimento de faturas vencidas e recomenda estratégias de resolução com base no histórico de pagamento.&lt;/p&gt;
    &lt;p style=&quot;margin: 0; font-size: 14px; background: #f0f7ff; border-radius: 6px; padding: 8px 12px; color: #0C447C;&quot;&gt;
      ✅ &lt;strong&gt;Resultado:&lt;/strong&gt; menos dias de vendas em crédito (DSO) e equipas de AR focadas nos clientes de maior risco.
    &lt;/p&gt;
  &lt;/div&gt;

  &lt;!-- CASO 5 --&gt;
  &lt;div style=&quot;background: #fff; border: 1px solid #dce6f0; border-radius: 10px; padding: 18px 20px; margin-bottom: 16px;&quot;&gt;
    &lt;div style=&quot;display: flex; align-items: center; gap: 10px; margin-bottom: 10px;&quot;&gt;
      &lt;div style=&quot;background: #00875A; color: #fff; font-size: 13px; font-weight: bold; width: 28px; height: 28px; border-radius: 50%; display: flex; align-items: center; justify-content: center; flex-shrink: 0;&quot;&gt;5&lt;/div&gt;
      &lt;h3 style=&quot;margin: 0; font-size: 16px; color: #005C3B;&quot;&gt;📦 Planeamento de procura com Copilot (Supply Chain)&lt;/h3&gt;
    &lt;/div&gt;
    &lt;p style=&quot;margin: 0 0 8px; font-size: 14px;&quot;&gt;&lt;strong&gt;O problema:&lt;/strong&gt; planificadores a analisar manualmente variações de procura sem contexto suficiente.&lt;/p&gt;
    &lt;p style=&quot;margin: 0 0 8px; font-size: 14px;&quot;&gt;&lt;strong&gt;O que o agente faz:&lt;/strong&gt; o Copilot analisa planos de procura em linguagem natural — o planificador seleciona um ponto no gráfico e pergunta ao Copilot &quot;Quais os principais fatores que causaram este desvio?&quot; e recebe a resposta imediatamente, com explicação dos drivers.&lt;/p&gt;
    &lt;p style=&quot;margin: 0; font-size: 14px; background: #eaf6f0; border-radius: 6px; padding: 8px 12px; color: #005C3B;&quot;&gt;
      ✅ &lt;strong&gt;Resultado:&lt;/strong&gt; decisões de reabastecimento mais rápidas e com contexto — caso real documentado pela Microsoft com a Domino&#39;s Pizza UK.
    &lt;/p&gt;
  &lt;/div&gt;

  &lt;!-- CASO 6 --&gt;
  &lt;div style=&quot;background: #fff; border: 1px solid #dce6f0; border-radius: 10px; padding: 18px 20px; margin-bottom: 16px;&quot;&gt;
    &lt;div style=&quot;display: flex; align-items: center; gap: 10px; margin-bottom: 10px;&quot;&gt;
      &lt;div style=&quot;background: #00875A; color: #fff; font-size: 13px; font-weight: bold; width: 28px; height: 28px; border-radius: 50%; display: flex; align-items: center; justify-content: center; flex-shrink: 0;&quot;&gt;6&lt;/div&gt;
      &lt;h3 style=&quot;margin: 0; font-size: 16px; color: #005C3B;&quot;&gt;🏭 Operações de armazém mais inteligentes&lt;/h3&gt;
    &lt;/div&gt;
    &lt;p style=&quot;margin: 0 0 8px; font-size: 14px;&quot;&gt;&lt;strong&gt;O problema:&lt;/strong&gt; rotas de picking ineficientes e reequilíbrio de stock manual entre armazéns.&lt;/p&gt;
    &lt;p style=&quot;margin: 0 0 8px; font-size: 14px;&quot;&gt;&lt;strong&gt;O que o agente faz:&lt;/strong&gt; otimiza automaticamente as rotas de picking, deteta potencial rotura de stock e desencadeia workflows de compra, e o agente financeiro atualiza as projeções de fluxo de caixa em tempo real — tudo de forma coordenada.&lt;/p&gt;
    &lt;p style=&quot;margin: 0; font-size: 14px; background: #eaf6f0; border-radius: 6px; padding: 8px 12px; color: #005C3B;&quot;&gt;
      ✅ &lt;strong&gt;Resultado:&lt;/strong&gt; menor tempo de deslocação em armazém, maior precisão no inventário e cumprimentos mais rápidos.
    &lt;/p&gt;
  &lt;/div&gt;

  &lt;!-- CASO 7 --&gt;
  &lt;div style=&quot;background: #fff; border: 1px solid #dce6f0; border-radius: 10px; padding: 18px 20px; margin-bottom: 24px;&quot;&gt;
    &lt;div style=&quot;display: flex; align-items: center; gap: 10px; margin-bottom: 10px;&quot;&gt;
      &lt;div style=&quot;background: #6B21A8; color: #fff; font-size: 13px; font-weight: bold; width: 28px; height: 28px; border-radius: 50%; display: flex; align-items: center; justify-content: center; flex-shrink: 0;&quot;&gt;7&lt;/div&gt;
      &lt;h3 style=&quot;margin: 0; font-size: 16px; color: #4C1D95;&quot;&gt;💬 Consultas em linguagem natural (Copilot + MCP)&lt;/h3&gt;
    &lt;/div&gt;
    &lt;p style=&quot;margin: 0 0 8px; font-size: 14px;&quot;&gt;&lt;strong&gt;O problema:&lt;/strong&gt; controllers e CFOs dependentes de relatórios pré-definidos ou de apoio IT para obter dados específicos.&lt;/p&gt;
    &lt;p style=&quot;margin: 0 0 8px; font-size: 14px;&quot;&gt;&lt;strong&gt;O que o agente faz:&lt;/strong&gt; com a integração MCP da Wave 1 2026, é possível perguntar diretamente: &lt;em&gt;&quot;Qual o saldo de AP em aberto por fornecedor para faturas com mais de 45 dias?&quot;&lt;/em&gt; — e receber dados estruturados e precisos, sem SQL nem navegação em menus.&lt;/p&gt;
    &lt;p style=&quot;margin: 0; font-size: 14px; background: #f5f0ff; border-radius: 6px; padding: 8px 12px; color: #4C1D95;&quot;&gt;
      ✅ &lt;strong&gt;Resultado:&lt;/strong&gt; autonomia de dados para equipas de gestão sem dependência de IT ou report builders.
    &lt;/p&gt;
  &lt;/div&gt;

  &lt;!-- Imagem 2 / Banner visual --&gt;
  &lt;div style=&quot;border-radius: 10px; overflow: hidden; border: 1px solid #e0e0e0; margin: 8px 0 28px;&quot;&gt;
    &lt;div style=&quot;background: linear-gradient(135deg, #004E8C 0%, #0078D4 60%, #00B4D8 100%); padding: 32px 28px; text-align: center;&quot;&gt;
      &lt;p style=&quot;font-size: 36px; margin: 0 0 10px;&quot;&gt;🧠&lt;/p&gt;
      &lt;p style=&quot;color: #fff; font-size: 17px; font-weight: bold; margin: 0 0 6px;&quot;&gt;Da automação reativa à operação agêntica&lt;/p&gt;
      &lt;p style=&quot;color: rgba(255,255,255,0.85); font-size: 13px; margin: 0;&quot;&gt;Os agentes de IA no D365 F&amp;amp;O observam, decidem e atuam — escalando apenas o que realmente precisa de atenção humana.&lt;/p&gt;
    &lt;/div&gt;
    &lt;p style=&quot;font-size: 12px; color: #666; margin: 0; padding: 8px 14px; background: #f9f9f9; text-align: center;&quot;&gt;
      Operação agentica no ERP: do trabalho manual à automação inteligente (Fonte: Microsoft Dynamics 365)
    &lt;/p&gt;
  &lt;/div&gt;

  &lt;!-- Conclusão --&gt;
  &lt;p style=&quot;font-size: 15px; margin: 0 0 24px;&quot;&gt;
    Os agentes de IA no D365 F&amp;amp;O não substituem as equipas — &lt;strong&gt;libertam-nas&lt;/strong&gt; para trabalho de maior valor. O objetivo é simples: o sistema trata do rotineiro, e as pessoas focam-se no estratégico. Com a &lt;strong&gt;2026 Release Wave 1&lt;/strong&gt;, esta visão está a tornar-se realidade módulo a módulo.
  &lt;/p&gt;

  &lt;!-- Links fontes --&gt;
  &lt;div style=&quot;border-top: 1px solid #e0e0e0; padding-top: 20px; margin-top: 8px;&quot;&gt;
    &lt;p style=&quot;font-size: 12px; font-weight: bold; color: #888; text-transform: uppercase; letter-spacing: 0.05em; margin: 0 0 14px;&quot;&gt;📚 Fontes e leituras complementares&lt;/p&gt;

    &lt;p style=&quot;margin: 0 0 10px; font-size: 14px;&quot;&gt;
      🔗 &lt;a href=&quot;https://learn.microsoft.com/en-us/dynamics365/fin-ops-core/fin-ops/copilot/copilot-for-finance-operations&quot; target=&quot;_blank&quot; style=&quot;color: #0078D4;&quot;&gt;
        Visão geral de Copilot e agentes no D365 Finance &amp;amp; Operations (Microsoft Learn)
      &lt;/a&gt;
    &lt;/p&gt;
    &lt;p style=&quot;margin: 0 0 10px; font-size: 14px;&quot;&gt;
      🔗 &lt;a href=&quot;https://learn.microsoft.com/en-us/dynamics365/release-plan/2026wave1/enterprise-resource-planning/dynamics365-finance/&quot; target=&quot;_blank&quot; style=&quot;color: #0078D4;&quot;&gt;
        D365 Finance 2026 Release Wave 1 — plano completo (Microsoft Learn)
      &lt;/a&gt;
    &lt;/p&gt;
    &lt;p style=&quot;margin: 0 0 10px; font-size: 14px;&quot;&gt;
      🔗 &lt;a href=&quot;https://learn.microsoft.com/en-us/dynamics365/release-plan/2026wave1/enterprise-resource-planning/dynamics365-supply-chain-management/&quot; target=&quot;_blank&quot; style=&quot;color: #0078D4;&quot;&gt;
        D365 Supply Chain Management 2026 Release Wave 1 (Microsoft Learn)
      &lt;/a&gt;
    &lt;/p&gt;
    &lt;p style=&quot;margin: 0 0 10px; font-size: 14px;&quot;&gt;
      🔗 &lt;a href=&quot;https://learn.microsoft.com/en-us/dynamics365/supply-chain/demand-planning/demand-planning-copilot&quot; target=&quot;_blank&quot; style=&quot;color: #0078D4;&quot;&gt;
        Análise de planos de procura com Copilot — guia prático (Microsoft Learn)
      &lt;/a&gt;
    &lt;/p&gt;
    &lt;p style=&quot;margin: 0 0 10px; font-size: 14px;&quot;&gt;
      🔗 &lt;a href=&quot;https://www.randgroup.com/insights/microsoft/dynamics-365/finance-operations/what-are-ai-agents-in-microsoft-dynamics-365-finance-operations/&quot; target=&quot;_blank&quot; style=&quot;color: #0078D4;&quot;&gt;
        O que são agentes de IA no D365 F&amp;amp;O? (Rand Group)
      &lt;/a&gt;
    &lt;/p&gt;
    &lt;p style=&quot;margin: 0 0 10px; font-size: 14px;&quot;&gt;
      🔗 &lt;a href=&quot;https://www.microsoft.com/en-us/dynamics-365/blog/business-leader/2026/03/18/2026-release-wave-1-plans-for-microsoft-dynamics-365-microsoft-power-platform-and-copilot-studio-offerings/&quot; target=&quot;_blank&quot; style=&quot;color: #0078D4;&quot;&gt;
        Planos 2026 Release Wave 1 — Dynamics 365 &amp;amp; Power Platform (Microsoft Blog)
      &lt;/a&gt;
    &lt;/p&gt;
    &lt;p style=&quot;margin: 0; font-size: 14px;&quot;&gt;
      🔗 &lt;a href=&quot;https://www.iesgp.com/blog/agentic-ai-in-dynamics-365&quot; target=&quot;_blank&quot; style=&quot;color: #0078D4;&quot;&gt;
        IA agentica no Dynamics 365: como os agentes autónomos transformam o ERP (IESGP)
      &lt;/a&gt;
    &lt;/p&gt;
  &lt;/div&gt;

&lt;/div&gt;

&lt;/body&gt;
&lt;/html&gt;</content><link rel='replies' type='application/atom+xml' href='http://fsilvajunior.blogspot.com/feeds/7608823179106979151/comments/default' title='Postar comentários'/><link rel='replies' type='text/html' href='http://fsilvajunior.blogspot.com/2026/05/agentes-de-ia-no-d365-f-como-eles.html#comment-form' title='0 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6956220039993174035/posts/default/7608823179106979151'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6956220039993174035/posts/default/7608823179106979151'/><link rel='alternate' type='text/html' href='http://fsilvajunior.blogspot.com/2026/05/agentes-de-ia-no-d365-f-como-eles.html' title='Agentes de IA no D365 F&amp;O: Como eles facilitam o trabalho no dia a dia?'/><author><name>Francisco Silva Jr.</name><uri>http://www.blogger.com/profile/15240847900054947078</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6956220039993174035.post-9104150530338619826</id><published>2026-05-26T01:57:51.631-07:00</published><updated>2026-05-26T01:57:51.631-07:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="10.0.48"/><category scheme="http://www.blogger.com/atom/ns#" term="Agents"/><category scheme="http://www.blogger.com/atom/ns#" term="AI"/><category scheme="http://www.blogger.com/atom/ns#" term="D365F&amp;O"/><title type='text'>D365 F&amp;O 2026 Release Wave 1: as principais novidades que chegam ao seu ERP</title><content type='html'>&lt;!DOCTYPE html&gt;
&lt;html lang=&quot;pt&quot;&gt;
&lt;head&gt;
  &lt;meta charset=&quot;UTF-8&quot; /&gt;
  &lt;title&gt;D365 F&amp;amp;O 2026 Release Wave 1&lt;/title&gt;
&lt;/head&gt;
&lt;body&gt;

&lt;!-- ============================================================
     POST: D365 F&amp;O 2026 Release Wave 1
     Para usar no Blogspot: copie tudo entre as tags &lt;body&gt; e cole
     no editor HTML do Blogger (modo &quot;HTML&quot; / &quot;Editar HTML&quot;)
     ============================================================ --&gt;

&lt;div style=&quot;font-family: Arial, sans-serif; max-width: 720px; margin: 0 auto; color: #333; line-height: 1.7;&quot;&gt;

  &lt;!-- Cabeçalho --&gt;
  &lt;div style=&quot;background: #0078D4; border-radius: 10px; padding: 32px 28px 24px; margin-bottom: 28px;&quot;&gt;
    &lt;span style=&quot;display: inline-block; background: rgba(255,255,255,0.2); color: #fff; font-size: 11px; font-weight: bold; padding: 3px 12px; border-radius: 20px; margin-bottom: 14px; letter-spacing: 0.05em; text-transform: uppercase;&quot;&gt;Dynamics 365 F&amp;amp;O&lt;/span&gt;
    &lt;h1 style=&quot;font-size: 24px; font-weight: bold; color: #fff; margin: 0 0 10px; line-height: 1.3;&quot;&gt;
      D365 F&amp;amp;O 2026 Release Wave 1: as principais novidades que chegam ao seu ERP
    &lt;/h1&gt;
    &lt;span style=&quot;font-size: 12px; color: rgba(255,255,255,0.75);&quot;&gt;Maio 2026 &amp;nbsp;·&amp;nbsp; Leitura rápida (~2 min)&lt;/span&gt;
  &lt;/div&gt;

  &lt;!-- Introdução --&gt;
  &lt;p style=&quot;font-size: 15px; margin: 0 0 16px;&quot;&gt;
    A Microsoft anunciou o &lt;strong&gt;2026 Release Wave 1&lt;/strong&gt; para o Dynamics 365 Finance &amp;amp; Operations, trazendo um conjunto relevante de melhorias focadas em automação, inteligência artificial e suporte a novos modelos de negócio. As atualizações estão a ser disponibilizadas de &lt;strong&gt;abril a setembro de 2026&lt;/strong&gt;.
  &lt;/p&gt;

  &lt;!-- Destaque --&gt;
  &lt;div style=&quot;background: #E6F1FB; border-left: 4px solid #0078D4; border-radius: 0 8px 8px 0; padding: 14px 18px; margin: 20px 0;&quot;&gt;
    &lt;p style=&quot;margin: 0; font-size: 14px; color: #0C447C;&quot;&gt;
      💡 O grande tema desta wave é a &lt;strong&gt;operação agêntica&lt;/strong&gt; — onde agentes de IA trabalham de forma autónoma para automatizar processos financeiros complexos, acelerando o encerramento de período e a reconciliação.
    &lt;/p&gt;
  &lt;/div&gt;

  &lt;!-- Imagem 1 --&gt;
  &lt;div style=&quot;border-radius: 10px; overflow: hidden; border: 1px solid #e0e0e0; margin: 24px 0;&quot;&gt;
    &lt;img
      src=&quot;https://learn.microsoft.com/en-us/dynamics365/release-plan/media/whatsnewandplanned.jpg&quot;
      alt=&quot;Áreas de investimento Dynamics 365 Finance 2026 Release Wave 1&quot;
      style=&quot;width: 100%; display: block; max-height: 260px; object-fit: cover;&quot;
    /&gt;
    &lt;p style=&quot;font-size: 12px; color: #666; margin: 0; padding: 8px 14px; background: #f9f9f9; text-align: center;&quot;&gt;
      Áreas de investimento prioritárias — Dynamics 365 Finance 2026 Release Wave 1 (Fonte: Microsoft Learn)
    &lt;/p&gt;
  &lt;/div&gt;

  &lt;!-- Destaques da release --&gt;
  &lt;h2 style=&quot;font-size: 18px; font-weight: bold; color: #0078D4; margin: 28px 0 14px;&quot;&gt;🚀 O que há de novo nesta wave?&lt;/h2&gt;

  &lt;!-- Grid de funcionalidades --&gt;
  &lt;table style=&quot;width: 100%; border-collapse: separate; border-spacing: 10px; margin: 0 -10px;&quot;&gt;
    &lt;tr&gt;
      &lt;td style=&quot;background: #f4f8fd; border-radius: 8px; padding: 14px 16px; vertical-align: top; width: 50%;&quot;&gt;
        &lt;p style=&quot;font-weight: bold; font-size: 14px; margin: 0 0 5px; color: #0078D4;&quot;&gt;🤖 Automação agêntica&lt;/p&gt;
        &lt;p style=&quot;font-size: 13px; margin: 0; color: #444;&quot;&gt;Agentes de IA para automatizar tarefas de encerramento de período e reconciliação financeira.&lt;/p&gt;
      &lt;/td&gt;
      &lt;td style=&quot;background: #f4f8fd; border-radius: 8px; padding: 14px 16px; vertical-align: top; width: 50%;&quot;&gt;
        &lt;p style=&quot;font-weight: bold; font-size: 14px; margin: 0 0 5px; color: #0078D4;&quot;&gt;🏢 Gestão de rendas&lt;/p&gt;
        &lt;p style=&quot;font-size: 13px; margin: 0; color: #444;&quot;&gt;Suporte financeiro completo a modelos de negócio baseados em aluguer de ativos e receitas recorrentes.&lt;/p&gt;
      &lt;/td&gt;
    &lt;/tr&gt;
    &lt;tr&gt;
      &lt;td style=&quot;background: #f4f8fd; border-radius: 8px; padding: 14px 16px; vertical-align: top;&quot;&gt;
        &lt;p style=&quot;font-weight: bold; font-size: 14px; margin: 0 0 5px; color: #0078D4;&quot;&gt;🌍 Globalization Studio&lt;/p&gt;
        &lt;p style=&quot;font-size: 13px; margin: 0; color: #444;&quot;&gt;Expansão das localizações e compliance fiscal em mais de 210 países, com automação via low-code/no-code.&lt;/p&gt;
      &lt;/td&gt;
      &lt;td style=&quot;background: #f4f8fd; border-radius: 8px; padding: 14px 16px; vertical-align: top;&quot;&gt;
        &lt;p style=&quot;font-weight: bold; font-size: 14px; margin: 0 0 5px; color: #0078D4;&quot;&gt;🧾 Faturação eletrónica&lt;/p&gt;
        &lt;p style=&quot;font-size: 13px; margin: 0; color: #444;&quot;&gt;Framework unificado e extensível para submissão de faturas eletrónicas em múltiplos mercados.&lt;/p&gt;
      &lt;/td&gt;
    &lt;/tr&gt;
    &lt;tr&gt;
      &lt;td style=&quot;background: #f4f8fd; border-radius: 8px; padding: 14px 16px; vertical-align: top;&quot;&gt;
        &lt;p style=&quot;font-weight: bold; font-size: 14px; margin: 0 0 5px; color: #0078D4;&quot;&gt;📊 Business Performance&lt;/p&gt;
        &lt;p style=&quot;font-size: 13px; margin: 0; color: #444;&quot;&gt;Analytics, planeamento e insights financeiros numa única plataforma integrada.&lt;/p&gt;
      &lt;/td&gt;
      &lt;td style=&quot;background: #f4f8fd; border-radius: 8px; padding: 14px 16px; vertical-align: top;&quot;&gt;
        &lt;p style=&quot;font-weight: bold; font-size: 14px; margin: 0 0 5px; color: #0078D4;&quot;&gt;🔁 Billing recorrente&lt;/p&gt;
        &lt;p style=&quot;font-size: 13px; margin: 0; color: #444;&quot;&gt;Melhorias no módulo de cobrança por subscrição, contratos e reconhecimento de receita.&lt;/p&gt;
      &lt;/td&gt;
    &lt;/tr&gt;
  &lt;/table&gt;

  &lt;!-- Imagem 2 --&gt;
  &lt;div style=&quot;border-radius: 10px; overflow: hidden; border: 1px solid #e0e0e0; margin: 28px 0;&quot;&gt;
    &lt;div style=&quot;height: 160px; background: linear-gradient(135deg, #0078D4 0%, #004E8C 100%); display: flex; align-items: center; justify-content: center; flex-direction: column; gap: 10px;&quot;&gt;
      &lt;span style=&quot;font-size: 48px;&quot;&gt;📈&lt;/span&gt;
      &lt;span style=&quot;color: #fff; font-size: 15px; font-weight: bold;&quot;&gt;Dynamics 365 Finance &amp;amp; Operations&lt;/span&gt;
      &lt;span style=&quot;color: rgba(255,255,255,0.8); font-size: 12px;&quot;&gt;ERP inteligente para equipas financeiras modernas&lt;/span&gt;
    &lt;/div&gt;
    &lt;p style=&quot;font-size: 12px; color: #666; margin: 0; padding: 8px 14px; background: #f9f9f9; text-align: center;&quot;&gt;
      D365 F&amp;amp;O posiciona-se como ERP inteligente e preparado para o futuro (Fonte: Microsoft)
    &lt;/p&gt;
  &lt;/div&gt;

  &lt;!-- Conclusão --&gt;
  &lt;p style=&quot;font-size: 15px; margin: 0 0 24px;&quot;&gt;
    Com esta release, a Microsoft reforça o posicionamento do D365 F&amp;amp;O como um ERP verdadeiramente inteligente — capaz de se adaptar a negócios em crescimento, com operações globais e necessidades de compliance cada vez mais exigentes.
  &lt;/p&gt;

  &lt;!-- Links --&gt;
  &lt;div style=&quot;border-top: 1px solid #e0e0e0; padding-top: 20px; margin-top: 20px;&quot;&gt;
    &lt;p style=&quot;font-size: 12px; font-weight: bold; color: #888; text-transform: uppercase; letter-spacing: 0.05em; margin: 0 0 12px;&quot;&gt;Saiba mais nos recursos oficiais Microsoft&lt;/p&gt;

    &lt;p style=&quot;margin: 0 0 8px; font-size: 14px;&quot;&gt;
      🔗 &lt;a href=&quot;https://learn.microsoft.com/en-us/dynamics365/release-plan/2026wave1/enterprise-resource-planning/dynamics365-finance/&quot; target=&quot;_blank&quot; style=&quot;color: #0078D4;&quot;&gt;
        Visão geral — D365 Finance 2026 Release Wave 1 (Microsoft Learn)
      &lt;/a&gt;
    &lt;/p&gt;
    &lt;p style=&quot;margin: 0 0 8px; font-size: 14px;&quot;&gt;
      🔗 &lt;a href=&quot;https://learn.microsoft.com/en-us/dynamics365/finance/get-started/whats-new-changed-10-0-48&quot; target=&quot;_blank&quot; style=&quot;color: #0078D4;&quot;&gt;
        O que há de novo na versão 10.0.48 (Microsoft Learn)
      &lt;/a&gt;
    &lt;/p&gt;
    &lt;p style=&quot;margin: 0 0 8px; font-size: 14px;&quot;&gt;
      🔗 &lt;a href=&quot;https://www.microsoft.com/en-us/dynamics-365/blog/product/dynamics-365-finance/&quot; target=&quot;_blank&quot; style=&quot;color: #0078D4;&quot;&gt;
        Blog oficial Dynamics 365 Finance (Microsoft)
      &lt;/a&gt;
    &lt;/p&gt;
    &lt;p style=&quot;margin: 0; font-size: 14px;&quot;&gt;
      🔗 &lt;a href=&quot;https://aka.ms/Plan/2026RW1/Finance&quot; target=&quot;_blank&quot; style=&quot;color: #0078D4;&quot;&gt;
        Plano completo de release 2026 Wave 1 (Microsoft)
      &lt;/a&gt;
    &lt;/p&gt;
  &lt;/div&gt;

&lt;/div&gt;

&lt;/body&gt;
&lt;/html&gt;</content><link rel='replies' type='application/atom+xml' href='http://fsilvajunior.blogspot.com/feeds/9104150530338619826/comments/default' title='Postar comentários'/><link rel='replies' type='text/html' href='http://fsilvajunior.blogspot.com/2026/05/d365-f-2026-release-wave-1-as.html#comment-form' title='0 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6956220039993174035/posts/default/9104150530338619826'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6956220039993174035/posts/default/9104150530338619826'/><link rel='alternate' type='text/html' href='http://fsilvajunior.blogspot.com/2026/05/d365-f-2026-release-wave-1-as.html' title='D365 F&amp;O 2026 Release Wave 1: as principais novidades que chegam ao seu ERP'/><author><name>Francisco Silva Jr.</name><uri>http://www.blogger.com/profile/15240847900054947078</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6956220039993174035.post-4298266850394522574</id><published>2026-05-20T02:11:50.333-07:00</published><updated>2026-05-20T07:18:53.250-07:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="D365F&amp;O"/><category scheme="http://www.blogger.com/atom/ns#" term="Francisco"/><category scheme="http://www.blogger.com/atom/ns#" term="RSAT"/><category scheme="http://www.blogger.com/atom/ns#" term="Silva"/><title type='text'>O Futuro do RSAT no Dynamics 365 Finance &amp; Operations: Limitações, Cenários e Alternativas.</title><content type='html'>&lt;div style=&quot;line-height: 20px;&quot;&gt;&lt;h1&gt;&lt;span style=&quot;color: red; font-family: Segoe UI;&quot;&gt;&lt;span style=&quot;font-size: 14px;&quot;&gt;Notice of Deprecation: Regression Suite Automation Tool (RSAT)&lt;/span&gt;&lt;/span&gt;&lt;/h1&gt;&lt;h1&gt;&lt;span style=&quot;color: red; font-family: Segoe UI;&quot;&gt;&lt;span style=&quot;font-size: 14px;&quot;&gt;Microsoft is hereby announcing the deprecation of the Regression Suite Automation Tool (RSAT), effective May 15, 2027.&lt;/span&gt;&lt;/span&gt;&lt;/h1&gt;&lt;h1&gt;&lt;span style=&quot;color: red; font-family: Segoe UI;&quot;&gt;&lt;span style=&quot;font-size: 14px;&quot;&gt;As of that date, Microsoft will no longer provide support, maintenance, bug fixes, or feature enhancements for RSAT.&lt;/span&gt;&lt;/span&gt;&lt;/h1&gt;&lt;div style=&quot;font-family: &amp;quot;Segoe UI&amp;quot;; font-size: 14px;&quot;&gt;&lt;span style=&quot;color: red;&quot;&gt;Deprecation details&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;ul style=&quot;text-align: left;&quot;&gt;&lt;li&gt;&lt;span style=&quot;color: red; font-family: Segoe UI;&quot;&gt;&lt;span style=&quot;font-size: 14px;&quot;&gt;&lt;b&gt;Effective date:&lt;/b&gt; May 15, 2027.&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style=&quot;color: red; font-family: Segoe UI;&quot;&gt;&lt;span style=&quot;font-size: 14px;&quot;&gt;&lt;b&gt;Support status:&lt;/b&gt; Beginning on the effective date, Microsoft will no longer provide support, servicing, bug fixes, or feature updates for RSAT.&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style=&quot;color: red; font-family: Segoe UI;&quot;&gt;&lt;span style=&quot;font-size: 14px;&quot;&gt;&lt;b&gt;Product availability:&lt;/b&gt; Customers may continue to use RSAT after the effective date; however, the product will remain available only on an unsupported basis.&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style=&quot;color: red;&quot;&gt;&lt;b&gt;Recommended next step&lt;/b&gt;: Customers should begin planning&lt;/span&gt;&lt;/li&gt;&lt;/ul&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;p style=&quot;font-family: &amp;quot;Segoe UI&amp;quot;; font-size: 14px;&quot;&gt;Se você atua com testes no &lt;strong&gt;Dynamics 365 Finance &amp;amp; Operations (F&amp;amp;O)&lt;/strong&gt;, provavelmente já enfrentou um cenário recorrente: após cada &lt;em&gt;release wave&lt;/em&gt; da Microsoft, uma parte significativa dos testes automatizados falha devido a pequenas alterações na interface.&lt;/p&gt;&lt;p style=&quot;font-family: &amp;quot;Segoe UI&amp;quot;; font-size: 14px;&quot;&gt;Esse comportamento não é acidental — é estrutural.&lt;/p&gt;&lt;p style=&quot;font-family: &amp;quot;Segoe UI&amp;quot;; font-size: 14px;&quot;&gt;Recentemente, a própria Microsoft sinalizou em eventos técnicos que o &lt;strong&gt;RSAT (Regression Suite Automation Tool)&lt;/strong&gt; está &lt;strong&gt;“feature complete”&lt;/strong&gt;, ou seja:&lt;/p&gt;&lt;ul style=&quot;font-family: &amp;quot;Segoe UI&amp;quot;; font-size: 14px;&quot;&gt;&lt;li&gt;Não há previsão de novas funcionalidades&lt;/li&gt;&lt;li&gt;Não existe roadmap ativo de evolução&lt;/li&gt;&lt;li&gt;A ferramenta continua suportada, mas sem inovação&lt;/li&gt;&lt;/ul&gt;&lt;p style=&quot;font-family: &amp;quot;Segoe UI&amp;quot;; font-size: 14px;&quot;&gt;Esse posicionamento reforça a necessidade de reavaliar a estratégia de automação de testes no ecossistema F&amp;amp;O.&lt;/p&gt;&lt;hr style=&quot;font-family: &amp;quot;Segoe UI&amp;quot;; font-size: 14px;&quot; /&gt;&lt;h1 style=&quot;font-family: &amp;quot;Segoe UI&amp;quot;; font-size: 14px;&quot;&gt;O que é o RSAT no contexto do D365 F&amp;amp;O&lt;/h1&gt;&lt;p style=&quot;font-family: &amp;quot;Segoe UI&amp;quot;; font-size: 14px;&quot;&gt;O &lt;strong&gt;RSAT&lt;/strong&gt; é a ferramenta de automação de testes fornecida pela Microsoft para o &lt;strong&gt;Dynamics 365 Finance &amp;amp; Operations&lt;/strong&gt;, com forte integração nativa com:&lt;/p&gt;&lt;ul style=&quot;font-family: &amp;quot;Segoe UI&amp;quot;; font-size: 14px;&quot;&gt;&lt;li&gt;&lt;strong&gt;Lifecycle Services (LCS)&lt;/strong&gt;&lt;/li&gt;&lt;li&gt;&lt;strong&gt;Azure DevOps&lt;/strong&gt;&lt;/li&gt;&lt;li&gt;&lt;strong&gt;Task Recorder for D365&lt;/strong&gt;&lt;/li&gt;&lt;/ul&gt;&lt;p style=&quot;font-family: &amp;quot;Segoe UI&amp;quot;; font-size: 14px;&quot;&gt;Seu funcionamento é baseado na gravação de tarefas (&lt;em&gt;task recordings&lt;/em&gt;), capturando:&lt;/p&gt;&lt;ul style=&quot;font-family: &amp;quot;Segoe UI&amp;quot;; font-size: 14px;&quot;&gt;&lt;li&gt;Cliques&lt;/li&gt;&lt;li&gt;Navegação&lt;/li&gt;&lt;li&gt;Interações na interface&lt;/li&gt;&lt;/ul&gt;&lt;p style=&quot;font-family: &amp;quot;Segoe UI&amp;quot;; font-size: 14px;&quot;&gt;Essas gravações são posteriormente reproduzidas durante execuções de teste.&lt;/p&gt;&lt;h3 style=&quot;font-family: &amp;quot;Segoe UI&amp;quot;; font-size: 14px;&quot;&gt;Pontos fortes no F&amp;amp;O&lt;/h3&gt;&lt;ul style=&quot;font-family: &amp;quot;Segoe UI&amp;quot;; font-size: 14px;&quot;&gt;&lt;li&gt;Disponível sem custo adicional com o D365 F&amp;amp;O&lt;/li&gt;&lt;li&gt;Integração nativa com o ecossistema Microsoft&lt;/li&gt;&lt;li&gt;Familiar para usuários que já utilizam Task Recorder&lt;/li&gt;&lt;li&gt;Funciona bem para:&lt;ul&gt;&lt;li&gt;Testes simples&lt;/li&gt;&lt;li&gt;Cenários isolados&lt;/li&gt;&lt;li&gt;Processos dentro de um único módulo&lt;/li&gt;&lt;/ul&gt;&lt;/li&gt;&lt;/ul&gt;&lt;hr style=&quot;font-family: &amp;quot;Segoe UI&amp;quot;; font-size: 14px;&quot; /&gt;&lt;h1 style=&quot;font-family: &amp;quot;Segoe UI&amp;quot;; font-size: 14px;&quot;&gt;O Problema Estrutural do RSAT&lt;/h1&gt;&lt;p style=&quot;font-family: &amp;quot;Segoe UI&amp;quot;; font-size: 14px;&quot;&gt;O RSAT não entende processos de negócio — ele entende apenas as&amp;nbsp;&lt;strong&gt;interações com a interface do usuário (UI)&lt;/strong&gt;.&lt;/p&gt;&lt;p style=&quot;font-family: &amp;quot;Segoe UI&amp;quot;; font-size: 14px;&quot;&gt;Isso significa que:&lt;/p&gt;&lt;blockquote style=&quot;font-family: &amp;quot;Segoe UI&amp;quot;; font-size: 14px;&quot;&gt;&lt;p&gt;Ele não valida o resultado do processo — apenas repete os passos que um usuário executou.&lt;/p&gt;&lt;/blockquote&gt;&lt;h3 style=&quot;font-family: &amp;quot;Segoe UI&amp;quot;; font-size: 14px;&quot;&gt;Impacto direto no F&amp;amp;O&lt;/h3&gt;&lt;p style=&quot;font-family: &amp;quot;Segoe UI&amp;quot;; font-size: 14px;&quot;&gt;O Dynamics 365 F&amp;amp;O recebe atualizações frequentes:&lt;/p&gt;&lt;ul style=&quot;font-family: &amp;quot;Segoe UI&amp;quot;; font-size: 14px;&quot;&gt;&lt;li&gt;&lt;strong&gt;Release Wave 1 (abril)&lt;/strong&gt;&lt;/li&gt;&lt;li&gt;&lt;strong&gt;Release Wave 2 (outubro)&lt;/strong&gt;&lt;/li&gt;&lt;li&gt;Hotfixes recorrentes&lt;/li&gt;&lt;/ul&gt;&lt;p style=&quot;font-family: &amp;quot;Segoe UI&amp;quot;; font-size: 14px;&quot;&gt;Cada atualização pode alterar:&lt;/p&gt;&lt;ul style=&quot;font-family: &amp;quot;Segoe UI&amp;quot;; font-size: 14px;&quot;&gt;&lt;li&gt;rótulos de campos&lt;/li&gt;&lt;li&gt;estrutura de formulários&lt;/li&gt;&lt;li&gt;fluxos de navegação&lt;/li&gt;&lt;li&gt;obrigatoriedade de campos&lt;/li&gt;&lt;/ul&gt;&lt;p style=&quot;font-family: &amp;quot;Segoe UI&amp;quot;; font-size: 14px;&quot;&gt;Resultado: testes gravados quebram.&lt;/p&gt;&lt;hr style=&quot;font-family: &amp;quot;Segoe UI&amp;quot;; font-size: 14px;&quot; /&gt;&lt;h1 style=&quot;font-family: &amp;quot;Segoe UI&amp;quot;; font-size: 14px;&quot;&gt;Principais Limitações do RSAT no F&amp;amp;O&lt;/h1&gt;&lt;h2 style=&quot;font-family: &amp;quot;Segoe UI&amp;quot;; font-size: 14px;&quot;&gt;1. Falta de testes end-to-end entre módulos&lt;/h2&gt;&lt;p style=&quot;font-family: &amp;quot;Segoe UI&amp;quot;; font-size: 14px;&quot;&gt;No F&amp;amp;O, processos críticos atravessam múltiplos módulos, como:&lt;/p&gt;&lt;ul style=&quot;font-family: &amp;quot;Segoe UI&amp;quot;; font-size: 14px;&quot;&gt;&lt;li&gt;Procure-to-Pay (Compras → Financeiro → GL)&lt;/li&gt;&lt;li&gt;Order-to-Cash (Vendas → Estoque → Financeiro)&lt;/li&gt;&lt;/ul&gt;&lt;p style=&quot;font-family: &amp;quot;Segoe UI&amp;quot;; font-size: 14px;&quot;&gt;O RSAT não cobre esses fluxos de ponta a ponta de forma eficiente.&lt;/p&gt;&lt;hr style=&quot;font-family: &amp;quot;Segoe UI&amp;quot;; font-size: 14px;&quot; /&gt;&lt;h2 style=&quot;font-family: &amp;quot;Segoe UI&amp;quot;; font-size: 14px;&quot;&gt;2. Alta dependência de manutenção manual&lt;/h2&gt;&lt;p style=&quot;font-family: &amp;quot;Segoe UI&amp;quot;; font-size: 14px;&quot;&gt;A cada mudança na UI:&lt;/p&gt;&lt;ul style=&quot;font-family: &amp;quot;Segoe UI&amp;quot;; font-size: 14px;&quot;&gt;&lt;li&gt;Testes precisam ser regravados&lt;/li&gt;&lt;li&gt;Desenvolvedores são envolvidos&lt;/li&gt;&lt;li&gt;Ciclos de regressão aumentam&lt;/li&gt;&lt;/ul&gt;&lt;p style=&quot;font-family: &amp;quot;Segoe UI&amp;quot;; font-size: 14px;&quot;&gt;Esse efeito é conhecido como &lt;strong&gt;“dívida de regressão”&lt;/strong&gt;.&lt;/p&gt;&lt;hr style=&quot;font-family: &amp;quot;Segoe UI&amp;quot;; font-size: 14px;&quot; /&gt;&lt;h2 style=&quot;font-family: &amp;quot;Segoe UI&amp;quot;; font-size: 14px;&quot;&gt;3. Dependência técnica&lt;/h2&gt;&lt;p style=&quot;font-family: &amp;quot;Segoe UI&amp;quot;; font-size: 14px;&quot;&gt;Apesar da gravação ser simples, a manutenção exige:&lt;/p&gt;&lt;ul style=&quot;font-family: &amp;quot;Segoe UI&amp;quot;; font-size: 14px;&quot;&gt;&lt;li&gt;Conhecimento técnico&lt;/li&gt;&lt;li&gt;Acesso a LCS&lt;/li&gt;&lt;li&gt;Configuração em Azure DevOps&lt;/li&gt;&lt;/ul&gt;&lt;p style=&quot;font-family: &amp;quot;Segoe UI&amp;quot;; font-size: 14px;&quot;&gt;Isso limita a atuação de:&lt;/p&gt;&lt;ul style=&quot;font-family: &amp;quot;Segoe UI&amp;quot;; font-size: 14px;&quot;&gt;&lt;li&gt;Analistas de negócio&lt;/li&gt;&lt;li&gt;Usuários-chave&lt;/li&gt;&lt;li&gt;Times de QA funcionais&lt;/li&gt;&lt;/ul&gt;&lt;hr style=&quot;font-family: &amp;quot;Segoe UI&amp;quot;; font-size: 14px;&quot; /&gt;&lt;h2 style=&quot;font-family: &amp;quot;Segoe UI&amp;quot;; font-size: 14px;&quot;&gt;4. Ausência de inteligência ou adaptação&lt;/h2&gt;&lt;p style=&quot;font-family: &amp;quot;Segoe UI&amp;quot;; font-size: 14px;&quot;&gt;O RSAT:&lt;/p&gt;&lt;ul style=&quot;font-family: &amp;quot;Segoe UI&amp;quot;; font-size: 14px;&quot;&gt;&lt;li&gt;Não possui auto-healing&lt;/li&gt;&lt;li&gt;Não identifica mudanças na UI&lt;/li&gt;&lt;li&gt;Não adapta fluxos automaticamente&lt;/li&gt;&lt;/ul&gt;&lt;p style=&quot;font-family: &amp;quot;Segoe UI&amp;quot;; font-size: 14px;&quot;&gt;Se algo mudar, o teste simplesmente falhará.&lt;/p&gt;&lt;hr style=&quot;font-family: &amp;quot;Segoe UI&amp;quot;; font-size: 14px;&quot; /&gt;&lt;h2 style=&quot;font-family: &amp;quot;Segoe UI&amp;quot;; font-size: 14px;&quot;&gt;5. Cobertura e visão limitada&lt;/h2&gt;&lt;p style=&quot;font-family: &amp;quot;Segoe UI&amp;quot;; font-size: 14px;&quot;&gt;Os resultados são geralmente:&lt;/p&gt;&lt;ul style=&quot;font-family: &amp;quot;Segoe UI&amp;quot;; font-size: 14px;&quot;&gt;&lt;li&gt;Status pass/fail&lt;/li&gt;&lt;li&gt;Sem visão de cobertura por processo&lt;/li&gt;&lt;li&gt;Sem análise de risco&lt;/li&gt;&lt;/ul&gt;&lt;p style=&quot;font-family: &amp;quot;Segoe UI&amp;quot;; font-size: 14px;&quot;&gt;Isso dificulta a tomada de decisão antes do go-live.&lt;/p&gt;&lt;hr style=&quot;font-family: &amp;quot;Segoe UI&amp;quot;; font-size: 14px;&quot; /&gt;&lt;h1 style=&quot;font-family: &amp;quot;Segoe UI&amp;quot;; font-size: 14px;&quot;&gt;Por que esse problema se agrava no F&amp;amp;O&lt;/h1&gt;&lt;p style=&quot;font-family: &amp;quot;Segoe UI&amp;quot;; font-size: 14px;&quot;&gt;O Dynamics 365 F&amp;amp;O é um ERP altamente integrado, onde:&lt;/p&gt;&lt;ul style=&quot;font-family: &amp;quot;Segoe UI&amp;quot;; font-size: 14px;&quot;&gt;&lt;li&gt;Processos são interdependentes&lt;/li&gt;&lt;li&gt;Dados fluem entre módulos&lt;/li&gt;&lt;li&gt;Validações dependem de contexto&lt;/li&gt;&lt;/ul&gt;&lt;p style=&quot;font-family: &amp;quot;Segoe UI&amp;quot;; font-size: 14px;&quot;&gt;Testar apenas cliques não garante que o processo financeiro ou operacional foi executado corretamente.&lt;/p&gt;&lt;hr style=&quot;font-family: &amp;quot;Segoe UI&amp;quot;; font-size: 14px;&quot; /&gt;&lt;h1 style=&quot;font-family: &amp;quot;Segoe UI&amp;quot;; font-size: 14px;&quot;&gt;Categorias de Alternativas ao RSAT no F&amp;amp;O&lt;/h1&gt;&lt;p style=&quot;font-family: &amp;quot;Segoe UI&amp;quot;; font-size: 14px;&quot;&gt;Atualmente, as alternativas adotadas seguem três abordagens principais:&lt;/p&gt;&lt;hr style=&quot;font-family: &amp;quot;Segoe UI&amp;quot;; font-size: 14px;&quot; /&gt;&lt;h2 style=&quot;font-family: &amp;quot;Segoe UI&amp;quot;; font-size: 14px;&quot;&gt;1. Plataformas Low-Code&lt;/h2&gt;&lt;p style=&quot;font-family: &amp;quot;Segoe UI&amp;quot;; font-size: 14px;&quot;&gt;&lt;strong&gt;Exemplos:&lt;/strong&gt; Leapwork, ACCELQ&lt;/p&gt;&lt;h3 style=&quot;font-family: &amp;quot;Segoe UI&amp;quot;; font-size: 14px;&quot;&gt;O que oferecem&lt;/h3&gt;&lt;ul style=&quot;font-family: &amp;quot;Segoe UI&amp;quot;; font-size: 14px;&quot;&gt;&lt;li&gt;Criação visual de testes&lt;/li&gt;&lt;li&gt;Menor dependência técnica&lt;/li&gt;&lt;li&gt;Possibilidade de importar scripts do RSAT&lt;/li&gt;&lt;/ul&gt;&lt;h3 style=&quot;font-family: &amp;quot;Segoe UI&amp;quot;; font-size: 14px;&quot;&gt;Limitações no F&amp;amp;O&lt;/h3&gt;&lt;ul style=&quot;font-family: &amp;quot;Segoe UI&amp;quot;; font-size: 14px;&quot;&gt;&lt;li&gt;Ainda baseadas na UI&lt;/li&gt;&lt;li&gt;Quebram com mudanças na interface&lt;/li&gt;&lt;li&gt;Cobertura limitada para cenários cross-module&lt;/li&gt;&lt;/ul&gt;&lt;hr style=&quot;font-family: &amp;quot;Segoe UI&amp;quot;; font-size: 14px;&quot; /&gt;&lt;h2 style=&quot;font-family: &amp;quot;Segoe UI&amp;quot;; font-size: 14px;&quot;&gt;2. Frameworks Baseados em Código&lt;/h2&gt;&lt;p style=&quot;font-family: &amp;quot;Segoe UI&amp;quot;; font-size: 14px;&quot;&gt;&lt;strong&gt;Exemplos:&lt;/strong&gt;&lt;/p&gt;&lt;ul style=&quot;font-family: &amp;quot;Segoe UI&amp;quot;; font-size: 14px;&quot;&gt;&lt;li&gt;Selenium (C# / Java)&lt;/li&gt;&lt;li&gt;SpecFlow (BDD)&lt;/li&gt;&lt;/ul&gt;&lt;h3 style=&quot;font-family: &amp;quot;Segoe UI&amp;quot;; font-size: 14px;&quot;&gt;O que oferecem&lt;/h3&gt;&lt;ul style=&quot;font-family: &amp;quot;Segoe UI&amp;quot;; font-size: 14px;&quot;&gt;&lt;li&gt;Controle total sobre automação&lt;/li&gt;&lt;li&gt;Integração com CI/CD&lt;/li&gt;&lt;li&gt;Suporte a cenários complexos&lt;/li&gt;&lt;/ul&gt;&lt;h3 style=&quot;font-family: &amp;quot;Segoe UI&amp;quot;; font-size: 14px;&quot;&gt;Limitações no F&amp;amp;O&lt;/h3&gt;&lt;ul style=&quot;font-family: &amp;quot;Segoe UI&amp;quot;; font-size: 14px;&quot;&gt;&lt;li&gt;Alto custo de desenvolvimento e manutenção&lt;/li&gt;&lt;li&gt;IDs dinâmicos do D365 dificultam estabilidade&lt;/li&gt;&lt;li&gt;Forte dependência de equipes técnicas&lt;/li&gt;&lt;/ul&gt;&lt;hr style=&quot;font-family: &amp;quot;Segoe UI&amp;quot;; font-size: 14px;&quot; /&gt;&lt;h2 style=&quot;font-family: &amp;quot;Segoe UI&amp;quot;; font-size: 14px;&quot;&gt;3. Automação Baseada em IA (AI Test Agents)&lt;/h2&gt;&lt;h3 style=&quot;font-family: &amp;quot;Segoe UI&amp;quot;; font-size: 14px;&quot;&gt;O que muda no paradigma&lt;/h3&gt;&lt;p style=&quot;font-family: &amp;quot;Segoe UI&amp;quot;; font-size: 14px;&quot;&gt;Nesse modelo:&lt;/p&gt;&lt;ul style=&quot;font-family: &amp;quot;Segoe UI&amp;quot;; font-size: 14px;&quot;&gt;&lt;li&gt;O teste não é uma sequência de cliques&lt;/li&gt;&lt;li&gt;O teste valida um &lt;strong&gt;resultado de negócio&lt;/strong&gt;&lt;/li&gt;&lt;/ul&gt;&lt;h3 style=&quot;font-family: &amp;quot;Segoe UI&amp;quot;; font-size: 14px;&quot;&gt;Exemplos:&lt;/h3&gt;&lt;ul style=&quot;font-family: &amp;quot;Segoe UI&amp;quot;; font-size: 14px;&quot;&gt;&lt;li&gt;Sofy (agents especializados para D365)&lt;/li&gt;&lt;/ul&gt;&lt;h3 style=&quot;font-family: &amp;quot;Segoe UI&amp;quot;; font-size: 14px;&quot;&gt;Benefícios no F&amp;amp;O&lt;/h3&gt;&lt;ul style=&quot;font-family: &amp;quot;Segoe UI&amp;quot;; font-size: 14px;&quot;&gt;&lt;li&gt;Autoadaptação a mudanças de interface&lt;/li&gt;&lt;li&gt;Validação de processos completos (ex: PO → GL)&lt;/li&gt;&lt;li&gt;Redução significativa da manutenção&lt;/li&gt;&lt;li&gt;Execução mais rápida em ciclos de release&lt;/li&gt;&lt;/ul&gt;&lt;hr style=&quot;font-family: &amp;quot;Segoe UI&amp;quot;; font-size: 14px;&quot; /&gt;&lt;h1 style=&quot;font-family: &amp;quot;Segoe UI&amp;quot;; font-size: 14px;&quot;&gt;Como Evoluir do RSAT no F&amp;amp;O&lt;/h1&gt;&lt;p style=&quot;font-family: &amp;quot;Segoe UI&amp;quot;; font-size: 14px;&quot;&gt;A abordagem mais eficaz não é substituição imediata, mas sim evolução gradual:&lt;/p&gt;&lt;h3 style=&quot;font-family: &amp;quot;Segoe UI&amp;quot;; font-size: 14px;&quot;&gt;Estratégia recomendada&lt;/h3&gt;&lt;ol style=&quot;font-family: &amp;quot;Segoe UI&amp;quot;; font-size: 14px;&quot;&gt;&lt;li&gt;&lt;p&gt;Identificar processos críticos não cobertos&lt;br /&gt;(principalmente cross-module)&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;Priorizar cenários de maior risco:&lt;/p&gt;&lt;ul&gt;&lt;li&gt;Fechamento contábil&lt;/li&gt;&lt;li&gt;Procure-to-pay&lt;/li&gt;&lt;li&gt;Order-to-cash&lt;/li&gt;&lt;/ul&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;Manter RSAT para:&lt;/p&gt;&lt;ul&gt;&lt;li&gt;Documentação&lt;/li&gt;&lt;li&gt;Testes simples&lt;/li&gt;&lt;/ul&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;Expandir automação orientada a resultado&lt;/p&gt;&lt;/li&gt;&lt;/ol&gt;&lt;hr style=&quot;font-family: &amp;quot;Segoe UI&amp;quot;; font-size: 14px;&quot; /&gt;&lt;h1 style=&quot;font-family: &amp;quot;Segoe UI&amp;quot;; font-size: 14px;&quot;&gt;Conclusão&lt;/h1&gt;&lt;p style=&quot;font-family: &amp;quot;Segoe UI&amp;quot;; font-size: 14px;&quot;&gt;O RSAT continua sendo uma ferramenta funcional no Dynamics 365 Finance &amp;amp; Operations, especialmente em cenários simples e estáveis.&lt;/p&gt;&lt;p style=&quot;font-family: &amp;quot;Segoe UI&amp;quot;; font-size: 14px;&quot;&gt;No entanto, sua arquitetura baseada em UI limita sua escalabilidade em um ambiente:&lt;/p&gt;&lt;ul style=&quot;font-family: &amp;quot;Segoe UI&amp;quot;; font-size: 14px;&quot;&gt;&lt;li&gt;Altamente dinâmico&lt;/li&gt;&lt;li&gt;Orientado a processos&lt;/li&gt;&lt;li&gt;Com releases frequentes&lt;/li&gt;&lt;/ul&gt;&lt;p style=&quot;font-family: &amp;quot;Segoe UI&amp;quot;; font-size: 14px;&quot;&gt;O movimento atual do mercado não é apenas substituir ferramentas, mas evoluir o conceito de teste:&lt;/p&gt;&lt;blockquote style=&quot;font-family: &amp;quot;Segoe UI&amp;quot;; font-size: 14px;&quot;&gt;&lt;p&gt;De automação baseada em cliques para validação baseada em processos de negócio.&lt;/p&gt;&lt;/blockquote&gt;&lt;hr style=&quot;font-family: &amp;quot;Segoe UI&amp;quot;; font-size: 14px;&quot; /&gt;&lt;h1 style=&quot;font-family: &amp;quot;Segoe UI&amp;quot;; font-size: 14px;&quot;&gt;Alternativas ao RSAT no D365 F&amp;amp;O&lt;/h1&gt;&lt;p style=&quot;font-family: &amp;quot;Segoe UI&amp;quot;; font-size: 14px;&quot;&gt;A seguir, algumas opções utilizadas atualmente:&lt;/p&gt;&lt;h3 style=&quot;font-family: &amp;quot;Segoe UI&amp;quot;; font-size: 14px;&quot;&gt;✅ Ferramentas Microsoft&lt;/h3&gt;&lt;ul style=&quot;font-family: &amp;quot;Segoe UI&amp;quot;; font-size: 14px;&quot;&gt;&lt;li&gt;&lt;strong&gt;RSAT (oficial)&lt;/strong&gt;&lt;/li&gt;&lt;li&gt;Integração com &lt;strong&gt;Azure DevOps Test Plans&lt;/strong&gt;&lt;/li&gt;&lt;li&gt;&lt;strong&gt;Task Recorder (base para automação)&lt;/strong&gt;&lt;/li&gt;&lt;/ul&gt;&lt;p style=&quot;font-family: &amp;quot;Segoe UI&amp;quot;; font-size: 14px;&quot;&gt;📌 Fonte oficial:&lt;/p&gt;&lt;ul style=&quot;font-family: &amp;quot;Segoe UI&amp;quot;; font-size: 14px;&quot;&gt;&lt;li&gt;Microsoft Learn – RSAT documentation&lt;br /&gt;https://learn.microsoft.com/dynamics365/finance/dev-itpro/perf-test/regression-suite-automation-tool&lt;/li&gt;&lt;/ul&gt;&lt;hr style=&quot;font-family: &amp;quot;Segoe UI&amp;quot;; font-size: 14px;&quot; /&gt;&lt;h3 style=&quot;font-family: &amp;quot;Segoe UI&amp;quot;; font-size: 14px;&quot;&gt;✅ Low-Code / No-Code&lt;/h3&gt;&lt;ul style=&quot;font-family: &amp;quot;Segoe UI&amp;quot;; font-size: 14px;&quot;&gt;&lt;li&gt;Leapwork&lt;/li&gt;&lt;li&gt;ACCELQ&lt;/li&gt;&lt;/ul&gt;&lt;hr style=&quot;font-family: &amp;quot;Segoe UI&amp;quot;; font-size: 14px;&quot; /&gt;&lt;h3 style=&quot;font-family: &amp;quot;Segoe UI&amp;quot;; font-size: 14px;&quot;&gt;✅ Frameworks customizados&lt;/h3&gt;&lt;ul style=&quot;font-family: &amp;quot;Segoe UI&amp;quot;; font-size: 14px;&quot;&gt;&lt;li&gt;Selenium + C#&lt;/li&gt;&lt;li&gt;SpecFlow (BDD)&lt;/li&gt;&lt;/ul&gt;&lt;hr style=&quot;font-family: &amp;quot;Segoe UI&amp;quot;; font-size: 14px;&quot; /&gt;&lt;h3 style=&quot;font-family: &amp;quot;Segoe UI&amp;quot;; font-size: 14px;&quot;&gt;✅ Plataformas com IA&lt;/h3&gt;&lt;ul style=&quot;font-family: &amp;quot;Segoe UI&amp;quot;; font-size: 14px;&quot;&gt;&lt;li&gt;Sofy (foco em D365)&lt;/li&gt;&lt;li&gt;Outras soluções emergentes de automação inteligente&lt;/li&gt;&lt;/ul&gt;&lt;div style=&quot;font-family: &amp;quot;Segoe UI&amp;quot;; font-size: 14px;&quot;&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style=&quot;font-family: &amp;quot;Segoe UI&amp;quot;; font-size: 14px;&quot;&gt;Outra possibilidade que ainda não testei:&amp;nbsp;&lt;a href=&quot;https://learn.microsoft.com/en-us/dynamics365/fin-ops-core/dev-itpro/perf-test/testing-validation#import-a-task-recorder-recording-into-visual-studio-to-generate-test-code&quot;&gt;Testing and validations - Finance &amp;amp; Operations | Dynamics 365 | Microsoft Learn&lt;/a&gt;&lt;/div&gt;&lt;div style=&quot;font-family: &amp;quot;Segoe UI&amp;quot;; font-size: 14px;&quot;&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style=&quot;font-family: &amp;quot;Segoe UI&amp;quot;; font-size: 14px;&quot;&gt;Agradeço ao Copilot pelo formato do texto!&lt;/div&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://fsilvajunior.blogspot.com/feeds/4298266850394522574/comments/default' title='Postar comentários'/><link rel='replies' type='text/html' href='http://fsilvajunior.blogspot.com/2026/05/o-futuro-do-rsat-no-dynamics-365.html#comment-form' title='0 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6956220039993174035/posts/default/4298266850394522574'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6956220039993174035/posts/default/4298266850394522574'/><link rel='alternate' type='text/html' href='http://fsilvajunior.blogspot.com/2026/05/o-futuro-do-rsat-no-dynamics-365.html' title='O Futuro do RSAT no Dynamics 365 Finance &amp; Operations: Limitações, Cenários e Alternativas.'/><author><name>Francisco Silva Jr.</name><uri>http://www.blogger.com/profile/15240847900054947078</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6956220039993174035.post-5087145356929252952</id><published>2026-04-29T08:03:00.000-07:00</published><updated>2026-04-29T08:03:23.592-07:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="D365F&amp;O"/><category scheme="http://www.blogger.com/atom/ns#" term="Desktop"/><category scheme="http://www.blogger.com/atom/ns#" term="Dev"/><category scheme="http://www.blogger.com/atom/ns#" term="fsilvajr"/><category scheme="http://www.blogger.com/atom/ns#" term="RDP"/><category scheme="http://www.blogger.com/atom/ns#" term="remote"/><title type='text'>April Microsoft Security Updates - Security Warnings Remote Desktop.</title><content type='html'>&lt;p&gt;&amp;nbsp;&lt;span style=&quot;background-color: white; color: rgba(0, 0, 0, 0.9); font-family: -apple-system, system-ui, BlinkMacSystemFont, &amp;quot;Segoe UI&amp;quot;, Roboto, &amp;quot;Helvetica Neue&amp;quot;, &amp;quot;Fira Sans&amp;quot;, Ubuntu, Oxygen, &amp;quot;Oxygen Sans&amp;quot;, Cantarell, &amp;quot;Droid Sans&amp;quot;, &amp;quot;Apple Color Emoji&amp;quot;, &amp;quot;Segoe UI Emoji&amp;quot;, &amp;quot;Segoe UI Emoji&amp;quot;, &amp;quot;Segoe UI Symbol&amp;quot;, &amp;quot;Lucida Grande&amp;quot;, Helvetica, Arial, sans-serif; font-size: 20px; white-space: pre-wrap;&quot;&gt;Para todos os que utilizam o Remote Desktop (RDP) para acessar ambientes, para qualquer que seja a finalidade, e também para os usuários que utilizam aplicativos hospedados em servidores RDS, as atualizações de abril liberadas pela Microsoft alteraram a segurança e trouxeram mensagens de segurança que merecem atenção.&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot;background: none 0% 0% / auto repeat scroll padding-box border-box rgb(255, 255, 255); border-color: rgba(0, 0, 0, 0.9); border-image: none 100% / 1 / 0 stretch; border-style: none; border-width: 0px; box-sizing: inherit; color: rgba(0, 0, 0, 0.9); counter-reset: list-1 0 list-2 0 list-3 0 list-4 0 list-5 0 list-6 0 list-7 0 list-8 0 list-9 0; cursor: text; font-family: -apple-system, system-ui, BlinkMacSystemFont, &amp;quot;Segoe UI&amp;quot;, Roboto, &amp;quot;Helvetica Neue&amp;quot;, &amp;quot;Fira Sans&amp;quot;, Ubuntu, Oxygen, &amp;quot;Oxygen Sans&amp;quot;, Cantarell, &amp;quot;Droid Sans&amp;quot;, &amp;quot;Apple Color Emoji&amp;quot;, &amp;quot;Segoe UI Emoji&amp;quot;, &amp;quot;Segoe UI Emoji&amp;quot;, &amp;quot;Segoe UI Symbol&amp;quot;, &amp;quot;Lucida Grande&amp;quot;, Helvetica, Arial, sans-serif; font-size: 20px; line-height: 1.5; margin: 0px; padding: 0px; vertical-align: baseline; white-space: pre-wrap;&quot;&gt;&lt;br style=&quot;box-sizing: inherit;&quot; /&gt;&lt;/p&gt;&lt;p style=&quot;background: none 0% 0% / auto repeat scroll padding-box border-box rgb(255, 255, 255); border-color: rgba(0, 0, 0, 0.9); border-image: none 100% / 1 / 0 stretch; border-style: none; border-width: 0px; box-sizing: inherit; color: rgba(0, 0, 0, 0.9); counter-reset: list-1 0 list-2 0 list-3 0 list-4 0 list-5 0 list-6 0 list-7 0 list-8 0 list-9 0; cursor: text; font-family: -apple-system, system-ui, BlinkMacSystemFont, &amp;quot;Segoe UI&amp;quot;, Roboto, &amp;quot;Helvetica Neue&amp;quot;, &amp;quot;Fira Sans&amp;quot;, Ubuntu, Oxygen, &amp;quot;Oxygen Sans&amp;quot;, Cantarell, &amp;quot;Droid Sans&amp;quot;, &amp;quot;Apple Color Emoji&amp;quot;, &amp;quot;Segoe UI Emoji&amp;quot;, &amp;quot;Segoe UI Emoji&amp;quot;, &amp;quot;Segoe UI Symbol&amp;quot;, &amp;quot;Lucida Grande&amp;quot;, Helvetica, Arial, sans-serif; font-size: 20px; line-height: 1.5; margin: 0px; padding: 0px; vertical-align: baseline; white-space: pre-wrap;&quot;&gt;Mais detalhes: &lt;a href=&quot;https://learn.microsoft.com/en-us/windows-server/remote/remote-desktop-services/remotepc/understanding-security-warnings&quot; style=&quot;background-color: transparent;&quot;&gt;Understanding security warnings when opening Remote Desktop (RDP) files | Microsoft Learn&lt;/a&gt;&lt;/p&gt;</content><link rel='replies' type='application/atom+xml' href='http://fsilvajunior.blogspot.com/feeds/5087145356929252952/comments/default' title='Postar comentários'/><link rel='replies' type='text/html' href='http://fsilvajunior.blogspot.com/2026/04/april-microsoft-security-updates.html#comment-form' title='0 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6956220039993174035/posts/default/5087145356929252952'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6956220039993174035/posts/default/5087145356929252952'/><link rel='alternate' type='text/html' href='http://fsilvajunior.blogspot.com/2026/04/april-microsoft-security-updates.html' title='April Microsoft Security Updates - Security Warnings Remote Desktop.'/><author><name>Francisco Silva Jr.</name><uri>http://www.blogger.com/profile/15240847900054947078</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6956220039993174035.post-5013942132375862837</id><published>2026-04-27T00:42:00.000-07:00</published><updated>2026-04-27T00:42:53.894-07:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="10.0.48"/><category scheme="http://www.blogger.com/atom/ns#" term="D365F&amp;O"/><category scheme="http://www.blogger.com/atom/ns#" term="Notes"/><category scheme="http://www.blogger.com/atom/ns#" term="release"/><title type='text'>D365F&amp;O 10.0.48 Release notes</title><content type='html'>&lt;p&gt;&amp;nbsp;Boas senhoras,&lt;/p&gt;&lt;p&gt;Aqui está o Release notes da versão 10.0.48 Preview:&amp;nbsp;https://learn.microsoft.com/pt-br/dynamics365/finance/get-started/whats-new-changed-10-0-48&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;Muita novidade relacionada a IA e também melhorias em processos do sistema.&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;Querem ajuda para manter o sistema atualizado, estou à disposição!&lt;/p&gt;</content><link rel='replies' type='application/atom+xml' href='http://fsilvajunior.blogspot.com/feeds/5013942132375862837/comments/default' title='Postar comentários'/><link rel='replies' type='text/html' href='http://fsilvajunior.blogspot.com/2026/04/d365f-10048-release-notes.html#comment-form' title='0 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6956220039993174035/posts/default/5013942132375862837'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6956220039993174035/posts/default/5013942132375862837'/><link rel='alternate' type='text/html' href='http://fsilvajunior.blogspot.com/2026/04/d365f-10048-release-notes.html' title='D365F&amp;O 10.0.48 Release notes'/><author><name>Francisco Silva Jr.</name><uri>http://www.blogger.com/profile/15240847900054947078</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6956220039993174035.post-8427789514028605666</id><published>2026-03-11T03:06:00.000-07:00</published><updated>2026-03-11T03:06:23.300-07:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="10.0.47"/><category scheme="http://www.blogger.com/atom/ns#" term="D365F&amp;O"/><category scheme="http://www.blogger.com/atom/ns#" term="Notes"/><category scheme="http://www.blogger.com/atom/ns#" term="release"/><title type='text'>D365F&amp;O 10.0.47 Release Notes</title><content type='html'>&lt;p&gt;&amp;nbsp;Here está:&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;https://learn.microsoft.com/en-us/dynamics365/finance/get-started/whats-new-changed-10-0-47&lt;/p&gt;</content><link rel='replies' type='application/atom+xml' href='http://fsilvajunior.blogspot.com/feeds/8427789514028605666/comments/default' title='Postar comentários'/><link rel='replies' type='text/html' href='http://fsilvajunior.blogspot.com/2026/03/d365f-10047-release-notes.html#comment-form' title='0 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6956220039993174035/posts/default/8427789514028605666'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6956220039993174035/posts/default/8427789514028605666'/><link rel='alternate' type='text/html' href='http://fsilvajunior.blogspot.com/2026/03/d365f-10047-release-notes.html' title='D365F&amp;O 10.0.47 Release Notes'/><author><name>Francisco Silva Jr.</name><uri>http://www.blogger.com/profile/15240847900054947078</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6956220039993174035.post-4658762590621567624</id><published>2026-02-25T06:48:00.000-08:00</published><updated>2026-02-25T06:48:11.785-08:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="Application"/><category scheme="http://www.blogger.com/atom/ns#" term="configuration"/><category scheme="http://www.blogger.com/atom/ns#" term="D365F&amp;O"/><category scheme="http://www.blogger.com/atom/ns#" term="IIS"/><category scheme="http://www.blogger.com/atom/ns#" term="model"/><category scheme="http://www.blogger.com/atom/ns#" term="Pool"/><category scheme="http://www.blogger.com/atom/ns#" term="Product"/><title type='text'>Product Model Configuration errors.</title><content type='html'>&lt;p&gt;&amp;nbsp;Ao utilizar o &quot;Configurador de Modelos de Produto&quot; no modulo de Gerenciamento de Informações de Produtos, as informações do produto não são carregadas ao clicar no botão &quot;Testar&quot;.&lt;/p&gt;&lt;p&gt;&lt;/p&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;&lt;a href=&quot;https://blogger.googleusercontent.com/img/a/AVvXsEikBhyZIqQwZcE5z5HiCXRBNM6WZu8fZtoSBSEbvqTdQOa89bdb--1hf_Xdgrc6RWR5bIJmE_X6jmA2UxKR3L4etrGsqueRF3oFvLrwWvnXb7d2YPhJh-wJeUenpqD1edQ_zRsXK2Uvikd1qNkFnKDERcTO13lrbvYlN-vFz-9hqmbAhhDRt_RwqmsmlkR-&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img alt=&quot;&quot; data-original-height=&quot;993&quot; data-original-width=&quot;1782&quot; height=&quot;178&quot; src=&quot;https://blogger.googleusercontent.com/img/a/AVvXsEikBhyZIqQwZcE5z5HiCXRBNM6WZu8fZtoSBSEbvqTdQOa89bdb--1hf_Xdgrc6RWR5bIJmE_X6jmA2UxKR3L4etrGsqueRF3oFvLrwWvnXb7d2YPhJh-wJeUenpqD1edQ_zRsXK2Uvikd1qNkFnKDERcTO13lrbvYlN-vFz-9hqmbAhhDRt_RwqmsmlkR-&quot; width=&quot;320&quot; /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;Verificando as informações disponíveis no navegador, encontrei o seguinte erro:&lt;p&gt;&lt;/p&gt;&lt;p&gt;&lt;/p&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;&lt;a href=&quot;https://blogger.googleusercontent.com/img/a/AVvXsEiYkV4xFSKYRgY-AIjzsaLZb5OB13tR7pKon7JrX8F3T46hNTAdA9I_QnaZEZhKy0wHRrR9UOrdURVeayG3iJL5t6mGRKSs2giqty0CvRQkmgBNw-TS223L8VW2NbSMD0Q0izCdnzcFFUsdHvDrZxFWyAKpIp8kyViPPxlHC9NZfa2BD3fTy8JpUWIgoTMb&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img alt=&quot;&quot; data-original-height=&quot;695&quot; data-original-width=&quot;707&quot; height=&quot;240&quot; src=&quot;https://blogger.googleusercontent.com/img/a/AVvXsEiYkV4xFSKYRgY-AIjzsaLZb5OB13tR7pKon7JrX8F3T46hNTAdA9I_QnaZEZhKy0wHRrR9UOrdURVeayG3iJL5t6mGRKSs2giqty0CvRQkmgBNw-TS223L8VW2NbSMD0Q0izCdnzcFFUsdHvDrZxFWyAKpIp8kyViPPxlHC9NZfa2BD3fTy8JpUWIgoTMb&quot; width=&quot;244&quot; /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;Erro 404 - Not found.&lt;p&gt;&lt;/p&gt;&lt;p&gt;O Event Viewer não contribuiu com informações uteis para solucionar o problema.&lt;/p&gt;&lt;p&gt;Eu ainda não conhecia bem esta funcionalidade, mas partindo do erro 404 passei a verificar como e onde este serviço/pagina estava hospedado no servidor.&lt;/p&gt;&lt;p&gt;Verifiquei que o Application Pool não tinha uma aplicação vinculada e a conta de serviço utilizada era diferente de outros servidores onde este recurso funciona:&lt;/p&gt;&lt;p&gt;&lt;/p&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;&lt;a href=&quot;https://blogger.googleusercontent.com/img/a/AVvXsEj1JuS9b9xzA8B8xMoArCNgrRjk8uRtlka1yiwZAl3V9EBCmVlLGpBkEGqAPdrh7oiRU2DP4HUDATF2XOhQQ_YBHB0BccMIeNdYPClMSIwEbBXej__61rJhcMlgCm-DKrVR64arAWUZA8IaUP7C18P3sJ5onvCcHLI_TCd4OYo1eIrpnIms25-DW20u8ltK&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img alt=&quot;&quot; data-original-height=&quot;109&quot; data-original-width=&quot;366&quot; height=&quot;95&quot; src=&quot;https://blogger.googleusercontent.com/img/a/AVvXsEj1JuS9b9xzA8B8xMoArCNgrRjk8uRtlka1yiwZAl3V9EBCmVlLGpBkEGqAPdrh7oiRU2DP4HUDATF2XOhQQ_YBHB0BccMIeNdYPClMSIwEbBXej__61rJhcMlgCm-DKrVR64arAWUZA8IaUP7C18P3sJ5onvCcHLI_TCd4OYo1eIrpnIms25-DW20u8ltK&quot; width=&quot;320&quot; /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: left;&quot;&gt;No Sites, havia apenas uma pasta com o nome &quot;ProductionConfiguration&quot;.&lt;/div&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: left;&quot;&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: left;&quot;&gt;Impossível acessar uma pagina quando não há um site e um Application Pool.&lt;/div&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: left;&quot;&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: left;&quot;&gt;A solucção aqui foi converter a pasta para um site e alterar a conta do Application Pool para a conta NetworkService.&lt;/div&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: left;&quot;&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: left;&quot;&gt;Reiniciei IIS e depois disso o recurso voltou a funcionar normalmente.&lt;/div&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;Não sei por qual razão esta VM recém criada não veio corretamente configurada e necessitou deste ajuste manual. Só sei que foi assim!&lt;/p&gt;&lt;br /&gt;&lt;p&gt;&lt;/p&gt;</content><link rel='replies' type='application/atom+xml' href='http://fsilvajunior.blogspot.com/feeds/4658762590621567624/comments/default' title='Postar comentários'/><link rel='replies' type='text/html' href='http://fsilvajunior.blogspot.com/2026/02/product-model-configuration-errors.html#comment-form' title='0 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6956220039993174035/posts/default/4658762590621567624'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6956220039993174035/posts/default/4658762590621567624'/><link rel='alternate' type='text/html' href='http://fsilvajunior.blogspot.com/2026/02/product-model-configuration-errors.html' title='Product Model Configuration errors.'/><author><name>Francisco Silva Jr.</name><uri>http://www.blogger.com/profile/15240847900054947078</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/a/AVvXsEikBhyZIqQwZcE5z5HiCXRBNM6WZu8fZtoSBSEbvqTdQOa89bdb--1hf_Xdgrc6RWR5bIJmE_X6jmA2UxKR3L4etrGsqueRF3oFvLrwWvnXb7d2YPhJh-wJeUenpqD1edQ_zRsXK2Uvikd1qNkFnKDERcTO13lrbvYlN-vFz-9hqmbAhhDRt_RwqmsmlkR-=s72-c" height="72" width="72"/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6956220039993174035.post-1941409128151818597</id><published>2026-02-09T03:29:00.000-08:00</published><updated>2026-02-09T03:29:49.141-08:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="D365F&amp;O"/><category scheme="http://www.blogger.com/atom/ns#" term="GlobalUpdate"/><category scheme="http://www.blogger.com/atom/ns#" term="model"/><category scheme="http://www.blogger.com/atom/ns#" term="MROneBox"/><category scheme="http://www.blogger.com/atom/ns#" term="script"/><category scheme="http://www.blogger.com/atom/ns#" term="service"/><title type='text'>GlobalUpdate scritp for service model: MROneBox. Erro ao aplicar um Service Update do D365F&amp;O.</title><content type='html'>&lt;p&gt;&amp;nbsp;Hoje novamente enfrentei este erro ao aplicar a versão 10.0.46 em alguns(48) ambientes de DEV...&lt;/p&gt;&lt;p&gt;Segui as seguintes opções de solução:&lt;/p&gt;&lt;p&gt;https://fsilvajunior.blogspot.com/2024/10/globalupdate-scrito-for-service-model.html&lt;/p&gt;&lt;p&gt;https://fsilvajunior.blogspot.com/2025/04/globalupdate-scrito-for-service-model.html&lt;/p&gt;&lt;p&gt;Nenhuma delas funcionou neste caso.&lt;/p&gt;&lt;p&gt;Analisando o log pude ver que houve erro no momento de atualizar o MR, encontrei a seguinte mensagem no log:&lt;/p&gt;&lt;div style=&quot;font-family: &amp;quot;Segoe UI&amp;quot;; font-size: 14px; line-height: 20px;&quot;&gt;Error 1921. Service &#39;Management Reporter 2012 Process Service&#39; (MR2012ProcessService) could not be stopped. Verify that you have sufficient privileges to stop system services.&lt;/div&gt;&lt;div style=&quot;font-family: &amp;quot;Segoe UI&amp;quot;; font-size: 14px; line-height: 20px;&quot;&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style=&quot;font-family: &amp;quot;Segoe UI&amp;quot;; font-size: 14px; line-height: 20px;&quot;&gt;&lt;span style=&quot;font-family: &amp;quot;Times New Roman&amp;quot;; font-size: medium;&quot;&gt;O serviço do MR estava em execução, tentei parar ele mas a mensagem acima foi exibida novamente. Estava usando o user Admin da VM.&lt;/span&gt;&lt;/div&gt;&lt;div style=&quot;font-family: &amp;quot;Segoe UI&amp;quot;; font-size: 14px; line-height: 20px;&quot;&gt;&lt;span style=&quot;font-family: &amp;quot;Times New Roman&amp;quot;; font-size: medium;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style=&quot;line-height: 20px;&quot;&gt;&lt;b&gt;&lt;u&gt;A unica opção foi dar um kill no serviço do MR. Depois do kill eu resumi o deploy e o problema foi resolvido!&lt;/u&gt;&lt;/b&gt;&lt;/div&gt;&lt;div style=&quot;line-height: 20px;&quot;&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style=&quot;line-height: 20px;&quot;&gt;Obs: eu já havia reiniciado a VM antes de iniciar o deploy.&lt;/div&gt;&lt;div style=&quot;line-height: 20px;&quot;&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style=&quot;line-height: 20px;&quot;&gt;Estranho, mas é isso ai.&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://fsilvajunior.blogspot.com/feeds/1941409128151818597/comments/default' title='Postar comentários'/><link rel='replies' type='text/html' href='http://fsilvajunior.blogspot.com/2026/02/globalupdate-scritp-for-service-model.html#comment-form' title='0 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6956220039993174035/posts/default/1941409128151818597'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6956220039993174035/posts/default/1941409128151818597'/><link rel='alternate' type='text/html' href='http://fsilvajunior.blogspot.com/2026/02/globalupdate-scritp-for-service-model.html' title='GlobalUpdate scritp for service model: MROneBox. Erro ao aplicar um Service Update do D365F&amp;O.'/><author><name>Francisco Silva Jr.</name><uri>http://www.blogger.com/profile/15240847900054947078</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6956220039993174035.post-5738564999031122587</id><published>2025-12-23T02:19:00.000-08:00</published><updated>2025-12-23T02:19:34.503-08:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="10.0.46"/><category scheme="http://www.blogger.com/atom/ns#" term="D365F&amp;O"/><category scheme="http://www.blogger.com/atom/ns#" term="DevOps"/><category scheme="http://www.blogger.com/atom/ns#" term="RSAT"/><category scheme="http://www.blogger.com/atom/ns#" term="Upgrade"/><title type='text'>D365F&amp;O 10.0.46 Generally Available</title><content type='html'>&lt;p&gt;&amp;nbsp;Pessoas, temos disponível a versão 10.0.46 liberada no LCS e Power Platform para testes!&lt;/p&gt;&lt;p&gt;&lt;/p&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;&lt;a href=&quot;https://blogger.googleusercontent.com/img/a/AVvXsEi4Ff8q9f67bovXXVUmVLppMD6kFYy3vfre73uZ_iqzvtf7oFUnnAKF5bOc8_gJ00SpwT5Mt1TTennJfXEFSxCR0RGViaA2_Y2SGAb65UhhY2dQVB5fC5rFxGeV-7TpeqIUWq_yQrjPN_5M88JjfeKaxJx2Zlz1k87J4sLTlz9AROQgAioGs1vmHWyjpHZ7&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img alt=&quot;&quot; data-original-height=&quot;204&quot; data-original-width=&quot;325&quot; height=&quot;201&quot; src=&quot;https://blogger.googleusercontent.com/img/a/AVvXsEi4Ff8q9f67bovXXVUmVLppMD6kFYy3vfre73uZ_iqzvtf7oFUnnAKF5bOc8_gJ00SpwT5Mt1TTennJfXEFSxCR0RGViaA2_Y2SGAb65UhhY2dQVB5fC5rFxGeV-7TpeqIUWq_yQrjPN_5M88JjfeKaxJx2Zlz1k87J4sLTlz9AROQgAioGs1vmHWyjpHZ7&quot; width=&quot;320&quot; /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;a href=&quot;https://learn.microsoft.com/en-us/dynamics365/finance/get-started/whats-new-changed-10-0-46&quot; target=&quot;_blank&quot;&gt;What&#39;s new or changed in Dynamics 365 Finance 10.0.46 (December 2025)&lt;/a&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;a href=&quot;https://learn.microsoft.com/en-us/dynamics365/supply-chain/get-started/whats-new-scm-10-0-46&quot; target=&quot;_blank&quot;&gt;What&#39;s new or changed in Dynamics 365 Sypply Chain 10.0.46 (December 2025)&lt;/a&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;Querem ajuda com este upgrade?&amp;nbsp;&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;&lt;br /&gt;&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;Querem testes automáticos para validar esta e outras atualizações do seu sistema com o DevOps?&amp;nbsp;&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;&lt;br /&gt;&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;Querem um assessment gratuito em sua infraestrutura para melhorar a segurança e reduzir custos?&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Estou disponível!&lt;/div&gt;&lt;div&gt;francisco@mtxn.com.br&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://fsilvajunior.blogspot.com/feeds/5738564999031122587/comments/default' title='Postar comentários'/><link rel='replies' type='text/html' href='http://fsilvajunior.blogspot.com/2025/12/d365f-10046-generally-available.html#comment-form' title='0 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6956220039993174035/posts/default/5738564999031122587'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6956220039993174035/posts/default/5738564999031122587'/><link rel='alternate' type='text/html' href='http://fsilvajunior.blogspot.com/2025/12/d365f-10046-generally-available.html' title='D365F&amp;O 10.0.46 Generally Available'/><author><name>Francisco Silva Jr.</name><uri>http://www.blogger.com/profile/15240847900054947078</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/a/AVvXsEi4Ff8q9f67bovXXVUmVLppMD6kFYy3vfre73uZ_iqzvtf7oFUnnAKF5bOc8_gJ00SpwT5Mt1TTennJfXEFSxCR0RGViaA2_Y2SGAb65UhhY2dQVB5fC5rFxGeV-7TpeqIUWq_yQrjPN_5M88JjfeKaxJx2Zlz1k87J4sLTlz9AROQgAioGs1vmHWyjpHZ7=s72-c" height="72" width="72"/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6956220039993174035.post-1311549998873444964</id><published>2025-11-27T11:59:00.000-08:00</published><updated>2025-11-27T12:21:24.008-08:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="Copy"/><category scheme="http://www.blogger.com/atom/ns#" term="D365F&amp;O"/><category scheme="http://www.blogger.com/atom/ns#" term="database"/><category scheme="http://www.blogger.com/atom/ns#" term="Git"/><category scheme="http://www.blogger.com/atom/ns#" term="UDE"/><title type='text'>D365F&amp;O, Git e Power Platform! Parte 5</title><content type='html'>&lt;p&gt;&lt;span face=&quot;&amp;quot;Trebuchet MS&amp;quot;, Trebuchet, Verdana, sans-serif&quot; style=&quot;background-color: white; color: #666666; font-size: 13.2px;&quot;&gt;Na&amp;nbsp;&lt;/span&gt;&lt;a href=&quot;https://fsilvajunior.blogspot.com/2025/11/d365f-git-e-power-platform-parte-1.html&quot; style=&quot;color: #2288bb; font-family: &amp;quot;Trebuchet MS&amp;quot;, Trebuchet, Verdana, sans-serif; font-size: 13.2px; text-decoration-line: none;&quot; target=&quot;_blank&quot;&gt;parte 1&lt;/a&gt;,&lt;span face=&quot;&amp;quot;Trebuchet MS&amp;quot;, Trebuchet, Verdana, sans-serif&quot; style=&quot;background-color: white; color: #666666; font-size: 13.2px;&quot;&gt;&amp;nbsp;falei sobre o Git e como migrar do TFVC para o Git.&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot;background-color: white; color: #666666; font-family: &amp;quot;Trebuchet MS&amp;quot;, Trebuchet, Verdana, sans-serif; font-size: 13.2px;&quot;&gt;Na&amp;nbsp;&lt;a href=&quot;https://fsilvajunior.blogspot.com/2025/11/d365f-git-e-power-platform-parte-2.html&quot; style=&quot;color: #2288bb; text-decoration-line: none;&quot; target=&quot;_blank&quot;&gt;parte 2,&amp;nbsp;&lt;/a&gt;mostro como configurar o UDE via PPAC.&lt;/p&gt;&lt;p style=&quot;background-color: white; color: #666666; font-family: &amp;quot;Trebuchet MS&amp;quot;, Trebuchet, Verdana, sans-serif; font-size: 13.2px;&quot;&gt;Na&amp;nbsp;&lt;a href=&quot;https://fsilvajunior.blogspot.com/2025/11/d365f-git-e-power-platform-parte-3.html&quot; style=&quot;color: #2288bb; text-decoration-line: none;&quot; target=&quot;_blank&quot;&gt;parte 3&lt;/a&gt;,&amp;nbsp;vimos como configurar o VS 2002 com UDE e TFVC.&lt;/p&gt;&lt;p style=&quot;background-color: white; color: #666666; font-family: &amp;quot;Trebuchet MS&amp;quot;, Trebuchet, Verdana, sans-serif; font-size: 13.2px;&quot;&gt;&lt;span style=&quot;background-color: transparent;&quot;&gt;Na&amp;nbsp;&lt;/span&gt;&lt;a href=&quot;&quot; style=&quot;background-color: transparent;&quot; target=&quot;_blank&quot;&gt;parte 4,&lt;/a&gt;&lt;span style=&quot;background-color: transparent;&quot;&gt;&amp;nbsp;mostrei como configurar o VS 2022 com o Git.&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot;background-color: white; color: #666666; font-family: &amp;quot;Trebuchet MS&amp;quot;, Trebuchet, Verdana, sans-serif; font-size: 13.2px;&quot;&gt;Agora, na parte 5, vamos ver como trazer os dados de produção para o ambiente UDE. Sem dados, não tem como trabalhar!&lt;/p&gt;&lt;p style=&quot;background-color: white; color: #666666; font-family: &amp;quot;Trebuchet MS&amp;quot;, Trebuchet, Verdana, sans-serif; font-size: 13.2px;&quot;&gt;Faço-lhes a seguinte pergunta: Vocês têm dado hoje?&lt;/p&gt;&lt;p style=&quot;background-color: white; color: #666666; font-family: &amp;quot;Trebuchet MS&amp;quot;, Trebuchet, Verdana, sans-serif; font-size: 13.2px;&quot;&gt;O processo utilizando um CHE é o seguinte:&lt;/p&gt;&lt;p style=&quot;background-color: white; color: #666666; font-family: &amp;quot;Trebuchet MS&amp;quot;, Trebuchet, Verdana, sans-serif; font-size: 13.2px;&quot;&gt;&lt;/p&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;&lt;a href=&quot;https://blogger.googleusercontent.com/img/a/AVvXsEjoE7EWeEB5nhP-3imCyOFHyNPLf9u7I2FvfModXkGAR1tARlbSQoADO5sCxo5MLINCH5B_ek7dyKGL4exwbQCnyzrAA2AsMdt31WghQ5yw2EzZf7KP3d1tmZmEiuwhPGGBw5Swoyus4R8r6zui8TtCYjIb9ecNHx_RtK2vAQpe_y0BO5IlWDxj0mshACyu&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img alt=&quot;&quot; data-original-height=&quot;227&quot; data-original-width=&quot;493&quot; height=&quot;147&quot; src=&quot;https://blogger.googleusercontent.com/img/a/AVvXsEjoE7EWeEB5nhP-3imCyOFHyNPLf9u7I2FvfModXkGAR1tARlbSQoADO5sCxo5MLINCH5B_ek7dyKGL4exwbQCnyzrAA2AsMdt31WghQ5yw2EzZf7KP3d1tmZmEiuwhPGGBw5Swoyus4R8r6zui8TtCYjIb9ecNHx_RtK2vAQpe_y0BO5IlWDxj0mshACyu&quot; width=&quot;320&quot; /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;Atualizamos uma sandbox, exportamos o .bacpac para o LCS, restauramos este .bacpac na VM CHE... Depois, poderíamos exportar um .bak para uma storage account e restaurá-lo em outras VMs CHE.&lt;p&gt;&lt;/p&gt;&lt;p style=&quot;background-color: white; color: #666666; font-family: &amp;quot;Trebuchet MS&amp;quot;, Trebuchet, Verdana, sans-serif; font-size: 13.2px;&quot;&gt;Todo o processo acima pode ser automatizado com o DevOps e muito Powershell. Caso não saibam como fazer, me chamem!$&lt;/p&gt;&lt;p style=&quot;background-color: white; color: #666666; font-family: &amp;quot;Trebuchet MS&amp;quot;, Trebuchet, Verdana, sans-serif; font-size: 13.2px;&quot;&gt;&lt;br /&gt;&lt;/p&gt;&lt;p style=&quot;background-color: white; color: #666666; font-family: &amp;quot;Trebuchet MS&amp;quot;, Trebuchet, Verdana, sans-serif; font-size: 13.2px;&quot;&gt;O novo processo é extremamente simples e bem documentado, mas existem algumas frescuras que aprendi do pior jeito!&lt;/p&gt;&lt;p style=&quot;background-color: white; color: #666666; font-family: &amp;quot;Trebuchet MS&amp;quot;, Trebuchet, Verdana, sans-serif; font-size: 13.2px;&quot;&gt;&lt;/p&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;&lt;a href=&quot;https://blogger.googleusercontent.com/img/a/AVvXsEilmID53llhS1WzhWTaeZjQn9KlZ-m8VvPW9Lesmb8bxzBySwAN3wfzCMb5x8WqnQAmrpCiw0Cok2KIfTPjy4TXMafPxbOeMKtFTOWEH5TvoqwXVp81l_VStckIM0iLfU86MkDnRfXDaokyjFVvMTOBI9dAkXUtOY_WTfSuovn0aEMRbQORX9cUehjd3sLO&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img alt=&quot;&quot; data-original-height=&quot;222&quot; data-original-width=&quot;401&quot; height=&quot;177&quot; src=&quot;https://blogger.googleusercontent.com/img/a/AVvXsEilmID53llhS1WzhWTaeZjQn9KlZ-m8VvPW9Lesmb8bxzBySwAN3wfzCMb5x8WqnQAmrpCiw0Cok2KIfTPjy4TXMafPxbOeMKtFTOWEH5TvoqwXVp81l_VStckIM0iLfU86MkDnRfXDaokyjFVvMTOBI9dAkXUtOY_WTfSuovn0aEMRbQORX9cUehjd3sLO&quot; width=&quot;320&quot; /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;O banco vem direto de PROD para o UDE do desenvolvedor.&lt;p&gt;&lt;/p&gt;&lt;p style=&quot;background-color: white; color: #666666; font-family: &amp;quot;Trebuchet MS&amp;quot;, Trebuchet, Verdana, sans-serif; font-size: 13.2px;&quot;&gt;O primeiro detalhe é a localização dos ambientes. Certifique-se da localização correta de seu ambiente de produção.&lt;/p&gt;&lt;p style=&quot;background-color: white; color: #666666; font-family: &amp;quot;Trebuchet MS&amp;quot;, Trebuchet, Verdana, sans-serif; font-size: 13.2px;&quot;&gt;&lt;/p&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;&lt;a href=&quot;https://blogger.googleusercontent.com/img/a/AVvXsEhB95wcBpRF0V-77iRvIFbJm-MhNYA1gU79Mw1KGI18fIH11jmE-Wisn6JSIhMpezbdP83mEzOiiBME6_JvKyCBIGWRADukP8URDpWARYy-l-s5Si07IdDljSjxrCsBGJZFghhShhS68BQP8pcgqMSsrCzVkU5UXd0ardr2JH2EXmM9zjO39a0BNOzle-2u&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img alt=&quot;&quot; data-original-height=&quot;1128&quot; data-original-width=&quot;2614&quot; height=&quot;138&quot; src=&quot;https://blogger.googleusercontent.com/img/a/AVvXsEhB95wcBpRF0V-77iRvIFbJm-MhNYA1gU79Mw1KGI18fIH11jmE-Wisn6JSIhMpezbdP83mEzOiiBME6_JvKyCBIGWRADukP8URDpWARYy-l-s5Si07IdDljSjxrCsBGJZFghhShhS68BQP8pcgqMSsrCzVkU5UXd0ardr2JH2EXmM9zjO39a0BNOzle-2u&quot; width=&quot;320&quot; /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;Seu ambiente UDE precisa estar na mesma localização; caso contrário, não será possível atualizar o banco de dados.&lt;p&gt;&lt;/p&gt;&lt;p style=&quot;background-color: white; color: #666666; font-family: &amp;quot;Trebuchet MS&amp;quot;, Trebuchet, Verdana, sans-serif; font-size: 13.2px;&quot;&gt;Outro detalhe, ao criar um UDE &quot;Managed Environment&quot;, tive problemas na restauração dos dados.&lt;/p&gt;&lt;p style=&quot;background-color: white; color: #666666; font-family: &amp;quot;Trebuchet MS&amp;quot;, Trebuchet, Verdana, sans-serif; font-size: 13.2px;&quot;&gt;Para restaurar os dados em seu ambiente UDE, acesse seu ambiente de origem, produção ou algum outro, e clique na opção &quot;Copy&quot;.&lt;/p&gt;&lt;p style=&quot;background-color: white; color: #666666; font-family: &amp;quot;Trebuchet MS&amp;quot;, Trebuchet, Verdana, sans-serif; font-size: 13.2px;&quot;&gt;&lt;/p&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;&lt;a href=&quot;https://blogger.googleusercontent.com/img/a/AVvXsEixgQNHv5tj1lcYz5bHVmftLW3z_V8d5C47lsoR8UkWpsbnYkrhpNp512cl-DVgsFu2HT9tyO7IEguTdoyQu5Qxd5BseZEMup1yGSimXK8fwscxMrQ9oOy8HqRkTZMxf1k6F9lTxw5FN8EEQ44jIr1xZ2Ebpl-DVeGicrmTAFg_50QtgK-ogQi8ozagXGy3&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img alt=&quot;&quot; data-original-height=&quot;454&quot; data-original-width=&quot;2440&quot; height=&quot;60&quot; src=&quot;https://blogger.googleusercontent.com/img/a/AVvXsEixgQNHv5tj1lcYz5bHVmftLW3z_V8d5C47lsoR8UkWpsbnYkrhpNp512cl-DVgsFu2HT9tyO7IEguTdoyQu5Qxd5BseZEMup1yGSimXK8fwscxMrQ9oOy8HqRkTZMxf1k6F9lTxw5FN8EEQ44jIr1xZ2Ebpl-DVeGicrmTAFg_50QtgK-ogQi8ozagXGy3&quot; width=&quot;320&quot; /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;Aqui está o ponto de atenção para minimizar a quantidade de dados copiados da produção para o UDE. Seguindo a configuração da imagem abaixo, você terá os dados básicos copiados para o UDE. Para entender melhor, leia esta documentação:&amp;nbsp;https://learn.microsoft.com/en-us/power-platform/admin/copy-environment?WT.mc_id=ppac_inproduct_env&amp;amp;tabs=new&lt;p&gt;&lt;/p&gt;&lt;p style=&quot;background-color: white; color: #666666; font-family: &amp;quot;Trebuchet MS&amp;quot;, Trebuchet, Verdana, sans-serif; font-size: 13.2px;&quot;&gt;&lt;/p&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;&lt;a href=&quot;https://blogger.googleusercontent.com/img/a/AVvXsEhNwRN4PYOAek6SQ_gs3qb9a2WNxJNh4HBi6QJUjscqQe9gBO5MCE2YedMfgxbVDWfyByumySEaXZceUSG7deKiiyGs4eea4v2FL5Mn8TSpOf1wVDd-PcPfnPa4KVI0TsuAfrxySAiRL5XP21HIzFO5_dBs01z7w1SUJODtKGvWkDH_Tt_Z239xhm-6a0lw&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img alt=&quot;&quot; data-original-height=&quot;1474&quot; data-original-width=&quot;592&quot; height=&quot;240&quot; src=&quot;https://blogger.googleusercontent.com/img/a/AVvXsEhNwRN4PYOAek6SQ_gs3qb9a2WNxJNh4HBi6QJUjscqQe9gBO5MCE2YedMfgxbVDWfyByumySEaXZceUSG7deKiiyGs4eea4v2FL5Mn8TSpOf1wVDd-PcPfnPa4KVI0TsuAfrxySAiRL5XP21HIzFO5_dBs01z7w1SUJODtKGvWkDH_Tt_Z239xhm-6a0lw&quot; width=&quot;96&quot; /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;Depois de ajustar as configurações e clicar em &quot;Copy&quot;, o processo será iniciado. Meu ambiente de produção tem quase 200 GB de banco de dados. Após a conclusão da cópia, meu UDE tinha apenas 71 GB. O processo todo demorou 01 hora. Tenha atenção ao espaço disponível em seu Tenant!&lt;p&gt;&lt;/p&gt;&lt;p style=&quot;background-color: white; color: #666666; font-family: &amp;quot;Trebuchet MS&amp;quot;, Trebuchet, Verdana, sans-serif; font-size: 13.2px;&quot;&gt;Após a conclusão do restore, o ambiente volta com o &quot;Administration Mode&quot; habilitado. É necessário desabilitar ele para poder utilizar o ambiente normalmente&lt;/p&gt;&lt;p style=&quot;background-color: white; color: #666666; font-family: &amp;quot;Trebuchet MS&amp;quot;, Trebuchet, Verdana, sans-serif; font-size: 13.2px;&quot;&gt;&lt;/p&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;&lt;a href=&quot;https://blogger.googleusercontent.com/img/a/AVvXsEhnBr95qt3B_6GvzU7onvELwwbkD_A8V54wtdqj88ng2JXEjlcLbMbjzyi8ilV2u2m0hTioh6EdOnKLEMbZjpdjeA703I6H-KSJ4uIogokZjDTHs_mdLk6Jh5FLejtzA0gJ7_1KXYRjAbkHxrZHk-c640_r1lCaVtJsx4lQAZx2YqHmeIlMyRO4vOHO11AZ&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img alt=&quot;&quot; data-original-height=&quot;1174&quot; data-original-width=&quot;662&quot; height=&quot;240&quot; src=&quot;https://blogger.googleusercontent.com/img/a/AVvXsEhnBr95qt3B_6GvzU7onvELwwbkD_A8V54wtdqj88ng2JXEjlcLbMbjzyi8ilV2u2m0hTioh6EdOnKLEMbZjpdjeA703I6H-KSJ4uIogokZjDTHs_mdLk6Jh5FLejtzA0gJ7_1KXYRjAbkHxrZHk-c640_r1lCaVtJsx4lQAZx2YqHmeIlMyRO4vOHO11AZ&quot; width=&quot;135&quot; /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;E pronto, agora seu ambiente UDE tem os dados e as customizações idênticos ao ambiente de produção!&lt;p&gt;&lt;/p&gt;&lt;p style=&quot;background-color: white; color: #666666; font-family: &amp;quot;Trebuchet MS&amp;quot;, Trebuchet, Verdana, sans-serif; font-size: 13.2px;&quot;&gt;&lt;br /&gt;&lt;/p&gt;&lt;p style=&quot;background-color: white; color: #666666; font-family: &amp;quot;Trebuchet MS&amp;quot;, Trebuchet, Verdana, sans-serif; font-size: 13.2px;&quot;&gt;Fontes:&lt;/p&gt;&lt;p style=&quot;background-color: white;&quot;&gt;&lt;span face=&quot;Trebuchet MS, Trebuchet, Verdana, sans-serif&quot; style=&quot;color: #666666;&quot;&gt;&lt;span style=&quot;font-size: 13.2px;&quot;&gt;https://learn.microsoft.com/en-us/power-platform/admin/copy-environment?WT.mc_id=ppac_inproduct_env&amp;amp;tabs=new&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot;background-color: white;&quot;&gt;&lt;span face=&quot;Trebuchet MS, Trebuchet, Verdana, sans-serif&quot;&gt;&lt;span style=&quot;color: #666666; font-size: 13.2px;&quot;&gt;https://www.powerazure365.com/blog-1/dynamics-365-finops-unified-developer-experience&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot;background-color: white;&quot;&gt;&lt;span face=&quot;Trebuchet MS, Trebuchet, Verdana, sans-serif&quot; style=&quot;color: #666666;&quot;&gt;&lt;span style=&quot;font-size: 13.2px;&quot;&gt;https://d365foadvicetips.com/2024/10/05/uae-efficient-environment-copying-in-dynamics-365-fo/&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;</content><link rel='replies' type='application/atom+xml' href='http://fsilvajunior.blogspot.com/feeds/1311549998873444964/comments/default' title='Postar comentários'/><link rel='replies' type='text/html' href='http://fsilvajunior.blogspot.com/2025/11/d365f-git-e-power-platform-parte-5.html#comment-form' title='0 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6956220039993174035/posts/default/1311549998873444964'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6956220039993174035/posts/default/1311549998873444964'/><link rel='alternate' type='text/html' href='http://fsilvajunior.blogspot.com/2025/11/d365f-git-e-power-platform-parte-5.html' title='D365F&amp;O, Git e Power Platform! Parte 5'/><author><name>Francisco Silva Jr.</name><uri>http://www.blogger.com/profile/15240847900054947078</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/a/AVvXsEjoE7EWeEB5nhP-3imCyOFHyNPLf9u7I2FvfModXkGAR1tARlbSQoADO5sCxo5MLINCH5B_ek7dyKGL4exwbQCnyzrAA2AsMdt31WghQ5yw2EzZf7KP3d1tmZmEiuwhPGGBw5Swoyus4R8r6zui8TtCYjIb9ecNHx_RtK2vAQpe_y0BO5IlWDxj0mshACyu=s72-c" height="72" width="72"/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6956220039993174035.post-5640930080899912662</id><published>2025-11-27T10:27:00.000-08:00</published><updated>2025-11-27T11:59:30.957-08:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="D365F&amp;O"/><category scheme="http://www.blogger.com/atom/ns#" term="DB"/><category scheme="http://www.blogger.com/atom/ns#" term="DevOps"/><category scheme="http://www.blogger.com/atom/ns#" term="Git"/><category scheme="http://www.blogger.com/atom/ns#" term="UDE"/><category scheme="http://www.blogger.com/atom/ns#" term="UnO"/><category scheme="http://www.blogger.com/atom/ns#" term="VS2022"/><title type='text'>D365F&amp;O, Git e Power Platform! Parte 4</title><content type='html'>&lt;p style=&quot;background-color: white; color: #666666; font-family: &amp;quot;Trebuchet MS&amp;quot;, Trebuchet, Verdana, sans-serif; font-size: 13.2px;&quot;&gt;Na&amp;nbsp;&lt;a href=&quot;https://fsilvajunior.blogspot.com/2025/11/d365f-git-e-power-platform-parte-1.html&quot; style=&quot;color: #2288bb; text-decoration-line: none;&quot; target=&quot;_blank&quot;&gt;parte 1&lt;/a&gt;&amp;nbsp;falei sobre o Git e como migrar do TFVC para o Git.&lt;/p&gt;&lt;p style=&quot;background-color: white; color: #666666; font-family: &amp;quot;Trebuchet MS&amp;quot;, Trebuchet, Verdana, sans-serif; font-size: 13.2px;&quot;&gt;Na&amp;nbsp;&lt;a href=&quot;https://fsilvajunior.blogspot.com/2025/11/d365f-git-e-power-platform-parte-2.html&quot; style=&quot;color: #2288bb; text-decoration-line: none;&quot; target=&quot;_blank&quot;&gt;parte 2&amp;nbsp;&lt;/a&gt;mostro como configurar o UDE via PPAC.&lt;/p&gt;&lt;p style=&quot;background-color: white; color: #666666; font-family: &amp;quot;Trebuchet MS&amp;quot;, Trebuchet, Verdana, sans-serif; font-size: 13.2px;&quot;&gt;Na &lt;a href=&quot;https://fsilvajunior.blogspot.com/2025/11/d365f-git-e-power-platform-parte-3.html&quot; target=&quot;_blank&quot;&gt;parte 3&lt;/a&gt; vimos como configurar o VS 2002 com UDE e TFVC.&lt;/p&gt;&lt;p style=&quot;background-color: white; color: #666666; font-family: &amp;quot;Trebuchet MS&amp;quot;, Trebuchet, Verdana, sans-serif; font-size: 13.2px;&quot;&gt;Nesta parte 4 vamos configurar o VS 2022 com o Git! Let&#39;s bora!&lt;/p&gt;&lt;p style=&quot;background-color: white; color: #666666; font-family: &amp;quot;Trebuchet MS&amp;quot;, Trebuchet, Verdana, sans-serif; font-size: 13.2px;&quot;&gt;Consultem as partes anteriores e, com o VS2022 preparado, conectem-no ao seu projeto no DevOps:&lt;/p&gt;&lt;p style=&quot;background-color: white; color: #666666; font-family: &amp;quot;Trebuchet MS&amp;quot;, Trebuchet, Verdana, sans-serif; font-size: 13.2px;&quot;&gt;&lt;/p&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;&lt;a href=&quot;https://blogger.googleusercontent.com/img/a/AVvXsEj9mQO_wwv4jUhau01jNRM-9ng52RHfVQmRF7hjpa1kzKzc0wi1qRASSgU0Mn9MXss_hU9lbxJs9l3-qrj_ROqdmG38nqcF9ypnZO2y-56aGPLAzfpOrjh0e-UxR88EoVkegLHnuQfQsxXxU3czPhlh1QE5NqR2CLO-SYxt3FtjiOTeAoD4Twrb7GbEvgWJ&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img alt=&quot;&quot; data-original-height=&quot;1474&quot; data-original-width=&quot;2468&quot; height=&quot;191&quot; src=&quot;https://blogger.googleusercontent.com/img/a/AVvXsEj9mQO_wwv4jUhau01jNRM-9ng52RHfVQmRF7hjpa1kzKzc0wi1qRASSgU0Mn9MXss_hU9lbxJs9l3-qrj_ROqdmG38nqcF9ypnZO2y-56aGPLAzfpOrjh0e-UxR88EoVkegLHnuQfQsxXxU3czPhlh1QE5NqR2CLO-SYxt3FtjiOTeAoD4Twrb7GbEvgWJ&quot; width=&quot;320&quot; /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;Selecione o repositório, clique com o botão direito e selecione &quot;Clone Repository&quot;.&lt;p&gt;&lt;/p&gt;&lt;p style=&quot;background-color: white; color: #666666; font-family: &amp;quot;Trebuchet MS&amp;quot;, Trebuchet, Verdana, sans-serif; font-size: 13.2px;&quot;&gt;&lt;/p&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;&lt;a href=&quot;https://blogger.googleusercontent.com/img/a/AVvXsEgmJyvYI-t50YvCrJgLbqEBYYqROVv_zyslEEoin2chev7pPFcGngRYldMxQ0Cydd4pW3g-CM_EOWN_saAMBWmDeVLSgvx5TDOpfBcEajjabDlkP0ZDGw95BSU7A3bA07cFBIdV_DzukWmWMelvk_hbsxJPD68YsTx0oEh4QpZDTNFrRXJXg1HCRBgSafEx&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img alt=&quot;&quot; data-original-height=&quot;464&quot; data-original-width=&quot;682&quot; height=&quot;218&quot; src=&quot;https://blogger.googleusercontent.com/img/a/AVvXsEgmJyvYI-t50YvCrJgLbqEBYYqROVv_zyslEEoin2chev7pPFcGngRYldMxQ0Cydd4pW3g-CM_EOWN_saAMBWmDeVLSgvx5TDOpfBcEajjabDlkP0ZDGw95BSU7A3bA07cFBIdV_DzukWmWMelvk_hbsxJPD68YsTx0oEh4QpZDTNFrRXJXg1HCRBgSafEx&quot; width=&quot;320&quot; /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;Agora tenho o repositório salvo na minha VM.&lt;p&gt;&lt;/p&gt;&lt;p style=&quot;background-color: white; color: #666666; font-family: &amp;quot;Trebuchet MS&amp;quot;, Trebuchet, Verdana, sans-serif; font-size: 13.2px;&quot;&gt;&lt;/p&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;&lt;a href=&quot;https://blogger.googleusercontent.com/img/a/AVvXsEgdmiwcYVp22EruopRwU36N6TFlGM5JZxOrG26FUC3Do2ANux8AlgkTWFY8wooTbVBATSpWdqC0NvtKKNB_AWhm95qSgaamDPZIte9K79d1YB2eFdlOFOw4ogfKAsF2Dtqy1tgE7Wp1oos9JibQULdV-TbBVPZnfWvy8LL8efrCMigM32SjrCGI28PQ7v30&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img alt=&quot;&quot; data-original-height=&quot;390&quot; data-original-width=&quot;822&quot; height=&quot;152&quot; src=&quot;https://blogger.googleusercontent.com/img/a/AVvXsEgdmiwcYVp22EruopRwU36N6TFlGM5JZxOrG26FUC3Do2ANux8AlgkTWFY8wooTbVBATSpWdqC0NvtKKNB_AWhm95qSgaamDPZIte9K79d1YB2eFdlOFOw4ogfKAsF2Dtqy1tgE7Wp1oos9JibQULdV-TbBVPZnfWvy8LL8efrCMigM32SjrCGI28PQ7v30&quot; width=&quot;320&quot; /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;&lt;br /&gt;&lt;/div&gt;Seguindo os passos anteriores, você poderá se conectar ao seu ambiente UDE.&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Ao final destes processos teremos um ambiente pronto para uso, com conexão ao Repos Git e um ambiente UDE totalmente funcional.&lt;/div&gt;&lt;div&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;&lt;a href=&quot;https://blogger.googleusercontent.com/img/a/AVvXsEgc-o2C0mN1-oNBQTzOxIpxgii8JWhV-czNnF81NbvBRJoloNZZ2m9DZNASm-IxHY_1hPKVcyMhkmflfkseosRafMnF0Id_sZk4bmX-5ECTfcBu8NI3lExIf7Dzw8b2hUVXQnxH_YohID41TDvT0ODf-JttN-Pjpf2lOIK4H-Fd84fw_xFxhWMM3owi-Cxc&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img alt=&quot;&quot; data-original-height=&quot;740&quot; data-original-width=&quot;1231&quot; height=&quot;192&quot; src=&quot;https://blogger.googleusercontent.com/img/a/AVvXsEgc-o2C0mN1-oNBQTzOxIpxgii8JWhV-czNnF81NbvBRJoloNZZ2m9DZNASm-IxHY_1hPKVcyMhkmflfkseosRafMnF0Id_sZk4bmX-5ECTfcBu8NI3lExIf7Dzw8b2hUVXQnxH_YohID41TDvT0ODf-JttN-Pjpf2lOIK4H-Fd84fw_xFxhWMM3owi-Cxc&quot; width=&quot;320&quot; /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;&lt;a href=&quot;https://blogger.googleusercontent.com/img/a/AVvXsEiq7pBTDnTiKMntfU0FfJqkgyFBkEs__ui-brMcbdxb5Px0liZF7RAw46i9VR8lihEmwqMs7BKPsdR6BSZ1vSVp-0_tIKcv6fppdFfrQFlzFoJFSdJRo5vklNTaok1sKkimaLznb-cBCZERaewlF0UEmf4DoAhr30KqcubzIC5EvLDhJhrAbT8SfVClQiCt&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img alt=&quot;&quot; data-original-height=&quot;738&quot; data-original-width=&quot;1235&quot; height=&quot;191&quot; src=&quot;https://blogger.googleusercontent.com/img/a/AVvXsEiq7pBTDnTiKMntfU0FfJqkgyFBkEs__ui-brMcbdxb5Px0liZF7RAw46i9VR8lihEmwqMs7BKPsdR6BSZ1vSVp-0_tIKcv6fppdFfrQFlzFoJFSdJRo5vklNTaok1sKkimaLznb-cBCZERaewlF0UEmf4DoAhr30KqcubzIC5EvLDhJhrAbT8SfVClQiCt&quot; width=&quot;320&quot; /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;Confesso que me perdi, repeti os processos de mapeamento vezes a perder a conta!!!&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Mas o aprendizado é assim mesmo.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Conforme vou aprendendo, trabalhando, usando e descobrindo coisas novas, vou atualizando os posts ou criando novos!&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Na &lt;a href=&quot;https://fsilvajunior.blogspot.com/2025/11/d365f-git-e-power-platform-parte-5.html&quot; target=&quot;_blank&quot;&gt;parte 5&lt;/a&gt; falaremos sobre como trabalhar com dados no ambiente UDE!&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;b&gt;&lt;i&gt;Obs.: Devo sempre dizer que não criei nada. O material sobre este assunto é amplo. Existem várias fontes. Em breve mencionarei as que utilizei!&lt;/i&gt;&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;p&gt;&lt;/p&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://fsilvajunior.blogspot.com/feeds/5640930080899912662/comments/default' title='Postar comentários'/><link rel='replies' type='text/html' href='http://fsilvajunior.blogspot.com/2025/11/d365f-git-e-power-platform-parte-4.html#comment-form' title='0 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6956220039993174035/posts/default/5640930080899912662'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6956220039993174035/posts/default/5640930080899912662'/><link rel='alternate' type='text/html' href='http://fsilvajunior.blogspot.com/2025/11/d365f-git-e-power-platform-parte-4.html' title='D365F&amp;O, Git e Power Platform! Parte 4'/><author><name>Francisco Silva Jr.</name><uri>http://www.blogger.com/profile/15240847900054947078</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/a/AVvXsEj9mQO_wwv4jUhau01jNRM-9ng52RHfVQmRF7hjpa1kzKzc0wi1qRASSgU0Mn9MXss_hU9lbxJs9l3-qrj_ROqdmG38nqcF9ypnZO2y-56aGPLAzfpOrjh0e-UxR88EoVkegLHnuQfQsxXxU3czPhlh1QE5NqR2CLO-SYxt3FtjiOTeAoD4Twrb7GbEvgWJ=s72-c" height="72" width="72"/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6956220039993174035.post-5459351514500546039</id><published>2025-11-25T02:58:00.000-08:00</published><updated>2025-11-25T02:58:15.064-08:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="2022"/><category scheme="http://www.blogger.com/atom/ns#" term="D365F&amp;O"/><category scheme="http://www.blogger.com/atom/ns#" term="Git"/><category scheme="http://www.blogger.com/atom/ns#" term="Repos"/><category scheme="http://www.blogger.com/atom/ns#" term="TFVC"/><category scheme="http://www.blogger.com/atom/ns#" term="UDE"/><category scheme="http://www.blogger.com/atom/ns#" term="Visual Studio"/><title type='text'>D365F&amp;O, Git e Power Platform! Parte 3</title><content type='html'>&lt;p&gt;Na &lt;a href=&quot;https://fsilvajunior.blogspot.com/2025/11/d365f-git-e-power-platform-parte-1.html&quot; target=&quot;_blank&quot;&gt;parte 1&lt;/a&gt; falei sobre o Git e como migrar do TFVC para o Git.&lt;/p&gt;&lt;p&gt;Na &lt;a href=&quot;https://fsilvajunior.blogspot.com/2025/11/d365f-git-e-power-platform-parte-2.html&quot; target=&quot;_blank&quot;&gt;parte 2 &lt;/a&gt;mostro como configurar o UDE via PPAC.&lt;/p&gt;&lt;p&gt;Agora vamos configurar o Visual Studio e se conectar ao ambiente UDE criado.&lt;/p&gt;&lt;p&gt;Neste cenário de testes, criei uma nova VM com Windows 11. Nesta VM, instalei o&amp;nbsp;&lt;a href=&quot;&quot; target=&quot;_blank&quot;&gt;Visual Studio 2022 Professional&lt;/a&gt;&amp;nbsp;e o&amp;nbsp;&lt;a href=&quot;&quot; target=&quot;_blank&quot;&gt;SQL Server Management Studio.&lt;/a&gt;&lt;/p&gt;&lt;p&gt;Durante a instalação do VS2022, adicionem o &quot;Modeling SDK&quot;:&lt;/p&gt;&lt;p&gt;&lt;/p&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;&lt;a href=&quot;https://blogger.googleusercontent.com/img/a/AVvXsEjzc6GJ3bcpAuuc7SJju5pb06Gb_QBTs-ugDHS5a6JGWgC9_qByFsTjk4NN01gWEae5BU3t-JX38lo81_rgiYS465kL1eRE6ScKTHIEGWsd2UabSAcJKIUf4XZOkcS2uadr8Uakdt6kcma7Gby8acOkOxsAfj-mIyTEeyA1ZIARjQKziAFikIWe0ZdkVltL&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img alt=&quot;&quot; data-original-height=&quot;1436&quot; data-original-width=&quot;2548&quot; height=&quot;180&quot; src=&quot;https://blogger.googleusercontent.com/img/a/AVvXsEjzc6GJ3bcpAuuc7SJju5pb06Gb_QBTs-ugDHS5a6JGWgC9_qByFsTjk4NN01gWEae5BU3t-JX38lo81_rgiYS465kL1eRE6ScKTHIEGWsd2UabSAcJKIUf4XZOkcS2uadr8Uakdt6kcma7Gby8acOkOxsAfj-mIyTEeyA1ZIARjQKziAFikIWe0ZdkVltL&quot; width=&quot;320&quot; /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;&lt;p&gt;&lt;/p&gt;&lt;p&gt;Abra o VS, clique em &quot;Extensions &amp;gt; Manage Extensions&quot;, pesquise por &quot;Power Platform Tools&quot; e instale a extensão. Veja que a Microsoft já atualizou o logo! Depois de clicar em instalar, feche o VS e aguarde o processo de instalação.&lt;/p&gt;&lt;p&gt;&lt;/p&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;&lt;a href=&quot;https://blogger.googleusercontent.com/img/a/AVvXsEidDCrssWZyReSySfrO6lfR7dTtvIYLnYDrm6xAtRshaXApIZvrMsHT5n0qHrtEbPcfzj_0Su2tKWwKESyO8gVnLaS9Yg7yb6uvOsfx5-teMXJeTtA53VUTXtEYiX4QV1SzePkbn8IURt_Qiwa6WhAgzu6mG9IVxwLzQ0zzj-DrM4hZQxb0fwlaDQLNH4pc&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img alt=&quot;&quot; data-original-height=&quot;700&quot; data-original-width=&quot;2914&quot; height=&quot;77&quot; src=&quot;https://blogger.googleusercontent.com/img/a/AVvXsEidDCrssWZyReSySfrO6lfR7dTtvIYLnYDrm6xAtRshaXApIZvrMsHT5n0qHrtEbPcfzj_0Su2tKWwKESyO8gVnLaS9Yg7yb6uvOsfx5-teMXJeTtA53VUTXtEYiX4QV1SzePkbn8IURt_Qiwa6WhAgzu6mG9IVxwLzQ0zzj-DrM4hZQxb0fwlaDQLNH4pc&quot; width=&quot;320&quot; /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;&lt;a href=&quot;https://blogger.googleusercontent.com/img/a/AVvXsEhZTRYQ89vKxxUXZits7WZbI9M9_nN4lWV8pATfz7KJpJHP4u9KNUkajLqA40NyXcD9VgFWcZXKH26lHt4_eDWoXFpu9GGg9BHwCU-3LVTLAZ0CHTK6Qy6s3ODpUlf3vZcs1dmViLKYf6M-28-joCV9JVUBAgj28812cpXbxO8PIb33p27LSOKFQwyg-WXo&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img alt=&quot;&quot; data-original-height=&quot;662&quot; data-original-width=&quot;870&quot; height=&quot;240&quot; src=&quot;https://blogger.googleusercontent.com/img/a/AVvXsEhZTRYQ89vKxxUXZits7WZbI9M9_nN4lWV8pATfz7KJpJHP4u9KNUkajLqA40NyXcD9VgFWcZXKH26lHt4_eDWoXFpu9GGg9BHwCU-3LVTLAZ0CHTK6Qy6s3ODpUlf3vZcs1dmViLKYf6M-28-joCV9JVUBAgj28812cpXbxO8PIb33p27LSOKFQwyg-WXo&quot; width=&quot;315&quot; /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;Depois de instalado, abra o VS e clique em &quot;Tools &amp;gt; Connect to Dataverse&quot;:&lt;p&gt;&lt;/p&gt;&lt;p&gt;&lt;/p&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;&lt;a href=&quot;https://blogger.googleusercontent.com/img/a/AVvXsEiD1QEvq9q4mja0A4xyGs8mpNga13LqBFFU8yTZPRynEsQEUkd6iz2toNottZAoMhmeZpVSO1fPX7UJ-VzdDiiiPlrJVX2Dy-iNDG1JP6i7OWL5i-OzVSgjPAZL7qaTHE7UfZmyhitKr8ofhpvsZPwIiWVKFh3TmXwQ2rhASplLGZNiyAPm9p_5fMWF6rpM&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img alt=&quot;&quot; data-original-height=&quot;662&quot; data-original-width=&quot;2086&quot; height=&quot;102&quot; src=&quot;https://blogger.googleusercontent.com/img/a/AVvXsEiD1QEvq9q4mja0A4xyGs8mpNga13LqBFFU8yTZPRynEsQEUkd6iz2toNottZAoMhmeZpVSO1fPX7UJ-VzdDiiiPlrJVX2Dy-iNDG1JP6i7OWL5i-OzVSgjPAZL7qaTHE7UfZmyhitKr8ofhpvsZPwIiWVKFh3TmXwQ2rhASplLGZNiyAPm9p_5fMWF6rpM&quot; width=&quot;320&quot; /&gt;&lt;/a&gt;&lt;/div&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;Escolha as opções de acordo com sua necessidade. Minha VM, por exemplo, não está no domínio da empresa. Marquei a opção &quot;office 365&quot; e quero ver todas as organizações às quais tenho acesso. Usar a opção de logar com a conta atual me trouxe problemas, por isso não a uso!&lt;p&gt;&lt;/p&gt;&lt;p&gt;&lt;/p&gt;&lt;h4 style=&quot;text-align: left;&quot;&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;&lt;a href=&quot;https://blogger.googleusercontent.com/img/a/AVvXsEiLhZ2yqJsdlGi82GAyoKgN049W5uFIVc531B26sMbXBkp0Nt6Lk5PMROP20chSXdoxxepq1nD5GAlZCvhaa4_SW72NqFFjn1MYv2f4M-5LVpFrfGZ3lIY2VMFgGyYdWSrakRKsrekoysC9UqqKavziAX73DoHe0mDP-pj8QQxImaIH-azQTBJ47_5-Y6Eq&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img alt=&quot;&quot; data-original-height=&quot;1194&quot; data-original-width=&quot;1148&quot; height=&quot;240&quot; src=&quot;https://blogger.googleusercontent.com/img/a/AVvXsEiLhZ2yqJsdlGi82GAyoKgN049W5uFIVc531B26sMbXBkp0Nt6Lk5PMROP20chSXdoxxepq1nD5GAlZCvhaa4_SW72NqFFjn1MYv2f4M-5LVpFrfGZ3lIY2VMFgGyYdWSrakRKsrekoysC9UqqKavziAX73DoHe0mDP-pj8QQxImaIH-azQTBJ47_5-Y6Eq&quot; width=&quot;231&quot; /&gt;&lt;/a&gt;&lt;/div&gt;&lt;/h4&gt;&lt;h4 style=&quot;text-align: left;&quot;&gt;&lt;span style=&quot;font-weight: 400;&quot;&gt;Após a autenticação, você verá a lista de organizações e ambientes a que você tem acesso. Selecione o seu ambiente UDE e clique em &quot;Login&quot;.&lt;/span&gt;&lt;/h4&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;&lt;a href=&quot;https://blogger.googleusercontent.com/img/a/AVvXsEiNb9inBX-ILqzF0OZEQV_jDRGGeHbRHcu5xqvpRos-DQWbCQHLxOXTivUmT35BiA2ayLZyuDwBEvCc3EOrUebm_9GnfUukW6GkLA2-DDbmrrXS1zfSEWOKmefKDD8XpoQX1QypoYc-_UOk3vu1Ke2a__W-ROOx9mlSp5zGF6zOhsgRFzZIJimdv-ilMJ31&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img alt=&quot;&quot; data-original-height=&quot;1100&quot; data-original-width=&quot;1048&quot; height=&quot;240&quot; src=&quot;https://blogger.googleusercontent.com/img/a/AVvXsEiNb9inBX-ILqzF0OZEQV_jDRGGeHbRHcu5xqvpRos-DQWbCQHLxOXTivUmT35BiA2ayLZyuDwBEvCc3EOrUebm_9GnfUukW6GkLA2-DDbmrrXS1zfSEWOKmefKDD8XpoQX1QypoYc-_UOk3vu1Ke2a__W-ROOx9mlSp5zGF6zOhsgRFzZIJimdv-ilMJ31&quot; width=&quot;229&quot; /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;&lt;a href=&quot;https://blogger.googleusercontent.com/img/a/AVvXsEgqraxRoEAvGAc33pqHqvXAYYl-TIc6rlszvfnVM5TpOqVFsLgYVLdlwcwXl_yP3jOox-CBQJxNu5e9VOaHT4DyUnEPItMHxQEBes07AyNUsOhiinnyaNCviFynOyWkyGpvRJ_nFEuCSdrNZa9iIBXdMuJAX0flxtoXMbbs2omipHYh0xWY1kasD5jFNNDo&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img alt=&quot;&quot; data-original-height=&quot;408&quot; data-original-width=&quot;1148&quot; height=&quot;114&quot; src=&quot;https://blogger.googleusercontent.com/img/a/AVvXsEgqraxRoEAvGAc33pqHqvXAYYl-TIc6rlszvfnVM5TpOqVFsLgYVLdlwcwXl_yP3jOox-CBQJxNu5e9VOaHT4DyUnEPItMHxQEBes07AyNUsOhiinnyaNCviFynOyWkyGpvRJ_nFEuCSdrNZa9iIBXdMuJAX0flxtoXMbbs2omipHYh0xWY1kasD5jFNNDo&quot; width=&quot;320&quot; /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: left;&quot;&gt;&lt;span style=&quot;font-weight: normal;&quot;&gt;Selecione a solution e clique em Done. É importante selecionar a solution diferente da &quot;default&quot;. Quando eu souber a razão, eu volto aqui pra explicar!!!&lt;/span&gt;&lt;/div&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;&lt;a href=&quot;https://blogger.googleusercontent.com/img/a/AVvXsEiPmkau-6Gbbhn4oPwaYJdgh2dEKUQiITmywFbkactXoGRY6W0i5vDcqG905dCslwxUSOswKS8zAVCk9S3p9aCiXxR4Jj1zeFE5g8tNos9gwHl0TxU3Jb0zaJyPjxWop1z9YDQQ9f-7DCWca8C6ao8HM6UB5lP4Fa8-KlHWEOoZkr5P94GPz4TXilko_z4D&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img alt=&quot;&quot; data-original-height=&quot;450&quot; data-original-width=&quot;1148&quot; height=&quot;125&quot; src=&quot;https://blogger.googleusercontent.com/img/a/AVvXsEiPmkau-6Gbbhn4oPwaYJdgh2dEKUQiITmywFbkactXoGRY6W0i5vDcqG905dCslwxUSOswKS8zAVCk9S3p9aCiXxR4Jj1zeFE5g8tNos9gwHl0TxU3Jb0zaJyPjxWop1z9YDQQ9f-7DCWca8C6ao8HM6UB5lP4Fa8-KlHWEOoZkr5P94GPz4TXilko_z4D&quot; width=&quot;320&quot; /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;h4 style=&quot;text-align: left;&quot;&gt;&lt;span style=&quot;font-weight: normal;&quot;&gt;Uma série de processos se iniciará. Download do Metadata, copia de cross-references e outros... apenas aguarde a conclusão. Assim que este processo for concluído, clique em &quot;Yes&quot; para dar continuidade ao processo de configuração:&lt;/span&gt;&lt;/h4&gt;&lt;div&gt;&lt;span style=&quot;font-weight: normal;&quot;&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;&lt;a href=&quot;https://blogger.googleusercontent.com/img/a/AVvXsEgczjFzLMi-20ttYBMqiG8SZK6liuLFuAXxrUjT1VRSZXbj172YhcQQjKZPWs2zdtTG7KNGya2mUifjHpvflsOADhHObzyAd14hI3gRYiaiqGnoxlmCElsvcdYsPUWqq8hSLCk1ew1bgtxo3Qw4LxY-7hExbIhdbWujG2Rr3GK4KtPkNsI-RnFwaPeZsNDl&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img alt=&quot;&quot; data-original-height=&quot;1550&quot; data-original-width=&quot;2186&quot; height=&quot;227&quot; src=&quot;https://blogger.googleusercontent.com/img/a/AVvXsEgczjFzLMi-20ttYBMqiG8SZK6liuLFuAXxrUjT1VRSZXbj172YhcQQjKZPWs2zdtTG7KNGya2mUifjHpvflsOADhHObzyAd14hI3gRYiaiqGnoxlmCElsvcdYsPUWqq8hSLCk1ew1bgtxo3Qw4LxY-7hExbIhdbWujG2Rr3GK4KtPkNsI-RnFwaPeZsNDl&quot; width=&quot;320&quot; /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;Acesso o &quot;Output&quot; do VS e você verá que o processo de configuração está sendo executado em background. Aguarde!&lt;div&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;&lt;a href=&quot;https://blogger.googleusercontent.com/img/a/AVvXsEg25e9u3kilaEVt167clDzJt4qoquAvxwItdft6B4tut8oRxz6LJLfmk887DF1jukIWe0fcUuE7PCMi2gTAUKl-GYK7RAcWbj9-EG5BQgDHSc0Ij7ZLhP2DwiKQ6sYUB-23IWrftci44mtf_qdvZQB6K4wFbGs8l5qPHqSXWYBZuWBNCT3Ntf1rUnqfMSbZ&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img alt=&quot;&quot; data-original-height=&quot;1528&quot; data-original-width=&quot;2186&quot; height=&quot;224&quot; src=&quot;https://blogger.googleusercontent.com/img/a/AVvXsEg25e9u3kilaEVt167clDzJt4qoquAvxwItdft6B4tut8oRxz6LJLfmk887DF1jukIWe0fcUuE7PCMi2gTAUKl-GYK7RAcWbj9-EG5BQgDHSc0Ij7ZLhP2DwiKQ6sYUB-23IWrftci44mtf_qdvZQB6K4wFbGs8l5qPHqSXWYBZuWBNCT3Ntf1rUnqfMSbZ&quot; width=&quot;320&quot; /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;Se abrir a pasta PackageLocalDirectory, vai ver que ela está sendo desconpactada. Aguarde, este processo demora um tanto!&lt;br /&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;&lt;a href=&quot;https://blogger.googleusercontent.com/img/a/AVvXsEgiqbYFj7oL6r8T_ixW5dpHywtDFhmf8lF3h887RQGoS-BIDswcG7bo6gtqCfWjgJoHYMMLhGmqWSa6E2XKhTgZe60cmz0QEflv8SE3F5PjBir0-JqRis86vmQm31mzxfnBQglNTBnvPIBBePRi0CQ78mR0PCWtt1ZhLRmNRhKfRSc4s2USNrspRpTGN-AO&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img alt=&quot;&quot; data-original-height=&quot;1598&quot; data-original-width=&quot;2894&quot; height=&quot;177&quot; src=&quot;https://blogger.googleusercontent.com/img/a/AVvXsEgiqbYFj7oL6r8T_ixW5dpHywtDFhmf8lF3h887RQGoS-BIDswcG7bo6gtqCfWjgJoHYMMLhGmqWSa6E2XKhTgZe60cmz0QEflv8SE3F5PjBir0-JqRis86vmQm31mzxfnBQglNTBnvPIBBePRi0CQ78mR0PCWtt1ZhLRmNRhKfRSc4s2USNrspRpTGN-AO&quot; width=&quot;320&quot; /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;div style=&quot;text-align: left;&quot;&gt;Neste caso específico, ainda mapeei o UDE a um projeto do TFVC. Em posts anteriores mostrei como fazer isso, não vou repetir todo o processo aqui!&lt;/div&gt;&lt;div style=&quot;text-align: left;&quot;&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;&lt;a href=&quot;https://blogger.googleusercontent.com/img/a/AVvXsEhsYpb-BjEMMy5ymzzW0OQcaFdBtqGh5udPakUesnaJEVnxMeIOqGWz5mXmrI7opm9zcCh3J528oK-2ER0PRomKyJWO1_tZmO-X_jW6u6LV-uA9tbJzGOnFXlSWpbPJIeGVBrHhs3zpxQ6gM7Srnp33mm9NcYVGUhX-cX59iQ4z94BJM-_ojzvbV7kVR4GU&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img alt=&quot;&quot; data-original-height=&quot;1396&quot; data-original-width=&quot;2320&quot; height=&quot;193&quot; src=&quot;https://blogger.googleusercontent.com/img/a/AVvXsEhsYpb-BjEMMy5ymzzW0OQcaFdBtqGh5udPakUesnaJEVnxMeIOqGWz5mXmrI7opm9zcCh3J528oK-2ER0PRomKyJWO1_tZmO-X_jW6u6LV-uA9tbJzGOnFXlSWpbPJIeGVBrHhs3zpxQ6gM7Srnp33mm9NcYVGUhX-cX59iQ4z94BJM-_ojzvbV7kVR4GU&quot; width=&quot;320&quot; /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;Concluímos aqui a configuração da VM Windows 11, com Visual Studio 2022 conectado ao DevOps TFVC.&lt;/div&gt;&lt;div style=&quot;text-align: left;&quot;&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style=&quot;text-align: left;&quot;&gt;A parte 4 será sobre a configuração do Visual Studio com o Repos Git!&lt;/div&gt;&lt;div style=&quot;text-align: left;&quot;&gt;&lt;br /&gt;&lt;/div&gt;&lt;/div&gt;&lt;p&gt;&lt;/p&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://fsilvajunior.blogspot.com/feeds/5459351514500546039/comments/default' title='Postar comentários'/><link rel='replies' type='text/html' href='http://fsilvajunior.blogspot.com/2025/11/d365f-git-e-power-platform-parte-3.html#comment-form' title='0 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6956220039993174035/posts/default/5459351514500546039'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6956220039993174035/posts/default/5459351514500546039'/><link rel='alternate' type='text/html' href='http://fsilvajunior.blogspot.com/2025/11/d365f-git-e-power-platform-parte-3.html' title='D365F&amp;O, Git e Power Platform! Parte 3'/><author><name>Francisco Silva Jr.</name><uri>http://www.blogger.com/profile/15240847900054947078</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/a/AVvXsEjzc6GJ3bcpAuuc7SJju5pb06Gb_QBTs-ugDHS5a6JGWgC9_qByFsTjk4NN01gWEae5BU3t-JX38lo81_rgiYS465kL1eRE6ScKTHIEGWsd2UabSAcJKIUf4XZOkcS2uadr8Uakdt6kcma7Gby8acOkOxsAfj-mIyTEeyA1ZIARjQKziAFikIWe0ZdkVltL=s72-c" height="72" width="72"/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6956220039993174035.post-6119961779756500619</id><published>2025-11-23T08:07:00.000-08:00</published><updated>2025-11-27T12:21:03.889-08:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="CD"/><category scheme="http://www.blogger.com/atom/ns#" term="CI"/><category scheme="http://www.blogger.com/atom/ns#" term="D365F&amp;O"/><category scheme="http://www.blogger.com/atom/ns#" term="DevOps"/><category scheme="http://www.blogger.com/atom/ns#" term="Git"/><category scheme="http://www.blogger.com/atom/ns#" term="Visual Studio"/><title type='text'>D365F&amp;O, Git e Power Platform! Parte 2</title><content type='html'>&lt;p&gt;&lt;span style=&quot;box-sizing: border-box; margin: 0px; padding: 0px;&quot;&gt;Na&amp;nbsp;&lt;a href=&quot;&quot; target=&quot;_blank&quot;&gt;parte 1,&lt;/a&gt;&amp;nbsp;falamos um pouco sobre as novidades no uso do Git como repositório e sobre a migração do TFVC.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;Sem reinventar a roda, a parte 2 trata de criar o UDE no Power Platform Admin Center (PPAC).&lt;/p&gt;&lt;p&gt;Os links abaixo, apesar de antigos, ainda são válidos:&lt;/p&gt;&lt;p&gt;https://fsilvajunior.blogspot.com/2024/05/dynamics-365-finops-unified-developer_26.html&lt;/p&gt;&lt;p&gt;https://fsilvajunior.blogspot.com/2024/05/dynamics-365-finops-unified-developer_26.html&lt;/p&gt;&lt;p&gt;Havendo novidades na criação de um UDE, atualizarei os posts acima.&lt;/p&gt;&lt;p&gt;Na parte 3 veremos como configurar o Visual Studio 2022 e iniciar os trabalhos!&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;</content><link rel='replies' type='application/atom+xml' href='http://fsilvajunior.blogspot.com/feeds/6119961779756500619/comments/default' title='Postar comentários'/><link rel='replies' type='text/html' href='http://fsilvajunior.blogspot.com/2025/11/d365f-git-e-power-platform-parte-2.html#comment-form' title='0 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6956220039993174035/posts/default/6119961779756500619'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6956220039993174035/posts/default/6119961779756500619'/><link rel='alternate' type='text/html' href='http://fsilvajunior.blogspot.com/2025/11/d365f-git-e-power-platform-parte-2.html' title='D365F&amp;O, Git e Power Platform! Parte 2'/><author><name>Francisco Silva Jr.</name><uri>http://www.blogger.com/profile/15240847900054947078</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6956220039993174035.post-5642588360462167953</id><published>2025-11-23T07:39:00.000-08:00</published><updated>2025-11-27T12:20:45.453-08:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="CD"/><category scheme="http://www.blogger.com/atom/ns#" term="CI"/><category scheme="http://www.blogger.com/atom/ns#" term="D365F&amp;O"/><category scheme="http://www.blogger.com/atom/ns#" term="DevOps"/><category scheme="http://www.blogger.com/atom/ns#" term="Git"/><category scheme="http://www.blogger.com/atom/ns#" term="Repos"/><title type='text'>D365F&amp;O, Git e Power Platform! Parte 1</title><content type='html'>&lt;p&gt;&amp;nbsp;Após ouvir as palestras e ver as demos durante o D365Summit em Lisboa, decidi que já era hora de aprofundar minha prática no uso do Git como repositório de código do D365F&amp;amp;O, bem como de utilizar o UDE como ambiente oficial de desenvolvimento e debug.&lt;/p&gt;&lt;p&gt;Após as palestras, ficou claro pra mim que o LCS não tem muito mais do que 1 ano de vida. Até hoje, vejo profissionais com dificuldades para utilizar o DevOps com o TFVC. Penso que, quanto antes iniciarmos o uso do Git com o D365F&amp;amp;O, mais chances teremos de minimizar os problemas quando chegar o momento em que nem sequer teremos a opção de usar o TFVC. E este momento está mais próximo do que vocês imaginam!&lt;/p&gt;&lt;p&gt;Obs: Falarei de &quot;USE&quot; e &quot;UPE&quot; em breve!&lt;/p&gt;&lt;p&gt;Inicio aqui uma série de posts para colocar em pleno funcionamento o UDE + Git + PPAC + DevOps no uso diário com o D365F&amp;amp;O!&lt;/p&gt;&lt;p&gt;Neste primeiro post vamos migrar um repositório de códigos to TFVC para O Git.&lt;/p&gt;&lt;p&gt;&quot;&lt;a href=&quot;https://fsilvajunior.blogspot.com/2025/11/d365f-tfvc-ou-git-como-repositorio.html&quot; target=&quot;_blank&quot;&gt;Neste link você pode obter mais detalhes sobre as vantages e sobre como utilizar o Git com o D365F&amp;amp;O&lt;/a&gt;&quot;&lt;/p&gt;&lt;p&gt;Neste momento, Dezembro de 2025, a migração do TFVC para o Git está extremamente simples. Não há necessidade de criar um repositório Git antes.&amp;nbsp;&lt;/p&gt;&lt;p&gt;Acesse o DevOps, vá até Repos e clique na opção &quot;Import repository&quot;:&lt;/p&gt;&lt;p&gt;&lt;/p&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;&lt;a href=&quot;https://blogger.googleusercontent.com/img/a/AVvXsEjLtZ4iSR1w8W4FMbBneq_NM17CITwccYiE0-bT7TAGkDw9k60bnVSn2KDcMNQiUy-YHddx9wGaCrZGjCGGp6IEcXBd8NJi_yJdHFI4KirmSrCakA0ylr_kJM7zKTLM_9geVDQCH4IGd5HGTjCYHWesyss2MPXKr8pjB-6FFCYXyktItWQG9R1_vmUVRQOW&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img alt=&quot;&quot; data-original-height=&quot;744&quot; data-original-width=&quot;1710&quot; height=&quot;139&quot; src=&quot;https://blogger.googleusercontent.com/img/a/AVvXsEjLtZ4iSR1w8W4FMbBneq_NM17CITwccYiE0-bT7TAGkDw9k60bnVSn2KDcMNQiUy-YHddx9wGaCrZGjCGGp6IEcXBd8NJi_yJdHFI4KirmSrCakA0ylr_kJM7zKTLM_9geVDQCH4IGd5HGTjCYHWesyss2MPXKr8pjB-6FFCYXyktItWQG9R1_vmUVRQOW&quot; width=&quot;320&quot; /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;&lt;br /&gt;&lt;/div&gt;&lt;p&gt;&lt;/p&gt;&lt;p&gt;&lt;/p&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: left;&quot;&gt;No &quot;Repository type&quot; escolha o TFVC.&lt;/div&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: left;&quot;&gt;No &quot;Path&quot; informe o caminho da Branch a ser migrada. É importante informar a Branch correta!&lt;/div&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: left;&quot;&gt;Você tem a opção de importar o histórico de changesets da Branch, escolha entre 1 e 180 dias!&lt;/div&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: left;&quot;&gt;Por ultimo, informe o nome do Repos Git a ser criado e clique em &quot;import&quot;.&lt;/div&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;&lt;a href=&quot;https://blogger.googleusercontent.com/img/a/AVvXsEh4gEsMcI-tJktLgaTpLkfsIj31wb5jGdtO10MinGkRqkQJF7-AU_Q2oVupNthswbBn1n-Tm8slImx5HBPBq7wd4rfJ4uPoUUUo8vsbRMDIfEMX27oemresTER2yHjQV6GYeWE7MB2GMuRE42vGHTZN5v6rf1DkTdlYkEPGMD90LWA0C1BTm8_APRo2jAh1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img alt=&quot;&quot; data-original-height=&quot;458&quot; data-original-width=&quot;474&quot; height=&quot;240&quot; src=&quot;https://blogger.googleusercontent.com/img/a/AVvXsEh4gEsMcI-tJktLgaTpLkfsIj31wb5jGdtO10MinGkRqkQJF7-AU_Q2oVupNthswbBn1n-Tm8slImx5HBPBq7wd4rfJ4uPoUUUo8vsbRMDIfEMX27oemresTER2yHjQV6GYeWE7MB2GMuRE42vGHTZN5v6rf1DkTdlYkEPGMD90LWA0C1BTm8_APRo2jAh1&quot; width=&quot;248&quot; /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;Agora apenas espere a conclusão do processo:&lt;p&gt;&lt;/p&gt;&lt;div&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;&lt;a href=&quot;https://blogger.googleusercontent.com/img/a/AVvXsEiYpZMwBWuoU10Sc_g5qHey2Ro0rTQ33vrkoP96KU5SAV39bU7gDP2yUhuNaVzVqBxZ8FTskqDb5uOnYVBeEqXFE37X0qdfcotsABg16mgzMAHqzVHPRwK2QBavHlyY9lY8Jq0zAWRc0L9lQZO055o4is7VbxKBjxkEHljTpw8UOPR-6nrBt8LRgDhVd-A0&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img alt=&quot;&quot; data-original-height=&quot;710&quot; data-original-width=&quot;1853&quot; height=&quot;123&quot; src=&quot;https://blogger.googleusercontent.com/img/a/AVvXsEiYpZMwBWuoU10Sc_g5qHey2Ro0rTQ33vrkoP96KU5SAV39bU7gDP2yUhuNaVzVqBxZ8FTskqDb5uOnYVBeEqXFE37X0qdfcotsABg16mgzMAHqzVHPRwK2QBavHlyY9lY8Jq0zAWRc0L9lQZO055o4is7VbxKBjxkEHljTpw8UOPR-6nrBt8LRgDhVd-A0&quot; width=&quot;320&quot; /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;Não tenho muitos changesets, mas note que o novo Repos no formato Git manteve as poucas mudanças que fiz antes da migração do TFVC para o Git:&lt;/div&gt;&lt;div&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;&lt;a href=&quot;https://blogger.googleusercontent.com/img/a/AVvXsEj-8wlyl9t7HDKY5q1ZRU0J8Yz8G1hKVi_CPDSzVOWG2WIMN5tTiKOiOWIEo5FNIsGAcgPHT3s0fqSKGQtuEKN6lXLveKeTiD9esC_KST3qTZ9fDqmVFEDjxRP6viMrVwyGrGmUmcdUzMuJ9ybY6x7Lcq6Jjz_hUzH6_N54CkIgsBNqMFHnWGUoJ08mpnwd&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img alt=&quot;&quot; data-original-height=&quot;717&quot; data-original-width=&quot;1857&quot; height=&quot;124&quot; src=&quot;https://blogger.googleusercontent.com/img/a/AVvXsEj-8wlyl9t7HDKY5q1ZRU0J8Yz8G1hKVi_CPDSzVOWG2WIMN5tTiKOiOWIEo5FNIsGAcgPHT3s0fqSKGQtuEKN6lXLveKeTiD9esC_KST3qTZ9fDqmVFEDjxRP6viMrVwyGrGmUmcdUzMuJ9ybY6x7Lcq6Jjz_hUzH6_N54CkIgsBNqMFHnWGUoJ08mpnwd&quot; width=&quot;320&quot; /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;Existem outros detalhes importantes muito bem documentados neste link:&amp;nbsp;https://learn.microsoft.com/pt-br/azure/devops/repos/git/import-from-tfvc?view=azure-devops&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Se seu projeto seguiu as boas práticas da Microsoft, a migração de TFVC para Git será fácil!&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Se você é uma empresa cliente ou parceiro da Microsoft e precisa de apoio nesta migração, entre em contato!&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Aqui está a &lt;a href=&quot;https://fsilvajunior.blogspot.com/2025/11/d365f-git-e-power-platform-parte-2.html&quot; target=&quot;_blank&quot;&gt;Parte 2&lt;/a&gt;!&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Fonte:&amp;nbsp;https://www.powerazure365.com/blog-1/dynamics-365-finops-unified-developer-experience&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://fsilvajunior.blogspot.com/feeds/5642588360462167953/comments/default' title='Postar comentários'/><link rel='replies' type='text/html' href='http://fsilvajunior.blogspot.com/2025/11/d365f-git-e-power-platform-parte-1.html#comment-form' title='0 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6956220039993174035/posts/default/5642588360462167953'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6956220039993174035/posts/default/5642588360462167953'/><link rel='alternate' type='text/html' href='http://fsilvajunior.blogspot.com/2025/11/d365f-git-e-power-platform-parte-1.html' title='D365F&amp;O, Git e Power Platform! Parte 1'/><author><name>Francisco Silva Jr.</name><uri>http://www.blogger.com/profile/15240847900054947078</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/a/AVvXsEjLtZ4iSR1w8W4FMbBneq_NM17CITwccYiE0-bT7TAGkDw9k60bnVSn2KDcMNQiUy-YHddx9wGaCrZGjCGGp6IEcXBd8NJi_yJdHFI4KirmSrCakA0ylr_kJM7zKTLM_9geVDQCH4IGd5HGTjCYHWesyss2MPXKr8pjB-6FFCYXyktItWQG9R1_vmUVRQOW=s72-c" height="72" width="72"/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6956220039993174035.post-2116218930192993794</id><published>2025-11-23T07:36:00.000-08:00</published><updated>2025-11-23T07:39:39.704-08:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="CD"/><category scheme="http://www.blogger.com/atom/ns#" term="CI"/><category scheme="http://www.blogger.com/atom/ns#" term="D365F&amp;O"/><category scheme="http://www.blogger.com/atom/ns#" term="DevOps"/><category scheme="http://www.blogger.com/atom/ns#" term="Git"/><category scheme="http://www.blogger.com/atom/ns#" term="Repos"/><title type='text'>D365F&amp;O. TFVC ou Git como repositório?</title><content type='html'>&lt;p&gt;&amp;nbsp;À medida que as organizações modernizam suas práticas de DevOps, a transição de sistemas de controle de versão centralizados, como o TFVC, para sistemas distribuídos, como o Git, tornou-se uma prioridade estratégica, especialmente para equipes que trabalham com o Microsoft Dynamics 365 Finance &amp;amp; Operations (F&amp;amp;O).&amp;nbsp;&lt;/p&gt;&lt;p&gt;O Git não só permite uma colaboração mais eficiente e ciclos de entrega mais rápidos, como também se integra perfeitamente ao Azure DevOps Git, tornando-se a escolha preferida das equipes de desenvolvimento.&lt;/p&gt;&lt;h3 style=&quot;text-align: left;&quot;&gt;&lt;i&gt;&lt;span style=&quot;font-size: medium;&quot;&gt;Por que usamos Repos no DevOps para o desenvolvimento do D365 F&amp;amp;O?&lt;/span&gt;&lt;/i&gt;&lt;/h3&gt;&lt;p&gt;No desenvolvimento DevOps para Dynamics 365 Finance and Operations (F&amp;amp;O), os repositórios são usados ​​principalmente para controle de versão. Isso permite que os desenvolvedores acompanhem as alterações em seu código ao longo do tempo, colaborem efetivamente com outros membros da equipe e gerenciem diferentes versões do código-fonte.&amp;nbsp;&lt;/p&gt;&lt;p&gt;Também garante processos de desenvolvimento e implantação tranquilos, facilitando a ramificação, a mesclagem e as revisões de código, tudo no contexto de um sistema centralizado como o Git no Azure DevOps.&lt;/p&gt;&lt;h3 style=&quot;text-align: left;&quot;&gt;&lt;i&gt;&lt;span style=&quot;font-size: medium;&quot;&gt;Principais benefícios do uso de repositórios no desenvolvimento do D365 F&amp;amp;O:&lt;/span&gt;&lt;/i&gt;&lt;/h3&gt;&lt;p&gt;&lt;b&gt;Colaboração:&lt;/b&gt; Vários desenvolvedores podem trabalhar no mesmo código-fonte simultaneamente, cada um fazendo alterações em sua própria ramificação e mesclando-as no código-fonte principal para evitar conflitos.&lt;/p&gt;&lt;p&gt;&lt;b&gt;Controle de versão: &lt;/b&gt;Acompanhe todas as alterações no código, permitindo que você reverta facilmente para versões anteriores, se necessário.&lt;/p&gt;&lt;p&gt;&lt;b&gt;Processo de revisão de código:&lt;/b&gt; Permita que os membros da equipe revisem as alterações de código entre si antes de mesclá-las na ramificação principal, melhorando a qualidade do código.&lt;/p&gt;&lt;p&gt;&lt;b&gt;Estratégias de ramificação: &lt;/b&gt;Crie ramificações distintas para os ambientes de desenvolvimento, teste e produção. Isso permite testar e implantar novos recursos de forma isolada, sem afetar o sistema em produção.&lt;/p&gt;&lt;p&gt;&lt;b&gt;Compilação e implantação automatizadas:&lt;/b&gt; Integre-se a pipelines de CI/CD no Azure DevOps para compilar, testar e implantar automaticamente alterações de código em diferentes ambientes com base em commits no repositório.&lt;/p&gt;&lt;h3 style=&quot;text-align: left;&quot;&gt;&lt;span style=&quot;font-size: large;&quot;&gt;&lt;i&gt;Git como sistema de controle de versão preferido&lt;/i&gt;&lt;/span&gt;&lt;/h3&gt;&lt;p&gt;A maioria das equipes de desenvolvimento modernas do D365 F&amp;amp;O usa o Git como sistema de controle de versão subjacente em seus repositórios, devido à sua flexibilidade e popularidade.&lt;/p&gt;&lt;p&gt;Escolher uma estratégia de ramificação adequada (como a ramificação de recursos ou o desenvolvimento baseado em trunk) é crucial para a colaboração eficiente e para o gerenciamento de diferentes versões de código.&lt;/p&gt;&lt;h3 style=&quot;text-align: left;&quot;&gt;&lt;i&gt;Importância do Git&lt;/i&gt;&lt;/h3&gt;&lt;p&gt;O Git é um sistema de controle de versão moderno e distribuído, essencial nas práticas de desenvolvimento de software atuais. Ele permite que os desenvolvedores trabalhem de forma independente com uma cópia completa da base de código, o que possibilita maior desempenho e acesso offline. O Git simplifica a colaboração, oferecendo suporte a ramificações e mesclagens eficientes, o que ajuda as equipes a desenvolver recursos, corrigir bugs e experimentar com segurança, sem afetar a base de código principal.&lt;/p&gt;&lt;p&gt;Ele também oferece um histórico detalhado, facilitando a auditoria de alterações e o rollback, se necessário. Amplamente integrado a ferramentas de DevOps e pipelines de CI/CD, o Git garante a automação eficiente dos processos de build, teste e implantação. Sua natureza de código aberto e o forte suporte da comunidade fizeram do Git o padrão da indústria no controle de versão.&lt;/p&gt;&lt;h3 style=&quot;text-align: left;&quot;&gt;Principais comandos do Git e comparação com o TFVC:&lt;/h3&gt;&lt;div&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;&lt;a href=&quot;https://blogger.googleusercontent.com/img/a/AVvXsEic6mSVNjYPhyiEsD8SwU1DI4Eo73mElA-BFJye5IHHZXRWd5lBf0AvcnnltRufQ9evH8GtrnvLR25dLPunOHIsVDSXt-Tp0giy2iNop5GSusnxadiaC0duq0NOAbeMOdg_zMoiR5EXiJgSeG1Wh8xSLDHwywjQEYqrixF38Vv5_5CKHerL-dNhBxdhnRj1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img alt=&quot;&quot; data-original-height=&quot;222&quot; data-original-width=&quot;700&quot; height=&quot;101&quot; src=&quot;https://blogger.googleusercontent.com/img/a/AVvXsEic6mSVNjYPhyiEsD8SwU1DI4Eo73mElA-BFJye5IHHZXRWd5lBf0AvcnnltRufQ9evH8GtrnvLR25dLPunOHIsVDSXt-Tp0giy2iNop5GSusnxadiaC0duq0NOAbeMOdg_zMoiR5EXiJgSeG1Wh8xSLDHwywjQEYqrixF38Vv5_5CKHerL-dNhBxdhnRj1&quot; width=&quot;320&quot; /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;Buscar (Fetch)&lt;/b&gt;&lt;/div&gt;&lt;div&gt;É importante buscar (fetch) e baixar (pull) antes de enviar (push). A busca verifica se há commits remotos que você deve incorporar às suas alterações locais. Se encontrar algum, baixe (pull) primeiro para evitar conflitos de mesclagem com o repositório remoto. Ao buscar uma branch, a janela Alterações do Git exibe um indicador abaixo do menu suspenso da branch, indicando o número de commits não baixados (unpulled) da branch remota. Esse indicador também mostra o número de commits locais não enviados (pushes).&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;Baixar (Pull)&lt;/b&gt;&lt;/div&gt;&lt;div&gt;Sempre baixe (pull) antes de enviar (push). Ao baixar (pull) primeiro, você evita conflitos de mesclagem com o repositório remoto.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;Enviar (Push)&lt;/b&gt;&lt;/div&gt;&lt;div&gt;Ao criar commits, você salva automaticamente snapshots do seu código local. Use o comando Enviar (Push) para enviar os commits para o GitHub, onde você pode armazená-los como backups ou compartilhar seu código com outras pessoas.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;Sincronizar (Sync)&lt;/b&gt;&lt;/div&gt;&lt;div&gt;Você envia commits (push) quando sua branch local estiver desatualizada em relação à branch remota. Se tentar enviar (push), uma caixa de diálogo solicitará que você baixe (pull) antes de enviar (push).&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Use esta operação para baixar (pull) e enviar (push) de forma sequencial.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Falando de D365F&amp;amp;O, acesse o link abaixo para saber como iniciar o trabalho utilizando o Git como repositório padrão:&amp;nbsp;https://fsilvajunior.blogspot.com/2025/11/d365f-git-e-power-platform-parte-1.html&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://fsilvajunior.blogspot.com/feeds/2116218930192993794/comments/default' title='Postar comentários'/><link rel='replies' type='text/html' href='http://fsilvajunior.blogspot.com/2025/11/d365f-tfvc-ou-git-como-repositorio.html#comment-form' title='0 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6956220039993174035/posts/default/2116218930192993794'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6956220039993174035/posts/default/2116218930192993794'/><link rel='alternate' type='text/html' href='http://fsilvajunior.blogspot.com/2025/11/d365f-tfvc-ou-git-como-repositorio.html' title='D365F&amp;O. TFVC ou Git como repositório?'/><author><name>Francisco Silva Jr.</name><uri>http://www.blogger.com/profile/15240847900054947078</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/a/AVvXsEic6mSVNjYPhyiEsD8SwU1DI4Eo73mElA-BFJye5IHHZXRWd5lBf0AvcnnltRufQ9evH8GtrnvLR25dLPunOHIsVDSXt-Tp0giy2iNop5GSusnxadiaC0duq0NOAbeMOdg_zMoiR5EXiJgSeG1Wh8xSLDHwywjQEYqrixF38Vv5_5CKHerL-dNhBxdhnRj1=s72-c" height="72" width="72"/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6956220039993174035.post-4043259817032779098</id><published>2025-09-25T01:52:00.000-07:00</published><updated>2025-09-25T01:52:18.895-07:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="D365F&amp;O"/><category scheme="http://www.blogger.com/atom/ns#" term="Finance"/><category scheme="http://www.blogger.com/atom/ns#" term="License"/><category scheme="http://www.blogger.com/atom/ns#" term="Renew"/><title type='text'>Simplifying License Management for Dynamics 365 Finance and Operations</title><content type='html'>&lt;p&gt;&amp;nbsp;A Microsoft anunciou novas alterações nos prazos para o correto licensiamento do F&amp;amp;O. Na FAQ já é possível ver esta alteração com as novas datas:&lt;/p&gt;&lt;p&gt;&lt;a href=&quot;https://cdn-dynmedia-1.microsoft.com/is/content/microsoftcorp/microsoft/bade/documents/products-and-services/en-us/bizapps/FAQ-User-security-role-reporting-and-technical-validation-for-Dynamics-365-finance-and-operations-apps-9-24.pdf&quot; target=&quot;_blank&quot;&gt;User Security Role Reporting and Technical Validation for Dynamics 365Finance and Operations Apps - FAQ&lt;/a&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&quot;&lt;b&gt;&lt;i&gt;&lt;u&gt;Após 15 de janeiro de 2026, a implementação da notificação ao usuário começará 30 dias antes da renovação do contrato ou data de aniversário do cliente. Clientes com renovação em 15 de janeiro receberão uma notificação em 15 de dezembro de 2025. Como lembrete, apenas usuários que não possuem as licenças necessárias atribuídas no Centro de Administração do Microsoft 365 receberão essas notificações. No mês de renovação ou aniversário do cliente, todos os usuários precisarão ter uma licença atribuída para acessar os aplicativos de finanças e operações do Dynamics 365, conforme confirmado nos relatórios de licença. Semelhante às notificações, isso seguirá nosso processo de lançamento padrão e será implementado em todos os locatários comerciais ao longo de várias semanas. Estamos oferecendo aos clientes tempo para se prepararem com ferramentas e treinamento para dar suporte a qualquer ação necessária. Para usuários que já possuem licenças atribuídas, não haverá interrupção e nenhuma ação será necessária por parte do administrador.&lt;/u&gt;&lt;/i&gt;&lt;/b&gt;&quot;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;Fiquem atentos aos prazos, acompanhem a FAQ e utilizem o link abaixo que em breve estará atualizado com as novas informações:&lt;/p&gt;&lt;p&gt;&lt;a href=&quot;https://www.microsoft.com/en-us/dynamics-365/blog/it-professional/2025/09/23/simplifying-license-management-dynamics-365/?WT.mc_id=DX-MVP-5000413&quot; target=&quot;_blank&quot;&gt;Simplifying License Management for Dynamics 365 Finance and Operations&lt;/a&gt;&lt;/p&gt;&lt;p&gt;&lt;/p&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;&lt;a href=&quot;https://blogger.googleusercontent.com/img/a/AVvXsEguLRxs0A3YOnOnnjR96y2z8QvU5n7NqpF_7P0ew4IxrSePSWYjrBqkDgCOY5W21WtHSGt9d-iAAxSK_IEKGr_XbQrlruiGoU5iyMK2i04lu3hiyLzMikeNaXIa64VR-zTGbfRzH9pHhRUvwIaBAG8b2_DlcWb6HrwImEpJHJUIpRZjrW3unusAnuh_rH7a&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img alt=&quot;&quot; data-original-height=&quot;154&quot; data-original-width=&quot;722&quot; height=&quot;68&quot; src=&quot;https://blogger.googleusercontent.com/img/a/AVvXsEguLRxs0A3YOnOnnjR96y2z8QvU5n7NqpF_7P0ew4IxrSePSWYjrBqkDgCOY5W21WtHSGt9d-iAAxSK_IEKGr_XbQrlruiGoU5iyMK2i04lu3hiyLzMikeNaXIa64VR-zTGbfRzH9pHhRUvwIaBAG8b2_DlcWb6HrwImEpJHJUIpRZjrW3unusAnuh_rH7a&quot; width=&quot;320&quot; /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;&lt;p&gt;&lt;/p&gt;&lt;p&gt;Se precisarem de ajude, estou disponível!&lt;/p&gt;</content><link rel='replies' type='application/atom+xml' href='http://fsilvajunior.blogspot.com/feeds/4043259817032779098/comments/default' title='Postar comentários'/><link rel='replies' type='text/html' href='http://fsilvajunior.blogspot.com/2025/09/simplifying-license-management-for.html#comment-form' title='0 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6956220039993174035/posts/default/4043259817032779098'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6956220039993174035/posts/default/4043259817032779098'/><link rel='alternate' type='text/html' href='http://fsilvajunior.blogspot.com/2025/09/simplifying-license-management-for.html' title='Simplifying License Management for Dynamics 365 Finance and Operations'/><author><name>Francisco Silva Jr.</name><uri>http://www.blogger.com/profile/15240847900054947078</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/a/AVvXsEguLRxs0A3YOnOnnjR96y2z8QvU5n7NqpF_7P0ew4IxrSePSWYjrBqkDgCOY5W21WtHSGt9d-iAAxSK_IEKGr_XbQrlruiGoU5iyMK2i04lu3hiyLzMikeNaXIa64VR-zTGbfRzH9pHhRUvwIaBAG8b2_DlcWb6HrwImEpJHJUIpRZjrW3unusAnuh_rH7a=s72-c" height="72" width="72"/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6956220039993174035.post-3752182010149176162</id><published>2025-08-03T07:30:00.000-07:00</published><updated>2025-08-03T07:30:48.221-07:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="App Registration"/><category scheme="http://www.blogger.com/atom/ns#" term="Authorization"/><category scheme="http://www.blogger.com/atom/ns#" term="config"/><category scheme="http://www.blogger.com/atom/ns#" term="required"/><category scheme="http://www.blogger.com/atom/ns#" term="web"/><category scheme="http://www.blogger.com/atom/ns#" term="wif"/><category scheme="http://www.blogger.com/atom/ns#" term="xktools"/><title type='text'>XKTools - 12 - Update Web e Wif Config</title><content type='html'>&lt;p&gt;&amp;nbsp;Acredito que muitos passaram pelo cenário onde não conseguiram importar novos usuários dentro de suas VMs.&lt;/p&gt;&lt;p&gt;&lt;/p&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;&lt;a href=&quot;https://blogger.googleusercontent.com/img/a/AVvXsEi9VNyEXkCSkKeZbCA7RbkFDMnh5h2J06z79lHL302dbwY48UCGHCup7SxAvSarMqcNGaA8qKet3sG7oeaha3jVMfyv52ctxx-bxSFhniAMzgDFmEmbsK5ZxvJiEN5U_ETtKfJOWsLsxw3WDXy7R9dA6Ng41Un1IdOi8LDlTi3twTyQnPrATN4ffHYsKgqf&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img alt=&quot;&quot; data-original-height=&quot;326&quot; data-original-width=&quot;672&quot; height=&quot;155&quot; src=&quot;https://blogger.googleusercontent.com/img/a/AVvXsEi9VNyEXkCSkKeZbCA7RbkFDMnh5h2J06z79lHL302dbwY48UCGHCup7SxAvSarMqcNGaA8qKet3sG7oeaha3jVMfyv52ctxx-bxSFhniAMzgDFmEmbsK5ZxvJiEN5U_ETtKfJOWsLsxw3WDXy7R9dA6Ng41Un1IdOi8LDlTi3twTyQnPrATN4ffHYsKgqf&quot; width=&quot;320&quot; /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;p&gt;&lt;/p&gt;&lt;p&gt;A Microsoft alterou o sistema de segurança para evitar &quot;gatos&quot; no uso das VMs. Se quiser mais detalhes veja este link:&amp;nbsp;https://learn.microsoft.com/en-us/dynamics365/fin-ops-core/dev-itpro/dev-tools/secure-developer-vm?WT.mc_id=DX-MVP-5004702&lt;/p&gt;&lt;p&gt;Para solucionar este problema precisamos de um Azure App Registration&amp;nbsp;&lt;a href=&quot;https://fsilvajunior.blogspot.com/2025/06/criando-um-azure-app-registration-para.html&quot; target=&quot;_blank&quot;&gt;Azure App Registration&lt;/a&gt;&amp;nbsp;e também vamos editar os arquivos web e wif config. O link da Microsoft obviamente possui as orientações necessárias, por ser um processo que exige atenção aos detalhes, &quot;resolvi usar todo o meu conhecimento 😂&quot;, e pedi ao ChatGPT pra criar um script. Depois de várias tentativas e ajustes chegamos à ferramenta descrita aqui.&lt;/p&gt;&lt;p&gt;O processo para permitir importação de um novo usuário em uma VM de DEV passa pela reconstrução da autenticação do F&amp;amp;O da VM com o Tenant do Azure do cliente em questão. Para reconstruir esta autenticação vamos precisar do certificado digital da VM e editar os arquivos Web e Wif config. Vamos a isso.&lt;/p&gt;&lt;p&gt;Ao executar a opção 12 lhe será apresentada um ajanela do Windows solicitando que você escolha o certificado digital do site do F&amp;amp;O dentro da VM. O certificado tem exatamente o mesmo nome do site, escolha-o e conclua a exportação, um arquivo .CER erá salvo na pasta C:\Temp.&lt;/p&gt;&lt;p&gt;&lt;/p&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;&lt;a href=&quot;https://blogger.googleusercontent.com/img/a/AVvXsEjVnKJ8eNEzfC2has99b54oQmWD3T6uGIpP2CvorCUKMfMU2MXhNSQXaYpuhF1JRimj1bRLaB-S5J408v3Mv7JM83oT56E1zsg6a0N80gpz45iozbtvTnI81beZGpxXJqXoF-9Ufxh2aImWujiGfK-VXwIlhg41g_HVbIY6iKPsJZ5xHUj0RPWHn_xXR07p&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img alt=&quot;&quot; data-original-height=&quot;1144&quot; data-original-width=&quot;2060&quot; height=&quot;178&quot; src=&quot;https://blogger.googleusercontent.com/img/a/AVvXsEjVnKJ8eNEzfC2has99b54oQmWD3T6uGIpP2CvorCUKMfMU2MXhNSQXaYpuhF1JRimj1bRLaB-S5J408v3Mv7JM83oT56E1zsg6a0N80gpz45iozbtvTnI81beZGpxXJqXoF-9Ufxh2aImWujiGfK-VXwIlhg41g_HVbIY6iKPsJZ5xHUj0RPWHn_xXR07p&quot; width=&quot;320&quot; /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: left;&quot;&gt;Vá ao seu App Registration e importe este certificado:&lt;/div&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: left;&quot;&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;&lt;a href=&quot;https://blogger.googleusercontent.com/img/a/AVvXsEhxYXeDUNnPBtpXC4dI_hw8zSBkOsijADLJTURwXUUQcdnEcTMSDwy12yY-bQuMjy-kNCiKI9hTtvpNcruHvPf6TUpR6fGwnUG4U1ULFZjiQy3K_NcTgrB3xf-kQPHP2vd0g78XXPEQkQZpQZahX2uAbqMITMO4GpEn3dIwDLjNJCDKnga0JM438QshZLOO&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img alt=&quot;&quot; data-original-height=&quot;850&quot; data-original-width=&quot;1098&quot; height=&quot;240&quot; src=&quot;https://blogger.googleusercontent.com/img/a/AVvXsEhxYXeDUNnPBtpXC4dI_hw8zSBkOsijADLJTURwXUUQcdnEcTMSDwy12yY-bQuMjy-kNCiKI9hTtvpNcruHvPf6TUpR6fGwnUG4U1ULFZjiQy3K_NcTgrB3xf-kQPHP2vd0g78XXPEQkQZpQZahX2uAbqMITMO4GpEn3dIwDLjNJCDKnga0JM438QshZLOO&quot; width=&quot;310&quot; /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: left;&quot;&gt;Agora vamos continuar com os demais detalhes dentro da VM. Pensando em diferentes VMs com diferentes estruturas de discos, lhe será perguntado qual o diretório da pasta onde estão localizados os arquivos do F&amp;amp;O, escolha a unidade correta e siga em frente:&lt;/div&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: left;&quot;&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: left;&quot;&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;&lt;a href=&quot;https://blogger.googleusercontent.com/img/a/AVvXsEhvmoXJ1o6NffzLPZr5346VwjFIyJvFW574UomSrX4Gkbxe6cbu3BFXwvQuHwTV4f2Jc7oCucrKLlcO7uvwL6BpY_9GNaEATjF7z2T26OmJm6CMscUlXA_wtDeZsfrZGX8y-OnqcmerCnU7mazCoqDHeJJ3pQc9FDBYJqg0BL0fLFb9F3CUNSoZBDV54qM8&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img alt=&quot;&quot; data-original-height=&quot;1216&quot; data-original-width=&quot;1962&quot; height=&quot;198&quot; src=&quot;https://blogger.googleusercontent.com/img/a/AVvXsEhvmoXJ1o6NffzLPZr5346VwjFIyJvFW574UomSrX4Gkbxe6cbu3BFXwvQuHwTV4f2Jc7oCucrKLlcO7uvwL6BpY_9GNaEATjF7z2T26OmJm6CMscUlXA_wtDeZsfrZGX8y-OnqcmerCnU7mazCoqDHeJJ3pQc9FDBYJqg0BL0fLFb9F3CUNSoZBDV54qM8&quot; width=&quot;320&quot; /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: left;&quot;&gt;Obviamente antes de editar o arquivo, geramos um backup:&lt;/div&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: left;&quot;&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;&lt;a href=&quot;https://blogger.googleusercontent.com/img/a/AVvXsEgT5xGOEMPERRdsTVIldzuQHddr9rQQSRIGTosV0caPn9B5DbS82LhZhshe1ukbBABGf6eBWBrmvg1gyF_c7rCDafACVc10xbqqXczXel95eT7F1k6KvPNc7BHsR8Jjj4h8zo6NVkRHd8upW_p6lk5hHTuIFr3fZ8l5ysGQwjNALu9krswzcD8Yq9905w7q&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img alt=&quot;&quot; data-original-height=&quot;1108&quot; data-original-width=&quot;1956&quot; height=&quot;181&quot; src=&quot;https://blogger.googleusercontent.com/img/a/AVvXsEgT5xGOEMPERRdsTVIldzuQHddr9rQQSRIGTosV0caPn9B5DbS82LhZhshe1ukbBABGf6eBWBrmvg1gyF_c7rCDafACVc10xbqqXczXel95eT7F1k6KvPNc7BHsR8Jjj4h8zo6NVkRHd8upW_p6lk5hHTuIFr3fZ8l5ysGQwjNALu9krswzcD8Yq9905w7q&quot; width=&quot;320&quot; /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: left;&quot;&gt;Informe o Client ID do App Registration e clique ok:&lt;/div&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: left;&quot;&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;&lt;a href=&quot;https://blogger.googleusercontent.com/img/a/AVvXsEixtNPUO-1S57zwS40eOIeLvA9DwGDoOwBtRihPDULscCz-oW7N94EhJybfzFl9rM58IadYXNtu1GV9C9ZwLj47ooR4joHsb6vhBILqjB17h0_Xt7a24fM5nFFpSM99VvC3Way-DdGfkljtJTIj_IDzLpY2ndY9u7UPB9RARXNUleAknk0DAdZuRaR_NoLe&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img alt=&quot;&quot; data-original-height=&quot;1318&quot; data-original-width=&quot;1950&quot; height=&quot;216&quot; src=&quot;https://blogger.googleusercontent.com/img/a/AVvXsEixtNPUO-1S57zwS40eOIeLvA9DwGDoOwBtRihPDULscCz-oW7N94EhJybfzFl9rM58IadYXNtu1GV9C9ZwLj47ooR4joHsb6vhBILqjB17h0_Xt7a24fM5nFFpSM99VvC3Way-DdGfkljtJTIj_IDzLpY2ndY9u7UPB9RARXNUleAknk0DAdZuRaR_NoLe&quot; width=&quot;320&quot; /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: left;&quot;&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;&lt;a href=&quot;https://blogger.googleusercontent.com/img/a/AVvXsEhbuOZ0E47dD6o1zjqxMX7G2zML_sxHL-NXj0uqm0imGjr8yobQEY0j1SmxmedSWocQJQ5So992iDiBU9A3OX8bBrlk3EGOgzDrst2cx_Q9a1mBCKVXmzeHjgV9gpR7czA4hzhbuLn7itpBn6pgkB2mtiaav1B-PTuh_8sKqsBFZAowp_tvKKwn5v9t2nxt&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img alt=&quot;&quot; data-original-height=&quot;1060&quot; data-original-width=&quot;1964&quot; height=&quot;173&quot; src=&quot;https://blogger.googleusercontent.com/img/a/AVvXsEhbuOZ0E47dD6o1zjqxMX7G2zML_sxHL-NXj0uqm0imGjr8yobQEY0j1SmxmedSWocQJQ5So992iDiBU9A3OX8bBrlk3EGOgzDrst2cx_Q9a1mBCKVXmzeHjgV9gpR7czA4hzhbuLn7itpBn6pgkB2mtiaav1B-PTuh_8sKqsBFZAowp_tvKKwn5v9t2nxt&quot; width=&quot;320&quot; /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;&lt;a href=&quot;https://blogger.googleusercontent.com/img/a/AVvXsEhgxb2kgwGZ0-nHbyUp9WvPCCjqwdLpbH6J0l-6IvzZweO5W3uaoge_w2NiMYnYCHtEUulsI4zgdTf3JG6_S5hdRzp7USgRLNYGLaLLpm7dM-IVcoCMw7sYctV8l0y2Q403c8aSzA8gGCrpYK_rdc76RyDdaGrTnAMscX-CqYrLbOlH2bCLt7XKhm9Hvyt9&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img alt=&quot;&quot; data-original-height=&quot;1082&quot; data-original-width=&quot;1946&quot; height=&quot;178&quot; src=&quot;https://blogger.googleusercontent.com/img/a/AVvXsEhgxb2kgwGZ0-nHbyUp9WvPCCjqwdLpbH6J0l-6IvzZweO5W3uaoge_w2NiMYnYCHtEUulsI4zgdTf3JG6_S5hdRzp7USgRLNYGLaLLpm7dM-IVcoCMw7sYctV8l0y2Q403c8aSzA8gGCrpYK_rdc76RyDdaGrTnAMscX-CqYrLbOlH2bCLt7XKhm9Hvyt9&quot; width=&quot;320&quot; /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;Pronto, reinicie os serviços do F&amp;amp;O utilizando as opções disponiveis no menu e você poderá importar novos usuários em sua VM de DEV!&lt;br /&gt;&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;p&gt;&lt;/p&gt;</content><link rel='replies' type='application/atom+xml' href='http://fsilvajunior.blogspot.com/feeds/3752182010149176162/comments/default' title='Postar comentários'/><link rel='replies' type='text/html' href='http://fsilvajunior.blogspot.com/2025/08/xktools-12-update-web-e-wif-config.html#comment-form' title='0 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6956220039993174035/posts/default/3752182010149176162'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6956220039993174035/posts/default/3752182010149176162'/><link rel='alternate' type='text/html' href='http://fsilvajunior.blogspot.com/2025/08/xktools-12-update-web-e-wif-config.html' title='XKTools - 12 - Update Web e Wif Config'/><author><name>Francisco Silva Jr.</name><uri>http://www.blogger.com/profile/15240847900054947078</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/a/AVvXsEi9VNyEXkCSkKeZbCA7RbkFDMnh5h2J06z79lHL302dbwY48UCGHCup7SxAvSarMqcNGaA8qKet3sG7oeaha3jVMfyv52ctxx-bxSFhniAMzgDFmEmbsK5ZxvJiEN5U_ETtKfJOWsLsxw3WDXy7R9dA6Ng41Un1IdOi8LDlTi3twTyQnPrATN4ffHYsKgqf=s72-c" height="72" width="72"/><thr:total>0</thr:total></entry></feed>