|Functionality||After||Before||Result of change|
|Operating with DBMS.||If a database query contains more than 400 levels of expression nesting, an exception occurs but the system is not shut down. This change is not implemented in 8.2.16 compatibility mode.||If a database query contained more than 400 levels of expression nesting, the system performed emergency shutdown.||The system stability increased, preventing shutdowns when executing complex queries.|
|Attribute fill check. Functional options||
Attributes disabled by a functional option are not included in the list of checked attributes of the FillCheckProcessingAtServer() handler.
This change is not implemented in 8.2.16 compatibility mode.
|When generating the list of checked attributes, functional options were not considered.||Application developers do not need to programmatically exclude attributes disabled by functional options from the check.|
|Working with queries.||
If there is a list of totals with a grand total in the query result, unloading the query result using the Unload method (QueryResultIteration.ByGroups) of the QueryResult object results in a tree with a single node with the grand total, while nodes for groupings located in the query after the grand total become the tree elements.
This change is not implemented in 8.2.16 compatibility mode.
|If there was a list of totals with a grand total in the query result, unloading of the query result using the Unload method (QueryResultIteration.ByGroups) of the QueryResult object created a tree with several nodes of the same level: the grand total and groupings located in the query after the grand total.||The query behavior provides more comfortable work with totals when unloading the result to a tree.|
|Data composition system.||
When a data composition result is exported to a collection of values, columns containing calculated fields will have value types specified in the calculated fields. If the calculated field value type is not specified, the value type for the corresponding column is determined automatically based on the calculated field expression.
This change is not implemented in 8.2.16 compatibility mode.
|When a data composition result was exported to a collection of values, the value types for columns that contained calculated fields were always determined automatically based on the calculated field expressions.||You can specify the calculated field type explicitly in cases when automatic type definition is difficult or impossible.|
|Client/server interaction.||When the server version is changed, sessions running at the time when the server manager is started are not deleted automatically. When a client application that uses a web server is shut down due to the client/server version difference exception, an attempt to delete the session at the server is made.||When the server version was changed, the message Session is missing or deleted was generated. Furthermore, users did not receive messages that clearly described the problem||When the platform version is changed at the server, users receive messages stating that the client application version and the server version differ (instead of the messages stating that the session is missing or deleted).|
|Configuration repository.||Working with configuration repository is only possible if the repository version matches the Designer mode version.||The check whether the repository version matches Designer version was not performed.||Prevention of compatibility problems when the configuration repository server and Designer have different versions.|
|Configuration repository.||When Designer operates in batch mode, if the location of the infobase that is bound to the repository is changed, the infobase is rebound to the repository and no warnings are displayed. When the location check is performed for the infobase bound to the repository, the name of computer from which the connection to the infobase in established is ignored for client/server infobases and for file infobases located on network drives.||In batch mode, a warning about the infobase location change was displayed and user response was expected. When the location check was performed for the infobase bound to the repository, the name of computer from which the connection to the infobase was established was taken into account for client/server infobases and file infobases located on network drives.||In batch mode, an attempt to access a copy of an infobase bound to the repository from the repository user account that is used for accessing the original infobase will lead to disconnecting the original infobase from the repository. A warning about the infobase location change is not displayed for client/server infobases and for file infobases located on network drives if the connections differ only by the name of computer from which the connection is established.|
|Operating with DBMS.||
The following clustered indexes are created when using IBM DB2 DBMS:
When using IBM DB2 DBMS the following indexes were created:
||Unified approach to the implementation of object indexes in various DBMS.|
|Export to Microsoft Excel.||When a spreadsheet document is exported to Microsoft Excel 97 or Microsoft Excel 2007 format, cells of the spreadsheet document that are left-aligned are exported together with their general formatting. This change is not implemented in 8.2.16 compatibility mode.||
When a spreadsheet document was exported to Microsoft Excel 97 or Microsoft Excel 2007, cell values were converted to numbers in the following cases:
||If a cell of a spreadsheet document contains a numeric value, which is intended to be used as text, and the value is left-aligned (e.g., the cell contains a product code or article), when the spreadsheet document is exported to Microsoft Excel format, the cell value is not converted to a number. This simplifies the use of the converted document (including editing and comparison).|
|For methods GetForm(), OpenForm(), and OpenFormModal() the URL parameter is implemented. Its value is assigned to the URL property of received or opened forms, unless the parameter value is Undefined. Furthermore, the AutoURL property of received or opened forms is set to False. For the CommandExecuteParameters object the URL property is implemented. The property usage example is added to the command module example.||This feature was not provided.||You can specify a navigation link for a form that is being opened. The navigation link can be used later in the interactive mode (e.g., stored in the history).|
|List of infobase users.||When you press Shift+Del in the list of infobase users, a warning is displayed.||Pressing Shift+Del in the list of infobase users deleted a user without a warning.||Prevention of accidental deletion of infobase users.|
|Software licensing.||If an application license is not found during the start of the application, the differences between the current hardware settings and hardware settings at the moment when the license was obtained are written to the license search log. This information is only written for software licenses.||Information on differences in hardware settings was not listed in the license search log.||Simplified diagnostics of software license problems when the license is not issued due to hardware settings differences.|
|Operating with DBMS. Managed locks.||When working with Microsoft SQL Server version 2005 or later, if the configuration uses the managed locks mode, row versioning is used. The READ_COMMITED_SNAPSHOT transaction isolation level is used. Consistent read is used for reading data outside of transactions.||Microsoft SQL Server 2005 and later was running in the lock mode. The READ_COMMITED transaction isolation level was used. "Dirty" read was used for reading outside of transactions.||
The implemented modifications lead to:
|Managed form. Data composition system.||
You can implement quick choice user settings as a set of form fields in a separate group. You can manage location and other parameters of this group. The User settings group property is implemented for managed form extension for reports. You can create user settings items using the CreateUserSettingsFormElements() method of managed form extension for reports. Before settings elements are created, all existing elements are deleted from the group. Forms that are created automatically (report and user settings forms) include dedicated groups with elements used for editing settings. The OnUpdateUserSettingSetAtServer event is implemented for managed report form extension. The event is called in the following cases:
Presentation of automatically generated report forms is changed: report variant presentation moved to report title; the variant selection button moved to report command bar, etc. This change is not implemented in 8.2.16 compatibility mode.
Quick choice user settings were edited in a special table located in the form. The form for editing user settings contained a table for editing all user settings.
There was a field with current report presentation and a button for selecting report variant in the report form.
|Improved report settings usability - they are displayed similarly to other form elements because standard form elements (text box, checkbox, etc.) are used instead of tables for editing settings.|
|Event log.||When event log is being read, events are not filtered by current separator value if the separator is conditionally disabled in the current session.||When event log was being read, records were filtered by value of a conditionally disabled separator.||Eliminated the differences between event log functioning in infobases without separators and infobases with conditionally disabled separators.|
|Operating with DBMS.||Internal implementation of several query executions for PostgreSQL, IBM DB2, and Oracle Database is modified. This change is not implemented in 8.2.16 compatibility mode.||The implementation took advantage of DBMS specifics to a lesser extent.||Improved the internal implementation of query executions for specific DBMS.|
|Command interface.||Navigation links to lists are implemented. A navigation link request to a form whose main attribute is a dynamic list with the main table specified returns a navigation link to the list of the object specified as the main table. This link opens the default list form. Support of navigation links to lists is implemented for the GotoURLGotoURL() global context method. This change is not implemented in 8.2.16 compatibility mode.||Navigation links to lists were not provided.||Users can store links to lists in history and favorites.|
|Configuration comparison report.||
The configuration comparison report no longer includes added and removed objects whose access rights exactly match their default access rights.
|Added and removed objects whose access rights exactly matched their default access rights were included in the report.||The report no longer displays redundant information that does not help in merging data.|
|Used components.||Migrated from OpenSSL 1.0.1 to OpenSSL 1.0.0g.||OpenSSL version 1.0.1 was used.||An HTTP server query error is no longer displayed when the thin client is started.|
|Applied objects.||Value length for Description length and Order length properties of Chart of accounts objects is limited by 628 characters. The current value length is only checked when an attempt to change it is made.||
Value length for Description length and Order length properties of Chart of accounts objects was not limited.
|Increased platform stability. Prevention of Infobase corruption (in the file mode). Prevention of performance losses.|
|Working with queries.||
If a script generated by the query wizard includes result processing, the name of the variable where the result is stored is QueryResult.
This change is not implemented in 8.2.16 compatibility mode.
|In certain cases (for example, when a query was created with the option to display the processed result in a report), a naming conflict occurred between variable names created by the wizard and attribute names of the report form whose module contained this code. As a result, the generated code did not work properly.||Eliminated naming conflicts between variable names created by the query wizard and report form attribute names (for queries that include result processing).|
|Data composition system.||A query field used in a union operation becomes unavailable to filters if it has the NULL value in all parts of the union. This change is not implemented in 8.2.16 compatibility mode.||If a query field used in a union operation had the NULL value in all parts of the union, filters were applied at the data set level of data composition template, not inside the query.||When the UNION or UNION ALL expression is used in a query that retrieves a data set of the data composition system (with automatic filling of available settings), if a filter is applied to a field attribute, the filter is only applied to the parts of the union where the given attribute exists. When a filter is applied to a field, it is only applied to the parts where the field expression is not equal to NULL.|
|Event log.||The *.elf extension is removed from the Files of type list in the open file dialog box in the thick client and Designer. Opening event logs in the *.elf format is still supported. To open an .elf file, select the Event log (*.lgf) file type and then enter the file name, including the elf extension.||The list of file extensions in the open file dialog box in the thick client and Designer included both *.lgf and *.elf extensions.||Removed obsolete user interface options.|
|Event log. Display of information.||Events related to canceled transactions are displayed in gray in the ordinary form of the event log (in the same way as they are displayed in the managed form of the event log). This change is not implemented in 8.1 compatibility mode.||Events related to canceled transactions were displayed in black in the ordinary form of the event log.||Unification of display of ordinary and managed forms of the event log.|
|Standard functions. Display of information.||Object presentation in standard functions Find references to object and Delete marked objects is modified. Names of metadata objects types are removed from object presentations.||In standard functions Find references to object and Delete marked objects object presentation contained the name of metadata object type.||System-standard object presentation is introduced.|
|Accumulation registers. Accounting registers. Common attributes / Data separation. Server cluster.||
Changes in the table of storage settings for accumulation and accounting register totals are performed within a transaction. While tables are being modified, managed data locks are applied to the corresponding lock namespace.
A cache for storing totals storage settings for working processes is implemented.
|Changes in the tables of storage settings for accumulation and accounting register totals were performed outside a transaction. Each retrieval of totals storage settings was performed using a database query.||
Elimination of conflicts that might occur during the modification of totals storage settings tables from multiple simultaneous sessions that have identical data separator values.
Reducing the number of database queries and improving parallel processing for sessions that use separators.
|Common attributes / Data separation. Accounting registers. Accumulation registers.||If separators are deleted or separator types are modified, during the next update of database configuration records in the tables of totals storage settings for accounting and accumulation registers are merged according to the new sets of separators.||
If separators were deleted or separator types were modified, the following situations might occur:
||Improved reliability of operations during database configuration updates caused by deleting separators or modifying separator types.|
|Working with text.||
Implemented recording a byte order mark (BOM) to the beginning of files generated by the TextWriter object if the following conditions are met: the file to be recorded does not yet exist, the FinishWriter constructor parameter is set to True, and the text encoding is set to UTF-8.
This change is not implemented in the compatibility with 8.2.16 mode.
|A byte order mark (BOM) was not added to the beginning of files generated by the TextWriter object if the following conditions were met: the file to be recorded does not yet exist, the FinishWriter constructor parameter is set to True, and the text encoding is set to UTF-8.||A byte order mark (BOM) ensures unique identification of text encoding used in a file.|
|Working with XML, XDTO.||During the import of XSD schema, if the definition is missing from the target namespace schema, a diagnostic message is displayed.||During the import of XSD schema, if any loading problems occurred, a diagnostic message was not displayed.||Improved diagnostics during XSD schema import.|
|Operating with DMBS.||The documentation describes the specifics of working with the following DBMS: Oracle Database and PostgreSQL.||The documentation did not contain enough details about the specifics of working with the following DBMS: Oracle Database and PostgreSQL.||Documentation is expanded to clarify DBMS usage specifics during configuration development.|
|Spreadsheet document.||While you are changing the selection area in a spreadsheet document if the selection area contains rows with different formatting, the platform switches to the row selection mode. Then, if the platform previously was in cell selection mode and after another selection change all selected rows have the same formatting, the platform switches back to the cell selection mode.||The only ways to select rows with different formatting were using headers of spreadsheet document rows or the Alt+Shift+Arrows key combination.||Simplified copying of data from spreadsheet documents with different row formatting.|
|Web client. Spreadsheet document.||Users can edit spreadsheet documents in the web client. The Table main menu is modified in the web client. Clipboard is implemented for spreadsheet documents in Google Chrome web browser. The clipboard is available within a single browser instance working with a single Infobase.||This feature was not provided (except editing cells with values, changing the display mode of groupings, freezing rows and columns, and changing column width).||Users can edit spreadsheet documents after they are generated in the web client.|
|Client application. Web client. Designer. Spreadsheet document.||In the Table menu of thin client, web client, thick client, and Designer, the Cells submenu is implemented. It includes some of the commands that were previously located in the Table menu, and some new commands.||The Cells submenu was not available in the Table menu of thin client, web client, thick client, and Designer.||Improved usability of spreadsheet documents. Menu items intended for working with spreadsheet document cells are grouped into a single submenu.|
|Dynamic update.||Improved reliability of dynamic update in various situations.||In certain situations dynamic update worked improperly.||Improved reliability of dynamic update operations.|
|Managed form.||If a width limit is set for a regular group in a managed form, the size of buttons within the group is adjusted (similar to adjusting the size of other elements included in the group).||A width limit set for a regular group might not affect the size of buttons within the group.||Unified the algorithm of adjusting element sizes when a width limit is set for a regular group.|
|Display of information. Managed form.||
Tooltips of managed form items can have one of the following types: displayed directly in the text box, displayed near the form item, and opened clicking a button (in a pop-up window). If a tooltip is not specified for a form item, the command bar button linked to this item also does not have a tooltip.
You can use the InputHint property, which contains tooltip text, to display a tooltip directly in the text box. This type of tooltip is unavailable for text boxes that display data of Number and Date types.
To manage the display of tooltips and their appearance, the ExtendedTooltip and TooltipDisplay properties are implemented for the following form controls: field, table, group, button, and decoration of Text type.
|Tooltips were only available in pop-up windows of form items. If a tooltip was not specified for a form item, its title was used as a tooltip for the command bar button linked to this item.||You can manage tooltip formatting and tooltip positions.|
Changes altering the system behavior