Paramètres de modèle d'élément de règle de tarification
Les paramètres de modèle d'élément de règle de tarification spécifient les portions de données dont une commande de tâche d'élément de règle de tarification a besoin pour effectuer sa fonction. Les services de tarification transmettent les données à la commande de tâche lorsqu'ils traitent une condition ou une action dans une règle de tarification.
<Argument sont des paramètres de modèle d'élément :<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>- Le paramètre
registrationTimereprésente le jour d'enregistrement qu'un professionnel spécifie pour cet élément dans l'interface utilisateur, au formatYYYY/MM/DD. Ce paramètre est comparé au jour d'enregistrement réel d'un client donné. - Le paramètre
registrationTimeOperatorreprésente l'opérateur à utiliser lors de la comparaison de deux valeurs de jour d'enregistrement. Par exemple :- Le jour d'enregistrement réel est antérieur au jour d'enregistrement spécifié par le professionnel.
- Le jour d'enregistrement réel est ultérieur au jour d'enregistrement spécifié par le professionnel.
- Le jour d'enregistrement réel est égal au jour d'enregistrement spécifié par le professionnel.
Format des paramètres de modèle d'élément de règle de tarification
Ce format dépend de la provenance des données. Vous disposez de deux options :
- Les données émanent de l'interface utilisateur.Si les données requises par la commande de tâche sont saisies par un utilisateur lors la définition de la condition ou de l'action, leur format est similaire à ceci :
<Argument name="paramName" value="PRICERULE_paramName" />Toutes les valeurs de paramètre provenant de l'interface utilisateur sont précédées du préfixe :
PRICERULE_. Voici un exemple : dans le cas présent, il concerne une condition qui détermine si le client s'est enregistré à une date spécifique, avant cette date ou après :<Argument name = "registrationTime" value = "PRICERULE_registrationTime"/>Lorsqu'un utilisateur entre des données sur une condition ou une action utilisée dans une règle de tarification, puis les sauvegarde, les paires nom-valeur de chaque paramètre de modèle d'élément de règle de tarification sont sauvegardées dans la table PRELEMENTATTR. Ci-dessous figure un exemple de ligne dans la table correspondant à une condition pour laquelle PRELEMENT_ID est égal à 1000 :
Exemple de contenu de table DMELEMENTNVP PRELEMENT_ID NAME VALUE 1000 "registrationTime" 2010-07-01 00:00:00 Si la règle est utilisée sur la boutique en ligne pour définir la tarification :
- Les services de tarification recherchent l'entrée paramName dans la table paramName et remplacent la valeur
PRICERULE_paramNamedans le XML d'exécution par la valeur correspondante. - Si paramName est introuvable dans la table PRELEMENTATTR, sa valeur est définie comme une chaîne vide, auquel cas ce paramètre est ignoré.
- Les services de tarification recherchent l'entrée paramName dans la table paramName et remplacent la valeur
- Les données sont spécifiées directement dans la définition du modèle.
Dans le cas de certaines conditions et actions, la commande de tâche requiert des données qui ne sont pas saisies par l'utilisateur professionnel. Dans ce cas, le paramètre value n'est pas précédé du préfixe
PRICERULE_.Par exemple, si une commande de tâche doit vérifier si un utilisateur est enregistré, le paramètre suivant peut transmettre ces informations à la commande de tâche :
<Argument name="userType" value="R" />
Paramètres des listes capturées dans les objets de grille
Pour certains éléments de règle de tarification, les professionnels peuvent spécifier des listes d'éléments, comme des catégories, des entrées de catalogue ou des groupes de membres. Par exemple, un professionnel peut spécifier plusieurs catégories pour l'élément Condition de catalogue. Dans la vue Propriétés de l'élément de règle de tarification, les listes sont capturées à l'aide d'un objet grille. Lorsque la liste est rendue persistante dans la table PRELEMENTATTR, chaque ligne de la grille correspond à une ligne de la table PRELEMENTATTR et chaque ligne se réfère au même nom de propriété. Par exemple :
| PRELEMENT_ID | NAME | VALUE |
|---|---|---|
| 1000 | "categoryIdList" | "10101" |
| 1000 | "categoryIdList" | "10102" |
| 1000 | "categoryIdList" | "10103" |
Lorsque ce type de paramètre est inclus dans une définition de modèle d'élément de règle de tarification, le paramètre ne doit spécifier qu'un seul élément. Par exemple, le paramètre dans l'exemple précédent est similaire à ceci :
<Argument name="categoryIdList" value="PRICERULE_categoryIdList"/>Pour extraire la liste depuis l'interface utilisateur, la commande de tâche de l'élément de règle de tarification correspondant doit appeler la méthode getElementParameters. Cette méthode renvoie une liste de toutes les valeurs, séparées par des virgules, de la table PRELEMENTATTR. Pour l'exemple précédent, le code getElementParameters().get("categoryIdList") renvoie 10101,10102,10103.
Paramètres communs utilisés dans les éléments de règle de tarification
Plusieurs paramètres sont déjà définis pour les conditions et actions livrées avec le Centre de gestion. Si vous créez une nouvelle condition ou une nouvelle action, vous pouvez utiliser les paramètres définis ici afin d'envoyer des données depuis l'interface utilisateur à la commande de tâche, ou bien créer les vôtres.
| Paramètre | Données qu'il spécifie ou valeurs valides |
|---|---|
| PRICERULE_priceListId | ID liste de prix |
| PRICERULE_scope | Valeurs valides :
|
| PRICERULE_specifiedInTable | Valeurs valides :
|
| PRICERULE_inCategories | Valeurs valides :
|
| PRICERULE_catalogEntryIdList | ID entrée de catalogue (par exemple, un produit ou une unité de stockage) |
| PRICERULE_categoryIdList | ID catégorie |
| PRICERULE_includedInCatalogFilters | Valeurs valides :
|
| PRICERULE_calculationType | Valeurs valides :
|
| PRICERULE_markUpPercentage | Pourcentage de majoration du prix d'entrée. |
| PRICERULE_markDownPercentage | Pourcentage de minoration du prix d'entrée. |
| PRICERULE_priceEquationId | ID équation de prix |
| PRICERULE_priceRuleId | ID règle de tarification. |
| PRICERULE_inputOperandType | Valeurs valides :
|
| PRICERULE_inputOperandReferenceId | ID référence (par exemple, ID de la constante de prix) |
| PRICERULE_operator | Opérateur ne permettant de comparer que des nombres (par exemple, il ne peut pas être utilisé pour comparer des dates ou des heures). Valeurs valides :
|
| PRICERULE_comparisonOperandType |
|
| PRICERULE_comparisonOperandReferenceId | ID référence (par exemple, ID de la constante de prix) |
| PRICERULE_numericalValue | Valeur du nombre entrée par l'utilisateur. |
| PRICERULE_coordinatorType | Valeurs valides :
|
| PRICERULE_pattern | Modèle d'arrondi à utiliser pour arrondir les prix. |
| PRICERULE_definingCurrencyCodes | Devises auxquelles le modèle d'arrondi s'applique. |
| PRICERULE_scope | Valeurs valides :
|
| PRICERULE_targetMemberGroups |
|
| PRICERULE_targetOrganizations |
|
| PRICERULE_memberGroupIdentifier | ID des groupes de membres spécifiés. |
| PRICERULE_organizationIdentifier | ID des organisations spécifiées. |
| PRICERULE_inPriceLists |
|