Download

Statical Prism for AL Standard Edition (SE) Preview 0.9.5

Getting Started

  • Install Prism for AL from the Download section
  • Open a VS Code folder or workspace file
  • During opening, Prism will:
    • Analyze module dependencies
    • Unpack and cache module dependencies (from .alpackages folder), so subsequent store opening is quicker
    • Analyze and index source code residing in the VS code project itself (single folder or multiple folders in case of workspace file)
    • Analyze and index source code in dependencies when ShowMyCode=true, otherwise index symbol file
  • Browse code of whole solution (for dependencies with ShowMyCode false, we cannot access the source code)
  • Use unique features for Prism for AL
  • Use 'good old' Prism functionality across the whole code base, e.g.:
    • Find usages of objects, procedures (including event publishers), triggers, variables, parameters
    • Find field usages including (where is field updated/read)
    • Find system function usages on objects, e.g. Insert/Modify
    • Procedure and Field name search

Feedback

Your feedback is more than welcome!

Please send your feedback via Prism's built-in feedback facility or by email to feedback@stati-cal.com.

Supported versions

  • Business Central 15
  • Business Central 16
  • Business Central 17

Major features unique to Prism for AL (compared to Prism for C/AL)

  • Merged object view (shows extension declarations inline)
  • Module dependency graph
  • Object outline

Known preview limitations

  • Unsupported object types (only source code view supported):
    • Enum (issue #1034)
    • EnumExtension (issue #1035)
    • PageCustomization (issue #1036)
    • Profile (issue #1038)
    • ControlAddIn (issue #1039)
    • DotNet (issue #1040)
  • Transfer field mapping must include extended fields (issue #1020)
  • Name resolution: respect protected keyword (issue #982)
  • Name resolution: respect app.json InternalsVisibleTo (issue #981)

Planned features

Our top priority is to eliminate known preview limitations.

Further features planned:

  • Open solution from server (issue #975)
  • VS Code integration, so Prism functionality can be invoked directly from VS Code

Release notes

Prism for AL 0.9.5 (released October 20th, 2020)
ID Type Description
1151 Bugfix Load error when report lacks data set, request page, and labels
Prism for AL 0.9.4 (released October 19th, 2020)
ID Type Description
1148 Bugfix Startup error (cache directory does not exist)
Prism for AL 0.9.3 (released October 18th, 2020)
ID Type Description
1023 Feature Module dependencies via app.json property 'application' (support for base application aliasing)
1070 Feature Module dependency proparation via app.json property 'PropagateDependencies'
1120 Feature Package diff resolution: use package 'signature' for uniqueness
1115 Feature Module dependency version behavior: MinVersion vs Version
1142 Feature Workaround for BC17 System Application SymbolReference.json being end-padded by NULs
1139 Feature Report "Save Object Dependencies" - added ControlAddIn dependency from pages
1138 Feature Report "Save Object Dependencies" - added interface dependency from Enum and EnumExtensions
1003 Feature Add extension name to 'Object Dependencies and 'Unreferenced Objects' reports
1136 Feature BC17: DataAccessIntent property
1134 Feature BC17: Conditional compilation (#if, #elif, #endif, #define, #undef) support (preliminary)
1133 Feature BC17: #pragma compiler directive support (preliminary)
1132 Feature BC17: #region compiler directive support (preliminary)
1129 Feature Diagnostic workspace resolution window
1128 Feature Friendly workspace address display
1137 Bugfix Parse error when last line of file is line comment without newline
1107 Bugfix Parse error when pageextension contains views
1106 Bugfix Parse error when table relation uses some specific const values
1095 Bugfix Parse error when XmlPort has property InlineSchema
1093 Bugfix Indexing error during load for certain scope (::) expressions
1131 Bugfix System module dependency missing in module graph visualization
1111 Bugfix Integration event properties (IncludeSender, GlobalVarAccess) show opposite boolean values
1104 Bugfix Find field usages: Table relation condition left-hand side resolved in relation table instead of source table
1103 Bugfix Open in Text Editor failed to open
1100 Bugfix Descriptive watermark text not shown in Prism fields
1096 Bugfix Enum is usage and dependency of a table field of type Enum
1105 Bugfix Installation issue: 'An assembly specified in the application dependencies manifest (StaticalPrism.deps.json) was not found'
Prism for AL 0.9.2 (released September 2nd, 2020)
ID Type Description
1033 Feature Support for XMLPort objects
1032 Feature Support for Query objects
1015 Feature UI: Reports to show RequestPage when present
1059 Feature .NET Core Migration
1080 Feature Improved error message when workspace contains two modules with the same id
1068 Feature Logging of parse errors: only log fragment of code, not full object
1066 Feature Disable command line argument support.
1065 Feature Verbose log level user switch
1085 Bugfix Parse error on properties APIVersion, CharAllowed, SignDisplacement, SqlTimestamp and SqlDataType
1092 Bugfix Parse error when flowfield has empty CONST expression: CONST()
1091 Bugfix Parse error when ApplicationArea is empty
1074 Bugfix Parse error when in enum expressions when value is a keyword, e.g. MyEnum::Actions
1072 Bugfix Parse Exception 'syntax error'. Last token was 'T_SEMICOLON' - happens when source has an 'empty property', i.e. extra ';' between properties
1078 Bugfix Report top level properties and triggers not displayed
1086 Bugfix "Save Object Dependencies" report missed entries and did not print object id
1084 Bugfix Table dependency in AccessByPermission property not found
1083 Bugfix Installer language changed to English (was mixed Danish and English)
1079 Bugfix Navigation to report data item fails
Prism for AL 0.9.1 (released July 10th, 2020)
ID Description
987 Use symbol file when package manifest has ShowMyCode=false setting
1041 Procedure overloading (resolution and find usages)
1037 Full support for Interface objects
1057 Allow higher memory usage (enabled 64-bit processes)
1058 Object outline: added 'using' and 'used by' sections
1042 Explore table relations enabled (was disabled in previous preview)
979 System function resolution completed including links to Microsoft's documentation