Recentemente fiz um post mostrando com é possível você ignorar workflow e etapas de plugins customizadas quando se está realizando o uma requisição para o Dataverse.

https://blog.michaelfp.com.br/2024/11/10/ignorar-workflows-e-plugins-ao-realizar-request-no-dataverse/

Porém, fiquei me perguntando, será que é possível saber se ação que foi realizada em algum atributo do Dataverse? E depois de fazer algumas análises, eu descobri que sim! É possível saber se foi ou não ignorado.

A informação esta presente na auditoria porém infelizmente não está visível na interface até o momento. Para isso vamos ter que fazer uso de web api ou um fechtxml para obter os dados de auditoria. Para exemplificar aqui no blog vou usar a web api.

E para isso basta pegar os registros de auditoria, com a seguinte url:

https://org.crm.dynamics.com/api/data/v9.2/audits?$top=50

E com isso ele vai trazer a lista de dados de auditoria.

Se analisarmos o retorno, podemos notar que a coluna additionalinfo está informando que foi o atributo que foi alterado ignorando os processos síncronos e assíncronos. Pois nesse caso foi enviado CustomSync e CustomAsync.

Além disso é possível saber também quais as etapas de ids que foram ignoradas durante a requisição, com apresento no retorno abaixo:

//ignorado informando CustoAsync e CustomSync
BypassBusinessLogicInfo:{"BypassMode":"CustomAsync, CustomSync","BypassStepIds":null}}

//ignorado informando as etapas de plugin
{"BypassBusinessLogicInfo":
  {
    "BypassMode":null,
    "BypassStepIds":"774934bc-9689-ec11-93b0-002248d2f950,c0ff32c1-ce9f-ec11-b400-  002248de7cd0,25ff2797-b29f-ec11-b400-002248de7fe9,89893d20-1590-ec11-b400-002248d2e693,69a02f98-0894-ec11-b400-000d3ac07f76,14631ae6-0f9b-ec11-b401-002248d3023c,1ce225d0-ef9b-ec11-b401-00224836813d,6c6fdc42-f590-ec11-b400-002248d2e693,c19ec36e-ea88-ec11-93b0-002248d2f950,ba1c523f-858e-ec11-b400-002248d2e693,4891335c-1493-ec11-b400-002248d30293"
    }
}

Com essa informação, podemos descobrir por exemplo, que o atributo alterado não disparou plugin ou workflow devido a requisição ter o parâmetro de ignorar vinculado.

E ai você sabia que era possível ver essa informação?

Espero que tenha gostado de post! Até o próximo!

Leave a Reply

Your email address will not be published. Required fields are marked *

Protected by WP Anti Spam