Indexación de precios de contrato en la HCL Commerce Search
Precios en la HCL Commerce Search
- Los precios de oferta, o precios de contrato predeterminado, se indexan directamente desde el contrato predeterminado de la tienda propietaria.
- Los precios de catálogo se indexan directamente desde las tablas de base de datos LISTPRICE u OFFER, en función del origen de precio.
- Los precios de contrato se calculan basándose en el contrato seleccionado. A continuación, se indexan en HCL Commerce Search en el índice de entrada de catálogo o el índice de extensión de precio, en función del número de contratos que contenga el sitio o el origen de los datos de precio.
Los precios indexados se llenan rápidamente, pero no se evalúan dinámicamente. Para asegurarse de que el escaparate muestra precios precisos, puede cambiar la modalidad de precio para que se adapte a sus necesidades de negocio.
Al trabajar con precios y monedas en HCL Commerce Search, se utiliza de forma predeterminada una columna de índice independiente para manejar varias monedas.
Indexación de precios
- En el índice de entrada de catálogo, cuando el sitio contiene menos de 1000 contratos y los datos de precios está contenidos en HCL Commerce. Puede calcular e indexar precios utilizando la llamada RESTful de creación de índice. Para obtener más información, consulte Creación del índice de HCL Commerce Search.
La llamada RESTful para Calcular precio actualiza la información en el índice de precios a petición basándose en el modelo de fijación de precios que la tienda utiliza. Para obtener más información, consulte Crear precio de contrato como incluido en el índice CatalogEntry.
El mandato de trabajo ContractPriceCalculate se utiliza para calcular precios en una planificación de todas las entradas de catálogo que pertenecen a un catálogo maestro específico. El precio de entrada de catálogo se calcula para todos los contratos que pertenecen a la tienda. Para obtener más información, consulte Creación y planificación del trabajo ContractPriceCalculate.
- En el índice de extensión de precios, cuando el sitio contiene más de 1000 contratos o si utiliza un origen externo para llenar los precios. Los precios se indexan utilizando la carga de índice, ya que puede llenar una gran cantidad de datos en un índice de extensión independiente más rápido que lo que el índice de entrada de catálogo pueda indexar los datos de precios. Para obtener más información, consulte Carga de índice.
- Al indexar precios de contrato, asegúrese de que el valor de wc.search.priceMode.compatiblePriceIndex está establecido en 1.0 en la tabla STORECONF:
insert into storeconf(storeent_id,name,value) values('storeent_id', 'wc.search.priceMode.compatiblePriceIndex', '1.0');
Cálculo de precios
Los precios se pueden calcular completamente o para una entrada de catálogo, un contrato o una moneda especificados. Cuando se utilizan nuevos cálculos de precios, todos los datos de precios anteriores se eliminan del índice antes de que se vuelvan a calcular los precios de contrato B2B.
- Servidor o entorno dedicado
- Asigne un servidor o una instancia dedicados para calcular los precios.
- Entorno real en un repetidor
- Puede calcular y crear el índice de precios en un repetidor. A continuación, los precios y otros datos dentro del índice de entrada de catálogo y grupo de catálogo se replican en los subordinados de búsqueda.
- Entorno de autoría en maestro
- Calcule los precios en un nodo de HCL Commerce en un maestro/autoría.
Lógica de recálculos de precios completos
- El recálculo de precios utiliza los contratos de tienda actuales y futuros que comparten el catálogo maestro.
- solo se respetan las monedas soportadas para todas las tiendas activas identificadas en el catálogo maestro, mientras que otras se ignoran y no se indexan. Esta restricción se debe a que los precios se vuelven a calcular en nombre del administrador de sitio y, por lo tanto, no se puede calcular ningún precio a nivel de segmento de cliente.
- De forma predeterminada, los cálculos de precios se basan en alguna unidad de medida (kilos, cajas, lotes) que tenga una cantidad numérica base de 1 o en una unidad de C62. C62 se utiliza para indicar elementos que no se cuentan según una unidad de medida distinta. Por ejemplo, las camisas no se miden normalmente en kilos, sino por cantidad. Su unidad de medida se puede establecer como C62. Una limitación de este enfoque es que se omite cualquier precio a nivel de paso, es decir, precio basado en cantidad.Consejo: Puede solucionar temporalmente esta limitación definiendo de forma explícita C62 como un valor 1 y luego definiendo una unidad basada en C62 que puede multiplicarse. Por ejemplo, la siguiente consulta SQL crea una nueva unidad, CS, basada en C62, que puede multiplicarse para habilitar el precio a nivel de paso o basado en cantidad.
INSERT INTO QTYCONVERT VALUE('CS',1,'C62',1,'M','N',0);
Lógica de los recálculos
- Los ID de contrato no se validan cuando se pasan como un parámetro independiente, para que los contratos futuros muestren los precios correctos cuando se previsualiza una fecha futura en la vista previa de la tienda.
- Todos los contratos caducados y suspendidos son seguros de eliminar de la tabla temporal TI_CNTRPRICE para la entrada de catálogo especificada o el contrato que se especifica en los parámetros del programa de utilidad. Es decir, la lista de depuración solo está limitada a la entrada de catálogo o al contrato especificados. Por ejemplo, si especifica un contrato caducado, se depuran todas las entradas de catálogo cubiertas por ese contrato. Sin embargo, si especifica una entrada de catálogo, todos los contratos caducados se depuran solo para la entrada de catálogo especificada.
- Si un contrato está suspendido e inactivo, el precio de contrato se elimina. Si un usuario de empresa reanuda el contrato y se activa de nuevo, el precio no se muestra en el escaparate hasta que el precio se calcula de nuevo para el contrato reanudado.
- Cuando se pasa un producto, un contrato o una moneda no válidos, la lógica ignora y, por lo tanto, no indexa los valores no válidos.
- Si un contrato pasado está caducado o suspendido, se suprime y depura del resultado del cálculo. De lo contrario, si se pasa un contrato que estará activo en una fecha futura, se indexa. Es decir, aunque no esté actualmente activo en el momento del recálculo de precios.
- Los parámetros storeId y currency no se pueden especificar con ningún otro parámetro.
Lógica de personalización
Los precios de contrato activos y futuros se incorporan en el índice de entrada de catálogo utilizando definiciones de campo que empiezan por price_, seguido por una combinación de contrato y moneda. Por ejemplo, price_USD_10001 o price_CNY_10002. En cambio, para releases sin precios de contrato indexados, el índice de entradas de catálogo utiliza definiciones de campo que empiezan por price_, seguidas solo por su moneda.
Nombre: | Tipo | Descripción: |
---|---|---|
CATENTRY_ID | BIGINT NOT NULL | El ID de la entrada de catálogo. Esta columna contiene toda la entrada de catálogo para el catálogo maestro especificado. |
PRICE | CLOB | Varios pares de valores para diferentes contratos y valores de moneda que están separados por un espacio en blanco. |
- SolrRESTSearchCatalogEntryViewPriceQueryPostprocessor
- SolrRESTSearchByPriceExpressionProvider
- SolrSearchResultFieldQueryPreprocessor
- SolrSearchFacetQueryPreprocessor
En los sitios ampliados, la tienda con elementos de catálogo define el precio en el catálogo maestro para que los sitios ampliados compartan los precios de la tienda con elementos de catálogo. O bien, el sitio ampliado puede alterar temporalmente los precios para que contenga los precios específicos del sitio ampliado. Distintos sitios ampliados pueden crear elementos específicos con precio específico. Cuando se calculan los precios, se calculan primero los elementos específicos de tienda . Los elementos compartidos se calculan cada uno por tienda según el contrato y la moneda específicos. La API de precio obtiene el precio correcto, basado en el contrato, la regla de precio, el modelo de precios o los términos y condiciones de contrato específicos. Diferentes sitios ampliados pueden definir diferentes precios utilizando un contrato diferente. Cuando un comprador inicia la sesión en una tienda de sitio ampliado diferente, se resuelven contratos diferentes. A continuación, el comprador ve los precios relevantes en la tienda, incluso para el mismo producto del catálogo maestro.
Se configuran varias columnas de precios en el índice de entradas de catálogo. Cuando un comprador inicia la sesión en el escaparate, se recupera el contrato de comprador elegible. Si hay varios contratos elegibles, el comprador puede seleccionar un contrato para establecerlos para la sesión. A continuación, se visualiza en el escaparate la columna de precio correspondiente que está relacionada con el contrato en la sesión. Para personalizar este comportamiento, la URL ContractPriceCalculate utiliza ContractPriceCalculateCmd como el mandato de entrada general. La lógica puede alterarse registrando una nueva implementación de mandato en la tabla de registro de mandatos. Si desea introducir lógica de cálculo diferente, altere los métodos calculateStoreSpecificItemPrice y calculateSharedItemPrice en el mandato ContractPriceCalculateCmd.
<cmdreg storeent_id="0" interfacename="com.ibm.commerce.price.commands.GetContractUnitPriceCmd+IBM_Admin_CalculatePriceIndex"
classname="com.ibm.commerce.price.commands.CompositeGetContractUnitPriceCmdImpl" target="Local"/>
<cmdreg storeent_id="0" interfacename="com.ibm.commerce.price.commands.GetContractUnitPriceCmd+IBM_Admin_CalculatePriceIndex"
classname="com.ibm.commerce.price.commands.PriceRuleGetContractUnitPriceCmdImpl" target="Local"/>
Si la tienda utiliza el modelo de precios externo, puede registrar su propio mandato de precio para obtener el resultado de precios deseado.
Vista previa del espacio de trabajo
- Los precios B2B que se muestran en la vista previa de la tienda son solo del contenido aprobado.
- Los precios futuros pueden verse previamente si el futuro contrato correspondiente está indexado. La fecha futura se respeta en el contexto de vista previa y muestra el contrato correcto para su visualización.
- Los precios no se pueden asociar con contenido nuevo no aprobado, por ejemplo obtener una vista previa de un producto nuevo no aprobado que no pertenece a ningún contrato.
- Cuando un usuario de empresa cambia el precio de oferta estándar en CMC, desea obtener una vista previa de dichos cambios en la vista previa de la tienda del espacio de trabajo. Si el índice de precios de contrato está habilitado, sin recálculo, no se puede obtener una vista previa de dichos cambios. Debe ejecutar manualmente el servicio de indexación o planificando el servicio de indexación, o calcular un trabajo de precio para capturar los precios cambiados. Esta operación permite que los productos afectados puedan captar los nuevos cambios de precios.