Oprette og administrere produktfamilier, produkter og bundter
Udgivet: november 2016
Gælder for: Dynamics CRM 2015
Definer dit produktkatalog ved at organisere dine produkter i en hierarkisk struktur ved at oprette produkter og bundter under en produktfamilie, definere relaterede produkter og tilføje egenskaber (attributter) til den overordnede produktfamilie, så alle de underordnede produkter og bundter under en produktfamilie automatisk arver egenskaberne.
Når du opretter en produktfamilie-, produkt- eller bundtpost, er de som standard i tilstanden Kladde. Når du har oprettet et produkt, defineret relaterede produkter og konfigureret attributter for den overordnede produktfamiliepost, skal du udgive produktfamilie-, produkt- eller bundtposten, for at de bliver tilgængelige i systemet, så dine salgsagenter kan sælge dem.Flere oplysninger:Udgiv en produktfamilie, et produkt eller et bundt
Bemærk
For produkter, der ikke er knyttet til en produktfamilie, det vil sige produkter, der ikke har en overordnet produktfamiliepost tildelt, kan du vælge at oprette dem direkte i en aktiv tilstand ved at angive attributten Organization.CreateProductsWithoutParentInActiveState til 1 (sand). Denne attribut er som standard angivet til 0 (falsk) for en ny installation af Microsoft Dynamics 365 og til 1 (sand), hvis du opgraderer fra en tidligere version af Dynamics 365 for at sikre kompatibilitet for dine programmer, der arbejder med den tidligere version af Dynamics 365, hvor produktposterne blev oprettet i en aktiv tilstand.
Du kan også bruge fanen Salg i området for systemindstillinger i Microsoft Dynamics 365 eller Microsoft Dynamics CRM til Outlook til at angive, om produkter er oprettet i en aktiv tilstand.Flere oplysninger:TechNet: Administrer konfiguration af produktkatalog
Dette emne indeholder
Definere produkter, produktfamilier og bundter
Bundter og pakker
Definere produktrelationer for at få forbedrede forslag under produktsalg
Definere produktegenskaber (understøttes ikke via SDK)
Klone en produktfamilie, et produkt eller et bundt
Definere produkter, produktfamilier og bundter
Brug attributten Product.ProductStructure til at angive, om en vare er en produktfamilie, et produkt eller et bundt. Indstil værdien af denne attribut til:
1 for at oprette et produkt
2 for at oprette en produktfamilie
3 for at oprette et bundt
Bemærk
Bundter er nye i Dynamics 365. Du kan finde flere oplysninger under Bundter og pakker senere i dette emne.
Hvis du vil oprette et pakkeprodukt, skal du fortsætte med at bruge attributten Product.IsKit.
Her er nogle vigtige punkter at overveje, når du definerer produktfamilier, produkter og bundter:
En produktfamiliepost kan indeholde flere underordnede produktfamilie-, produkt- og bundtforekomster i en hierarkisk struktur. For en underordnet produktfamilieforekomst, en underordnet produktforekomst eller en underordnet bundtforekomst definerer du den overordnede produktfamilieforekomst ved hjælp af attributten Product.ParentProductId. Du kan ikke ændre den overordnede post, når du har konfigureret den.
Et produkt eller et bundt kan ikke angives som overordnet, hvilket indebærer, at en produkt- eller bundtpost ikke kan have underordnede poster.
En produktfamilie-, produkt- eller bundtforekomst kan kun være en del af én produktfamilieforekomst.
Der er ingen begrænsninger på indlejringsniveauet for en produktfamilie.
Attributterne Product.ValidFromDate og Product.ValidToDate har ikke har nogen out-of-box forretningslogik, der er knyttet til dem, bortset fra at der er en kontrol for at sikre, at datoen i Product.ValidToDate skal være senere end eller lig med datoen i Product.ValidFromDate. Hvis det er nødvendigt, kan du implementere din egen forretningslogik, der er baseret på disse attributter. Du kan for eksempel køre et planlagt job for automatisk at tilbagetrække sidste sæsons produkter ved hjælp af datoværdien i attributten Product.ValidToDate.
I følgende kodeeksempel demonstreres, hvordan du kan oprette en produktfamilie og en underordnet produktpost.
// 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);
Bundter og pakker
Et bundt er en funktion, der er indført i Dynamics 365 som erstatning for den gamle pakkefunktionalitet. Lige som en pakke er et bundt en samling af produkter, der sælges som en enkelt enhed. Bundtning af produkter er nyttigt til at gruppere produkterne på en måde, så kunderne får flere fordele fra hele udvalget af produkter, eller til at tilbyde rabatter på bundtede produkter, der giver dig mulighed for at gruppere produkter og sælge dem som en enkelt enhed.
Der kan kun føjes produkter til et bundt. Du kan ikke føje en produktfamilie-, bundt- eller pakkepost til et bundt. Du kan føje produkter til et bundt eller en pakke ved at oprette en produkttilknytningspost ved hjælp af objektet ProductAssociation. Posten ProductAssociation.ProductId angiver det bundt eller den pakke, som du vil føje et produkt til, og ProductAssociation.AssociatedProduct angiver det produkt, der skal tilføjes. Det maksimale antal produkter, der kan føjes til et bundt, bestemmes af den følgende organisationsindstilling: Organization.MaxProductsinBundle.
Du kan også bruge fanen salg i området for systemindstillinger i Dynamics CRM eller Dynamics CRM til Outlook til at angive det maksimale antal produkter, der kan føjes til et bundt.Flere oplysninger:TechNet: Administrer konfiguration af produktkatalog
I følgende kodeeksempel demonstreres, hvordan du kan føje produkter til et bundt.
// 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");
Du kan se hele eksempelkoden under Eksempel: Føje produkter til et bundt.
Forskelle mellem pakker og bundter
Både pakker og bundter giver dig mulighed for at gruppere produkter til en enkelt enhed, men her er nogle forskelle mellem de to.
Pakker |
Bundter |
---|---|
Alle produkterne i en pakke er obligatoriske. |
Nogle produkter i et bundt kan være valgfri. |
Pakker understøtter indlejring. Du kan føje en pakke til en anden pakke. |
Du kan ikke føje et bundt til et andet bundt. Du kan kun føje produkter til et bundt. |
Når du tilføjer en pakke til en salgsmulighed, et tilbud, en ordre eller en faktura, kan du kun se detaljer på pakkeniveau. Du kan ikke se de enkelte produkter i pakken. |
Når du tilføjer et bundt til en salgsmulighed, et tilbud, en ordre eller en faktura, kan du både se detaljer på bundtniveau og de enkelte produkter i bundtet. |
Bemærk
Pakker frabedes i den aktuelle udgave af Dynamics CRM. Du skal bruge bundter i stedet.
Definere produktrelationer for at få forbedrede forslag under produktsalg
Du kan definere relaterede produkter for et produkt, der vises som forslag til dine salgsagenter under styring af salgsmuligheder eller ordrer. Produktforslag til et produkt giver dine salgsagenter mulighed for at anbefale relaterede produkter og bundter/pakker til kunderne og øge produktsalget. Du kan definere følgende relationer for et produkt: tilbehør, krydssalg, erstatning og opsalg. For eksempel kan Surface Pro tilføjes som et opsalgsprodukt til Surface RT, så når din salgsagent tilføjer Surface RT til en salgsmulighed, et tilbud, en ordre eller en faktura, vil Surface Pro blive foreslået som opsalgsmuligheden.
Brug attributten ProductSubstitute.SalesRelationshipType til at definere produktrelationer. Indstil værdien af denne attribut til:
0 for opsalg
1 for krydssalg
2 for tilbehør
3 for erstatning
Når du definerer produktrelationer, er det vigtigt at definere retningen af relationen for at undgå dubletter af data. De understøttede retninger for produktrelationerne er:
Produktrelation |
Retning |
---|---|
Tilbehør |
Envejs |
Skab krydssalg |
Envejs eller tovejs |
Erstatning |
Envejs eller tovejs |
Skab mersalg |
Envejs |
Brug attributten ProductSubstitute.Direction til at angive retningen for en produktrelation. Indstil værdien af denne attribut til:
0 for envejs
1 for tovejs
Følgende kodeeksempel demonstrerer, hvordan du kan definere relationer for produkter.
// 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);
Definere produktegenskaber (understøttes ikke via SDK)
Du kan kun oprette og administrere produktegenskaber (attributter) ved hjælp af Dynamics CRM eller Dynamics CRM til Outlook. Dette understøttes ikke via programmering. Dette afsnit indeholder blot en oversigt over produktegenskaber, som er vigtige for at forstå den nye produktkatalogfunktion. Du kan finde oplysninger om oprettelse og styring af produktegenskaber i Hjælp og undervisning: Brug egenskaber til at beskrive et produkt.
Produktegenskaber kan kun være knyttet til en produktfamilieforekomst og ikke til en produkt- eller bundtpost. Alle underordnede produktfamilie-, produkt- og bundtforekomster under en overordnet produktfamilie arver de egenskaber, der er knyttet til den overordnede produktfamilie. De underordnede produktfamilie-, produkt- og bundtforekomster kan kun tilsidesætte eller overskrive de nedarvede egenskaber ved hjælp af Dynamics CRM eller Dynamics CRM til Outlook.
Måden, du definerer en produktegenskab på, bestemmer, hvordan den kan bruges af salgsagenten på kørselstidspunktet, det vil sige under tilføjelse af et tilknyttet produkt til en salgsmulighed, et tilbud, en ordre eller en faktura.
Værdien for en produktegenskab, som kan opdateres, kan ændres på kørselstidspunktet, mens værdien af en skrivebeskyttet produktegenskab ikke kan.
For en produktegenskab, der er angivet som krævet, skal der være angivet en værdi for egenskaben på kørselstidspunktet. Ellers vises egenskaben som uløst.
En skjult egenskab vises ikke for salgsagenterne på kørselstidspunktet.
Bemærk
Produktegenskaber påvirker ikke prissætningen af et produkt. Dette indebærer, at Dynamics CRM-prissætningsfunktionen ikke understøtter ændring af prisen på et produkt baseret på en ændring af produktegenskabernes værdier.
Når du reviderer et produkt og ændrer dets egenskaber, opretter Dynamics CRM internt en ny version af produktet og kopierer produktoplysningerne fra det eksisterende produkt til den nyere version. Den nye produktversion har alle oplysningerne, herunder prislister, produktrelationer og egenskaber. De salgsmuligheder, der allerede er oprettet med den ældre version af produktet, kan fortsætte med at referere til den ældre version af produktet. De salgsmuligheder, der oprettes, når produktet er revideret eller udgået, refererer til den aktuelle (nyere) produktversion. Du kan finde flere oplysninger om produkttilstandsovergange i Udgive, revidere, genindlæse, lade udgå og aktivere produkter (produktlivscyklus).
Følgende nye objekter introduceres til lagring af konfiguration af produktegenskaber. Programadgang og administration af disse objekter understøttes ikke:
Objektet DynamicProperty gemmer oplysninger om produktegenskaberne.
ObjektetDynamicPropertyAssociation gemmer oplysninger om den produktfamilie, som en produktegenskab er tilknyttet til.
Objektet DynamicPropertyOptionSet gemmer oplysninger om værdierne i grupperede indstillinger for en produktegenskab af datatypen grupperet indstilling.
Bemærk
Det maksimale antal produkteregenskaber, der kan tilknyttes til en produktfamilie, bestemmes af den følgende organisationsindstilling: Organization.MaximumDynamicPropertiesAllowed. Antallet træder i kraft, når du udgiver en underordnet produktpost eller et bundt under en produktfamilie, som egenskaberne er knyttet til, og ikke på det tidspunkt, hvor du vedhæfter egenskaberne til en kladdeproduktfamiliepost.
Du kan også bruge fanen salg i området for systemindstillinger i Dynamics CRM eller Dynamics CRM til Outlook til at konfigurere det maksimale antal produktegenskaber.Flere oplysninger:TechNet: Administrer konfiguration af produktkatalog.
Klone en produktfamilie, et produkt eller et bundt
Brug meddelelsen CloneProductRequest til at klone en produktfamilie-, produkt- eller bundtpost og oprette en kopi af posten under den samme overordnede node. Du skal angive id'et for posten for at klone den. Kloning en produktpost kopierer også egenskaberne for produktet. Den klonede post oprettes med det dato- og tidsstempel, der er føjet til de oprindelige værdier i attributterne Product.Name og Product.ProductNumber. Dato-tidsstemplet angiver det tidspunkt, hvor posten blev klonet. I følgende kodeeksempel demonstreres, hvordan du kan klone et produkt.
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æste trin
Udgiv dine produktposter for at gøre produkterne tilgængelige, så dine salgsagenter kan sælge dem.Flere oplysninger:Udgiv en produktfamilie, et produkt eller et bundt
Se også
Udgive, revidere, genindlæse, lade udgå og aktivere produkter (produktlivscyklus)
Eksempel: Oprette og udgive produkter
Eksempel: Klone produktposter
Eksempel: Føje produkter til et bundt
Produktkatalogobjekter
© 2017 Microsoft. Alle rettigheder forbeholdes. Ophavsret