Compartir por


Crear y administrar familias de productos, productos y agrupaciones

 

Publicado: noviembre de 2016

Se aplica a: Dynamics CRM 2015

Defina el catálogo de productos organizando los productos en una estructura jerárquica mediante la creación de productos y agrupaciones en una familia de productos, la definición de productos relacionados, y la adición de propiedades (atributos) a la familia de productos principales de modo que todos los productos y agrupaciones secundarios en una familia de productos hereden automáticamente las propiedades.

De forma predeterminada, al crear un registro de familia de productos, producto, o agrupación, se encuentran en el estado Borrador. Después de crear un producto, definir productos relacionados y configurar atributos para el registro de familia de productos principales, debe publicar el registro de familia de productos, producto, o agrupación para que esté disponible en el sistema para que los agentes de ventas los vendan.Más información:Publique una familia de productos, un producto, o agrupación

Nota

Para los productos que no están asociados con una familia de productos, es decir, los productos que no tienen un registro de familia de productos primario asignado, puede elegir crearlos directamente en un estado Activo al establecer el atributo Organization.CreateProductsWithoutParentInActiveState como 1 (true). De forma predeterminada, este atributo se establece en 0 (false) para una nueva instalación de Microsoft Dynamics 365 y en 1 (true) si actualiza desde una versión anterior de Dynamics 365 para garantizar la compatibilidad para las aplicaciones que trabajan con la versión anterior de Dynamics 365 donde los registros de productos se crearon en un estado Activo.

También puede usar la ficha Ventas en el área de configuración del sistema en Microsoft Dynamics 365 o Microsoft Dynamics CRM para Outlook para especificar si los productos se crean en un estado Activo.Más información:TechNet: Administrar la configuración del catálogo de productos

En este tema

Defina productos, familias de productos y agrupaciones

Agrupaciones y kits

Defina las relaciones de productos para obtener sugerencias mejoradas durante la venta de productos

Defina propiedades de productos (no se admite a través de SDK)

Clonar una familia de productos, un producto, o agrupación

Defina productos, familias de productos y agrupaciones

Use el atributo Product.ProductStructure para definir si un elemento es una familia de productos, producto, o agrupación. Establezca el valor de este atributo como:

  • 1 para crear un producto

  • 2 para crear una familia de productos

  • 3 para crear una agrupación

Nota

Las agrupaciones son nuevas en Dynamics 365. Para obtener más información, consulte Agrupaciones y kits más adelante en este tema.

Para crear un tipo de kit de producto, continúe usando el atributo Product.IsKi.

A continuación encontrará algunos aspectos importantes a tener en cuenta cuando define familias de productos, productos, y las agrupaciones:

  • Un registro de familia de productos puede contener varias instancias de familia de productos, producto y agrupación en una estructura jerárquica. Para una instancia de familia de productos secundaria, producto secundario o agrupación secundaria, defina la instancia de familia de productos primaria mediante el atributo Product.ParentProductId. No puede cambiar el registro primario una vez que lo ha establecido.

  • Un producto o agrupación no puede establecerse como principal, lo que implica que un registro de producto o agrupación no puede tener registros secundarios.

  • Una instancia de familia de productos, producto o agrupación puede formar parte de una instancia de familia de productos solo.

  • No hay límite en el nivel de anidamiento de una familia de productos.

  • Los atributos Product.ValidFromDate y Product.ValidToDate no tienen ninguna lógica de negocios predefinida asociada con ellos, pero hay una comprobación para asegurar que la fecha en Product.ValidToDate debería ser posterior o igual que la fecha en Product.ValidFromDate. Si corresponde, puede implementar su propia lógica de negocios basada en estos atributos. Por ejemplo, puede ejecutar un trabajo programado para automáticamente retirar productos de la temporada pasada mediante el valor de fecha en el atributo Product.ValidToDate.

El siguiente código de ejemplo demuestra cómo puede crear un registro de familia de productos y producto secundario.

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

Agrupaciones y kits

Una agrupación es una característica introducida en Dynamics 365 para reemplazar la antigua funcionalidad de kit. Al igual que un kit, una agrupación es una colección de productos que se vende como una sola unidad. La agrupación de productos es útil para empaquetar productos de forma que los clientes obtengan más ventajas de toda la línea de productos o para ofrecer descuentos en los productos agrupados, lo que permite agrupar productos y venderlos como una sola unidad.

Sólo se pueden agregar productos una agrupación; no se puede agregar un registro de familia de productos, agrupación o kit a una agrupación. Puede agregar productos a una agrupación o un kit creando un registro de asociación de producto con la entidad ProductAssociation. El registro ProductAssociation.ProductId especifica la agrupación o el kit al que desea agregar un producto y ProductAssociation.AssociatedProduct especifica el producto que se agregará. El número máximo de productos que se pueden agregar a una agrupación se determina mediante la siguiente opción de la organización: Organization.MaxProductsinBundle.

También puede usar la ficha Ventas en el área de configuración del sistema en Dynamics CRM o Dynamics CRM para Outlook para especificar el número máximo de productos que se puedan agregar a una agrupación.Más información:TechNet: Administrar la configuración del catálogo de productos

El siguiente código de ejemplo demuestra cómo puede agregar productos a una agrupación.

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

Para ver el ejemplo completo, consulte Ejemplo: Agregar productos a una agrupación.

Diferencias entre kits y agrupaciones

Los kits y las agrupaciones permiten agrupar productos en una sola unidad, pero éstas son algunas diferencias entre los dos.

Kits

Agrupaciones

Todos los productos en un kit son obligatorios.

Algunos productos en la agrupación pueden ser opcionales.

Los kits admiten anidamiento; puede agregar un kit a otro kit.

No puede agregar una agrupación a otra. Solo puede agregar productos a una agrupación.

Mientras agrega un kit a una oportunidad, oferta, pedido o factura, puede ver solo los detalles a nivel del kit; no puede ver los productos individuales en el kit.

Mientras agrega una agrupación a una oportunidad, oferta, pedido o factura, puede ver solo los detalles a nivel de la agrupación, así como los productos individuales en la agrupación.

Nota

Los kits han quedado obsoletos en la versión actual de Dynamics CRM; debe usar agrupaciones en su lugar.

Defina las relaciones de productos para obtener sugerencias mejoradas durante la venta de productos

Puede definir productos relacionados para un producto que se muestran como sugerencias a los agentes de ventas durante la administración de oportunidades o pedidos. Las sugerencias de productos para un producto ayudan a los agentes de ventas a recomendar productos relacionados y agrupaciones/kits a los clientes, y aumentan las ventas de productos. Puede definir las siguientes relaciones de un producto: accesorio, venta cruzada, sustituto e incremento de ventas. Por ejemplo, Surface Pro puede agregarse como producto de incremento de ventas para Surface RT de modo que cuando su agente de ventas esté agregando Surface RT a cualquier oportunidad, oferta, pedido, factura, se sugiera Surface Pro como opción de incremento de ventas.

Use el atributo ProductSubstitute.SalesRelationshipType para definir relaciones de productos. Establezca el valor de este atributo como:

  • 0 para incremento de ventas

  • 1 para venta cruzada

  • 2 para accesorio

  • 3 para sustituto

Cuando define relaciones de productos, es importante definir la dirección de la relación para evitar duplicación de datos. Las direcciones compatibles en las relaciones de productos son:

Relación de productos

Dirección

Accesorio

Unidireccional

Venta cruzada

Unidireccional o bidireccional

Sustituto

Unidireccional o bidireccional

Incremento de ventas

Unidireccional

Use el atributo ProductSubstitute.Direction para especificar la dirección de una relación de productos. Establezca el valor de este atributo como:

  • 0 para unidireccional

  • 1 para bidireccional

El siguiente código de ejemplo demuestra cómo puede definir relaciones para productos.

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

Defina propiedades de productos (no se admite a través de SDK)

Puede crear y administrar propiedades de producto (atributos) con Dynamics CRM o Dynamics CRM para Outlook solo; esto no es compatible mediante programación. Esta sección solo ofrece información general sobre las propiedades de productos, algo fundamental para comprender la nueva característica de catálogo de productos. Para obtener información acerca de la creación y administración de propiedades del producto, vea Ayuda y aprendizaje: Uso de propiedades para describir un producto.

Las propiedades del producto pueden estar asociadas sólo a una instancia de familia de productos, no a un registro de producto o de agrupación. Todas las instancias de familia de productos, producto y agrupación bajo una familia de productos principal heredan las propiedades asociadas a la familia de productos principal. Los registros de familia de productos secundaria, producto y agrupación pueden reemplazar o sobrescribir las propiedades heredadas mediante Dynamics CRM o Dynamics CRM para Outlook solo.

La forma en que se define una propiedad del producto determina cómo lo puede usar el agente de ventas en tiempo de ejecución, es decir, mientras agrega un producto asociado a una oportunidad, una oferta, un pedido, o factura.

  • Un valor de propiedad del producto actualizable se puede cambiar en tiempo de ejecución, a diferencia del valor de una propiedad de producto de solo lectura.

  • Para una propiedad del producto establecida como necesaria, se debe especificar un valor para la propiedad en tiempo de ejecución. De lo contrario, la propiedad se muestra como no resuelta.

  • Una propiedad oculta no se mostrará a los agentes de ventas en tiempo de ejecución.

Nota

Las propiedades del producto no afectan al precio de un producto. Esto implica que el motor de precios de Dynamics CRM no admite el cambio del precio de un producto en función de un cambio en los valores de propiedad del producto.

Cuando revisa un producto y cambia las propiedades, Dynamics CRM internamente crea una nueva versión del producto y copia los detalles del producto desde el producto existente hasta la versión más reciente. La nueva versión del producto tiene todos los detalles incluidas listas de precios, relaciones de productos, y propiedades. Las oportunidades ya creadas con la versión anterior del producto pueden seguir haciendo referencia a la versión anterior del producto. Las oportunidades que se crean una vez se revisa o se retira el producto harán referencia a la versión actual (más reciente) del producto. Para obtener más información acerca de las transiciones de estado del producto, consulte Publicar, revisar, revertir, retirar, y habilitar los productos (el ciclo de vida de productos).

Se muestran las siguientes entidades nuevas para almacenar la configuración de propiedades del producto; no se admite el acceso y la administración de estas entidades mediante programación:

  • La entidadDynamicProperty almacena información sobre las propiedades del producto.

  • La entidadDynamicPropertyAssociation almacena información sobre la familia de productos a la que está asociada una propiedad del producto.

  • La entidadDynamicPropertyOptionSet almacena información sobre los valores del conjunto de opciones de una propiedad del producto del tipo de datos de conjunto de opciones.

Nota

El número máximo de propiedades de producto que se pueden adjuntar a una familia de productos se determina mediante la siguiente opción de la organización: Organization.MaximumDynamicPropertiesAllowed. El número entra en vigor cuando se publica un registro de producto secundario o una agrupación bajo una familia de productos a la que están asociadas las propiedades, y no cuando se asocian las propiedades a un registro de familia de productos de borrador.

También puede usar la ficha Ventas en el área de configuración del sistema en Dynamics CRM o Dynamics CRM para Outlook para configurar el número máximo de propiedades de producto.Más información:TechNet: Administrar la configuración del catálogo de productos.

Clonar una familia de productos, un producto, o agrupación

Utilice el mensaje CloneProductRequest para clonar un registro de familia de productos, producto, o agrupación, y crear una copia del registro bajo el mismo nodo primario. Debe proporcionar el Id. del registro a clonar. Al clonar un registro del producto también se copian las propiedades del producto. El registro clonado se crea con un sello de fecha y hora anexado a valores originales en los atributos Product.Name y Product.ProductNumber; el sello de fecha y hora denota la hora en que se clonó el registro. El siguiente código de ejemplo demuestra cómo clonar un producto.

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

Paso siguiente

Publique los registros del producto para hacer que los productos estén disponibles que los vendan los agentes de ventas.Más información:Publique una familia de productos, un producto, o agrupación

Ver también

Publicar, revisar, revertir, retirar, y habilitar los productos (el ciclo de vida de productos)
Ejemplo: Creación y publicación de productos
Ejemplo: Clonar registros de productos
Ejemplo: Agregar productos a una agrupación
Entidades del catálogo de productos

© 2017 Microsoft. Todos los derechos reservados. Copyright