Statical Prism for AL is our analysis tool and code browser for Microsoft Dynamics 365 Business Central.
Total solution overview
Module details and dependency graph, table relations graph and more.
Extensive code graph
Run powerful code queries on your workspace-as-a-graph — leave no stone unturned.
Semantic search
Find usages, find system function usages, semantic filtering, and much more.
Rich code browsing experience
Extended object view with inlined extensions, semantic code coloring, Visual Studio Code integration, etc.
Read more on https://stati-cal.com/PrismForAL.
History:
2.7.0:
- ID-2389 Feature Feature usage overview
- ID-2272 Feature Event triggers should should have a more prominent placing in UI
- ID-2420 Feature BC24: Support for new properties AllowMultipleFiles and AllowedFileExtensions
- ID-2419 Feature BC24: Support for page layout areas Prompt and PromptOption and action areas Prompting and PromptGuide
- ID-2417 Feature BC24: Support for FileUploadAction
- ID-2414 Feature BC24: Support for new types: FileUpload and Cookie
- ID-2404 Feature Improved display of recent items (usability)
- ID-2403 Feature Search fields/procedures/publishers: custom result limit for faster display of large number of results
- ID-2398 Feature New notification system (informations, warnings, errors)
- ID-2392 Feature Improved error message when new license key cannot be written to disk
- ID-2385 Feature Indicate record data type as temporary when built-in function is used on a temporary instance
- ID-2369 Feature Improved performance of opening windows
- ID-2379 Bugfix Flow result: Order of control modifications must equal syntax order
- ID-2415 Bugfix Parse error when list properties like OrderBy, Customizations, and Namespaces are empty
- ID-2413 Bugfix The runtime property of module details is not correctly shown
- ID-2409 Bugfix Recent items: Remove all does not remove anything
- ID-2406 Bugfix Workspace loading fails when System app is outdated
- ID-2395 Bugfix Symbol file object dependency error for some quoted name references
- ID-2394 Bugfix Symbol file parse error when file contains a systemaction
- ID-2388 Bugfix Temporary XmlPort data item tooltip styling is incorrect
- ID-2387 Bugfix Temporary report data item tooltip lacks temporary indication
2.6.0:
- ID-1153 Feature Improved analysis of temporary table usages (properties SourceTableTemporary, TableType and UseTemporary)
- ID-2353 Feature Improved formatting and tooltips of temporary system-defined variables (e.g. rec), report data items, and xmlport elements
- ID-2347 Feature Precise navigation for inline page trigger events
- ID-2346 Feature Precise navigation for inline database trigger events
- ID-2124 Feature Feature usage telemetry (optional)
- ID-2374 Feature Support for PromptMode type
- ID-2373 Feature Support for runtime 12.1 properties PromptDialog and IsPreview
- ID-2268 Feature Upgrade to .NET 8 (LTS)
- ID-2366 Bugfix Graph translation failed hard following object translation errors
- ID-2311 Bugfix Extended view does not merge when implicit areas like Content is missing base object's source
- ID-2368 Bugfix Parse error when dotnet type reference has namespace qualifiers
- ID-2367 Bugfix NullReferenceException when handling label translation
- ID-2355 Bugfix Some system function usages were not found in complex namespace scenario
- ID-2354 Bugfix System function tooltip presents wrong object in rare cases
- ID-2338 Bugfix Code graph memory leak
2.5.0:
- ID-2295 Feature BC23: Support for namespaces
- ID-2292 Feature BC23: Code graph control flow - RunObject property allows running query objects
- ID-2275 Feature BC23: Ability to define fields in page customizations
- ID-2274 Feature BC23: Support for new properties AllowInCustomizations and ExcelLayoutMultipleDataSheets
- ID-2309 Feature BC23: Support for new properties AnalysisModeEnabled, MovedFrom and MovedTo
- ID-2273 Feature BC23: Support for new SecretText type
- ID-2330 Feature BC23: Support for systemaction
- ID-2299 Feature Show namespaces in tooltips
- ID-2163 Feature Workspace session: resume last location on workspace open
- ID-2323 Feature Open directory: use NavxManifest.xml if app.json is not found
- ID-2321 Feature Navigation from VSCode should be saved in history
- ID-2317 Feature Resolve/link filter expressions in table relations and flowfields
- ID-2312 Feature Improve annotation/attribute formatting
- ID-2300 Feature User control over display of namespace names (e.g. Microsoft.Sales.Customer vs Customer)
- ID-2331 Bugfix Large memory leak
- ID-2326 Bugfix Name resolution error in report request page with procedure
- ID-2316 Bugfix Navigation fails with some namespace-qualified object names, e.g. Codeunit::MyNamespace.MyObject
- ID-2315 Bugfix Some navigations failed when e.g. table had multiple field validation triggers
- ID-2310 Bugfix History navigation issues
2.4.0:
- ID-2238 Feature Show page trigger events when they are subscribed to
- ID-2256 Feature Outline search of translable properties
- ID-2250 Feature Improve translation metadata caching (faster to open workspace after caching)
- ID-2160 Feature Custom setting for the location of the Prism package cache
- ID-2222 Feature Solution view: organize module details into tabs (general, used by, using, translation)
- ID-2208 Feature Improve logging when graph process cannot start (e.g. out of memory)
- ID-2207 Feature Minor reduction in memory usage during parsing
- ID-2223 Feature Show breadcrumb to declaration in toast when no usages or flows were found
- ID-2254 Feature Search modules by GUID in solution view (requires at least 4 input characters)
- ID-2229 Bugfix Translations are not shown for cached packages
- ID-2218 Bugfix Translation Id must use canonical property names for resilience (/trans-unit@id case sensitive hashing)
- ID-2232 Bugfix Translation sources list includes files without applicable translations
- ID-2231 Bugfix Module details: translation sources are unsorted
- ID-2230 Bugfix Language picker shows unsorted translation languages
- ID-2247 Bugfix Code graph did not include flow information for page trigger OnNewRecord and event OnNewRecordEvent
- ID-2253 Bugfix Flows from On{Before|After}RenameEvent nodes was not implemented
- ID-2252 Bugfix Flows from On{Before|After}ValidateEvent nodes wrongly included triggers
- ID-2220 Bugfix Page extensions: modify page action does not show triggers
2.3.0:
- ID-2197 Feature Setting for default translation language
- ID-2199 Feature Pin selected language and always show all translation languages in language picker
- ID-2206 Feature Allow non-array features attribute in app.json for backwards compatibility
- ID-2209 Feature Copy translation id to clipboard
- ID-2201 Bugfix XLIFF: align translation unit selection with BC runtime behavior
- ID-2203 Bugfix Parse error when EntityCaption or EntitySetCaption properties have label attributes :
2.2.0:
- ID-2101 Feature Event publisher reachability from procedure or trigger
- ID-2100 Feature CRUD analysis from procedure or trigger
- ID-1845 Feature XLIFF support: show translations in place for selected language
- ID-2057 Feature Graph: Distinguish between (Insert | Modify | Delete) nodes with RunTrigger postfix (True | False | Maybe)
- ID-2138 Feature Support for NAV 2018 symbol files
- ID-2181 Feature Do not fade out navigation cursor after a while
- ID-2187 Feature Show session log entries since last feature command was executed (Ctrl+Alt+L in control panel or workspace window)
- ID-2183 Feature New setting "Optimize find usages" which allows user to turn off optimization for diagnostic purposes (decides which objects to search)
- ID-2147 Feature SourceExpression properties in symbol files - show expresion, hide property
- ID-2184 Bugfix Find usages does not analyse extension objects that have the same name as another extension object of the same type
- ID-2189 Bugfix Extended view: Some tooltips are wrong in inlined code
- ID-2154 Bugfix Array types originating from symbol files are presented as the inner type
- ID-2153 Bugfix Display of multidimensional array types lack commas