Partager via


Créer et gérer des familles de produits, des produits et des offres groupées

 

Date de publication : novembre 2016

S’applique à : Dynamics CRM 2015

Définissez votre catalogue en organisant vos produits selon une structure hiérarchique, en créant des produits et des offres groupées sous une famille de produits, en définissant des produits associés et en ajoutant des propriétés (attributs) à la famille de produits parent afin que tous les produits et offres groupées enfants d'une famille de produits héritent automatiquement des propriétés.

Par défaut, lorsque vous créez l'enregistrement d'une famille de produits, d'un produit ou d'une offre groupée, il est dans l'état Brouillon. Après avoir créé un produit, défini les produits associés et configuré les attributs pour l'enregistrement de la famille de produits parent, vous devez publier l'enregistrement de la famille de produits, du produit ou de l'offre groupée pour qu'il devienne accessible dans le système par vos agents commerciaux.Pour plus d'informations :Publication d'une famille de produits, d'un produit ou d'une offre groupée

Notes

Pour les produits qui ne sont pas associés à une famille de produits, c'est-à-dire les produits qui n'ont pas un enregistrement associé de famille de produits parent, vous pouvez choisir de les créer directement dans un état Actif en définissant l'attribut Organization.CreateProductsWithoutParentInActiveState avec la valeur 1 (true). Par défaut, cet attribut est défini sur 0 (faux) pour une installation récente de Microsoft Dynamics 365 et sur 1 (vrai) si vous effectuez une mise à niveau depuis une version précédente de Dynamics 365, afin de garantir la compatibilité pour vos applications s'exécutant avec la version précédente de Dynamics 365 où les enregistrements de produit ont été créés dans un état Actif.

Vous pouvez également utiliser l'onglet Ventes dans la zone des paramètres système de Microsoft Dynamics 365 ou Microsoft Dynamics CRM pour Outlook pour spécifier si les produits sont créés avec un état Actif.Pour plus d'informations :TechNet : Gérer la configuration du catalogue de produits.

Contenu de la rubrique

Définir les produits, familles de produits et offres groupées

Offres groupées et kits

Définir une relation de produit pour des suggestions améliorées lors de la vente de produit

Définir les propriétés du produit (non pris en charge dans le SDK)

Cloner une famille de produits, un produit ou une offre groupée

Définir les produits, familles de produits et offres groupées

Utilisez l'attribut Product.ProductStructure pour déterminer si un élément est une famille de produits, un produit ou une offre groupée. Définissez la valeur de l'attribut sur :

  • 1 pour créer un produit

  • 2 pour créer une famille de produits

  • 3 pour créer une offre groupée

Notes

Les offres groupées sont nouvelles dans Dynamics 365. Pour plus d'informations, consultez la rubrique Offres groupées et kits plus loin dans cette rubrique.

Pour créer un type de produit en kit, continuez à utiliser l'attribut Product.IsKit.

Voici quelques aspects importants à prendre en compte lors de la définition des familles de produits, des produits et des offres groupées :

  • Un enregistrement de famille de produits peut contenir plusieurs familles de produits enfants, de produits et d'offres groupées, selon une structure hiérarchique. Pour une famille de produits enfant, un produit enfant ou une offre groupée enfant, vous définissez l'instance de la famille de produits parent avec l'attribut Product.ParentProductId. Vous ne pouvez pas modifier l'enregistrement parent une fois que vous l'avez défini.

  • Un produit ou une offre groupée ne peut pas être définie comme parent, ce qui implique qu'un enregistrement de produit ou d'offre groupée ne peut pas contenir d'enregistrements enfants.

  • Une instance de famille de produits, de produit ou d'offre groupée peut partie d'une seule instance de famille de produits.

  • Il n'y a pas de limite au niveau d'imbrication d'une famille de produits.

  • Les attributs Product.ValidFromDate et Product.ValidToDate n'ont pas de logique métier prête à l'emploi associée, mais une vérification a lieu pour s'assurer que la date dans Product.ValidToDate est ultérieure ou égale à la date dans Product.ValidFromDate. Si nécessaire, vous pouvez implémenter votre propre logique métier en fonction de ces attributs. Par exemple, vous pouvez exécuter une tâche planifiée pour mettre automatiquement hors service les produits de la saison passée à l'aide de la valeur de date de l'attribut Product.ValidToDate.

L'exemple de code suivant illustre comment créer une famille de produits et un enregistrement de produit enfant.

// Create a product family
Product newProductFamily = new Product
{
   Name = "Example Product Family",
   ProductNumber = "PF001",
   ProductStructure = new OptionSetValue(2)
};
_productFamilyId = _serviceProxy.Create(newProductFamily);
Console.WriteLine("\nCreated {0}", newProductFamily.Name);

// Create a product record under the product family
Product newProduct1 = new Product
{
   Name = "Example Product 1",
   ProductNumber = "P001",
   ProductStructure = new OptionSetValue(1),
   ParentProductId = new EntityReference(Product.EntityLogicalName, _productFamilyId),
   QuantityDecimal = 2,
   DefaultUoMScheduleId = new EntityReference(UoMSchedule.EntityLogicalName, _unitGroupId),
   DefaultUoMId = new EntityReference(UoM.EntityLogicalName, _unit.Id)
};
_product1Id = _serviceProxy.Create(newProduct1);
Console.WriteLine("Created {0} under the product family", newProduct1.Name);

Offres groupées et kits

Une offre groupée est une fonctionnalité introduite dans Dynamics 365 pour remplacer la fonctionnalité plus ancienne de kit. Similaire au kit, une offre groupée est un ensemble de produits qui est vendue en tant qu’unité individuelle. L'offre groupée de produits est utile pour regrouper certains produits de telle façon que les clients tirent un plus grand avantage de la gamme complète de produits ou pour proposer des remises sur les produits regroupés dans l'offre et vendus comme une seule unité.

Seuls des produits peuvent être ajoutés à une offre groupée ; vous ne pouvez pas ajouter une famille de produits, une offre groupée ou un kit à une offre groupée. Vous pouvez ajouter des produits à une offre groupée ou à un kit en créant un enregistrement d'association de produit à l'aide de l'entité ProductAssociation. L'enregistrement ProductAssociation.ProductId spécifie l'offre groupée ou le kit que vous voulez ajouter à un produit et ProductAssociation.AssociatedProduct spécifie le produit à ajouter. Le nombre maximal de produits qui peuvent être ajoutés à une offre groupée est déterminé par le paramètre d'organisation suivant : Organization.MaxProductsinBundle.

Vous pouvez également utiliser l'onglet Ventes de la zone des paramètres système de Dynamics CRM ou Dynamics CRM pour Outlook pour spécifier le nombre maximal de produits qui peuvent être ajoutés à une offre groupée.Pour plus d'informations :TechNet : Gérer la configuration du catalogue de produits.

L'exemple de code suivant montre comment ajouter des produits à une offre groupée.

// Add a product to a bundle
ProductAssociation newAssociation1 = new ProductAssociation
{
   AssociatedProduct = new EntityReference(Product.EntityLogicalName, _product1Id),
   ProductId = new EntityReference(Product.EntityLogicalName, _bundleId),
   Quantity = new decimal(15),
   ProductIsRequired = new OptionSetValue(0),
   UoMId = new EntityReference(UoM.EntityLogicalName, unit.Id)
};
_product1AssociationId = _serviceProxy.Create(newAssociation1);                    

// Add another product to the bundle                    
ProductAssociation newAssociation2 = new ProductAssociation
{
   AssociatedProduct = new EntityReference(Product.EntityLogicalName, _product2Id),
   ProductId = new EntityReference(Product.EntityLogicalName, _bundleId),
   Quantity = new decimal(20),
   ProductIsRequired = new OptionSetValue(1),
   UoMId = new EntityReference(UoM.EntityLogicalName, unit.Id),                        
};
_product2AssociationId = _serviceProxy.Create(newAssociation2);

if ((_product1AssociationId != null) && (_product1AssociationId != null))
Console.WriteLine("\nAdded both the products to the bundle");

Pour obtenir l’exemple de code complet, voir Exemple : Ajouter des produits à une offre groupée.

Différences entre les kits et les offres groupées

Les kits et les offres groupées vous permettent tous deux de regrouper les produits dans une seule unité, mais voici quelques différences entre les deux.

Kits

Offres groupées

Tous les produits d'un kit sont obligatoires.

Certains produits d'une offre groupée peuvent être facultatifs.

Les kits acceptent l'imbrication ; vous pouvez ajouter un kit à un autre kit.

Vous ne pouvez pas ajouter une offre groupée à une autre offre groupée. Vous pouvez ajouter uniquement des produits une offre groupée.

En ajoutant un kit à une opportunité, un devis, une commande ou une facture, vous pouvez voir uniquement les détails du niveau kit ; vous ne pouvez pas voir les différents produits du kit.

En ajoutant une offre groupée à une opportunité, un devis, une commande ou une facture, vous pouvez voir les détails du niveau offre groupée, ainsi que les différents produits de l'offre groupée.

Notes

Les kits sont obsolètes dans la version actuelle de Dynamics CRM ; utilisez à la place les offres groupées.

Définir une relation de produit pour des suggestions améliorées lors de la vente de produit

Vous pouvez définir les produits associés d'un produit qui s'affichent comme suggestions à vos agents de vente pendant la gestion d'une opportunités ou d'une commande. Les suggestions de produits permettent à vos agents de vente de recommander les produits associés et les offres groupées/kits aux clients, et d'augmenter les ventes de produits. Vous pouvez définir les relations suivantes pour un produit : accessoire, vente croisée, substitut et -incitative. Par exemple, Surface Pro peut être ajoutée comme produit incitatif pour Surface RT de telle sorte que lorsque votre agent de vente ajoute Surface RT à une opportunité, un devis, une commande ou une facture, Surface Pro sera suggérée comme option de vente incitative.

Utilisez l'attribut ProductSubstitute.SalesRelationshipType pour définir les relations de produit. Définissez la valeur de l'attribut sur :

  • 0 pour une vente incitative

  • 1 pour une vente croisée

  • 2 pour une vente accessoire

  • 3 pour une vente substitut

Pendant la définition des relations de produit, il est important de définir la direction d'une relation pour empêcher la duplication de données. Les directions prises en charge pour les relations de produit sont :

Relation de produit

Direction

Accessoire

Unidirectionnelle

Vente croisée

Unidirectionnelle ou bidirectionnelle

Substitut

Unidirectionnelle ou bidirectionnelle

Vente incitative

Unidirectionnelle

Utilisez l'attribut ProductSubstitute.Direction pour définir la direction d'une relation de produit. Définissez la valeur de l'attribut sur :

  • 0 pour unidirectionnelle

  • 1 pour bidirectionnelle

L'exemple de code suivant montre comment définir des relations pour les produits.

// Set product relationship
// Set product1 and product2 as substitute of each other (bi-directional)
ProductSubstitute newProductRelation = new ProductSubstitute
{
   SalesRelationshipType = new OptionSetValue(3),
   Direction = new OptionSetValue(1),
   ProductId = new EntityReference(Product.EntityLogicalName, _product1Id),
   SubstitutedProductId = new EntityReference(Product.EntityLogicalName, _product2Id)
};
_productRelationId = _serviceProxy.Create(newProductRelation);

Définir les propriétés du produit (non pris en charge dans le SDK)

Vous pouvez créer et gérer des propriétés de produit (attributs) à l'aide de Dynamics CRM ou Dynamics CRM pour Outlook uniquement ; cette fonctionnalité n'est pas prise en charge par programmation. Cette section fournit juste une vue d'ensemble des propriétés de produit, ce qui est essentiel pour comprendre la nouvelle fonctionnalité de catalogue de produits. Pour plus d'informations sur la création et la gestion des propriétés de produit, voir Aide et formation : utiliser les propriétés pour décrire un produit.

Les propriétés de produit peuvent être uniquement associées à une instance de famille de produits, pas à un enregistrement de produit ou d'offre groupée. Toutes les instances de famille de produit enfant, de produit et d'offre groupée d'une famille de produits parent héritent des propriétés associées à la famille de produits parent. Les enregistrements de famille de produit enfant, de produit et d'offre groupée peuvent remplacer les propriétés héritées à l'aide de Dynamics CRM ou de Dynamics CRM pour Outlook uniquement.

La façon de définir une propriété de produit détermine comment elle peut être utilisé par l'agent de vente au moment de l'exécution, à savoir en ajoutant un produit associé à une opportunité, un devis, une commande ou une facture.

  • Une valeur de propriété de produit actualisable peut être modifiée au moment de l'exécution, contrairement à la valeur d'une propriété de produit en lecture seule.

  • Pour une propriété de produit définie comme obligatoire, une valeur de la propriété doit être spécifiée à l'exécution. Sinon, la propriété apparaît comme non résolue.

  • Une propriété masquée ne sera pas affichée aux agents de vente à l'exécution.

Notes

Les propriétés de produit n'affectent pas la tarification d'un produit. Cela implique que le moteur de tarification Dynamics CRM ne prenne pas en charge la modification du prix d'un produit en fonction de la variation des valeurs de propriété du produit.

Lorsque vous vérifiez un produit et modifiez les propriétés, Dynamics CRM crée en interne une nouvelle version du produit et copie les détails du produit existant vers la version plus récente. La nouvelle version du produit contient tous les détails, notamment les tarifs, les relations de produit et les propriétés. Les opportunités déjà créées avec la version antérieure du produit peuvent continuer à faire référence à la version antérieure du produit. Les opportunités qui sont créées une fois le produit révisé ou retiré se rapportent à la version actuelle du produit (plus récente). Pour plus d'informations sur les transitions de statut du produit, voir Publication, révision, annulation, retrait et activation des produits (cycle de vie du produit).

Les nouvelles entités suivantes sont introduites pour stocker la configuration des propriétés de produit ; l'accès par programmation et la gestion de ces entités ne sont pas pris en charge :

  • L'entitéDynamicProperty stocke les informations sur les propriétés de produit.

  • L'entitéDynamicPropertyAssociation stocke les informations sur la famille de produits à laquelle une propriété de produit est associée.

  • L'entitéDynamicPropertyOptionSet stocke les informations sur les valeurs du groupe d'options pour une propriété de produit du type de données du groupe d'options.

Notes

Le nombre maximal de propriétés de produit qui peuvent être attachées à une famille de produits est déterminé par le paramètre d'organisation suivant : Organization.MaximumDynamicPropertiesAllowed. Le nombre entre en application lorsque vous publiez un enregistrement de produit enfant ou une offre groupée d'une famille de produit à laquelle les propriétés sont associées, pas au moment où vous attachez les propriétés à un enregistrement de famille de produits brouillon.

Vous pouvez aussi utiliser l'onglet Ventes de la zone des paramètres système de Dynamics CRM ou Dynamics CRM pour Outlook pour configurer le nombre maximal de propriétés de produit.Pour plus d'informations :TechNet : Gérer la configuration du catalogue de produits.

Cloner une famille de produits, un produit ou une offre groupée

Utilisez le message CloneProductRequest pour cloner un enregistrement de famille de produits, de produit ou d'offre groupée, et créer une copie de l'enregistrement sous le même nœud parent. Vous devez fournir l'ID de l'enregistrement à cloner. Le clonage d'un enregistrement de produit copie aussi les propriétés du produit. L'enregistrement cloné est créé avec l'horodatage date et heure ajouté aux valeurs d'origine dans les attributs Product.Name et Product.ProductNumber ; l'horodatage indique le moment où l'enregistrement a été copié. L'exemple de code suivant montre comment cloner un produit.

CloneProductRequest cloneReq = new CloneProductRequest
{
   Source = new EntityReference(Product.EntityLogicalName, _productId)
};

CloneProductResponse cloned = (CloneProductResponse)_serviceProxy.Execute(cloneReq);                                     
_productCloneId = cloned.ClonedProduct.Id;

// Retrieve the cloned product record
Product retrievedProduct = (Product)_serviceProxy.Retrieve(Product.EntityLogicalName, _productCloneId, new ColumnSet(true));
Console.WriteLine("\nCreated clone product: {0}", retrievedProduct.Name);

Étape suivante

Publiez vos enregistrements de produit pour rendre disponibles les produits à la vente par vos agents.Pour plus d'informations :Publication d'une famille de produits, d'un produit ou d'une offre groupée

Voir aussi

Publication, révision, annulation, retrait et activation des produits (cycle de vie du produit)
Exemple : créer et publier des produits
Exemple : Cloner les enregistrements de produit
Exemple : Ajouter des produits à une offre groupée
Entités de catalogue de produits

© 2017 Microsoft. Tous droits réservés. Copyright