Reprocessing portions of Dynamic Pricing Rules
With the Dynamic Pricing tag <AlwaysReprocess></AlwaysReprocess> portions of Dynamic Pricing Rules can be reprocessed even when a sale is recalled at a salespoint with RecalculatePriceOnRecall=FALSE.
Portions of a Dynamic Pricing Rule which are always reprocessed are included in <AlwaysReprocess></AlwaysReprocess> tags.
Example:
IF(DOW(SAT-SUN),SETPRICE(100),SETPRICE(80))
<AlwaysReprocess>
IF(GROUP(3),MACRO2(SETPROFITCENTERS("DPC3")))
IF(GROUP(4),MACRO2(SETPROFITCENTERS("DPC4")))
</AlwaysReprocess>
If an item with this rule is recalled, and RecalculatePriceOnRecall=FALSE, the saved price is used as the base price and the portion of the rule between the <AlwaysReprocess> tags is treated as the full Dynamic Pricing Rule for this item. Because they could potentially be in sub-rules, the tags may be nested and there may be multiple <AlwaysReprocess> sections in a single rule. In the case of nested tags, the inner tags are ignored. In the case of multiple <AlwaysReprocess> sections, the different sections are concatenated to create the new rule. These tags only affect the behavior of Sales if RecalculatePriceOnRecall=FALSE and When Recalling Saved Sales Retain Line Item Prices As Saved is checked in SysManager > Preferences > Miscellaneous > Sales and only when recalling Sales. The specific reason this was added was so that Dynamic Profit Center Rules are recalculated on recall and so that Dynamic Profit Centers use the finalization location instead of the save location in their calculations.