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:
Baixe o modelo de SDK do CRM. Clique duas vezes no arquivo CRMSDKTemplates.vsix para instalar o modelo no Visual Studio.
Baixe e extraia o pacote do SDK do CRM. Vá para a pasta SDK\Templates no SDK e clique duas vezes no arquivo CRMSDKTemplates.vsix para instalar o modelo no Visual Studio.
Etapa 1: Criar um aplicativo externo de exemplo
Clique duas vezes no arquivo do pacote para extrair o conteúdo.
Vá até a pasta <ExtractedFolder>\UII\SampleCode\UII\AIF\QsExternalApp e abra o arquivo Microsoft.Uii.QuickStarts.QsExternalApp.csproj no Visual Studio.
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.
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.
Entrar no Microsoft Dynamics 365.
Na barra de navegação, clique ou toque em Microsoft Dynamics 365 e selecione Configurações.
Clique ou toque em Configurações > Unified Service Desk > Controles hospedados.
Clique em Novo.
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
Clique em Salvar.
Etapa 3: Testar o aplicativo externo
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.
Execute o cliente do Unified Service Desk para conectar-se ao seu servidor do Microsoft Dynamics 365.
Após se conectar com sucesso, você verá o botão Aplicativo Externo de Exemplo na área de trabalho.
Escolha Aplicativo Externo de Exemplo para ver o aplicativo externo hospedado 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
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 selecione Modelos SDK de Dynamics 365 > Unified Service Desk > UII Adaptador de Aplicativo
Especifique o nome e o local do projeto, e clique em OK para criar um novo projeto.
No Solution Explorer, expanda a seção Referências para garantir que todas as referências de assembly sejam resolvidas corretamente.
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;
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); }
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); }
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
Entre no Microsoft Dynamics 365.
Na barra de navegação, selecione Microsoft Dynamics 365 e Configurações.
Selecione Configurações > Unified Service Desk > Controles Hospedados.
Na lista de controles hospedados, selecione o controle hospedado QsExternalApp.
Na seção Configuração do Adaptador, especifique os valores a seguir:
Campo
Valor
Adaptador
Usar Adaptador
URI
ExternalApplicationAdapter
Tipo
ExternalApplicationAdapter.AppAdapter
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.
Clique em Salvar para salvar as alterações.
Etapa 5: Testar o adaptador de aplicativo
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.
Execute o cliente do Unified Service Desk para conectar-se a seu servidor do Microsoft Dynamics 365.
Após se conectar com sucesso, você verá o aplicativo externo de exemplo na área de trabalho.
Selecione Pesquisar, Contatos e, em seguida, escolha um contato. Neste caso, vamos selecionar Patrick Sands.
Clique em Aplicativo Externo de Exemplo e você verá o nome, o sobrenome, o endereço e a ID do cliente preenchidos.
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