Teilen über


Erstellen und Verwalten von Produktfamilien, Produkten, Paketen und Produkteigenschaften

Definieren Sie Ihren Produktkatalog, indem Sie Produkte in einer Baumstruktur organisieren, indem Sie Produkte und Pakete unter einer Produktfamilie erstellen, zugehörige Produkte,definieren und der übergeordneten Produktfamilie Eigenschaften (Attribute) hinzufügen, sodass alle untergeordneten Produkte und Pakete unter einer Produktfamilie automatisch die Eigenschaften erben.

Wenn Sie eine Produktfamilien-, Produkt- oder Paketdatensatz erstellen, sind sie standardmäßig im Status Entwurf. Nachdem Sie ein Produkt erstellt, zugehörige Produkte definierten und Attribute für den übergeordneten Produktfamiliedatensatz erstellt haben, müssen Sie den Produktfamilien-, Produkt- bzw. Paketdatensatz veröffentlichen, damit sie im System für die vertriebsmitarbeiter für den Verkauf verfügbar werden. Weitere Informationen: Eine Produktfamilie, ein Produkt oder ein Bündel veröffentlichen

Notiz

Für Produkte, die keiner Produktfamilie zugeordnet sind, d.h. Produkte, denen kein übergeordneter Datensatz einer Produktfamilie zugewiesen ist, können Sie diese direkt in einem Active Status erstellen, indem Sie die Spalte Organization.CreateProductsWithoutParentInActiveState auf 1 (wahr) festlegen. Standardmäßig ist diese Spalte auf 0 (falsch) für eine Neuinstallation von Dynamics 365 für Customer Engagement und auf 1 (wahr) festgelegt, wenn Sie von einer früheren Version von Customer Engagement aktualisieren, um die Kompatibilität Ihrer Anwendungen mit der früheren Version von Customer Engagement zu gewährleisten, in der die Produktdatensätze in einem Aktiv-Status erstellt wurden.

Sie können auch die Registerkarte Verkauf im Systemeinstellungsbereich in Dynamics 365 for Customer Engagement oder Microsoft Dynamics 365 for Outlook verwenden, um festzulegen, ob Produkte in einem Aktiv-Status erstellt werden. Weitere Informationen: Verwaltung der Produktkatalog-Konfiguration

Definieren von Produkten, Produktfamilien und Paketen

Verwenden Sie die Spalte Product.ProductStructure, um festzulegen, ob ein Element eine Produktfamilie, ein Produkt oder ein Bündel ist. Legen Sie den Wert dieser Spalte auf fest:

  • 1 um ein Produkt zu erstellen

  • 2 um eine Produktfamilei zu erstellen

  • 3 um ein Paket zu erstellen

    Hier finden Sie einige wichtige Punkte, die beim Definieren von Produktfamilien, Produkten und paketen zu berücksichtigen sind:

  • Ein Produktfamiliedatensatz kann mehrere untergeordnete Produktfamilien-, Produkt- und Paketinstanzen in einer Baumstruktur enthalten. Für eine untergeordnete Produktfamilie, ein untergeordnetes Produkt oder eine untergeordnete bündelnde Instanz definieren Sie die übergeordnete Produktfamilieninstanz mit der Spalte Product.ParentProductId. Sie können den übergeordneten Datensatz nicht ändern, nachdem er festgelegt wurde.

  • Ein Produkt oder Paker kann nicht als Übergeordnet festgelegt werden, was bedeutet, dass ein Produkt- oder Paketdatensatz nicht über untergeordnete Datensätze verfügen kann.

  • Eine Instanz Produktfamilie, Produkt oder Paket kann nur ein Teil einer Produktfamilieinstanz sein.

  • Es gibt keine Beschränkung für die Schachtelungsebene für eine Produktfamilie.

  • Den Attributen Product.ValidFromDate und Product.ValidToDate ist keine mitgelieferte Geschäftslogik zugeordnet, außer einer Prüfung, um sicherzustellen, dass das Datum in Product.ValidToDate später oder gleich dem Datum in Product.ValidFromDate ist. Gegebenenfalls können Sie auf Grundlage dieser Attribute eine eigene Geschäftslogik implementieren. Sie könnten zum Beispiel einen geplanten Auftrag ausführen, um die Produkte der letzten Saison automatisch aus dem Verkehr zu ziehen, indem Sie den Datumswert in der Spalte Product.ValidToDate verwenden.

    Das folgende Codebeispiel veranschaulicht, wie Sie eine Produktfamilie und einen untergeordneten Produktdatensatz erstellen können.

// 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);  

Definieren von Produkteigenschaften

Produkteigenschaften helfen dabei, die Merkmale eines Produkts, wie die Größe, Farbe oder Komponente zu definieren. Eine Produkteigenschaft wird über die Tabelle DynamicProperty definiert. Beim Definieren einer Produkteigenschaft, können Sie diese nur einem Produktfamiliendatensatz in einem Draft-Status zuordnen und nicht einem Produkt oder Paketdatensatz. Die maximale Anzahl der Produkteigenschften, die einem Entwurfsdatensatz einer Produktfamilie hinzugefügt werden können, wird durch die folgenden Organisationseinstellungen bestimmt: Organization.MaximumDynamicPropertiesAllowed. Die Zahl wird relevant, wenn Sie einen untergeordneten Produktdatensatz oder ein paket unter einer Produktfamilie veröffentlchen, der die Eigenschaften hinzugefügt sind, und nicht, wenn Sie einem EntwurfsEntwurfs-Produktfamiliedatensatz die Eigenschaften hinzufügen.

Tipp

Sie können auch die Registerkarte Vertrieb im Bereich Systemeinstellungen in Dynamics 365 Customer Engagement (on-premises) oder Dynamics 365 for Outlook verwenden, um die maximale Anzahl der Produkteigenschaften zu konfigurieren. Weitere Informationen: Verwaltung der Produktkatalog-Konfiguration.

Beim Erstellen einer Produkteigenschaft, geben Sie den Namen, den zugeordneten Produktfamiliendatensatz im Draft-Status, die Attribute der Eigenschaft, wie "versteckt", "erforderlich" oder "schreibgeschützt", an und den Datentyp der Eigenschaft. Eine Produkteigenschaft kann einen der folgenden Datentypen aufweisen:

Wert Datentyp
0 Optionssatz
1 Decimal
2 Gleitkommazahl
3 Einzelne Textzeile
4 Ganze Zahl

Sie können den Datentyp einer Produkteigenschaft nicht ändern, nachdem sie erstellt wurde. Wenn Sie eine Produkteigenschaft erstellen, wird sie im Draft-Status erstellt.

Das folgende Codebeispiel zeigt, wie Sie Produkteigenschaften hinzufügen können.

DynamicProperty newProperty = new DynamicProperty  
{  
    Name = "Example Property",  
    RegardingObjectId = new EntityReference(Product.EntityLogicalName,  
                                            _productFamilyId),  
    IsReadOnly = true,  
    IsRequired = true,  
    IsHidden = false,  
    DataType = new OptionSetValue(3), //Single line of text  
    DefaultValueString = "Default Value"  
};  
_productPropertyId = _serviceProxy.Create(newProperty);  

Das vollständige Beispiel finden Sie unter Beispiel: Erstellen und Veröffentlichen von Produkten

Notiz

Wenn Sie eine Produkteigenschaft vom Datentyp Option Set erstellen, müssen Sie individuelle Optionen für die Produkteigenschaft definieren, indem Sie Datensätze vom Typ DynamicPropertyOptionSetItem erstellen. Jeder Tabellendatensatz speichert Informationen über die einzelne Option, wobei die Attribute DynamicPropertyOptionSetItem.DynamicPropertyOptionName und DynamicPropertyOptionSetItem.DynamicPropertyOptionValue den Optionsnamen bzw. den Optionswert definieren. Über die Spalte DynamicPropertyOptionSetItem.DynamicPropertyId können Sie einzelne Optionsdatensätze mit der übergeordneten Produkteigenschaftsinstanz verknüpfen.

Weitere Informationen zum Erstellen und Verwalten von Produkteigenschaften mit dem Web-Client finden Sie unter Hilfe und Schulung: Eigenschaften verwenden, um ein Produkt zu beschreiben.

Notiz

Die Art, wie Sie eine Produkteigenschaft definieren, bestimmt, wie sie vom vertriebsmitarbeiter zur Laufzeit verwendet werden kan, d. h. beim Hinzufügen eines zugehörigen Produkts zu einer Verkaufschance, einem Angebot, einem Auftrag oder einer Rechnung. Der Wert einer aktualisierbaren Produkteigenschaft kann zur Laufzeit geändert werden, wogegen der Wert einer schreibgeschützten Produkteigenschaft nicht geändert werden kann. Für einen Produkteigenschaftensatz, der als Erforderlich festgelegt ist, muss ein Wert zur Laufzeit angegeben werden. Andernfalls wird die Eigenschaft nicht als nicht aufgelöst angezeigt. Eine ausgeblendete Eigenschaft wird den Vertriebsmitarbeitern in der Bearbeitungszeit nicht angezeigt.

Desweiteren wirken sich Produkteigenschaften nicht auf die Preisberechnung eines Produkts aus. Dies bedeutet, dass das Dynamics 365 Customer Engagement (on-premises)-Preisberechnungsmodul nicht das Änder des Preises eines Produkts auf Basis einer Änderung in den Produkteigenschaftswerten nicht unterstützt.

Ändern von Produkteigenschaften

Es ist wichtig, die verschiedenen Status der Produkteigenschaft zu kennen, um nachzuvollziehen, wie und wann sie geändert werden können. Eine Produkteigenschaft kann sich im Status Entwurf, Aktiv oder Zurückgezogen befinden. Wenn ein Produkt erstellt wird, befindet es sich im Status Entwurf und ändert sich auf den Status Aktiv, sobald der Produktfamiliendatensatz, dem es zugeordnet ist, veröffentlicht wurde. Wenn der zugeordnete Produktfamiliendatensatz zurückgezogen wurde, ändert sich der Status der Produkteigenschaft auch auf Retired.

Eine Produkteigenschaft kann auf zwei Ebenen geändert werden: Erstens auf der Produktfamilienebene, der die Produkteigenschaft zugeordnet ist; zweitens auf der Ebene der untergeordneten Produktfamilie, des Produkts oder der Paketebene, über die die Produkteigenschaft vererbt wird.

Die Produkteigenschaft der Produktfamilie ändern, der sie zugeordnet ist

Für einen Draft Datensatz einer Produktfamilie können Sie eine damit verbundene Produkteigenschaft ändern. Sobald Sie den Produktfamiliendatensatz veröffentlicht haben (ändert den Status auf Active ), können Sie die Produkteigenschaft nicht mehr ändern, bis Sie den Produktfamiliendatensatz überarbeiten. Nachdem Sie den Produktfamiliendatensatz überarbeitet haben (ändert den Status Under Revision ), können Sie die veröffentlichte (aktive) Version der Eigenschaften überschreiben, um Änderungen vorzunehmen. Informationen zum Produktlebenszyklus finden Sie unter Veröffentlichen, überprüfen, rückgängig machen, zurückziehen und aktivieren von Produkten (Produktlebenszyklus)

Ändern der geerbten Produkteigenschaft für die untergeordnete Produktfamilie, das Produkt oder das Paket.

Für eine Produkteigenschaft im Status Draft können die untergeordnete Produktfamilie, das Produkt und die Paketdatensätze die geerbte Eigenschaft überschreiben, um ihre eigene Version der Eigenschaft zu definieren. Überschreiben Sie beispielsweise die geerbte Eigenschaft, um deren Namen zu ändern oder Attribute von "versteckt" auf "sichtbar", "erforderlich" auf "optional" oder "schreibgeschützt" auf "aktualisierbar" zu ändern. Sie können den Datentyp der geerbten Eigenschaft nicht überschreiben oder ändern.

Zum Überschreiben einer Produkteigenschaft, erstellen Sie eine Instanz einer Produkteigenschaft und legen die BaseDynamicPropertyId-Eigenschaft auf die GUID der Eigenschaft fest, die Sie überschreiben wollen. Darüber hinaus können Sie auch die neuen Eigenschafteninstanz der untergeordneten Produktfamilie, dem Produkt oder dem Paketdatensatz zuordnen, in dem sie überschrieben wird.

Der folgende Beispielcode veranschaulicht, wie Sie einen vorhandenen Produkteigenschaftendatensatz überschreiben, z.B. mit GUID _productPropertyId, und die überschriebene Eigenschaft dem Produktdatensatz zuordnen können, z.B. mit GUID _product1Id. Danach können Sie die Attribute der neuen Eigenschaft aktualisieren, um eigene Werte festzulegen und das Überschreiben abzuschließen.

// Override a product property  
DynamicProperty newOverrideProperty = new DynamicProperty();  
newOverrideProperty.BaseDynamicPropertyId = new EntityReference(DynamicProperty.EntityLogicalName,  
                           _productPropertyId);  
newOverrideProperty.RegardingObjectId = new EntityReference(Product.EntityLogicalName, _product1Id);  
_productOverridenPropertyId = _serviceProxy.Create(newOverrideProperty);  
  
// Retrieve the attributes of the cloned property you want to update                      
ColumnSet columns = new ColumnSet();  
columns.AddColumns("name", "isreadonly", "isrequired");  
DynamicProperty retrievedOverridenProperty = (DynamicProperty)_serviceProxy.Retrieve(  
                                               DynamicProperty.EntityLogicalName, _productOverridenPropertyId,  
                                               columns);  
  
// Update the attributes  
retrievedOverridenProperty.Name = "Overridden Example Property";  
retrievedOverridenProperty.IsReadOnly = true;  
retrievedOverridenProperty.IsRequired = false;  
_serviceProxy.Update(retrievedOverridenProperty);  

Das vollständige Beispiel finden Sie unter Beispiel: Erstellen und Veröffentlichen von Produkten

Sie können für eine Produkteigenschaft im Active-Status die geerbte Eigenschaft für die untergeordnete Produktfamilie, das Produkt oder den Paketdatensatz überschreiben vorausgesetzt, die beiden folgenden Aussagen treffen zu:

  • Die untergeordnete Produktfamilie, das Produkt oder der Paketdatensatz ist im Status Wird überarbeitet.

  • Die geerbte aktive Produkteigenschaft wurde bereits überschrieben.

    Zum Überschreiben einer Produkteigenschaft, erstellen Sie eine Instanz einer Produkteigenschaft und legen die BaseDynamicPropertyId-Eigenschaft auf die GUID der bereits überschriebenen Eigenschaft fest. Darüber hinaus können Sie auch die neue Eigenschafteninstanz der Produktfamilie, dem Produkt oder dem Paketdatensatz zuordnen, der sich in der Under Revision-Status befindet.

    Der folgende Beispielcode veranschaulicht, wie Sie einen Produkteigenschaftendatensatz im Status "Aktiv" überschreiben, der bereits überschrieben wurde, z.B. mit GUID _productOverridenPropertyId, und die neue Eigenschaft dem Produktdatensatz im Status Under Revision zuordnen, z.B. mit GUID _product1Id. Danach können Sie die Attribute der neuen Eigenschaft aktualisieren, um eigene Werte festzulegen und das Überschreiben abzuschließen.

// Overwrite a product property  
DynamicProperty newOverwriteProperty = new DynamicProperty();  
newOverwriteProperty.BaseDynamicPropertyId = new EntityReference(DynamicProperty.EntityLogicalName,  
                           _productOverridenPropertyId);  
newOverwriteProperty.RegardingObjectId = new EntityReference(Product.EntityLogicalName,  
    _product1Id);  
_productOverwrittenPropertyId = _serviceProxy.Create(newOverwriteProperty);  
  
// Retrieve the attributes of the cloned property you want to update  
ColumnSet myCols = new ColumnSet();  
myCols.AddColumns("name", "isreadonly", "isrequired");  
DynamicProperty retrievedOverwrittenProperty = (DynamicProperty)_serviceProxy.Retrieve(  
                                                   DynamicProperty.EntityLogicalName, _productOverwrittenPropertyId,  
                                                   myCols);  
  
// Update the attributes of the cloned property to complete the overwrite   
retrievedOverwrittenProperty.Name = "Overwritten Example Property";  
retrievedOverwrittenProperty.IsReadOnly = true;  
retrievedOverridenProperty.IsRequired = false;  
_serviceProxy.Update(retrievedOverwrittenProperty);  

Das vollständige Beispiel finden Sie unter Beispiel: Erstellen und Veröffentlichen von Produkten

Pakete und Kits

Ein Bündel ist eine Funktion, die in Customer Engagement eingeführt wurde, um die ältere Kit-Funktionalität zu ersetzen. àhnlich wie ein Kit, ist ein Paket eine Sammlung von Produkten, die als Einheit verkauft wird. Produktpaketierung ist hilfreich zum Gruppieren von Produkten in einer Weise, dass Kunden mehr Vorteile von der gesamte Produktlinie erhalten, oder um Rabatte auf paketierte Produkte anzubeiten, sodass Sie Produkte gruppieren und als Einheit verkaufen können.

Nur Produkte können zu einem Paket hinzugefügt werden; Sie können einem Paket keinen Produktfamilien-, Paket- oder Kitadensatz hinzufügen. Sie können Produkte zu einem Bündel oder einem Kit hinzufügen, indem Sie einen Datensatz für die Produktzuordnung mit Hilfe der Tabelle ProductAssociation erstellen. Der ProductAssociation.ProductId-Datensatz gibt das Paket oder Kit an, dem Sie ein Produkt hinzufügen möchten und ProductAssociation.AssociatedProduct gibt das hinzuzufügende Produkt an. Die maximale Anzahl der Produkte, die zu einem Bündel hinzugefügt werden können, wird durch die folgende Organisationseinstellung festgelegt: Organization.MaxProductsinBundle.

Sie können auch die Registerkarte Vertrieb im Bereich Systemeinstellungen in Dynamics 365 Customer Engagement (on-premises) oder Dynamics 365 for Outlook verwenden, um die maximale Anzahl der Produkte anzugeben, die einem Paket hinzugefügt werden können. Weitere Informationen: Verwaltung der Produktkatalog-Konfiguration

Das folgende Codebeispiel zeigt, wie Sie einem Paket Produkte hinzufügen können.

// 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) && (_product2AssociationId != null))  
Console.WriteLine("\nAdded both the products to the bundle");  

Das vollständige Beispiel finden Sie unter Beispiel: Hinzufügen von Produkten zu einem Paket.

Unterschiede zwischen Kits und Paketen

Kits und Pakete ermöglichen Ihnen, Produkte in einer Einheit zu gruppieren, aber es gibt einige der Unterschiede zwischen den beiden.

Kits Pakete
Alle Produkte in einem Kit sind erforderlich. Einige Produkte in einem Paket können optional sein.
Kits unterstützen Schachtelung; Sie können ein Kit einem anderen Kit hinzufügen. Sie können einem Paket kein anderes Paket hinzufügen. Sie können einem Paket nur Produkte hinzufügen.
Beim Hinzufügen eines Kits zu einer Verkaufschance, Angebot, Auftrag oder Rechnung, können Sie nur die Kitebenendetails anzeigen; Sie können nicht einzelne Produkte in einem Kit anzeigen. Beim Hinzufügen eines Pakets zu einer Verkaufschance, Angebot, Auftrag oder Rechnung, können Sie die Paketebenendetails sowie einzelne Produkte in einem Paket anzeigen.

Notiz

In der aktuellen Version von Dynamics 365 Customer Engagement (on-premises) sind Kits veraltet; stattdessen sollten Sie Pakete verwenden.

Produktbeziehungen für verbesserte Vorschläge während des Produktverkaufs definieren

Sie können zugehörige Produkte für ein Produkt definieren, die den Vertriebsmitarbeitern als Vorschläge während er Arbeit an Verkaufschancen oder Bestellungen angezeigt werden. Die Produktvorschläge für ein Produkt helfen den Vertriebsmitarbeitern, zugehörige Produkte und Pakete/Kits den Kunden zu empfehlen und die Produktverkäufe zu steigern. Sie können folgende Beziehungen für ein Produkt definieren: Zubehör, Cross-Sell, Ersatz und Upsell. Zum Beispiel können Sie für ein Funktelegrafie-Produkt als Upsell-Produkt Surface Pro hinzufügen, damit, wenn der Vertriebsmitarbeiter Surface RT zu einer Verkaufschance, einem Angebot, einem Auftrag oder einer Rechnung hinzufügt, Surface Pro als Upsell-Option vorgeschlagen wird.

Verwenden Sie die Spalte ProductSubstitute.SalesRelationshipType, um Produktbeziehungen zu definieren. Legen Sie den Wert dieser Spalte auf fest:

  • 0 für Upsell

  • 1 für Cross-Sell

  • 2 für Zubehör

  • 3 für Ersatz

    Bei der Definition von Produktbeziehungen ist es wichtig, die Richtung der Beziehung zu definieren, um Verdopplung von Daten zu verhindern. Die unterstützten Richtungen der Produktbeziehungen sind:

Produktbeziehung Richtung
Zubehör Unidirektional
Querverkauf Unidirektional oder bidirektional
Ersatz Unidirektional oder bidirektional
Upsell Unidirektional

Verwenden Sie die Spalte ProductSubstitute.Direction, um die Richtung für eine Produktbeziehung anzugeben. Legen Sie den Wert dieser Spalte auf fest:

  • 0 für unidirektional

  • 1 für bidirektional

    Das folgende Codebeispiel zeigt, wie Sie Beziehungen für Produkte defineren können.

// 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);  

Eine Produktfamilie, ein Produkt oder ein Paket klonen

Verwenden Sie die CloneProductRequest-Nachricht, um eine Produktfamilie, ein Produkt oder einen Paketdatensatz zu klonen und eine Kopie des Datensatzes unter demselben übergeordneten Knoten zu erstellen. Sie müssen dem Klon die ID des Datensatzes zur Verfügung stellen. Beim Klonen eines Produktdatensatzes werden auchEigenschaften des Produkts geklont. Dergeklonte Datensatz wird mit dem Datum und Zeitstempel erstellt, die auf den ursprünglichen Werten in den Spalten Product.Name und Product.ProductNumber sind; der Datum-Zeit-Stempel bezeichnet die Uhrzeit als der Datensatz geklont wurde. Das folgende Codebeispiel zeigt, wie ein Produkt geklont wird.

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);  

Nächster Schritt

Veröffentlichen Sie Produktdatensätze, um Ihre Produkte für den Verkauf durch Ihre Vertriebsmitaerbeiter bereitzustellen. Weitere Informationen: Eine Produktfamilie, ein Produkt oder ein Bündel veröffentlichen

Siehe auch

Veröffentlichen, überarbeiten, zurücksetzen, zurückziehen und aktivieren von Produkten (Produktlebenszyklus)
Beispiel: Erstellen und Veröffentlichen von Produkten
Beispiel: Klonproduktdatensätze
Beispiel: Hinzufügen von Produkten zu einem Paket
Produktkatalog-Tabellen