Property of the ScriptLine: DiaryGridLines.
While the Begin/End Rules are based on the year property, the Insertion Rule are based on the dates that triggered the insertion occurrence. That date can be caused by one of the following properties: specific dates, repeating dates, variable dates.
The settings "Current – x" and "Current + x" are easy to understand from the above. For example, suppose we have an occurrence of the Insert ScriptLine on Tuesday May 22nd, then if the current grid is a monthly, then Q++Studio would generate a full monthly grid beginning at the month of May.
Note that it is possible, though rare, to have insertions overlap. For example, you could have decided to insert 2 grids of a monthly grid every month. You would then have Jan-Feb at the end of January, Feb-Mar at the end of February, etc…
Month Fit Option
The Month fit insertion option is used, when the parent grid is a monthly grid, to insert just the right number of daily or weekly pages, to cover the month between 2 months as displayed by the parent monthly grid.
In the case of a weekly insert, you can use the Month fit insertion option to include as many daily or weekly grids as needed to cover the entire month.
As few months start on a Monday, in most cases, this means that the week containing a month change will be repeated, once before the monthly grid and once after the monthly grid, as shown in the example below.
Example of a Monthly grid with a weekly insert set to "month fit". Note how the week that straddles the month change, is repeated, with February dates handled as outside days the first time, and January dates handled as outside days, the second time.
In the case of daily inserts, you will be able to create daily diaries with monthly inserts, where the 1st of the month must always be in a specific position (usually at the top of the right page, but not necessarily).
In both cases, you will then be able to specify special formatting for days before and after the month.
If you need to display a token based on the current month (ie. January for the 2 pages on the left of the example above, and February for the 2 pages on the right of the example above), or check if a date in in the current month as part of a zap or conditional token, then use 0 as DayValue.