Partilhar via


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:

Passo 1: Criar uma aplicação externa de exemplo

  1. Transfira o pacote do UII SDK.

  2. Faça duplo clique no ficheiro do pacote para extrair o conteúdo.

  3. Navegue para a pasta <ExtractedFolder>\UII\SampleCode\UII\AIF\QsExternalApp e abra o ficheiro Microsoft.Uii.QuickStarts.QsExternalApp.csproj no Visual Studio.

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

  1. Iniciar sessão no Microsoft Dynamics CRM.

  2. Na barra de navegação, clique ou toque em Microsoft Dynamics CRM e seleccione Definições.

  3. Clique ou toque em Definições > Unified Service Desk > Controlos Alojados.

  4. Clique em Novo.

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

  6. Clique em Guardar.

Passo 3: Testar a aplicação externa

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

  2. Execute o cliente do Unified Service Desk para ligar ao servidor do Microsoft Dynamics CRM.

  3. Quando iniciar sessão com êxito, verá o botão Aplicação Externa de Exemplo no ambiente de trabalho.

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

  1. Inicie o Microsoft Visual Studio e crie um novo projeto.

  2. Na caixa de diálogo Novo Projeto:

    1. Na lista de modelos instalados à esquerda, expanda Visual C# e Modelos do CRM SDK > Unified Service Desk > Adaptador de Aplicação do UII.

    2. Especifique o nome e a localização do projecto e clique em OK para criar um novo projeto.

  3. No Explorador de soluções, expanda a secção de Referências para assegurar a resolução correta todas as referências de assemblagem.

  4. 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;
    
  5. 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);
    
            }
    
  6. 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);
            }
    
  7. 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

  1. Iniciar sessão no Microsoft Dynamics CRM.

  2. Na barra de navegação, escolha Microsoft Dynamics CRM e seleccione Definições.

  3. Escolha Definições > Unified Service Desk > Controlos Alojados.

  4. Na lista de controlos alojados, selecione o controlo alojado QsExternalApp.

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

  6. Para guardar as alterações, clique em Guardar.

Passo 5: Testar o adaptador de aplicação

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

  2. Execute o cliente do Unified Service Desk para ligar ao servidor do Microsoft Dynamics CRM.

  3. Quando iniciar sessão com êxito, verá a aplicação externa de exemplo no ambiente de trabalho.

  4. Escolha Procurar e escolha Contactos e selecione um contacto. Neste caso, seleccionemos Patrick Sands.

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