![HCL Commerce Enterprise](../../base/images/ngent.gif)
Crear el resumen para el elemento de regla de precio
Por qué y cuándo se efectúa esta tarea
![Ejemplo de un resumen de elemento de regla de precio](../images/locale/screensnap/pi_regconditionsummary.gif)
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
- Abra HCL Commerce Developer y cambie a la vista Explorador de empresa.
- 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/
-
Cree un archivo de XML con esta sintaxis:
pricerule_element_nameSummary.xml
, por ejemplo, RegistrationTimeConditionSummary.xml. -
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.
-
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/