![HCL Commerce Enterprise](../../base/images/ngent.gif)
Parámetros de plantilla de elementos de regla de precio
Los parámetros de plantilla de elementos de regla de precio especifican los fragmentos de datos que necesita el mandato de la tarea de elemento de regla de precio para llevar a cabo su función. Los servicios de precios pasan los datos al mandato de la tarea cuando procesan una condición o una acción de una regla de precio.
<Argument
son parámetros de plantilla de elementos:<FlowElementImplementation type = "RegistrationTimeCondition">
<Implementation invocationType = "TaskCommand">
<Class name = "com.mycompany.commerce.price.rule.commands.element.RegistrationTimeConditionElementCmd">
<Argument name = "registrationTime" value = "PRICERULE_registrationTime"/>
<Argument name = "registrationTimeOperator" value = "PRICERULE_registrationTimeOperator"/>
</Class>
</Implementation>
</FlowElementImplementation>
- El parámetro
registrationTime
representa la hora de registro que un usuario de empresa especifica para este elemento en la interfaz de usuario, en formatoYYYY/MM/DD
. Este parámetro se compara con la hora de registro real para un cliente determinado. - El parámetro
registrationTimeOperator
representa el operador que se debe utilizar al comparar dos valores de hora de registro, por ejemplo:- La hora de registro real es antes de la hora de registro especificada por el usuario de empresa.
- La hora de registro real es después de la hora de registro especificada por el usuario de empresa.
- La hora de registro real es igual a la hora de registro especificada por el usuario de negocio.
Formato de los parámetros de plantilla de elementos de regla de precio
El formato depende de dónde proceden los datos. Hay dos opciones:
- Los datos provienen de la interfaz de usuario.Si los datos que necesita el mandato de la tarea son datos que un usuario de empresa especifica al configurar la condición o acción, el formato es el siguiente:
<Argument name="paramName" value="PRICERULE_paramName" />
Todos los valores de parámetros que provienen de la interfaz de usuario empiezan con este prefijo:
PRICERULE_
. A continuación se muestra un ejemplo; en este caso, se trata de una condición que evalúa si el cliente se ha registrado en una fecha determinada, antes o después de dicha fecha:<Argument name = "registrationTime" value = "PRICERULE_registrationTime"/>
Cuando un usuario de empresa especifica datos sobre una condición o acción utilizada en una regla de precio y luego los guarda, los pares nombre-valor para cada parámetro de la plantilla de elementos de regla de precio se guardan en la tabla PRELEMENTATTR. A continuación se muestra un ejemplo de una fila de la tabla para una condición con el parámetro PRELEMENT_ID con el valor 1000:
Contenido de la tabla PRELEMENTATTR de ejemplo PRELEMENT_ID NAME VALUE 1000 "registrationTime" 2010-07-01 00:00:00 Cuando la regla de precio se utiliza en el escaparate para establecer los precios:
- Los servicios de fijación de precios buscan paramName en la tabla PRELEMENTATTR y sustituyen el valor de
PRICERULE_paramName
del XML de tiempo de ejecución por el valor correspondiente. - Si el paramName no se encuentra en la tabla PRELEMENTATTR, el valor se establecerá en cualquier serie vacía y se hará caso omiso de ese parámetro.
- Los servicios de fijación de precios buscan paramName en la tabla PRELEMENTATTR y sustituyen el valor de
- Los datos se especifican directamente en la definición de plantilla.
Para ciertas condiciones y acciones, el mandato de tarea necesita datos que un usuario de negocio no especifica. En este caso, el parámetro value no tiene el prefijo
PRICERULE_
.Por ejemplo, si un mandato de tarea debe comprobar si un usuario se ha registrado, el parámetro siguiente puede pasar esta información al mandato de tarea:
<Argument name="userType" value="R" />
Parámetros para listas capturadas en objetos de cuadrícula
Para algunos elementos de regla de precio, los usuarios de empresa pueden especificar listas de cosas como categorías, entradas de catálogo o grupos de miembros. Por ejemplo, un usuario de empresa puede especificar más de una categoría para el elemento Condición de catálogo. En la vista de propiedades del elemento de regla de precio, las listas se capturan utilizando un objeto de cuadrícula. Cuando la lista se mantiene en la tabla PRELEMENTATTR, cada fila de la cuadrícula corresponde a una fila de la tabla PRELEMENTATTR, y cada fila hace referencia al mismo nombre de propiedad. Por ejemplo:
PRELEMENT_ID | NAME | VALUE |
---|---|---|
1000 | "categoryIdList" | "10101" |
1000 | "categoryIdList" | "10102" |
1000 | "categoryIdList" | "10103" |
Cuando este tipo de parámetro se incluye en una definición de plantilla de elemento de regla de precio, el parámetro debe especificar sólo un elemento. Por ejemplo, el parámetro para el ejemplo anterior es parecido al siguiente:
<Argument name="categoryIdList" value="PRICERULE_categoryIdList"/>
Para obtener la lista de la interfaz de usuario, el mandato de tarea de elemento de regla de precio correspondiente debe llamar al método getElementParameters. El método devuelve una lista separada por comas de todos los valores de la tabla PRELEMENTATTR. En el ejemplo anterior, el código getElementParameters().get("categoryIdList")
devuelve 10101,10102,10103
.
Parámetros comunes utilizados en los elementos de regla de precio
Las condiciones y accione que se facilitan con el Centro de gestión tienen muchos parámetros definidos. Si va a crear una nueva condición o acción, puede utilizar los parámetros definidos aquí para enviar datos de la interfaz de usuario al mandato de tarea, o puede crear sus propios argumentos.
Parámetro | Datos que especifica o valores válidos |
---|---|
PRICERULE_priceListId | ID de una lista de precios |
PRICERULE_scope | Los valores válidos son:
|
PRICERULE_specifiedInTable | Los valores válidos son:
|
PRICERULE_inCategories | Los valores válidos son:
|
PRICERULE_catalogEntryIdList | ID de una entrada de catálogo (por ejemplo, un producto o código de artículo) |
PRICERULE_categoryIdList | ID de una categoría |
PRICERULE_includedInCatalogFilters | Los valores válidos son:
|
PRICERULE_calculationType | Los valores válidos son:
|
PRICERULE_markUpPercentage | Porcentaje para aumentar el precio de entrada. |
PRICERULE_markDownPercentage | Porcentaje para rebajar el precio de entrada. |
PRICERULE_priceEquationId | ID de la ecuación de precio. |
PRICERULE_priceRuleId | ID de la regla de precio. |
PRICERULE_inputOperandType | Los valores válidos son:
|
PRICERULE_inputOperandReferenceId | ID de referencia (por ejemplo, el ID de la constante de precio) |
PRICERULE_operator | Operador para comparar solamente números (por ejemplo, no puede utilizarse para comparar fechas u horas). Los valores válidos son:
|
PRICERULE_comparisonOperandType |
|
PRICERULE_comparisonOperandReferenceId | ID de referencia (por ejemplo, el ID de la constante de precio) |
PRICERULE_numericalValue | Valor del número especificado por el usuario. |
PRICERULE_coordinatorType | Los valores válidos son:
|
PRICERULE_pattern | Patrón de redondeo que se debe utilizar para redondear precios. |
PRICERULE_definingCurrencyCodes | Monedas a las que se aplica el patrón de redondeo. |
PRICERULE_scope | Los valores válidos son:
|
PRICERULE_targetMemberGroups |
|
PRICERULE_targetOrganizations |
|
PRICERULE_memberGroupIdentifier | Identificadores de los grupos de miembros especificados. |
PRICERULE_organizationIdentifier | Identificadores de las organizaciones especificadas. |
PRICERULE_inPriceLists |
|