Thanks for your helpful response. In terms of the permissions for each type, I used the 'Generate permission set as AL object containing current extension objects' in Visual Studio Code and it created the lines below:-
Permissions = tabledata TrialBalanceByDim=RIMD,
tabledata TrialBalByDimParams=RIMD,
table TrialBalanceByDim=X,
table TrialBalByDimParams=X,
report CustomTrialBalanceByDim=X,
codeunit CustomTrialBalancePopulator=X,
page TrialBalanceByDim=X,
page TrialBalByDimParams=X,
query GleDv1=X;
so, this seems to indicate that for object types: table, report, codeunit, page & query the only permission required is ‘Execute: Yes’. And for TableData: RIMD.
Is that correct for this example?
Would this be correct for all extensions or would each project differ?