Procedimentos: Criar um Adaptador de Aplicações do UII
Pode criar um adaptador de aplicação se pretender integrar uma aplicação exgterna na solução UII. O Microsoft Dynamics CRM fornece um modelo do Microsoft Visual Studio para criar um adaptador de aplicação. O modelo fornece código básico como comentário para ajudá-lo a começar a criar o adaptador de aplicação.
Neste procedimento, irá criar uma aplicação externa QsExternalApp e alojá-la no Unified Service Desk. Em seguida irá criar e configurar um adaptador de aplicação ExternalApplicationAdapter para a aplicação externa interagir com o Unified Service Desk. A aplicação externa tem quatro etiquetas: uma para o nome próprio do cliente, apelido e endereço e ID e quatro caixas de texto correspondentes para apresentar os valores do Unified Service Desk.
Nesta Secção
Pré-requisitos
Passo 1: Criar uma aplicação externa de exemplo
Passo 2: Configurar a aplicação externa no «Microsoft Dynamics CRM.
Passo 3: Testar a aplicação externa
Passo 4: Criar o adaptador de aplicação
Passo 4: Configurar o adaptador de aplicação no Dynamics CRM
Passo 5: Testar o adaptador de aplicação
Pré-requisitos
Microsoft.NET Framework 4.5.2
Aplicação cliente do Unified Service Desk; necessária para testar o controlo alojado.
Microsoft Visual Studio 2012 ou Visual Studio 2013
Gestor de Pacotes NuGet para Visual Studio 2012 ou Visual Studio 2013
Modelos do Microsoft Dynamics CRM SDK para o Visual Studio que contêm o modelo de projeto de controlo alojado do UII. Poderá obtê-la numa das seguintes formas:
Transfira o modelo do CRM SDK. Faça duplo clique no ficheiro CRMSDKTemplates.vsix para instalar o modelo no Visual Studio.
Transfira e extraia o pacote do CRM SDK. Aceda à pasta SDK\Templates no SDK e faça duplo clique no ficheiro CRMSDKTemplates.vsix para instalar o modelo no Visual Studio.
Passo 1: Criar uma aplicação externa de exemplo
Faça duplo clique no ficheiro do pacote para extrair o conteúdo.
Navegue para a pasta <ExtractedFolder>\UII\SampleCode\UII\AIF\QsExternalApp e abra o ficheiro Microsoft.Uii.QuickStarts.QsExternalApp.csproj no Visual Studio.
Prima F5 ou escolha Depurar > Iniciar Depuração para criar uma aplicação externa de exemplo. A aplicação (Microsoft.Uii.QuickStarts.QsExternalApp.exe) é criada na pasta /bin/debug do projeto.
Passo 2: Configurar a aplicação externa no «Microsoft Dynamics CRM.
Neste passo, irá criar um controlo alojado do tipo Aplicação Alojada Externa para apresentar a aplicação de formulários do Windows.
Iniciar sessão no Microsoft Dynamics CRM.
Na barra de navegação, clique ou toque em Microsoft Dynamics CRM e seleccione Definições.
Clique ou toque em Definições > Unified Service Desk > Controlos Alojados.
Clique em Novo.
Na página de Novo Controlo Alojado, especifique os seguintes valores:
Campo Valor Nome
QsExternalApp
Componente USD
Aplicação Alojada do CCA
Aplicação Alojada
Aplicação Alojada Externa
A Aplicação é Global
Selecionado
Grupo de Apresentação
MainPanel
Adaptador
Não Utilizar Adaptador
A Aplicação é Dinâmica
Não
URI da Aplicação Externa
Microsoft.Uii.QuickStarts.QsExternalApp.exe
Clique em Guardar.
Passo 3: Testar a aplicação externa
Copie a aplicação da pasta de saída do projeto do Visual Studio (<ProjectFolder>\bin\debug) para o diretório da aplicação do Unified Service Desk. Neste caso, iremos copiar o ficheiro Microsoft.Uii.QuickStarts.QsExternalApp.exefile para o diretório C:\Program Files\Microsoft Dynamics CRM USD\USD.
Execute o cliente do Unified Service Desk para ligar ao servidor do Microsoft Dynamics CRM.
Quando iniciar sessão com êxito, verá o botão Aplicação Externa de Exemplo no ambiente de trabalho.
Escolha Aplicação Externa de Exemplo para ver a aplicação externa alojada no Unified Service Desk.
Nota
Neste momento os campos estão vazios porque está apenas a alojar a aplicação no Unified Service Desk. Para povoar os campos com valores do Unified Service Desk, terá de criar um adaptador de aplicação conforme descrito no passo seguinte.
Passo 4: Criar o adaptador de aplicação
Inicie o Microsoft Visual Studio e crie um novo projeto.
Na caixa de diálogo Novo Projeto:
Na lista de modelos instalados à esquerda, expanda Visual C# e Modelos do CRM SDK > Unified Service Desk > Adaptador de Aplicação do UII.
Especifique o nome e a localização do projecto e clique em OK para criar um novo projeto.
No Explorador de soluções, expanda a secção de Referências para assegurar a resolução correta todas as referências de assemblagem.
Abra o ficheiro AppAdapter.cs e adicione as seguintes linhas de código para definir os locais para cada componente na página na definição de classe.
// Set up your locations for each component on the page. // If you wish, you could use Spy++ to get the actual names as well. // First Name text box int intFirstNameCoordX = 47; int intFirstNameCoordY = 32; // Last Name text box int intLastNameCoordX = 223; int intLastNameCoordY = 32; // Address Text box int intAddressCoordX = 47; int intAddressCoordY = 81; // Customer ID text box int intIDCoordX = 47; int intIDCoordY = 126;
Adicione o seguinte código na definição NotifyContextChange para notificar a aplicação de que o contexto foi alterado. Para mais informações, consulte NotifyContextChange
public override bool NotifyContextChange(Context context) { IntPtr ptr = MainWindowHandle; // Find the control (first name) by position IntPtr childHwnd = Win32API.FindWindowByPosition(ptr, new Point(intFirstNameCoordX, intFirstNameCoordY)); // Fill data out Win32API.SetWindowTextAny(childHwnd, context["firstname"]); // Find the control (last name) by position childHwnd = Win32API.FindWindowByPosition(ptr, new Point(intLastNameCoordX, intLastNameCoordY)); // Fill out the data Win32API.SetWindowTextAny(childHwnd, context["lastname"]); childHwnd = Win32API.FindWindowByPosition(ptr, new Point(intAddressCoordX, intAddressCoordY)); Win32API.SetWindowTextAny(childHwnd, context["address1_line1"]); childHwnd = Win32API.FindWindowByPosition(ptr, new Point(intIDCoordX, intIDCoordY)); Win32API.SetWindowTextAny(childHwnd, context["CustomerID"]); // Hands control back over to the base class to notify next app of context change. return base.NotifyContextChange(context); }
Adicione o seguinte código à definição manual de DoAction para atualizar os campos de formulário com valores do Unified Service Desk.
public override bool DoAction(Microsoft.Uii.Csr.Action action, RequestActionEventArgs args) { IntPtr ptr; IntPtr childHwnd; switch (args.Action) { case "UpdateFirstName": // Get locations of what you want to update and handles ptr = MainWindowHandle; childHwnd = Win32API.FindWindowByPosition(ptr, new Point(intFirstNameCoordX, intFirstNameCoordY)); // Populate data into fields Win32API.SetWindowTextAny(childHwnd, args.Data); break; case "UpdateLastName": // Get locations of what you want to update and handles ptr = MainWindowHandle; childHwnd = Win32API.FindWindowByPosition(ptr, new Point(intLastNameCoordX, intLastNameCoordY)); // Populate data into fields Win32API.SetWindowTextAny(childHwnd, args.Data); break; } return base.DoAction(action, args); }
Guarde e compile o projeto (Compilar > Compilar Solução). Quando o projeto for compilado com êxito, é gerada uma assemblagem (ExternalApplicationAdapter.dll) na pasta \bin\debug da pasta do projeto. Vai precisar desta assemblagem mais tarde para testar e utilizar o adaptador de aplicação.
Passo 4: Configurar o adaptador de aplicação no Dynamics CRM
Iniciar sessão no Microsoft Dynamics CRM.
Na barra de navegação, escolha Microsoft Dynamics CRM e seleccione Definições.
Escolha Definições > Unified Service Desk > Controlos Alojados.
Na lista de controlos alojados, selecione o controlo alojado QsExternalApp.
Na secção Configuração do Adaptador, especifique os seguintes valores:
Campo
Valor
Adaptador
Utilizar Adaptador
URI
ExternalApplicationAdapter
Tipo
ExternalApplicationAdapter.AppAdapter
Nota
O URI é o nome da assemblagem e Tipo é o nome da sua assemblagem (dll) seguido por um ponto (.) e pelo nome da classe no projeto do Visual Studio. Neste exemplo, o nome da assemblagem é ExternalApplicationAdapter e o nome da classe é AppAdapter, que é o nome de classe predefinido quando cria um adaptador de aplicação.
Para guardar as alterações, clique em Guardar.
Passo 5: Testar o adaptador de aplicação
Copie a assemblagem que contém a definição do adaptador de aplicação web da pasta de saída do projeto do Visual Studio(<ProjectFolder>\bin\debug) para o diretório da aplicação do Unified Service Desk. Neste caso, iremos copiar o ficheiro ExternalApplicationAdapter.dll para o diretório c:\Program Files\Microsoft Dynamics CRM USD\USD.
Execute o cliente do Unified Service Desk para ligar ao servidor do Microsoft Dynamics CRM.
Quando iniciar sessão com êxito, verá a aplicação externa de exemplo no ambiente de trabalho.
Escolha Procurar e escolha Contactos e selecione um contacto. Neste caso, seleccionemos Patrick Sands.
Clique em Aplicação externa de exemplo é verá o nome próprio, apelido, endereço, e ID de cliente povoados.
Nota
Este procedimento demonstra como apresentar ou ler dados do Unified Service Desk na aplicação web externa. Para compreender como atualizar dados no Unified Service Desk a partir da aplicação externa, consulte Procedimentos: Criar um Controlo Alojado Formulários do Windows do UII
Consulte Também
Conceitos
Utilizar adaptadores do UII para interagir com aplicações externas e Web
Unified Service Desk
Send comments about this topic to Microsoft.
© 2015 Microsoft. All rights reserved.