Passo a passo: Criar um adaptador de aplicativo de UII

 

Publicado: novembro de 2016

Aplicável a: Dynamics 365 (online), Dynamics 365 (on-premises), Dynamics CRM 2013, Dynamics CRM 2015, Dynamics CRM 2016

Você pode criar um adaptador de aplicação se desejar integrar um aplicativo externo com o Unified Service Desk. O Microsoft Dynamics 365 fornece um modelo do Microsoft Visual Studio para a criação de um adaptador de aplicativo. O modelo fornece códigos básicos como comentários para ajudá-lo a começar a criar o adaptador de aplicativos.

Neste passo a passo, você compilará um aplicativo externo QsExternalApp e o hospedará no Unified Service Desk. Em seguida, você irá criar e configurar um adaptador de aplicativo ExternalApplicationAdapter para que o aplicativo externo interaja com o Unified Service Desk. O aplicativo externo tem quatro rótulos: um para cada nome, sobrenome, endereço e ID do cliente e quatro caixas de texto correspondentes para exibir os valores do Unified Service Desk.

Nesta seção

Pré-requisitos

Etapa 1: Criar um aplicativo externo de exemplo

Etapa 2: Configure o aplicativo externo em Microsoft Dynamics 365.

Etapa 3: Testar o aplicativo externo

Etapa 4: Criar o adaptador de aplicativo

Etapa 4: Configurar o adaptador de aplicativo no Dynamics 365

Etapa 5: Testar o adaptador de aplicativo

Pré-requisitos

  • Microsoft .NET Framework 4.5.2

  • Aplicativo cliente do Unified Service Desk; necessário para testar o controle hospedado.

  • Microsoft Visual Studio 2012, Visual Studio 2013 ou Visual Studio 2015

  • Gerenciador de Pacotes NuGet para Visual Studio 2012, Visual Studio 2013 ou Visual Studio 2015

  • Modelos de SDK do Microsoft Dynamics 365 para Visual Studio que contêm o modelo de projeto de controle hospedado de UII. É possível obter um com as seguintes opções:

Etapa 1: Criar um aplicativo externo de exemplo

  1. Baixe o pacote SDK de UII do

  2. Clique duas vezes no arquivo do pacote para extrair o conteúdo.

  3. Vá até a pasta <ExtractedFolder>\UII\SampleCode\UII\AIF\QsExternalApp e abra o arquivo Microsoft.Uii.QuickStarts.QsExternalApp.csproj no Visual Studio.

  4. Pressione F5 ou escolha Depurar > Iniciar Depuração para criar um aplicativo externo de exemplo. O aplicativo (Microsoft.Uii.QuickStarts.QsExternalApp.exe) é criado na pasta /bin/debug do projeto.

    Aplicativo de amostra externo

Etapa 2: Configure o aplicativo externo em Microsoft Dynamics 365.

Nessa etapa, você criará um controle hospedado do tipo Aplicativo Externo Hospedado para exibir o aplicativo de formulários do Windows.

  1. Entrar no Microsoft Dynamics 365.

  2. Na barra de navegação, clique ou toque em Microsoft Dynamics 365 e selecione Configurações.

  3. Clique ou toque em Configurações > Unified Service Desk > Controles hospedados.

  4. Clique em Novo.

  5. Na página Novo controle hospedado, especifique os seguintes valores:

    Campo

    Valor

    Nome

    QsExternalApp

    Componente USD

    Aplicativo Hospedado do CCA

    Aplicativo Hospedado

    Aplicativo Hospedado Externo

    O Aplicativo é Global

    Verificado

    Grupo de Exibição

    MainPanel

    Adaptador

    Não Usar Adaptador

    O Aplicativo é Dinâmico

    Não

    URI do Aplicativo Externo

    Microsoft.Uii.QuickStarts.QsExternalApp.exe

    Tela de instalação do adaptador do aplicativo

    Configurações de hospedagem de aplicativo externo do Unified Service Desk

  6. Clique em Salvar.

Etapa 3: Testar o aplicativo externo

  1. Copie o aplicativo de sua pasta de saída do projeto do Visual Studio (<ProjectFolder>\bin\debug) para o diretório do aplicativo Unified Service Desk. Neste caso, você copiará o arquivo 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 conectar-se ao seu servidor do Microsoft Dynamics 365.

  3. Após se conectar com sucesso, você verá o botão Aplicativo Externo de Exemplo na área de trabalho.

  4. Escolha Aplicativo Externo de Exemplo para ver o aplicativo externo hospedado no Unified Service Desk.

Amostra do aplicativo externo no Unified Service Desk

Dica

Neste momento os campos estarão vazios porque você está hospedando o aplicativo no Unified Service Desk. Para preencher os valore do Unified Service Desk, será necessário criar um adaptador do aplicativo, como descrito na próxima etapa.

Etapa 4: Criar o adaptador de aplicativo

  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 selecione Modelos SDK de Dynamics 365 > Unified Service Desk > UII Adaptador de Aplicativo

    2. Especifique o nome e o local do projeto, e clique em OK para criar um novo projeto.

      Adaptador de aplicativo externo no Visual Studio

  3. No Solution Explorer, expanda a seção Referências para garantir que todas as referências de assembly sejam resolvidas corretamente.

  4. Abra o arquivo AppAdapter.cs e adicione as linhas a seguir de código para definir os locais de 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 de NotifyContextChange para notificar o aplicativo que o contexto foi alterado. Para obter 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 código a seguir na definição de substituição de DoAction para atualizar os campos do formulário com valores de 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. Salve seu projeto e compile-o (Compilar > Compilar Solução). Depois de compilar o projeto com êxito, um assembly (ExternalApplicationAdapter.dll) é gerado na pasta \bin\debug da pasta de seu projeto. Você precisará desse assembly posteriormente para testar e usar o adaptador de aplicativo.

Etapa 4: Configurar o adaptador de aplicativo no Dynamics 365

  1. Entre no Microsoft Dynamics 365.

  2. Na barra de navegação, selecione Microsoft Dynamics 365 e Configurações.

  3. Selecione Configurações > Unified Service Desk > Controles Hospedados.

  4. Na lista de controles hospedados, selecione o controle hospedado QsExternalApp.

    Controle hospedado no Unified Service Desk

  5. Na seção Configuração do Adaptador, especifique os valores a seguir:

    Campo

    Valor

    Adaptador

    Usar Adaptador

    URI

    ExternalApplicationAdapter

    Tipo

    ExternalApplicationAdapter.AppAdapter

    Configuração de adaptador externo no Dynamics 365

    Dica

    URI é o nome de seu assembly e o Tipo é o nome de seu assembly (dll) seguido por um ponto (.) e então o nome de classe em seu projeto Visual Studio. Neste exemplo, o nome do assembly é ExternalApplicationAdapter e o nome da classe é AppAdapter, que é o nome de classe padrão quando você cria um adaptador de aplicativo.

  6. Clique em Salvar para salvar as alterações.

Etapa 5: Testar o adaptador de aplicativo

  1. Copie o assembly que contém a definição de seu adaptador de aplicativo da pasta de saída do projeto do Visual Studio(<ProjectFolder>\bin\debug) no diretório do aplicativo Unified Service Desk. Neste caso, você copiará o arquivo ExternalApplicationAdapter.dll para o diretório c:\Program Files\Microsoft Dynamics CRM USD\USD.

  2. Execute o cliente do Unified Service Desk para conectar-se a seu servidor do Microsoft Dynamics 365.

  3. Após se conectar com sucesso, você verá o aplicativo externo de exemplo na área de trabalho.

  4. Selecione Pesquisar, Contatos e, em seguida, escolha um contato. Neste caso, vamos selecionar Patrick Sands.

    Lista de contatos no Unified Service Desk

  5. Clique em Aplicativo Externo de Exemplo e você verá o nome, o sobrenome, o endereço e a ID do cliente preenchidos.

    Informações de clientes no aplicativo externo

Dica

Este passo a passo demonstra como exibir ou ler dados do Unified Service Desk no aplicativo externo. Para entender como atualizar os dados no Unified Service Desk a partir do aplicativo externo, e vice-versa, consulte Passo a passo: Criar um controle de UII do Windows Forms

Confira Também

Use os adaptadores da UII para interagir com os aplicativos Web e externo

Unified Service Desk 2.0

© 2017 Microsoft. Todos os direitos reservados. Direitos autorais