Erro em Diálogos no Dynamics CRM
Gostaria de compartilhar um erro recentemente encontrado em Diálogos. Segue o cenário exemplo:
- Processo de Diálogos criado para atualizar o número de telefone baseado no nome da Conta.
- Existe uma condição IF para exibição de uma nova página.
- No exemplo abaixo, se o nome do cliente começa com A, a segunda página será exibida para solicitar o número de telefone.
- A condição verifica o texto da resposta (nome da Conta). Se começa com ‘A’, abre-se uma nova página.
- Texto da resposta é utilizado em uma ação de atualização.
- No exemplo abaixo, é utilizado para atualização de Conta.
Mensagem de erro:
A seguinte mensagem de erro é exibida se o nome completo não começa com A. Desta forma, o CRM tenta atualizar a conta com um texto de resposta não definido (número de telefone).
“Os dados referidos necessários para continuar com esta caixa de diálogo não foram encontrados. Para obter mais informações, consulte o histórico da caixa de diálogo ou contate o proprietário da caixa de diálogo ou o administrador do sistema.”
Ao clicar em Baixar Arquivo de Log, podemos verificar o seguinte detalhe:
Unhandled Exception: System.ServiceModel.FaultException`1[[Microsoft.Xrm.Sdk.OrganizationServiceFault, Microsoft.Xrm.Sdk, Version=6.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35]]: The data required to display the next dialog page cannot be found. To resolve this issue, contact the dialog owner or the system administrator.Detail:
<OrganizationServiceFault xmlns:i="https://www.w3.org/2001/XMLSchema-instance" xmlns="https://schemas.microsoft.com/xrm/2011/Contracts">
<ErrorCode>-2147200944</ErrorCode>
<ErrorDetails xmlns:d2p1="https://schemas.datacontract.org/2004/07/System.Collections.Generic" />
<Message>The data required to display the next dialog page cannot be found. To resolve this issue, contact the dialog owner or the system administrator.</Message>
<Timestamp>2015-05-13T16:48:49.4916198Z</Timestamp>
<InnerFault>
<ErrorCode>-2147220970</ErrorCode>
<ErrorDetails xmlns:d3p1="https://schemas.datacontract.org/2004/07/System.Collections.Generic" />
<Message>Unhandled Exception: Microsoft.Crm.CrmException: The data required to display the next dialog page cannot be found. To resolve this issue, contact the dialog owner or the system administrator.</Message>
<Timestamp>2015-05-13T16:48:49.4916198Z</Timestamp>
<InnerFault i:nil="true" />
<TraceText i:nil="true" />
</InnerFault>
<TraceText i:nil="true" />
</OrganizationServiceFault>
Para uma melhor visualização do processo, podemos clicar em OK e depois no botão Resumo.
Como solução deste problema, deve-se utilizar variáveis para as respostas obtidas em páginas dentro de condições. Neste exemplo, deve-se utilizar uma variável para obter o número de telefone.
- A partir do processo, declara-se uma variável do tipo linha única de texto e atribui-se uma valor padrão.
- Adiciona-se um novo passo de atribuição da resposta do texto (telefone) à nova variável.
- Utiliza-se a variável para atualização da Conta.
Rodrigo Cristelli Lugarinho