Share via


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.

 image

 

- A condição verifica o texto da resposta (nome da Conta). Se começa com ‘A’, abre-se uma nova página.

image

 

- Texto da resposta é utilizado em uma ação de atualização.

- No exemplo abaixo, é utilizado para atualização de Conta.

image

 

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).

 

image

“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.

image

 

- Adiciona-se um novo passo de atribuição da resposta do texto (telefone) à nova variável.

image

 

image

 

- Utiliza-se a variável para atualização da Conta.

image

 

Rodrigo Cristelli Lugarinho