Determining applicable report personalizations

To determine which report personalization variants are applicable, only the most specific level for which a personalization exists is considered. The most specific level is user, role, or company, in that order. If that level contains multiple variants, then a choice is displayed. Otherwise the only available personalization is used.

This table shows examples of personalizations, all for the same report:
Level For Variant
Company 70
Role SERVICE Simplified Contract
Role SERVICE Complex Contract
User user1

If user1 prints the report, then the one personalization on user level is used; the user does not have to make a choice.

If user2 with role SERVICE prints the report, then the two variants on role level are applicable; the user must make a choice.

Alternatively, the extension can make the choice instead of the user. To do so, the Get Alternative Report hook of the report extension should set the spool.report.variant predefined variable to the variant code to print. In this case, the most specific level for which the variant exists is used: if user1 prints the report, and the extension selects the “Simplified Contract” variant, then the personalization on role level is used.