Quem usa o Dynamics CRM 2013 ou 2015, deve ter se deparado com a seguinte mensagem ao tentar excluir um campo:
Porém, alguns passos padrões são executados tais como:
- Remover dos formulários
- Remover das exibições
- Remover de Workflows
- Remover do Mapeamento automático
- Removeu da Regras de Negócio
Após todos esses passos executados, ainda é informado que não é possível excluir. Você pode estar com o seguinte problema: Regras de SLA e Regras de Criação Automática de E-mail.
Quando utilizamos regras de SLA e regras de criação de ocorrência, o Dynamics CRM cria vários fluxo de trabalhos com a regras implementada. Abaixo segue o exemplo de uma regra de SLA.
O problema ocorre que após a exclusão da Regra de Sla e da Regra de Criação da Ocorrência, este fluxos de trabalho não são excluídos. E quando você tenta excluir recebe a seguinte mensagem.
Para poder habilitar a exclusão devemos executar o seguinte script
update WorkflowBase set RendererObjectTypeCode = null /* Anteriormente o Valor do TypeCode era 9750 */ where name = 'Regra SLA'
Ocorre que o CRM valida através do RenderedObjectTypeCode, a entidade que gerou este workflow. Se estiver nulo não foi gerada pelo sistema, caso esteja com valor preenchido, como no caso da Regra de SLA que é 9750, neste caso, ele informa que é de sistema e impede a exclusão. Realizando este update, você irá facilmente excluir via interface do CRM o registro do workflow que está travando a exclusão do campo sem maiores problemas.