Warn about insufficient/invalid arguments in a call to the built-in GET procedure
Would like to see that the AL compiler or one of the code analyzers gives a warning when the Get procedure is called with insufficient arguments, too many arguments, or arguments of invalid types that do not match the formal parameters expected given the PK of the record in question. This is an e...
Code analyzer warning on passing (text-)array with (entries of) insufficient length as an argument to a procedure
Would like to see a code analyzer rule that warns developers when in code a text-array is passed as an argument, but the array length or max. length of the text-entries do not match the formal parameter. (1) Example 1: Given the following variable declarations: var FormatAddr: Codeunit "Form...
Show All Overloads of a Procedure in the IntelliSense (or indicator of multiple overloads)
If you have a procedure that has multiple overloads (so, for example, same procedure name but different parameters), then if you want to add a new statement somewhere else in your code calling one of these procedures utilizing the IntelliSense will always only show a single procedure and not all ...
Implement "Quick Fix" in VSCode for completing Handler functions' signatures
When you add one of the Handler attributes to a procedure, your procedure should match the expected signature for that Handler-type. For example: [MessageHandler] procedure MyMessageHandler() begin end; Will raise the following error message: ``` The signature of procedure 'MyMe...
Code analysis error or warning on missing affixes for permissionset objects (AS0011 for permissionset objects)
Dear Dynamics 365 Business Central team, It might be good to look into implementing AppSourceCop rule AS0011 for permissionset objects as well, i.e., raise an error (or warning) that tells you that your affix is missing in the object name. If I am correct, the permission set IDs could clash in t...
Static Code Analysis Rule that checks that the DataPerCompany property is set explicitly
It would be helpful to have a code analysis rule that enforces you to set the DataPerCompany property on a table object explicitly. Considering this property has a huge impact, it would be good to have the developer be reminded of the choice of making the table a per-company or 'global'/company-w...
Enum.GetName() Method
Detect obsoleted report object columns / Inform administrators that their report layouts are using obsoleted columns
It is possible to set the ObsoleteReason, ObsoleteState and ObsoleteTag properties on report object columns (and data items).
That's good, but there is no way for administrators/users to know that their report layouts are still using obsoleted report object columns.
Because of that...