Códigos de cálculo para pedidos

Los códigos de cálculo representan formas de determinar importes monetarios asociados con Artículos de pedido. El objeto de Código de cálculo y los objetos de Método de cálculo asociados definen cómo calcular importes como, por ejemplo, ajustes de precio (cupones y descuentos), costes de envío e impuestos.

Los mandatos OrderCalculate y OrderPrepare determinan qué clases de cálculos se deben realizar inspeccionando la tabla STENCALUSG. OrderCalculate aceptará el parámetro `calculationUsageId', que determinará los tipos de costes calculados en OrderCalculate. Puede definir que se realicen clases de cálculos adicionales y proporcionar o ampliar la lógica de negocio asociada con cada clase de cálculo.

Los objetos de Método de cálculo predeterminados determinan qué objetos de Código de cálculo se aplican a los artículos de un pedido buscando relaciones de adjuntos en las tablas CATENCALCD, CATGPCALCD, ORDCALCD y ORDICALCD. Calculan sus importes y además de atributos cuantitativos del producto, como peso, cantidad y precio, tienen en cuenta los siguientes atributos:

  • Código de cálculo
  • Pertenencia a un grupo de miembros
  • Escalas de cálculo
  • Fechas inicial y final
  • Secuencia en la que deben realizarse los cálculos

Los Jefes de producto pueden definir objetos de Código de cálculo y adjuntarlos a entradas o grupos de catálogo de sus catálogos. La acción de asociar un código de cálculo a un grupo de catálogo tiene el mismo efecto que la acción de asociarlo directamente a todas las entradas de catálogo del grupo de catálogo. Se puede asociar más de un código de cálculo de descuento o de coste de envío a una entrada de catálogo. Se calcularán los importes para cada código de cálculo. Sin embargo, si se asocia a una entrada de catálogo más de un código de cálculo de impuestos de un tipo de impuesto determinado, el cálculo solo utilizará el que tenga el atributo de secuencia más alta. También puede limitar una asociación de código de cálculo a acuerdos comerciales específicos. Se considera que los códigos de cálculo adjuntos a las entradas y los grupos de catálogo están indirectamente adjuntos a los objetos de Artículo de pedido que hacen referencia a dichas entradas de catálogo.

Los Representantes de servicio al cliente de la tienda pueden adjuntar directamente objetos de Código de cálculo a objetos de Pedido o de Artículo de pedido, para alterar los descuentos y los costes de envío que, de lo contrario, los códigos de cálculo indirectamente adjuntos calcularán. Los objetos de Código de cálculo que están directamente adjuntos a un pedido se consideran directamente adjuntos a todos los artículos de dicho pedido.

Se puede restringir el uso de los códigos de cálculo a los clientes calificados. Cuando el atributo de distintivos de Código de cálculo especifica el bit "restringido", se invoca el Método de cálculo CalculationCodeQualify. La implementación predeterminada de dicho método solo permite utilizar el código de cálculo si el cliente aparece en uno de los objetos de grupo de miembros listados en la tabla CALCODEMGP y solo si el grupo de miembros también aparece en la tabla STOREMBRGP para la tienda.

Si un pedido contiene una promoción de envío caducada, se eliminará del pedido cuando se ejecute OrderCalculate o OrderPrepare.

La tabla de base de datos PX_PROMOARG contiene la información sobre todas las promociones aplicadas a un pedido.