Change Log

Object Manager

Change Log

Version 16.05 May 1, 2025

what’s new:

  • Added support for the BC26 object format, including multi-line strings

  • Bug fix OMA365: RDLC reports were not generated as separate files when converting to C/AL format

 

Version 16.04 October 22, 2024

what’s new:

  • Handling of BC25 objects

  • Breaking changes between BC24 and BC25 added

  • Handling of the new ternary operator

  • Handling of the new ‘this’ keyword for self-reference

  • Bug fix: Object are now recompiled after restore

  • Bug fix: Split function extended to array 150

 

Version 16.03 April 24, 2024

what’s new:

 Windows + Web Client:

  • Handling of BC24 objects

  • Breaking changes between BC23 and BC24 added

  • Skips AL objects that have been moved to other extensions. (MoveTo property)

  • Bug fix: Sometimes, variables with subtypes in AL objects were not read correctly

Web Client:

  • .NET Framework has been replaced with .NET Core BC22 and above.

 

Version 16.01 May 1, 2023

Added
BC22 support

Fixed
Field Extension No. was not always filled in project object table
Extension objects were not available when adding objects to a project
Wrong field name used in create table wizard
Better handling of pragma lines in reading AL objects
Converter Action add tooltips was not initialized
Where used ext. subpage OnAfterGetCurrRecord was getting in a loop in NAV2018

 

Version 16.00 December 20, 2022

what’s new:
Where used on field options
Expand to see where the line is used in the “Where Used In” list.
Show data model changes per transport
Include data model changes in transport
Add license file to a project or transport
When importing the transport the license file will be uploaded and you will be asked to restart the server
New field “Subfolder Name” on the Converter Card to group functionality per subfolder.
Renumber Objects, Renumber Fields and Update Variables
Setup table no. for viewing extension tables
New Editor in OMA365
BC21 Support

New administrations tasks:

  • Upload License

  • Restart Service

  • Write your own administration tasks

New Action Type to execute administration tasks:

  • Upgrade of Compare Objects and Compare Fields. Possibility added to add text files at both sides.

  • Compare Objects renamed to Unconfirmed Changes

  • Compare Database renamed to Compare Objects

  • AL Converter: Missing usage categories and application areas are read from MenuSuites.

  • Downgrade objects now also available for AL objects

New Guideline Checks:

  • Check parameter overflows (Text30 := Text250)

  • Check if CalcFields is executed before use of FlowField

  • Check if Record.FindSet has corresponding Record.Next and vice versa

  • Check reserved shortcut keys for AL objects

  • Check valid API Names

  • Check proper use of InDataset

New Converter Actions:

  • Sort Variables

  • Remove unused variables

  • Renumber variables

  • Localize global functions

New Web Services

  • Execute Converter

  • Create XLIFF

  • Update MenuSuites

 

Version 15.04 May 2023
What’s New

  • BC20 support – Business Central 2022 Wave 1

  • New field “Subfolder Name” on C/AL to AL converter object.

 

Fixed
Where Used: Primary key fields were added as a reference in all secondary keys.
Where Used: Not all extended elements were found in other extension objects.
Where Used: Keys of extension tables were not displayed correct.
Check Guidelines: Only check Application Area if UsageCategory is specified.
Renumber objects: Objects with references to itself was causing an error.

Version 15.03 March 3, 2022

Changes
Converter Action “Replace StringBuilder” is now converting to TextBuilder instead of the StringBuilder codeunit.
Better handling of comments in AL objects.
New commands and properties: InherentPermissions, ColumStoreIndex, IncludeFields, Multiple Report Layouts.
Action Management: If a table with the same name cannot be found the data is imported in the table with the same ID. Now transferring data to tables with a prefix is possible.
Better file handling in file tools. Zips can be up- and downloaded.
Protected tables cannot be opened in edit and run table and are now skipped.
Translation Tool: Name of parent element added to tooltip lines.
Bug fix: Stack overflow errors with big reports.

 

Version 15.01 April 16, 2021

Added
New Object Type: ReportExtensions
Where Used: Complex Return Types
Check Guidelines: Warning added when a complete function is surrounded with a BEGIN and END
Check Guidelines: Warning added when a complete function is surrounded with a BEGIN and END
C/AL to AL Converter: Skip creating delta object when no modified elements found
C/AL to AL Converter: Remove complete trigger if the only line of code was an excluded object or a deleted function/object caused by a breaking change
Fixed
AL Objects: Better handling of preprocessors
Repeating data conversion from older versions
Check Guidelines: Expected indentation was wrong in the else part of a case statement
Add Show Caption false to groups when converting C/AL to AL
Multiple bug fixes in Remove WITH

Version 15.00 January 28, 2021

Added
Syntax Tree
New Object Type: Interfaces
Guideline Check: Same := Same
Guideline Check: Double Case Statement
Guideline Check: Use of Obsolete Elements
Guideline Check: Variable Usage
Guideline Check: Check if a Tool Tip ends with a period
Where Used: Function Overloading
Converter Action: Add Tooltips
Converter Action: Remove WITH Statements
Converter Action: Add Rec.
Converter Action: Add Parentheses()
Im- and Export Xliff to Translation Tool
Run and Edit Table Data on Extension Tables

 

Version 14.01 April 9, 2020

Added
Lock objects in Compare Database Page
Description fields of project, transport and branch extended to 250
Fixed
The prefix was not added in properties Permissions and AccessByPermissions
The English name of system tables is used when converting objects to AL
Caption “XLIFF File” changed to “Remove Captions” on Converter card
Application Area was added to the request page instead of the report itself
Updating a report with empty RDLDATA was not possible
Better sample code in the company functions
Text in RDLDATA was sometimes seen as an object header
Handle new syntax format
Open finsql generatesymbolreference with ‘1’ instead of ‘yes’
Special characters in edit comment in external editor
Keep External properties for ExternalSQL tables
Entering object by name in project subpage disabled
Ignore wrong formatted date when parsing C/Al object
Renumber Objects: Wrong table was used when drilling down on “Used In”
Compiled version of objects was not saved when assigning modifications
Transport checks were only done for the last project in the transport
Check Guidelines: Error when adding space to the first position of a line
Check Guidelines: Error when analyzing empty TextConst
Multi Tenant parameters added in Compare Database
Extract Subscriber: Wrong parameter name in OnAfterValidateEvent
Object Updating: Wrong procedure updated with overloaded parameters
Repository: Do not export objects to ignore
Object Explorer: Get caption from AllObjWithCaption instead of Object
Create element guids when converting XMLPort from C/AL to Al
Split Backup and Restore was not working without shared path

 

Version 14.00 December 9, 2019

Added
C/AL to AL Converters
New Database Type: Conversion
New Setting: Save Compiled Version
Check Guidelines: Hook your own company checks to the Check Guidelines
New Check Guideline: Check PromotedActionCategories
New Check Guideline: Check SumIndexField present
Where Used: Registration of system triggers if used
Where Used: If a table field is used as a by reference parameter (VAR) it is flagged as Filled
New action type “Execute PowerShell”

Version 13.02 October 15, 2019

Fixed
Bug fix – Where Used: Sorting on name column fixed
Bug fix – Where Used: Source Line saved for table triggers
Bug fix – Object Compare Sheet: Fixed outstream not open error
Bug fix – C/AL Reader: Wrong Element End Location
Bug fix – NAV2013 R2: Fixed stream errors with unlimited strings

Version 13.01 August 21, 2019

Added
New Check Guideline: Missing Application Area
Auto add application areas with check guidelines
Fixed
Bug fix: More options in optionstring
Bug fix: Assignment overflow
Bug fix: Where used length of name back to 250
Bug fix: Compare fields: CrLf in source code from other database
Bug fix: Duration added to export settings
Bug fix: Transfer fields: bug in transferring captions
Bug fix: Check Guidelines: Skip check keys not existing tables
Bug fix: Option +=1 error in 2013R2
Bug fix: Handle captions with line feeds
Bug fix: FillSourceCode executed once instead of multiple times
Bug fix: LinkedObjects skipped in “Remove Object Manager”
Bug fix: Wrong Object Types in Project Permissions
Bug fix: Drill Down on Where Used: Insert error

Version 13.00 July 1, 2019

Added
AL Support
Transport extensions
Convert objects between C/AL, AL and XML format.
Move captions to XLIFF and back
Extension Dependencies Matrix
Synchronize MenuSuite Properties
New Guidelines Check: Matching field types are checked in views (RunPageView etc.)
New Guidelines Check: Check if field has Data Classification ToBeClassified
Check Guidelines: More default property values are checked
Check Guidelines: New list of reserved commands
Where Used: Better analyzing of subscribers and publishers
Renamed the “Convert Objects” tool to “Downgrade Objects”
Import C/AL and AL files in the Field Compare tool
Search String in Source Code: Works much faster, it uses a SQL trigger to scan the code.
Search String in Source Code: Option to skip comment lines

Version 12.01 May 22, 2019

Added
Pages updated for the Web Client
New Check Guideline Check: Check Data Classification
New Check Guideline Check: Check Use Category
Check Guidelines: Page Controls on XMLPorts are now checked.
Where Used: Properties AutoFormatExpr, CaptionClass, ODataKeyFields and TableIDExpr added.
New Setting – Generate Symbol Reference: Updates the symbol references every time objects are imported or compiled.
New Administration Task: “Generate Symbol Reference” for initially generating the symbol reference.
New Administration Tasks: Set and Reset Symbol Loading at Server Startup. Sets the right setting in your custom settings file.
Business Central Folders added as possible folders in the default settings.
Fixed
Bug fix: Field “Locked By” on history table extended to 132.
Bug fix: “Create Table Wizard” and “Change Field Options” added to the MenuSuite.
Bug fix – Project and Transport Lists: Sorting was not possible. Indentation properties removed and simulated with spaces.
Bug fix: When adding comment with a text editor the file was not uploaded to the service tier
Bug fix: Coping with lowercase Version Lists
Bug fix – Action Management: Fields with obsolete status are now ignored.
Bug fix – Table Management: Fields with obsolete status are now ignored.
Bug fix – Check Guidelines: InstructionalTextML properties are now checked.
Bug fix – Check Guidelines: All RecRefs are now opened as temporary to prevent read errors with e.g. CRM.
Bug fix – Check Guidelines: Parameters are now also checked is they have a conflicting name with a global variable.
Bug fix – Where Used: SourceTable in XMLPortElement was treated as a global REC. This is fixed.
Bug fix – Where Used: RunPageLink was sometimes analyzed with the wrong source table.
Bug fix – Where Used: TableViews were sometimes skipped with too many spaces.
Bug fix – Translation Tool: OptionStrings with special characters were not escaped.
Bug fix – Translation Tool: New property ids for several object triggers.

Version 12.00 May 31, 2018

Added
Multi Tenant
Database Compare Matrix
Database Status Overview
Project and Transport Status Colors
Project and Transports are sorted and indented according to the Main Project and Main Transport
Unlimited Project and Transport Roles
Actions on Transports
Push Transport to other database
Push actions to other database
Show record size, field size and used field size in table information
New FactBox on code page to see where the line is used
Separated Where Used Types for publishers, subscribers and events
New table to specify which data needs to be analysed by the where used functionality
Check License: Option to import the license definition from another database
New Administration Task: Export Settings
New option to import Voice Permission Report to Project Type
Convert objects from NAV2018 down to NAV2013
Job Queue Codeunit to execute UpdateCALHistory, UpdateWhereUsed and CheckGuidelines
New database lock option to lock the database and only allow transports
Option to add new project tags to the top of the documentation trigger instead of the bottom
New Check Guidelines: Check Missing Tooltips
New field “Note” added to check guidelines comment
New FlowFields on table project object to see project and object info
New Web Service: GetData
New Web Service: PostData
New Web Service: TestWebService
New Web Service: GetLicenseDefinition
Fixed
Where Used: Usage by IndentationColumnName was not seen
Renumber objects: Eventsubscribers were not renumbered

Version 11.01June 1, 2017

Added
New FlowFields on “Check Guidelines Object” to count critical comments.
New setting on “Setup Card” and “Database Card” to choose the “Synchronize Scheme Changes” type. Yes, No and Force. The default value is Force for a Development Database and Yes for other database types.
Updated
Better handling of parameters in the executables (%1, %2 etc.) on the “Setup Card”. E.g. C:\Program Files (x86)\Vim\vim80\gvim.exe” -d “%1” “%2” can now be set.
If you are using a merge tool that only can handle 3 files in a three way merge. You can choose a setting with three parameters. (4 parameters is the default). E.g. C:\Program Files\Araxis\Araxis Merge\Merge.exe “%1” “%2” “%3”
Opening the debugger window is now done with the NAV codeunit “Debugger Management”.
Where Used: The Refresh button in the “Where Used In” page now checks if the C/AL history is current.
Translation Tool: Reading and writing to a CSV file is now done with dotnet to prevent codepage issues.
Fixed
Where Used: Variable Types TestPage and TestRequestPage are now found.
Checking the User Name is the SQL Trace Trigger is now case insensitive.
The “Design Object” command can now handle user name and password and special characters.
Translation Tool: When the “Language Id” was changed the wrong key was set on the page and was getting very slow with a large dataset.
Translation Tool: If an object was imported with an object-text file and the object name ended with a space it was imported with a bracket like “Object Name ]”.
Where Used: If a variable was used in a double dimension array like Var1 in MyArray[Var1]2 it was not found.
Check Guidelines: Comments were not flagged as critical.
Check Guidelines: The “Redundant Brackets” check was only done if the “Redundant Spaces” check was set.
Check Guidelines: ‘;’ as field separator was ignored.
Running the page “Edit Table Data” was not possible anymore in combination with the setting “Error if Not Locked”.
When editing an object range with an “External Editor” sometimes the extension became .txttxt.
Setting the C/AL editor on the “Setup Card” was not saved as a setting value.
Quotes are now removed from the object filenames so they not conflict anymore with PowerShell commands.
Parameter ImportAction Overwrite added to the PowerShell import command.
Renumber Fields: Only the old fields of the last table were removed. The fields of preceding tables were not removed.
NAV2013: Length 1024 added to variables that are used in the File.Read command.
Navgate: Navgate was not working on Windows10.
“Show Code” from the Modifications page did not always show the correct C/AL history record.
Modification flag was not set if an object was modified with the external editor.
“Reset Project Status” was executed if “Reset Transport Status” was enabled.
PowerShell: A new PowerShell Data File is loaded when database compare is executed with an another NAV version

Version 11.00November 17, 2016

Added
Support for Microsoft Dynamics NAV 2017
Redesign of the setup tables which resulted in:

  • No limitations on text fields. They are now all 250 characters long.

  • Better default values. Navgate will automatically be used if its installed on your computer. Finsql.exe and your compare tool will be found in the majority of cases and computer independent.

  • In your personal settings, only values that you change, apply to you. All other settings will be read from the global settings.

  • It is now possible to set a specific settings for a computer or server.

  • Personal settings are now available in the SQL Trigger, for example locking the database can now be done for a specific user.

  • Removal of the dozens of old deleted fields that were kept to prevent data loss messages.

  • Better performance.

Translation Tool
Updated
Promoted Action Categories added to the translation tool.
The setting “Base Language” moved from the translation tool to the setup.
Fixed
In the translation tool names bigger than 30 characters are now fully exported to the CSV export.

Check Guidelines
Added
Check that MaintainsSIFTIndex is disabled for the primary key if SumIndexFields are present.
You get a warning if AltSearchField functionality is used.
No. of options are compared for property Promoted Action Categories.
Shortcut keys are now checked if they conflict with the shortcut keys of NAV.
Fixed
The reserved name Rec for parameter in subscriber procedures is allowed.
not blank check was only done for primary key fields with the name ‘Code’. Now it’s done for all fields except the fields that ends with “No.”.

Where Used
Added
Subscribers added to the where used.
If somebody else is already updating the where used, you get a message that another user is updating the where used and the where used card is opened immediately.
Updated
Error messages in updating where used and check guidelines are presented at the end of the update, so it’s not necessary anymore to confirm each error message separately.
Fixed
Not all table fields were flagged as used when used in a query.

Database Compare
Added
No. of records present in the tables can be calculated to compare.
Buttons added to the Compare Databases to filter on project and transport.
Button added to the Compare Databases to open the Compare Field page for the selected tables.
Compare Databases can be opened from project and transport cards and list.
Updated
Compare directory and compare files that are created from the database compare fields have the name of the database.
Fixed
Objects keep marked is they are pulled and pushed at the database compare page.

Other
Added
PowerShell added as method to import and export objects.
New administration tasks to change the Legacy Security Policy. Needed if you want to use PowerShell for import and exporting objects.
JSON added as option to export data when you run a table.
Web Services
Updated
References to other objects removed from Check License Page so it can be renumbered to 50000 and imported in a customer database.
AltSearchFields fields removed.
Extra warnings added when you remove object marking and someone is using the object marking functionality.
New Boolean field on “Project Object” called “Update Object Properties”. When disabled the version list and timestamp are not updated when the object is transported. This can be used if you want to rollback an object.
Fixed
Renumber Elements: Report labels added.
Table relation on “Company Name” removed in the Action Worksheet.
Emails were not send anymore when a project status changed.
Action of Type SQL Query was not executed in other database when included in transport.
Renumber objects. AccessByPermissions in MenuSuites were not renumbered.
Renumber objects in database. Renumber an object with a reference to itself was not possible.
Check License Page: Page does not close anymore if cursor is on a deleted record.

Version 10.02March 16, 2016

Updated
Finsql.exe can now be setup on the database card
When exporting a transport the check overlap is done before the check guidelines.
Administration Tasks: For better performance, deleting of the where used data is done per table instead of per record.
Import Transport: A default directory is used for merging instead of the dialog to pick a directory
Navgate: Objects can be locked and unlocked in the Navigate Editor
Fixed
When comparing history records the last empty line was sometimes removed.
Action Worksheet: Table Filter was not saved in NAV2016 when changed in the assist edit
Navgate: Checking C/AL History is now done in a codeunit instead of the OnOpen trigger of the page to avoid a timeout error
Navgate: Time + duration is now allowed
Navgate: Problem solved with brackets in the version list
Navgate: Subtype can now be edited in dotnet variables
Navgate: Fixed an issue with commenting lines with empty lines

Version 10.01January 1, 2016

Fixed
Check Guidelines was not copied from Transport Type to Transport.
If an “Expected Modification” was not deleted (due to an exception) all succeeding modifications were assigned to the previous user. Now an expected modification has a life span of 5 seconds.
Command Line: Existing object locks are removed before objects are deleted.
Renumber objects: Not all Object Manager data was renumbered.
Renumber objects: Color of line is now updated when line is changing.
Renumber objects: Not all referencing objects were renumbered when the wizard was used
Object Explorer: Set selection filter is now selecting one record instead of all for most functions.
Record Permission Wizard: Added to the menu suite.

Version 10.00November 19, 2015

Added
Support for Microsoft Dynamics NAV 2016
Navgate shipped freely if used with OMA
Import transports in three modes: Compiled, 2-way merge, 3-way merge
Renumber Objects in the database with a wizard
Record Permission Wizard
Detailed Permission Report from MS Voice can be imported in Check License
Objects can be locked and unlocked per project and transport
Objects can be merged into other databases with the database compare tool
New Check Guideline Checks:

  • Check if lookup and drilldown page has the same table no as the table itself

  • Check if lookup and drilldown pages are list pages

  • Check if DataCaptionFields are present

  • Check if the string parameters (%1, %2 etc.) in the caption of textconst are all the same

  • Check if the string parameters (%1, %2 etc.) is missing in a TextConst

  • Check if all captions in a TextConst ends with the same punctuation (dot, question mark)

  • Check if exclamation marks are used in TextConst

  • Check if a AltSearchField is present for master data tables (only enabled in classic client)

  • Check if table in table relation exists

  • Check for default properties in page controls and actions

  • Check if the name of a field, with a relation to the nos. series table, ends with “Nos.”

 

Updated
A text compare can be done in the database compare tool even if the OMA is not installed in the other database
Flag a “Project Object” that it is used in an action so it will be imported before the actions are executing when importing a transport
Function Name added in the “Check Guidelines Comment” page
New parameter %lt;ext,0,editor=nav%gt; in “Object File Name Format” to use e.g. “.nav” as extension for text compare.
Objects are now marked for export with the field “DBM Table No.” instead of marking with a ‘#’-tag
Removed all dialogs from updating “Where Used” when not GUIALLOWED.
Fixed
in Where Used: Some controls after an action list were not parsed correctly.
in Where Used: Added the characters ‘(‘ and ‘)’ as special characters in creating Query Field names
updating C/AL History: Empty objects are not exported anymore
in Renumbering Field Options: If the caption is the same as the option the caption is also renamed
in several places: Functionality with SETSELECTIONFILTER was sometimes selecting one record instead of all

Version 9.06April 16, 2015

Updated
New field on setup card and database card named “Command Line Parameters” to specify the parameters that the command line should use if you want to defer from the default settings.
Fixed
After an object is imported or compiled a Synchronize Schema Changes is executed to prevent a metadata is out of sync error.
When you imported a transport with a renumber field action a popup was given that you needed to update the where used data. This is not needed and disabled.
The “Check Settings” functionality is extended to check if the service tier is allowed to execute Synchronize Schema Changes.
Field compare tool: SQL Data Type 99 was popping up as a difference. They are now ignored.
Where Used: Commit’s added to prevent dialog.runmodal errors
Where Used: Source table of the request page on a report was not traced.
Where Used: Parsing of CalcFormula was failing sometimes.
Edit Table Data: Lookup to Company Name was not in LookupMode
Change Field Options: Creating actions for a non primary key field were of type rename data instead of fill fields.
Push Objects: Objects are now all first imported and then compiled instead of one by one.

Classic Client
Fixed
The default “User Code” filter on Assign Modifications was User Code instead of USERID.
Integration Management: A locked MenuSuite was not saved if Synchronize Locks and Integration Management was enabled.
Where Used: Commit’s added to prevent dialog.runmodal errors
Where Used: Parsing of CalcFormula was failing sometimes.
Change Field Options: Creating actions for a non primary key field were of type rename data instead of fill fields.
On the service tier the ENVIRON command is not available to determine the Computer Name.

Version 9.05 February 4, 2015

Added
Setup: General/Personal/Computer settings
Adjustable file name format: for example TAB4.txt can be used — .
Object Manager Setup: Personal settings can be set per machine.
Translation File Functions: New function to copy the base language to all missing mandatory languages.
New SMTP settings: Port and SSL
Trace Modifications: It is now possible to use the ‘Trace Modifications’ setting on a personal level
Updated
Check Guidelines: The C/AL Code line is shown in the check guidelines comment page.
Fixed
Translation Tool: Object to Ignore are ignored when importing captions
Check Guidelines: Analyzing table relations was sometimes throwing an error
Filtering for object files is now done with .txt|.TXT instead of only *.txt
Object Manager Windows Client
When uploading an object file to the client the time stamp is set with the object date.
Role Center: The dropdowns on the cues were broken.
Check Guidelines: Controls on pages were not checked for missing captions
Where Used: Usage of variables with a length greater than 100 were not found
Renumber Objects: Query objects were not renumbered

Classic ClientFixedThe last-day-filter in the Object Explorer is now filtering on the date of the last modified object instead of the work dateDrilldown possible on the options in the table info page to see the numeric values of the options

IDYN