Hello,
You did not specify, where your client is supposed to enter such values; I will guess it is in uStore 17.2.
I am not particularly proud of the following idea (which is not necessarily environment friendly), but should somebody ask me to have it work in, say, the next five minutes, I would give it a try anyway.
First, I would negotiate with the client, what would be the lowest and highest values. Say 1 and 1 million respectively.
Then, I would create a data source-bound document with either a Counter or an real data source such as Excel. The values would be in a column named "Index", per instance.
I would demonstrate to myself that everything works fine from uStore, and that the document correctly produces 1 million personalized pages.
Then, I would create 2 Dial variables ("Start" and "Finish" respectively) and a fictitious Content Object ("Skipper").
The uStore Customization Wizard would let the client enter his own values in the Dial variables (whose settings could try to prevent the client to enter unsupported values).
The Content Object would avoid composing with the data source "wrong values" thanks to the "Skip" function, based on some QLingo like (not tested):
/* Optional code, as the uStore Customization Wizard is capable of doing the same
If ( @{Start} < 1 Or @{Finish} > 1000000 ) {
ReportMessage( "Out of supported range! (Start=" & @{Start} & ", Finish=" & @{Finish} & ")" );
Abort
} Else
*/
If ( @{Start} > @{Finish} ) {
ReportMessage( "Unordered values! (Start=" & @{Start} & ", Finish=" & @{Finish} & ")" );
Abort
} Else
If ( |->[Index] < @{Start} Or |->[Index] > @{Finish} ) {