BusinessCentral.LinterCop icon indicating copy to clipboard operation
BusinessCentral.LinterCop copied to clipboard

LC0068: suggestions

Open NavNab opened this issue 1 year ago • 11 comments

First of all, thank you for this rule. Very useful. It detects all 'missing' permissions (with few false-positive-ish 😅 / see exemple below). The downside now is that my 'Problems' pane is flooded with 1k+ messages: The current object is missing permission "abc" for tabledata "xyz". So, I may easily miss more important warning. If I recall, this rule originated from a discussion about indirect permissions. This issue usually is about a missing modify. With that in mind, could you please:

  1. add a setup to enable/disable each permission 'rimd' separately. Or maybe (doable easily-quickly) split the rule to 4 rules so we can enable/disable them separately. I, for example, currently don't care about a potential missing read permission for table Item as almost everyone is allowed to read it 😅
  2. add a setup to (include) focus on tables that really matter (17, 21, 25, 32, etc.) --> The 'include' implies 'exclude all other tables that are not on te list'

false-positive-ish

Do not apply te rule for a table that calls itself --> GetNextEntryNo for example:

table 50000 "MyTable"
{
    fields
    { field(1; EntryNo; Integer){ } }

    keys
    { key(PK; "EntryNo") { Clustered = true;} }

    internal procedure GetNextEntryNo(): Integer
    var
        MyTable: Record "MyTable";
    begin
        if MyTable.FindLast() then
            exit(MyTable.EntryNo + 1);
       exit(1);
    end;
}

NavNab avatar Oct 06 '24 09:10 NavNab