Partager via


Configurer le lien sur le bouton des conversations dans le formulaire d’entité d’application pilotée par modèle

Cette rubrique décrit comment vous, en tant que personnalisateur du système, pouvez configurer le bouton Lier à la conversation dans le formulaire des applications pilotées par modèle.

Lorsqu’un représentant du service clientèle (représentant du service ou représentant) accepte une demande de conversation et qu’il n’y a pas d’enregistrement dans Customer Service workspace lié à cette conversation, le représentant du service souhaite rechercher un enregistrement de contact ou de compte et lier l’enregistrement à la conversation. En tant que personnalisateur du système, vous devez configurer le bouton Lier à la conversation dans le formulaire d’entité des applications pilotées par modèle (contact, compte ou incident) afin que les représentants du service puissent lier un enregistrement à la conversation en cours. Une fois que vous avez lié un enregistrement à la conversation, la page conversation active est chargée et affiche l’enregistrement que vous avez lié.

Remarque

Le lien vers le bouton de conversation s’affiche uniquement dans une session (contexte d’une conversation) et pas dans les formulaires principaux.

Pour ajouter le bouton Lien vers la conversation du formulaire d’entité d’application basé sur un modèle, vous devez personnaliser la définition du ruban (<RibbonDiffXml>). Les définitions de modification de personnalisations que vous spécifiez sont appliquées au moment de l’exécution lorsque le ruban est affiché dans l’application.

Avec la dernière version des solutions de base Omnicanal pour Customer Service, vous disposez des ressources Web nécessaires pour ajouter le bouton Lien vers la conversation.

Pour ajouter le bouton Lien vers la conversation, vous devez personnaliser le ruban (<RibbonDiffXml>) de l’entité. Pour cela, vous modifiez le ruban dans l’entité Contexte de formulaire.

Nom de la ressource web :msdyn_OmnichannelLinkCommand.js

Étape 1 : Exporter et modifier le code XML

Étape 2 : Ajouter une commande et définir les actions du Ruban

Étape 3 : Activer les règles d'affichage

Étape 4 : Importer le ruban

Étape 1 : Exporter et modifier le code XML

Dans cette étape, vous devez exporter le ruban et modifier <RibbonDiffXml>.

Pour en savoir plus, voir Exporter, préparer pour modifier et importer le ruban.

Étape 2 : Ajouter une commande et définir les actions du Ruban

Modifiez le code XML pour fournir des valeurs pour les paramètres notamment :

  • Bibliothèque
  • FunctionName
  • Valeur StringParameter
  • Bouton
Nom du paramètre Valeur Commentaire
Library $webresource:msdyn_OmnichannelLinkCommand.js
FunctionName OmniChannelPackage.OmnichannelLinkCommand.linkRecordToConversation
StringParameter Value
  • msdyn_account_msdyn_ocliveworkitem_Customer
  • msdyn_incident_msdyn_ocliveworkitem
  • msdyn_contact_msdyn_ocliveworkitem_Customer
  • Utilisé pour l’entité Compte
  • Utilisé pour l’entité Incident
  • Utilisé pour l’entité Contact

Exemple d'extrait de code

<JavaScriptFunction FunctionName="OmniChannelPackage.OmnichannelLinkCommand.linkRecordToConversation" Library="$webresource:msdyn_OmnichannelLinkCommand.js">
<StringParameter Value="msdyn_account_msdyn_ocliveworkitem_Customer" />
</JavaScriptFunction>

Exemple XML pour la personnalisation du ruban d’entité Compte

<RibbonDiffXml>
  <CustomActions>
    <CustomAction Id="msdyn.account.LinkToConversation.Button.CustomAction" Location="Mscrm.Form.account.MainTab.Save.Controls._children" Sequence="57">
      <CommandUIDefinition>
        <Button Alt="$LocLabels:msdyn.account.LinkToConversation.Button.Alt" Command="msdyn.account.LinkToConversation.Command" Id="msdyn.account.LinkToConversation.Button" Image32by32="$webresource:msdyn_LinkToConversationCommandButtonIcon.png" Image16by16="$webresource:msdyn_LinkToConversationCommandButtonIcon.png" LabelText="$LocLabels:msdyn.account.LinkToConversation.Button.LabelText" Sequence="57" TemplateAlias="o1" ToolTipTitle="$LocLabels:msdyn.account.LinkToConversation.Button.ToolTipTitle" ToolTipDescription="$LocLabels:msdyn.account.LinkToConversation.Button.ToolTipDescription" />
      </CommandUIDefinition>
    </CustomAction>
  </CustomActions>
  <Templates>
    <RibbonTemplates Id="Mscrm.Templates"></RibbonTemplates>
  </Templates>
  <CommandDefinitions>
    <CommandDefinition Id="msdyn.account.LinkToConversation.Command">
      <EnableRules>
        <EnableRule Id="msdyn.account.EnableInConversationContext.EnableRule" />
      </EnableRules>
      <DisplayRules />
      <Actions>
        <JavaScriptFunction FunctionName="OmniChannelPackage.OmnichannelLinkCommand.linkRecordToConversation" Library="$webresource:msdyn_OmnichannelLinkCommand.js">
          <StringParameter Value="msdyn_account_msdyn_ocliveworkitem_Customer" />
        </JavaScriptFunction>
      </Actions>
    </CommandDefinition>
  </CommandDefinitions>
  <RuleDefinitions>
    <TabDisplayRules />
    <DisplayRules />
    <EnableRules>
      <EnableRule Id="msdyn.account.EnableInConversationContext.EnableRule">
        <CustomRule FunctionName="OmniChannelPackage.OmnichannelLinkCommand.shouldDisplayLinkCommand" Library="$webresource:msdyn_OmnichannelLinkCommand.js" Default="false" />
      </EnableRule>
    </EnableRules>
  </RuleDefinitions>
  <LocLabels>
    <LocLabel Id="msdyn.account.LinkToConversation.Button.Alt">
      <Titles>
        <Title description="Link to conversation" languagecode="1033" />
      </Titles>
    </LocLabel>
    <LocLabel Id="msdyn.account.LinkToConversation.Button.LabelText">
      <Titles>
        <Title description="Link to Conversation" languagecode="1033" />
      </Titles>
    </LocLabel>
    <LocLabel Id="msdyn.account.LinkToConversation.Button.ToolTipDescription">
      <Titles>
        <Title description="Link this record to the conversation" languagecode="1033" />
      </Titles>
    </LocLabel>
    <LocLabel Id="msdyn.account.LinkToConversation.Button.ToolTipTitle">
      <Titles>
        <Title description="Link to conversation" languagecode="1033" />
      </Titles>
    </LocLabel>
  </LocLabels>
</RibbonDiffXml>

Exemple XML pour la personnalisation du ruban d’entité Incident

<RibbonDiffXml>
  <CustomActions>
    <CustomAction Id="msdyn.incident.LinkToConversation.Button.CustomAction" Location="Mscrm.Form.incident.MainTab.Save.Controls._children" Sequence="45">
      <CommandUIDefinition>
        <Button Alt="$LocLabels:msdyn.incident.LinkToConversation.Button.Alt" Command="msdyn.incident.LinkToConversation.Command" Id="msdyn.incident.LinkToConversation.Button" Image32by32="$webresource:msdyn_LinkToConversationCommandButtonIcon.png" Image16by16="$webresource:msdyn_LinkToConversationCommandButtonIcon.png" LabelText="$LocLabels:msdyn.incident.LinkToConversation.Button.LabelText" Sequence="45" TemplateAlias="o1" ToolTipTitle="$LocLabels:msdyn.incident.LinkToConversation.Button.ToolTipTitle" ToolTipDescription="$LocLabels:msdyn.incident.LinkToConversation.Button.ToolTipDescription" />
      </CommandUIDefinition>
    </CustomAction>
  </CustomActions>
  <Templates>
    <RibbonTemplates Id="Mscrm.Templates"></RibbonTemplates>
  </Templates>
  <CommandDefinitions>
    <CommandDefinition Id="msdyn.incident.LinkToConversation.Command">
      <EnableRules>
        <EnableRule Id="msdyn.incident.EnableInConversationContext.EnableRule" />
      </EnableRules>
      <DisplayRules />
      <Actions>
        <JavaScriptFunction FunctionName="OmniChannelPackage.OmnichannelLinkCommand.linkRecordToConversation" Library="$webresource:msdyn_OmnichannelLinkCommand.js">
          <StringParameter Value="msdyn_incident_msdyn_ocliveworkitem" />
        </JavaScriptFunction>
      </Actions>
    </CommandDefinition>
  </CommandDefinitions>
  <RuleDefinitions>
    <TabDisplayRules />
    <DisplayRules />
    <EnableRules>
      <EnableRule Id="msdyn.incident.EnableInConversationContext.EnableRule">
        <CustomRule FunctionName="OmniChannelPackage.OmnichannelLinkCommand.shouldDisplayLinkCommand" Library="$webresource:msdyn_OmnichannelLinkCommand.js" />
      </EnableRule>
    </EnableRules>
  </RuleDefinitions>
  <LocLabels>
    <LocLabel Id="msdyn.incident.LinkToConversation.Button.Alt">
      <Titles>
        <Title description="Link to conversation" languagecode="1033" />
      </Titles>
    </LocLabel>
    <LocLabel Id="msdyn.incident.LinkToConversation.Button.LabelText">
      <Titles>
        <Title description="Link to Conversation" languagecode="1033" />
      </Titles>
    </LocLabel>
    <LocLabel Id="msdyn.incident.LinkToConversation.Button.ToolTipDescription">
      <Titles>
        <Title description="Link this record to the conversation" languagecode="1033" />
      </Titles>
    </LocLabel>
    <LocLabel Id="msdyn.incident.LinkToConversation.Button.ToolTipTitle">
      <Titles>
        <Title description="Link to conversation" languagecode="1033" />
      </Titles>
    </LocLabel>
  </LocLabels>
</RibbonDiffXml>

Exemple XML pour la personnalisation du ruban d’entité Contact

<RibbonDiffXml>
  <CustomActions>
    <CustomAction Id="msdyn.contact.LinkToConversation.Button.CustomAction" Location="Mscrm.Form.contact.MainTab.Save.Controls._children" Sequence="53">
      <CommandUIDefinition>
        <Button Alt="$LocLabels:msdyn.contact.LinkToConversation.Button.Alt" Command="msdyn.contact.LinkToConversation.Button.Command" Id="msdyn.contact.LinkToConversation.Button" Image32by32="$webresource:msdyn_LinkToConversationCommandButtonIcon.png" Image16by16="$webresource:msdyn_LinkToConversationCommandButtonIcon.png" LabelText="$LocLabels:msdyn.contact.LinkToConversation.Button.LabelText" Sequence="53" TemplateAlias="o1" ToolTipTitle="$LocLabels:msdyn.contact.LinkToConversation.Button.ToolTipTitle" ToolTipDescription="$LocLabels:msdyn.contact.LinkToConversation.Button.ToolTipDescription" />
      </CommandUIDefinition>
    </CustomAction>
  </CustomActions>
  <Templates>
    <RibbonTemplates Id="Mscrm.Templates"></RibbonTemplates>
  </Templates>
  <CommandDefinitions>
    <CommandDefinition Id="msdyn.contact.LinkToConversation.Button.Command">
      <EnableRules>
        <EnableRule Id="msdyn.contact.EnableInConversationContext.EnableRule" />
      </EnableRules>
      <DisplayRules />
      <Actions>
        <JavaScriptFunction FunctionName="OmniChannelPackage.OmnichannelLinkCommand.linkRecordToConversation" Library="$webresource:msdyn_OmnichannelLinkCommand.js">
          <StringParameter Value="msdyn_contact_msdyn_ocliveworkitem_Customer" />
        </JavaScriptFunction>
      </Actions>
    </CommandDefinition>
  </CommandDefinitions>
  <RuleDefinitions>
    <TabDisplayRules />
    <DisplayRules />
    <EnableRules>
      <EnableRule Id="msdyn.contact.EnableInConversationContext.EnableRule">
        <CustomRule FunctionName="OmniChannelPackage.OmnichannelLinkCommand.shouldDisplayLinkCommand" Library="$webresource:msdyn_OmnichannelLinkCommand.js" Default="false" />
      </EnableRule>
    </EnableRules>
  </RuleDefinitions>
  <LocLabels>
    <LocLabel Id="msdyn.contact.LinkToConversation.Button.Alt">
      <Titles>
        <Title description="Link to conversation" languagecode="1033" />
      </Titles>
    </LocLabel>
    <LocLabel Id="msdyn.contact.LinkToConversation.Button.LabelText">
      <Titles>
        <Title description="Link to Conversation" languagecode="1033" />
      </Titles>
    </LocLabel>
    <LocLabel Id="msdyn.contact.LinkToConversation.Button.ToolTipDescription">
      <Titles>
        <Title description="Link to Conversation tooltip description" languagecode="1033" />
      </Titles>
    </LocLabel>
    <LocLabel Id="msdyn.contact.LinkToConversation.Button.ToolTipTitle">
      <Titles>
        <Title description="Link to conversation" languagecode="1033" />
      </Titles>
    </LocLabel>
  </LocLabels>
</RibbonDiffXml>

Pour en savoir plus, voir Définir les actions du ruban.

Étape 3 : Activer les règles d’affichage

Activer la règle d’affichage pour une entité, puis ajoutez la règle personnalisée dans l’indicateur d’activation de règles.

L’élément <CustomRule> appelle une fonction dans une bibliothèque JavaScript qui renvoie une promesse.

Nom du paramètre Valeur Commentaire
EnableRule Id msdyn.account.EnableInConversationContext.EnableRule
Library $webresource:msdyn_OmnichannelLinkCommand.js Dans l’élément <CustomRule>.
FunctionName OmniChannelPackage.OmnichannelLinkCommand.shouldDisplayLinkCommand Dans l’élément <CustomRule>.

Exemple de XML pour activer les règles d’affichage

<CommandDefinitions> 
    <CommandDefinition Id="msdyn.account.LinkToConversation.Command"> 
      <EnableRules> 
        <EnableRule Id="msdyn.account.EnableInConversationContext.EnableRule" /> 
      </EnableRules> 
      <DisplayRules /> 
      <Actions> 
        <JavaScriptFunction FunctionName="OmniChannelPackage.OmnichannelLinkCommand.linkRecordToConversation" Library="$webresource:msdyn_OmnichannelLinkCommand.js"> 
          <StringParameter Value="msdyn_account_msdyn_ocliveworkitem_Customer" /> 
        </JavaScriptFunction> 
      </Actions> 
    </CommandDefinition> 
  </CommandDefinitions> 
  <RuleDefinitions> 
    <TabDisplayRules /> 
    <DisplayRules /> 
    <EnableRules> 
      <EnableRule Id="msdyn.account.EnableInConversationContext.EnableRule"> 
        <CustomRule FunctionName="OmniChannelPackage.OmnichannelLinkCommand.shouldDisplayLinkCommand" Library="$webresource:msdyn_OmnichannelLinkCommand.js" Default="false" /> 
      </EnableRule> 
    </EnableRules> 

Pour en savoir plus, voir Définir les règles d’affichage du ruban.

Étape 4 : Importer le ruban

Dans cette étape vous devez importer le ruban personnalisé.

Pour en savoir plus, consultez Importer le ruban.

Exporter, préparer à modifier et importer le ruban

Définir les règles d'activation du ruban

Transmettre des données à partir d’une page en tant que paramètre des actions du ruban