HCL Commerce Enterprise

Crear el resumen para el elemento de regla de precio

Si desea mostrar texto de resumen debajo del elemento de regla de precio en el área de trabajo del Creador de reglas de precios, cree una nueva extensión para este resumen. En el Creador de reglas de precios, los usuarios de empresa pueden leer el texto de resumen para entender rápidamente cómo se utiliza un elemento en una regla de precio.

Por qué y cuándo se efectúa esta tarea

Se trata de un ejemplo del resumen para una condición tal como se mostraría a un usuario de empresa en el área de trabajo del Creador de reglas de precios; el resumen es el texto El cliente se ha registrado antes del 31 de enero de 2010:
Ejemplo de un resumen de elemento de regla de precio

Normalmente, el texto de resumen puede ser texto estático o una combinación de texto estático y dinámico. En el ejemplo anterior, todo el texto es estático, con la excepción de la fecha real. Esta fecha cambia de forma dinámica en función de la fecha que el usuario de empresa especifica en las propiedades de la condición. Puede revisar otros ejemplos de resúmenes si consulta otras condiciones y acciones de reglas de precios en el Centro de gestión.

Considere la posibilidad de utilizar el resumen de un archivo existente, un elemento de regla de precio similar como punto de partida para su nuevo elemento de regla de precio. Los archivos de resumen existentes se almacenan en esta vía de acceso:

LOBTools/WebContent/WEB-INF/src/xml/commerce/price/restricted/propertiesViews/priceRuleBuilder/

Procedimiento

  1. Abra HCL Commerce Developer y cambie a la vista Explorador de empresa.
  2. Cree un directorio para almacenar su nuevo archivo de resumen.
    Utilice una estructura de directorios parecida a la del ejemplo siguiente:

    LOBTools/WebContent/WEB-INF/src/xml/your_company_name/price/propertiesViews/priceRuleBuilder/

  3. Cree un archivo de XML con esta sintaxis: pricerule_element_nameSummary.xml, por ejemplo, RegistrationTimeConditionSummary.xml.
  4. Defina el nuevo resumen.
    Este es el código que genera la clase de resumen en el ejemplo anterior, basado en el archivo predeterminado DateConditionFlowElementSummary.xml:
    <Definitions>
    	<FlowElementSummary classDefinition="true" definitionName="cmc/price/RegistrationTimeConditionElementSummary">
    		<dependency localName="priceResources" moduleName="cmc/price/PriceResources"/>
    		<dependency localName="DateUtil" moduleName="cmc/foundation/DateUtil"/>
    		<dependency localName="PreferenceManager" moduleName="cmc/shell/PreferenceManager"/>
    		<FlowSummaryParam name="startDate" propertyName="startDate"/>
    		<FlowSummaryParam name="endDate" propertyName="endDate"/>
    		
    		<!--- @keywords private -->
    		<handler name="oninit">
    			<![CDATA[
    			this.updateSummaryDel.connect(priceResources.Singleton.startDate, "onstring");
    			this.updateSummaryDel.connect(priceResources.Singleton.endDate, "onstring");
    			this.updateSummaryDel.connect(PreferenceManager.Singleton, "preferenceChanged");
    			]]>
    		</handler>
    
    		<method args="e" name="updateSummary">
    			<![CDATA[
    			if (typeof(e) == "undefined") e = null;
    			var summaryText = "";
    			var tooltipText = "";
    			var startDate = this.resolvedParams.startDate;
    			var endDate = this.resolvedParams.endDate;
    			var sDate = DateUtil.Singleton.parse(startDate, DateUtil.Singleton.DATE_TIME_FORMAT);
    			startDate = DateUtil.Singleton.formatUI(sDate, DateUtil.Singleton.UI_DATE_TIME_FORMAT);
    			var eDate = DateUtil.Singleton.parse(endDate, DateUtil.Singleton.DATE_TIME_FORMAT);
    			endDate = DateUtil.Singleton.formatUI(eDate, DateUtil.Singleton.UI_DATE_TIME_FORMAT);
    			if (startDate != "") {
    				summaryText = priceResources.Singleton.replaceValues("summary_startDate", [startDate]);
    				tooltipText = priceResources.Singleton.replaceValues("summary_startDate", [startDate]);
    			}
    			if (endDate != "") {
    				summaryText += ", " + priceResources.Singleton.replaceValues("summary_endDate", [endDate]);
    				tooltipText += ", " + priceResources.Singleton.replaceValues("summary_endDate", [endDate]);
    			}
    			this.setSummaryText(summaryText);
    			this.setTooltipText(tooltipText);
    			]]>
    		</method>
    		
    	</FlowElementSummary>
    </Definitions>
    Donde:
    • El método updateSummary establece el texto de resumen para el elemento de regla de precio.
    • El método updateSummary debe llamar al método setSummaryText con el texto de resumen.
  5. Registre este nuevo resumen como una definición de objeto.

    Cree un archivo RegistrationTimeFlowElementObjectDefinition.xml similar a los archivos de definición de objeto en LOBTools/WebContent/WEB-INF/src/xml/commerce/price/objectDefinitions/priceRuleBuilder/