Após algumas pesquisas descobri que, para as regras de atribuição "rodarem", é necessário que a opção "Atribuir utilizando regras de atribuição" esteja marcada na abertura do caso.
Porém, no meu caso, esse campo nem estava visível. Mas é possível deixá-lo visível (ou não) e deixá-lo marcado (ou não) por padrão. Para tal, é necessário acessar o Layout de tela do Caso/Lead, acionar as propriedades de Layout e configurar os campos da seção "Caixa de seleção Atribuição do caso":
No meu caso específico, deixei o "Mostrar na página de edição" desmarcado, para evitar que o usuário desmarque a opção e deixei o "Padrão" marcado. Após salvar o Layout, Casos começaram a ser atribuídos corretamente para as filas definidas nas regras de atribuição. É importante ressaltar que essas mesmas opções estão disponíveis para o Lead.
Apesar dessas facilidades de configuração, caso a criação do caso seja via código, integração ou qualquer outra forma, que não seja o Layout de tela, as regras de compartilhamento não serão executadas. Dessa forma, é necessário fazer uma trigger para forçar a execução das regras de atribuição:
trigger CaseTrigger on Case (after insert) { List<Case> casos = new List<Case>(); Database.DMLOptions dmo = new Database.DMLOptions(); dmo.AssignmentRuleHeader.useDefaultRule = true; for(Case c : trigger.new) { Case casoAtualiza = new Case(Id = c.id); casoAtualiza.setOptions(dmo); casos.add(casoAtualiza); } update casos; }
É... realmente tem que ser uma trigger AFTER INSERT. Procurei uma explicação simples para tal e confesso que ainda não encontrei. Se souber e quiser postar nos comentários, eu agradeceria!
* Precisa de um suporte ou consultoria para configuração ou desenvolvimento de regras de atribuição sua Org Salesforce? Entre em contato conosco - CbCloud: http://www.cbcloud.com.br/ - Somos parceiros gerenciado Salesforce.
Nenhum comentário:
Postar um comentário