Version 8.3.9
Version 8.3.9 includes known bug fixes and functionality modifications.
- New functionality and changes
- New functionality and changes in the 1C:Enterprise mode
- Optimization
- Changes that affect system behavior
- Changes that require modification of configuration and administrative settings
- Renamed objects
- Mobile platform
- Transition from the previous version to the version 8.3.9
New functionality and changes
Functionality | After | Before | Result of changes |
---|---|---|---|
Configuration properties. | Version 8.3.8 is added to the list of available values of the Compatibility mode property. | Compatibility modes were available for the following platform versions: 8.1, 8.2.13, 8.2.16, 8.3.1, 8.3.2, 8.3.3, 8.3.4, 8.3.5, 8.3.6, and 8.3.7. | In version 8.3.9 you can run configurations created in version 8.3.8 or earlier without making changes to the configuration and without changing its data structure. This allows you to perform quick transition to version 8.3.9 without making any configuration changes, then work with the configuration as usual and remove the compatibility mode at later time. This also gives you the option to use version 8.3.8 for working with the infobase even after the transition to version 8.3.9. You can use this option both before and after removing the compatibility mode (in the latter case you have to turn the compatibility mode back on). |
Configuration extensions. 1C:Enterprise script. | In configuration extensions, the option to adopt the following objects is implemented:
The option to adopt ordinary form modules and ordinary application modules is not available.Therefore, you can adopt any module except for modules that are used solely in ordinary applications. The following operations are now available:
Export methods and variables of the extended module form the uniform context of the extended module. Adopted form modules are now handled differently. You have the option to allow or deny extending all modules of abovementioned types (the all module extensions security profile property). You have the option to provide a list of modules where extension is allowed (the Modules available for extension property) or where extension is denied (the Modules not available for extension property). You have the option to create common modules in configuration extensions. For ISecurityProfile object, the following properties are implemented: AllModulesExtension, ModulesAvailableForExtension, and ModulesNotAvailableForExtension (software administration of server clusters based on COM objects). For ISecurityProfile interface, the following methods are implemented: getAllModulesExtension(), setAllModulesExtension(), getModulesAvailableForExtension(), setModulesAvailableForExtension(), getModulesNotAvailableForExtension(), and setModulesNotAvailableForExtension() (Java interface for server administration). In the server cluster command-line utility (rac), for the profile command, the following parameters are implemented: all-modules-extension, modules-available-for-extension, and modules-not-available-for-extension. | The option to adopt modules was not available, except for form modules. The option to create common modules in configuration extensions was not available. Adopted form modules were handled differently. The option to specify which modules can be extended was not available. | The configuration extensions feature now provides the option to extend all 1C:Enterprise script modules, except for those used solely in ordinary applications. New security profile options related to configuration extensions. |
Web services and HTTP services. OData interface. Configuration extensions. | The option to manage session lifetime when using Internet services and the standard OData interface is implemented:
For web services and HTTP services, the ReuseSessions and SessionLifetime properties are implemented. If a web service or HTTP service is a native configuration extension object, these properties are read-only. The following additions to the default.vrd file are implemented:
The enableStandardOData attribute of the <point> element is deprecated. If a web service or HTTP service is a native configuration extension object and it is either not published in the default.vrd file or published without the session reuse option, session reuses are not available for that service. | This feature was not provided. A new session was created for each Internet service call and each standard OData interface query. | Improved performance of Internet services and the standard OData interface. |
Formatted documents. | The behavior of the Tab key is changed:
The FormattedDocumentBookmark object is linked to a character within a paragraph, not to a character position. If a text is changed, the bookmark position better matches its original position. | Pressing Tab always increased the indent. The FormattedDocumentBookmark object was linked to a character position within a paragraph. | Formatted document behavior better meets user expectations. |
Binary data. | Tools for operations with binary data are implemented. They provide the following options:
The following objects are implemented: BinaryDataBuffer, Stream, FileStream, MemoryStream, DataReader, DataWriter, DataReadingResult, FileStreamsManager. The BinaryData.Size() method is now available in the web client. For the BinaryData.Write() method, the option to write data to a stream is implemented. The OpenStreamForReading() method is implemented, it opens a stream for reading binary data specified in the BinaryData object. | These options were not provided. The only available options were reading files from disk and writing files to disk without any means to perform any other operations with those files. | Extented capabilities for operations with binary data. |
Pictures. | Support of vector images in SVG format is implemented. The PictureFormat.SVG system enumeration value is implemented. The picture editor in Designer does not support editing pictures that have SVG format. The specifics of SVG format support are described in the documentation. | This feature was not provided. | Extended list of supported picture formats. You have the option to use scalable pictures that can be displayed in areas of any size. |
Administration tools. | For the /regserver client application command-line option (registration of COM objects), the following optional parameters are implemented:
The behavior of the /regserver option without parameters is not changed. | When a client application was started with the /regserver command-line option (registration of COM objects), it attempted to perform the registration for all users. If the current user did not have the rights for this, they were prompted to confirm the registration for the current user. | Simpler usage of the /regserver command-line option in 1C:Enterprise batch startup mode. |
XML and XDTO support. | Support of Canonical XML 1.1 specification is implemented. The ConversionToCanonicalXML object is implemented. For the XMLCanonicalizationType system enumeration, the following values are implemented: CanonicalXML1_1 and CanonicalXML1_1WithComments. The XMLCanonicalizingWriter and DOMCanonicalization objects are deprecated. These objects do not support Canonical XML 1.1 specification. | Only Canonical XML 1.0 specification was supported. | Extended capabilities for integration with third-party systems. |
DBMS operations. Administration tools. | The option to attempt the restoration of database structure from Designer batch mode command line is implemented. The /IBRestoreIntegrity Designer command-line option is implemented. Running Designer with the /IBRestoreIntegrity parameter is recommended if a previous database configuration update (performed either interactively or in batch mode) have not been completed successfully because of unexpected Designer shutdown or power outage. | This feature was not provided. | Improved infobase fault tolerance in scenarios that include database configuration update. |
Predefined data. Event log. | Recording events related to predefined data restructuring to the event log is implemented. This includes the following events:
| This feature was not provided. | Simplified diagnostics of predefined data issues. |
Spreadsheet documents. | The export of spreadsheet documents to Microsoft Office OpenXML (Microsoft Word 2007- 2010) format includes the export of pictures stored in spreadsheet document cells. This change is not implemented in 8.3.8 compatibility mode. | The export of spreadsheet documents to Microsoft Office OpenXML (Microsoft Word 2007- 2010) format did not include the export of pictures stored in spreadsheet document cells. | Spreadsheet documents exported to Microsoft Word better match the original spreadsheet documents. |
Internet-enabled functionality. | The following algorithms can be used together with TLS protocol: GOST R 34.10-2001, GOST R 34.10-94, GOST R 34.11-94, and GOST 28147-89. GOST R 34.10-2012 and GOST R 34.11-2012 algorithms are not supported. | This feature was not provided. | Internet services that use the listed GOST algorithms together with TLS protocol are now supported. |
OData interface. | For the standard OData interface, the option to get the following data is implemented:
| These features were not provided. | Extended capabilities of the standard OData interface. |
OData interface. | For queries to the standard OData interface, support of the $expand operator is implemented. This gives you the option to include referenced entities in the response body. | This feature was not provided. | The option to get values of referenced entities together with the main query result is implemented, which eliminates the need to use a separate query for each referenced entity. |
Dynamic lists. | The following changes are made in the dynamic list query builder:
This change is not implemented in 8.3.8 compatibility mode. | The dynamic list query builder did not provide the option to edit batch queries. The option to specify the number of selected records was available but this number was never used. | The option to edit query batches using the dynamic list query builder is implemented. Better error diagnostics for dynamic list queries. |
Configuration extensions. | The option to change access rights (including data access restrictions) in adopted roles is implemented. The option to add roles to configuration extensions is implemented, this requires the use of 1C:Enterprise script. In Designer, the only operation available for such roles is deletion. The option to apply data access restirictions added in a configuration extension to the resulting configuration is implemented through the use of security profiles (the access rights extension property). For the ISecurityProfile object, the RightExtension and RightExtensionDefinitionRoles properties are implemented (for the technology of programmatic cluster administration based on COM objects). For the ISecurityProfile object, the RightExtension and RightExtensionDefinitionRoles properties are implemented (for the Java administration server interface). For the server cluster command-line utility (rac), the right-extension and right-extension-definition-roles parameters of the profile command are implemented. | In configuration extensions, only the option to set access rights for native extension objects in adopted roles was available. The option to change rights in adopted roles was not available. | Significant improvements for access right management in configuration extensions. |
Configuration extensions. Development tools. | The following options to check the applicability of a configuration extension without running an applied solution with this extension are implemented:
When a client application is started, extension compatibility issues are no longer displayed in the message window. Instead, they are added to the information for technical support (which is available from the About 1C:Enterprise window). If any compatibility issues are encountered, a warning dialog box is also displayed, with a link to the full list of issues. For the ConfigurationExtensions object, the CheckCanApplyAll() and GetCurrentSessionApplicationIssuesInformation() methods are implemented. For the ConfigurationExtension object, the CheckCanApply() method is implemented. For Designer batch mode, the /CheckCanApplyConfigurationExtensions command-line option is implemented. For the Configuration extension management standard function, the Check applicability when adding and loading extensions check box is implemented. | These features were not provided. When an extension was attached, the diagnostics messages were displayed in the message window. | Improved diagnostics for configuration extension attachment issues. The option to automate the diagnostics by running them in the batch mode is implemented. |
Event log. | When the event log is exported to an XML file, the state of predefined data update is exported as the value of the Data field. The PredefinedDataUpdate system enumeration is now available in the thin and web clients. | This feature was not provided. | The event log export to an XML file is adjusted to reflect the new events. |
Localization. | The French localization of the client applications is available. | This feature was not provided. | 1C:Enterprise is available to French-speaking users. |
Localization. | The Hungarian localization of the client applications is available. | This feature was not provided. | The Hungarian platform interface is available. 1C:Enterprise is available to Hungarian-speaking users. |
Configuration extensions. Development tools. | The ConfigurationExtensionsManager.ExecuteBackgroundJobWithoutExtensions() method is implemented. It runs a background job without extensions (configuration extensions available in the database are not applied in the background job session). For all metadata objects, the ChangedByConfigurationExtensions() method is implemented. It defines whether a configuration object is available in the current session. | This feature was not provided. | Simplified 1C:Enterprise script-based operations with configuration extensions. |
DBMS operations. System requirements. | Microsoft SQL Server 2016 DBMS is now supported. | Microsoft SQL Server 2016 DBMS was not supported. | Microsoft SQL Server 2016 DBMS is now supported. |
Client application. System requirements. | A 64-bit client application for Windows is implemented. It includes the thin client (also available as a standalone distribution kit), the thick client, and Designer. The current client application status is beta. The 64-bit client installer is similar to the 32-bit client installer. We recommend that you do not install both 1C:Enterprise 64-bit server and applications from the full 64-bit 1C:Enterprise distribution kit on a single computer. | Only 32-bit versions of Windows client applications (including Designer) were available. 1C:Enterprise server was the only 1C:Enterprise component that had a 64-bit version. | Support of 64-bit Windows versions is implemented. Issues caused by insufficient memory for operations with large configurations (such as comparing and merging configurations) are eliminated. |
New functionality and changes in the 1C:Enterprise mode
Functionality | After | Before | Result of changes |
---|---|---|---|
Client application. | All of the common report forms use the following help topic priorities:
This change is not implemented in 8.3.8 compatibility mode. | Common report froms used the following help topic priorities:
| Help topics are displayed in more logical order. |
Interface. Client application. | For thin client running on Windows operating system, touch screen support is implemented. Support of scrolling with 2-finger gestures in all directions is implemented for all controls that have scroll bars. The effect of 1-finger gestures depends on control type:
The tap detection area is expanded for the following controls:
For graphical schemas, support of scaling using the scaling gesture is implemented. For tapping form buttons and command bar buttons, a visual effect is implemented. | The touch screen support was limited. | Improved 1C:Enterprise usability for touch monitors. |
Spreadsheet documents. | In spreadsheet documents, if a search string can be converted to a number, 1C:Enterprise determines the number of digits in that number. Then it searches exactly for the specified number, without further simplifications or conversions. The search does not ignore strings with leading zeros. This change is not implemented in 8.3.8 compatibility mode. | In spreadsheet documents, for searches by number, 1C:Enterprise did not determine the number of digits in that number. Strings with leading zeros were not converted to numbers. | Better algorithm for searching spreadsheet documents for numeric values. |
Optimization
Functionality | After | Before | Result of changes |
---|---|---|---|
Development tools. | The performance of the following Designer operations is improved:
| The performance of module and configuration checks was insufficient. | Improved usability for developers of large applied solutions. |
1C:Enterprise script. | The performance of 1C:Enterprise script execution is slightly improved in the thin and thick client applications. |
The performance of 1C:Enterprise script execution in client applications was insufficient. | Improved performance of 1C:Enterprise script execution in the thin and thick client applications. |
Common objects. | The performance of updating value table column cells in columns that are not a part of any value table index is improved. | Redundant rebuilding of value table indexes was performed in the event of updating a cell in a column that was not a part of any value table index. | Improved performance for bulk value changes in columns that are not part of any value table index. |
Data exchange. Server clusters. | The reading of accumulation register, information register, and calculation register record sets during the creation of an initial image of a client/server infobase is optimized. The time required to create an initial image of a client/server infobase is significantly reduced. | The performance of creation of an initial image of a client/server infobase was insufficient. | Improved performance of infobase preparation for new distributed infobase nodes. |
Command interface. Development tools. | Improved performance of opening the configuration command interface editor form. | The performance of opening the configuration command interface editor form was insufficient. | Better usability of editing the configuration command inerface. |
DBMS operations. Server clusters. | The algorithm of 1C:Enteprise server cluster operations with PostgreSQL DBMS is modified. This reduces PostgreSQL memory usage. If a 1C:Enterprise server cluster connection to PostgreSQL DBMS is idle for 30 minutes, it is released. | The algorithm of 1C:Enteprise server cluster operations with PostgreSQL DBMS caused increased PostgreSQL memory usage. 1C:Enterprise server cluster did not release idle connections to PostgreSQL DBMS.
| Reduced PostgreSQL memory usage for operations with 1C:Enterprise server cluster. |
Development tools. | Infobase configuration update is optimized. Configuration comparison in scenarios where objects are mapped by their names is optimized. | The performance of infobase configuration update was insufficient. | Improved performance of configuration updates. |
DBMS operations. | Temporary table operations are optimized in scenarios that use PostgreSQL DBMS. | The performance of temporary table operations in scenarios that used PostgreSQL DBMS was insufficient. | Improved performance in multiuser mode in scenarios that use PostgreSQL. |
Web services and HTTP services. | Sending large files (tens and hundreds of megabytes) over HTTP services is optimized. | The performance of sending large files (tens and hundreds of megabytes) over HTTP services was insufficient. | Improved performance of sending large files over HTTP services. |
DBMS operations. | Optimized temporary table operations in scenarios that use Microsoft SQL Server and include high load on 1C:Enterprise and active usage of temporary tables. Pauses during the closing of DBMS connections are eliminated. | The performance of temporary table operations in scenarios that used Microsoft SQL Server and included high load on 1C:Enterprise and active usage of temporary tables was insufficient. | Improved performance in multiuser mode in scenarios that use Microsoft SQL Server.
|
DBMS operations. | In the file mode, queries are optimized for scenarios where an applied solution has separators but actually contains a single data area. To apply this optimization to an existing infobase, perform infobase verification and repair with the Reindexing infobase tables check box selected. Once the restructuring is completed, the optimization is applied to all restructured objects. | In the file mode, in scenarios where an applied solution had separators but actually contained a single data area, the performance of queries was insufficient. | Improved file infobase performance in scenarios where an applied solution has separators but actually contains a single data area. |
Development tools. Command interface. | Reduced time of displaying changes in configuration objects that affect the configuration command interface. Such changes cause the immediate update of the active form editor, while other form editors are updated when they are activated. | Changes in configuration objects that affected the configuration command interface caused the update of all open form editors. | Improved Designer performance during the update of properties of configuration objects that affect the command interface. |
Formatted documents. | The performance of formatted documents is improved. | The performance of formatted documents was insufficient. | Improved performance of operations with large texts. |
Managed locks. | Absorption of managed locks is implemented (when two managed locks are applied at the same time, only one will take effect). A lock that does not have all lock areas specified absorbs a lock that has more lock areas specified, provided that the values in their common areas match. If lock escalation causes a conflict with other locks, the escalation is not performed and an attempt to set the requested lock is made instead. This can lead to a total of more than 100 000 locks in a single area. In scenarios where a single transaction uses a large number of managed locks with slight differences (for example, a single dimension varies), it is recommended that you set a single managed lock where the value of that dimension is not set. | Lock absorption was not performed. If lock escalation caused a conflict with other locks, the transaction that attempted to escalate the lock was canceled. | Reduced number of locks and reduced amount of memory used by the cluster manager. Improved system reliability in scenarios with large numbers of simultaneous locks. |
DBMS operations. Calculation registers. | When deleting records belonging to the actual action period, recording of register sets of calculation registers that support actual action period is performed within several queries, which reduces the chance of escalating the lock to the table level. This does not increase the record set execution time. | When deleting records belonging to the actual action period, recording of register sets of calculation registers that supported actual action period was performed within a single query, which could cause lock escalation to the table level. | Reduced chance of table lock, which gives more options for performing parallel operations. |
Calculation registers. | The index of the actual action period table of a calculation register is complemented by the start date and end date fields, and the index is now clustered. This reduces the chance of lock escalation to the table level when writing record sets of calculation registers that support action period. For the chart of calculation types table that stores serial numbers of calculation type displacements, a nonunique index by displacement number is implemented. As a result, simultaneous editing of a single chart of calculation types in different data areas of a separated infobase never requires waiting for lock releases. To apply this optimization to existing infobases, perform the infobase verification and repair operation with the Restructure infobase tables option selected.
| The index of the actual action period table of a calculation register did not include the start date and end date fields, and the index was not clustered. For the chart of calculation types table that stored serial numbers of calculation type displacements, a nonunique index by displacement number was not available. | Improved calculation register performance in large and separated databases. In large databases and especially separated databases, reduced number of table-level locks for the following tables: actual action period table of a calculation register and table that stores serial numbers of calculation type displacements. |
Managed forms. Development tools. | The first opening of managed form editor in Designer is faster. | The first opening of managed form editor in Designer took significant time. | Reduced waiting time in managed form development. |
Information registers. | Faster writing of information register record sets that have slice first or slice last options enabled. Faster execution of SliceFirst() and SliceLast() information register manager methods. | The performance of writing information register record sets that had slice first or slice last options enabled and the performance of SliceFirst() and SliceLast() information register manager methods was insufficient. | Improved performance of information registers with slice first or slice last options enabled. |
Interface. Managed forms. Functional options. | The performance of RefreshInterface(), SetInterfaceFunctionalOptionParameters(), and SetFormFunctionalOptionParameters() methods is improved. Delays introduced by these methods in applications with multiple simultaneous user connections are eliminated. | The performance of RefreshInterface(), SetInterfaceFunctionalOptionParameters(), and SetFormFunctionalOptionParameters() methods was insufficient. The performance was reduced in applications that called these methods in scenarios with multiple simultaneous user connections. | Streamlined operations in applications that use functional options. |
Changes that affect system behavior
Functionality | After | Before | Result of changes |
---|---|---|---|
Internet-enabled functionality. | The option to choose FTPES for communication with FTP servers is implemented. For the constructor of the FTPConnection object, the FTPSecureConnectionLevel property is implemented. This property defines the secure connection requirements to the FTP server. If the parameters of the FTPConnection constructor do not have the required types, an exception is thrown. This change is not implemented in 8.3.8 compatibility mode. | All FTP server operations were performed over FTPS. If the parameters of the FTPConnection constructor did not have the required types, an attempt to convert them to the required types was performed. | Extended secure connection management capabilities for FTP server operations. |
Managed forms. | Clicking a managed form table cell that displays a picture with a hyperlink (the CellHyperlink property is set to True) calls the Selection event of the form table. This change is not implemented in 8.3.8 compatibility mode. | Clicking a managed form table cell that displayed a picture with a hyperlink (the CellHyperlink property was set to True) did not call the Selection event of the form table. | Eliminated unexpected system behavior. Unified system behavior for different object types that can be displayed in a form table. |
Print tools. | The option to use duplex printing settings of the printer is implemented. The system enumeration value DuplexPrintingType.UsePrinterSettings is implemented. The DuplexPrinting property of spreadsheet documents, graphical schemas, representable document batches, and text documents has the following default value:
Printing spreadsheet documents and representable document batches from the web client to a PDF document and saving a spreadsheet document to a PDF document transfers the DuplexPrinting and PagePlacementAlternation property values to the corresponding PDF document properties. If the PDF viewer software supports these properties, they are applied when the document is printed. If the PDF viewer software does not support these properties, use the print software settings or printer settings for duplex printing. | Duplex printing settings of the printer were ignored during the printing of spreadsheet documents, graphical schemas, representable document batches, and text documents. | Improved document printing options. |
Data composition system. | When the data composition schema wizard is opened, data set fields with duplicate names are deleted, leaving only the first one. | When the data composition schema wizard was opened, duplicate data set fields were not deleted. | Eliminated unexpected system behavior. |
Technological log. | Debugger exceptions that are thrown during the startup of the debug server (dbgs) are now saved to the technological log. The <EXCP> event is used for that logging. | Debugger exceptions that are thrown during the startup of the debug server (dbgs) were not logged. | Better error diagnostics for the startup of the debug server (dbgs). |
Predefined data. Development tools. | If the result of merging configurations would include predefined data items with duplicate names, a numeric suffix is added to the item taken from the source with lesser priority. | The result of merging configurations could include predefined data items with duplicate names. | Eliminated unexpected system behavior. |
1C:Enterprise script. | For the StrTemplate() method, the syntax option with a substitution token %(N) is implemented. You can specify a substitution number in parentheses after the percent. With this syntax you can specify a number right after the substitution token in a template string. | Eliminated unexpected system behavior. | You can create template strings where the substitution token is followed by a numeric character. |
Development tools. | During the configuration check and refactoring, the search for calls of deprecated synchronous methods does not check the modules that cannot be executed at the client application side. In other modules the search ignores client script parts marked with preprocessor insrtructions and compilation directives. | During the configuration check and refactoring, the search for calls of deprecated synchronous methods ignored the execution context of modules and methods. | Reduced number of false warnings while searching for calls of deprecated synchronous methods during the configuration check and refactoring. |
Web client, web service, and HTTP service publishing tools. | If an attempt of publishing to a web server using an account that does not have administrative rights is made:
| If an attempt of publishing to a web server using an account that does not have administrative rights was made, no diagnostics was performed. | Better diagnostics for publishing to the web sever. |
XML and XDTO support. | When an XDTO package is deleted, 1C:Enterprise checks whether the package is used in web services. If web services that use the package are found, a warning with a web service list is displayed. | When an XDTO package was deleted, 1C:Enterprise did not check whether the package was used in web services, | Eliminated situations where a web service stopped working due to deletion of an XDTO package. |
Managed forms. | The option to set the focus to command bars that do not contain form item commands of contain commands from multiple sources using Tab or Shift+Tab is implemented. In the calendar used to enter a date in a text box, selection of the current date by clicking the Today hyperlink is implemented. In the thin and thick clients, in the calendar used to enter a date in a text box, selecting a date that does not belong to the current month adds this date to the text box. | The option to set the focus to command bars that did not contain form item commands of contained commands from multiple sources using Tab or Shift+Tab was not available. In the calendar used to enter a date in a text box, clicking the Today hyperlink set the focus to the current day of the month in the month currently selected in the calendar. In the thin and thick clients, selecting a date that did not belong to the current month activated the selected month in the calendar field. In the web client, this added the selected date to the text box. | Eliminated unexpected user interface behavior in some scenarios. Unified system behavior in different client applications. |
Configuration repositories. | When you store an object to a configuration repository, the repository server checks the integrity of object data. In the event of integrity violation an exception is generated and the object is not stored. | The configuration repository server did not check the integrity of stored object data. | Reduced chance of storing corrupted configuration object data to a repository. |
Database configuration update. | During a dynamic update, deletion of configuration objects that do not prevent the update and are absent from the new configuration is handled correctly. These objects are only deleted during the exclusive update. This change is not implemented in 8.3.8 compatibility mode. | Deletion of configuration objects that did not prevent the update and were absent from the new configuration was performed immediately, during a dynamic update. | Reduced number of issues that might arise during a dynamic update if some objects were deleted from the new configuration. |
Web services and HTTP services. Internet-enabled functionality. | The URI string encoding (either with the EncodeString() function or with internal platform algorithms) replaces the percent sign (%) with %25. This change is not implemented in 8.3.8 compatibility mode. | The URI string encoding (either with the EncodeString() function or with internal platform algorithms) did not replace the percent sign (%) with %25. It was left "as is." | RFC 3986 recommendations for URI string encoding are implemented. |
Localization. | In the number-to-words conversion algorithm for Azerbaijani language, a typo is corrected. This affects the numbers beginning with "two" and "twenty." | The number-to-words conversion algorithm for Azerbaijani language had a typo. This affected the numbers beginning with "two" and "twenty." | Eliminated unexpected system behavior. |
Development tools. | In the debugger, when a collection (for example, a value table) is being viewed in a new window, its columns are no longer sorted in alphabetical order. | In the debugger, when a collection (for example, a value table) was being viewed in a new window, its columns were sorted in alphabetical order. This behavior occurred in 1C:Enterprise versions 8.3.7 and 8.3.8. | Eliminated unexpected system behavior. |
Changes that require modification of configuration and administrative settings
Functionality | After | Before | Result of changes |
---|---|---|---|
1C:Enterprise script. | During the compilation of 1C:Enteprise script texts, unknown compilation directives cause errors. This change is not implemented in 8.3.8 compatibility mode. | Unknown compilation directives did not cause compilation errors. | Better control of source texts. Reduced number of issues that are hard to detect (typos in compilation directives). |
Queries. | When a transaction is rolled back from the temporary table manager, all temporary tables created within the transaction are deleted. In file databases, temporary tables created within a query transaction are not available in that query after rolling the transaction back (this behavior is now uniform with scenarios that use other DMBS). This change is not implemented in 8.3.8 compatibility mode. | When a transaction was rolled back from the temporary table manager, temporary tables created within the transaction were not deleted. In file databases, the option to use temporary tables created in a transaction that was rolled back was available. In scenarios that used other DBMS, this option was not available. | Uniform 1C:Enterprise behavior in scenarios that use different DBMS. |
Navigation links. | An attempt to execute the GetURL() method for a value that cannot provide an URL generates an exception. This change is not implemented in 8.3.8 compatibility mode. | An attempt to execute the GetURL() method for a value that cannot provide an URL had the following result:
| Unified system behavior in different client applications. |
Window-based interface. Error handling. | If the Timeout parameter of the DoQueryBox(), ShowQueryBox(), DoMessageBox(), or ShowMessageBox() method has a negative value, an exception is generated. This change is not implemented in 8.3.8 compatibility mode. | If the Timeout parameter of the DoQueryBox(), ShowQueryBox(), DoMessageBox(), or ShowMessageBox() method had a negative value:
| Eliminated unexpected system behavior. Unified system behavior in different client applications. |
DBMS operations. | If a parameter of the In operation of the query language is a value table with a column of String type longer that 1024 characters or BinaryData type longer that 2048 bytes, an exception is generated during the query execution. | If a parameter of the In operation of the query language was a value table with a column of String type longer that 1024 characters or BinaryData type longer that 2048 bytes, the query might or might not be executed, depending on the DBMS. | More predictable query results on different DBMS. Improved system reliability. |
Client application. Managed forms. | At the thick client startup, the Synchronous call usage mode for platform extensions and add-ins configuration property is ignored and all synchronous methods are executed without any warnings or exceptions. When the thick client is started from Designer, the /EnableCheckExtensionsAndAddInsSyncCalls option is not passed to the client. The behavior of the thin client and the web client in this scenario is not changed. The behaviour of configuration verification and refactoring is not changed: they display warnings for all synchronous methods calls and recommend conversion to asynchronous methods. | At the thick client startup, the Synchronous call usage mode for platform extensions and add-ins configuration property was not ignored. When the thick client was started from Designer, the /EnableCheckExtensionsAndAddInsSyncCalls option was passed to the client. | Removed checks for synchronous method calls in applied solutions intended to run in thick client only. |
Queries. | During the query generation, the query builder (in Designer and in the thick client) and the QuerySchema object (in the thick client) generate aliases for all fields of the first query (in a set of unions) for each query in a batch. This change is not implemented in 8.Х.Х repository compatibility mode. | During the query generation, the query builder (in Designer and in the thick client) and the QuerySchema object (in the thick client) generated aliases only for expression fields and for fields used for ordering and totals calculation. | Unified behavior of query builder and the QuerySchema object in different client applications. |
Managed forms. | The following object keys are used for storing desktop separator positions:
Once you turn the compatibility mode off, the keys are renamed. If you set the compatibility mode to Version 8.3.8, the initial names are applied again. When you export a configuration to a set of XML files, the file that stores the HomePageWorkingArea property (former StartPageWorkingArea property) has a different name. This change is not implemented in 8.3.8 compatibility mode. | The following object keys were used for storing desktop separator positions:
| The object key names better reflect their purpose. |
Spreadsheet documents. | If auto grouping or rows is enabled, new groupings inherit the name and visibility from the area that is displayed in the grouping header area. This change is not implemented in 8.3.8 compatibility mode. | If auto grouping or rows was enabled, new groupings inherited the name and visibility from the area that was displayed inside the grouping. | Eliminated unexpected system behavior. |
Common objects. | If the DBMSNames parameter of the GetDBStorageStructureInfo() method has a value of non-Boolean type, an exception is generated. This change is not implemented in 8.3.7 compatibility mode. | A value of any type could be passed to the DBMSNames parameter of the GetDBStorageStructureInfo() method. | Eliminated unexpected system behavior. |
Spreadsheet documents. | In spreadsheet documents, when a text is displayed with nonhorizontal orientation, it has the same font size as regular text. This change is not implemented in 8.3.8 compatibility mode. | In spreadsheet documents, when a text was displayed with nonhorizontal orientation, it had bigger font size than regular text. | Eliminated unexpected system behavior. |
DBMS operations. | Changing the data lock timeout in the Infobase options dialog box in Designer requires administrative rights in a nonseparated session and sets exclusive infobase access mode. If an exclusive lock cannot be set, a message with a list of sessions preventing the lock is displayed, it includes the retry option. The SetLockWaitTime() method requires administrative rights in a nonseparated session, sets an exclusive database lock (if it was not set earlier), and throws an exception if the exclusive lock cannot be set. The change of the data lock timeout is applied immediately to all DBMS except IBM DB2. Changing the lock timeout in IDB DB2 requires a database restart. | Changing the data lock timeout in the Infobase options dialog box or using the SetLockWaitTime() 1C:Enterprise script method was allowed in infobases running in shared mode. | Eliminated the issues related to database operations that appeared in some scenarios. |
XML and XDTO support. | For the XMLWriter.OpenFile() method, the AddBOM parameter is implemented. It shows whether the resulting file includes a BOM. | This feature was not provided. | Integration with systems that do not expect BOMs in their input XML files is now available. |
Administration tools. System requirements. | In the file infobase, the check for client application versions is implemented. Access to the infobase is only allowed if the versions of all client applications match. If the versions do not match, an error is displayed. | An attempt to access an infobase using multiple versions from the following list generated an exception: 8.2.19 to 8.3.4, 8.3.6, and 8.3.7. In some cases simultaneous access to a single infobase with different platform versions was allowed, where one version was 8.2.18 or earlier and the other one was in range 8.3.1-8.3.3. | Increased reliability of file infobases. Simultaneous access to a single infobase using different 1C:Enterprise versions is not allowed. |
ZIP archive operations. | The path separator of the ZipFileEntry object depends on the operating system. This change is not implemented in 8.3.8 compatibility mode. | The path separator of the ZipFileEntry object was always a slash mark (/) and did not depend on the operating system. | ZIP file operations use the same file path separators as other file operations. |
Data composition system. | When data composition template composer generates parameter names, it does not assign parameter names that are already used in the data composition schema. This change is not implemented in 8.3.8 compatibility mode. | When data composition template composer generated parameter names, it could assign parameter names that were already used in the data composition schema. | Eliminated unexpected system behavior. |
Administration tools. | When 1C:Enterprise establishes a secure connection (HTTPS) to the Licensing Center, it automatically selects the root certificate store of the operating system. If the Internet connection uses a proxy server that decrypts secure connection (HTTPS) traffic, the system administrator must add the certificates that sign the proxy server certificate to the trusted root certificate store of the operating system. | When 1C:Enterprise established a secure connection (HTTPS) to the Licensing Center, it searched the file cacert.pem for a secure connection certificate. | Reduced number of issues related to interaction with the Licensing Center. |
Configuration extensions. | For the execution of some configuration object handlers and subscriptions, disabling the safe mode is implemented. Once a handler or subscription is executed, the safe mode and the security profile are restored. You can disable the safe mode manually using the SetSafeModeDisabled() and GetSafeModeDisabled() global context methods. These methods are not available in configuration extensions. The list of handlers where the safe mode is automaticly disabled is provided in the documentation. | The option to disable the safe mode using 1C:Enterprise script tools was not provided. | You have the option to access objects that have events that require privileged mode in their object modules from configuration extensions and external data processors executed in safe mode. |
Internet-enabled functionality. | TLS 1.2 protocol is used to establish secure connection because it provides additional security. You can force the use of TLS 1.0 protocol when establishing thin client connection to a web server using the command-line option /HttpsForceTLS1_0. HTTPConnection, FTPConnection, and WSProxy objects automatically select TLS 1.2 protocol, regardless of the specified client certificate source. For the conf.cfg configuration file, the ForceTLS1_0 parameter is implemented. Simultaneous use of /HttpsForceTLS1_0 and /HttpsForceSSLv3 command-line options in the thin client is not supported. | TLS 1.0 protocol was used to establish secure connections. | Increased security of thin client Internet connections. |
Internet-enabled functionality. | If an SMTP server cannot send an email message to one or several recipients, the InternetMail.Send() method returns a map where recipients are keys and SMTP server diagnostic messages are values. This change is not implemented in 8.3.8 compatibility mode. | If an SMTP server could not send an email message to one or several recipients, the InternetMail.Send() method generated an exception. | You can determine which recipients cannot be reached by email and view the reasons provided by the SMTP server. |
Development tools. Configuration properties. Dumping configurations to files/Restoring configurations from files. | When a configuration is exported to files, the format of Compatibility mode configuration property in the resulting file is different. The new format eliminates possible loss of compatibility mode data during the import. | When a configuration with Compatibility mode property set to Do not use was exported to files, the property value was exported as Do not use. Then, if that configuration was imported using a later 1C:Enterprise version, the imported compatibility mode value was incorrect. | Eliminated the chance to lose compatibility mode data after exporting and importing a configuration. Eliminated unexpected system behavior. |
Spreadsheet documents. | The FillPropertyValues() method applied to a spreadsheet document copies the Template property of the spreadsheet document. This change is not implemented in 8.3.8 compatibility mode. | The FillPropertyValues() method applied to a spreadsheet document did not copy the Template property of the spreadsheet document. | The behavior implemented earlier to streamline migration to the previous version is no longer supported. |
Administration tools. Database operations. | In the file mode, the default format of new databases is 8.3.8. | In the file mode, the default format of new databases was 8.2.14. | The optimized file database format implemented in platform version 8.3.8 becomes the default one. |
Internet-enabled functionality. | The Port property of FTPConnection object and the Port parameter of its constructor have the Number type. This change is not implemented in 8.3.8 compatibility mode. | The Port property of FTPConnection object and the Port property of its constructor had String type. The constructor parameter accepted any data that could be converted to Number type. | Eliminated unexpected system behavior. |
Database operations. | After calling the GetDBStorageStructureInfo() method, tables that do not have presentations in the query language have empty strings for their names (TableName property) and their field names (FieldName property). This change is not implemented in 8.3.8 compatibility mode. | After calling the GetDBStorageStructureInfo() method, tables that did not have presentations in the query language had their table name (TableName property) and field name (FieldName property) values equal to virtual table presentations. | Eliminated unexpected system behavior. |
HTML support. | Reading and writing XML documents containing <?xml does not generate an error message. This change is not implemented in 8.3.8 compatibility mode. | Reading and writing XML documents containing <?xml generated an error message. | Eliminated unexpected system behavior. |
ZIP archive operations. | File names in ZIP archives are written in UTF8 encoding. For the ZipFileWriter object constructor and the Open() method of the ZipFileWriter object, parameters that define file name encoding in ZIP archives are implemented. These parameters override the FileNamesEncodingInZipFile parameter in the conf.cfg file. The default value of the FileNamesEncodingInZipFile parameter in the conf.cfg file is UTF8. This change is not implemented in 8.3.8 compatibility mode. | File names in ZIP archives were written in UTF8 encoding and the current operating system encoding. 1C:Enterprise script did not provide methods to specify encoding of file names in ZIP archives. The default value of the FileNamesEncodingInZipFile parameter in the conf.cfg file was OSEncodingWithUTF8. | 1C:Enterprise script provides methods to specify the encoding of file names in 1C:Enterprise-generated ZIP archives. |
Dynamic lists. | Dynamic list fields included in conditional form appearance item filters are always passed to the client, regardless of the value of the Use always field property or the availability of a visible linked column. This change is not implemented in 8.3.7 compatibility mode. | Dynamic list fields included in conditional form appearance item filters were not automatically passed to the client. To ensure correct functioning of conditional appearance items, developers had to set the Use always property for such fields. | Better usability for 1C:Enterprise developers. |
Dynamic lists. | The recommendation to avoid using conditional form appearance for customizing dynamic list appearance if the desired effect can be achieved only by using conditional dynamic list appearance is added to the documentation. | The recommendation to avoid using conditional form appearance for customizing dynamic list appearance if the desired effect can be achieved only by using conditional dynamic list appearance was not available in the documentation. | 1C:Enterprise documentation is improved. |
Data composition system. | In the composition of a data composition system template, the following operations are performed using additional data sets that are automatically generated by a template composer:
This change is not implemented in 8.3.8 compatibility mode. | In the composition of a data composition system template, the following operations were performed within a query:
This might generate incorrect results or errors. | Eliminated unexpected system behavior. |
Renamed objects
Mobile platform
Functionality | After | Before | Result of changes |
---|---|---|---|
File operations. Multimedia support. | On the mobile platform, the FileDialog object is available. For the dialog limitations on specific operating systems, see the Syntax Assistant. For mobile devices, the option to select files interactively is implemented for the following methods: GetFile(), GetFiles(), PutFile(), and PutFiles(). The File.GetMobileDeviceLibraryFilePresentation() method is implemented. It returns the file presentation for displaying on the mobile device. You can use mobile device library file names (with the content schema) in constructors of the following objects: File, BinaryData, Picture, and MobileDeviceApplicationRun. You can also use them as parameters for the following global context methods: RunApp(), GotoURL(), FileCopy(), MoveFile(), DeleteFiles(), and FindFiles(). The MobileDeviceLibraryDirectory() global context method is implemented. It returns a path to a mobile device library (a picture, audio, or video library). | The FileDialog object was not available on the mobile platform. | Interactive file operations are implemented for the mobile platform. |
Mobile device-specific features. | For Android operating system, the option to process incoming call data using 1C:Enterprise script tools is implemented. For the TelephonyTools object, the CallsHandlingSupported(), AttachCallsHandler(), and DetachCallsHandler() methods are implemented. The TelephonyTools.CallsHandlingSupported() method returns True on Android only. | This feature was not provided on the mobile platform. | The option to process incoming call data in mobile applications using 1C:Enterprise script tools is now available on Android operating system. |
Mobile device-specific features. | Extended multimedia options for the mobile platform:
| These features were not provided on the mobile platform. | Extended multimedia support. |
Data composition system. | On the mobile platform, the support of data composition system is implemented, except for the objects that allow user interaction. Therefore, all data composition system operations are performed using 1C:Enterprise script tools. In Designer, the option to create data composition schemas for reports that run in mobile applications is implemented. | This feature was not provided on the mobile platform. | Extended report development capabilities on the mobile platform. |
Add-ins. | On the mobile platform, add-in support is implemented. It uses the NativeAPI technology. You can export a mobile configuration from Designer to 1cema.zip format, which includes the add-ins used in the configuration. In the mobile application builder, the option to build applications with add-ins is implemented. Add-in development technology documentation and examples are updated (read more). | The mobile platform did not support this feature. | You have the option to expand mobile platform functionality when its standard features do not cover your needs. |
Managed forms. | The following features are implemented for the mobile platform:
Support of BorderColor, BackColor, TitleTextColor, and TitleFont properties is implemented for buttons of CommandBarButton and CommandBarHyperlink type and for form group extensions for popups. | This feature was not provided on the mobile platform. | The set of features available on the mobile platform is closer to the set of features available on the desktop platform. |
Internet-enabled functionality. | The option to check the availability of data transfer network in mobile applications is implemented. The InternetConnectionInformation global context property is implemented. | This feature was not provided on the mobile platform. | The option to analyze available data transfer methods and choose the optimal strategy for operations with external data is implemented. |
JSON support. | The mobile platform now supports JSON operations. Serialization of XDTO documents to JSON objects is not supported. | This feature was not provided on the mobile platform. | Simplified integration with applications (including web applications) that use JSON data format. The option to store data in JSON format (for example, instead of XML format) is implemented. |
Internet-enabled functionality. | The behavior of the OpenSSLSecureConnection object is unified with that of the PC platform.
The OSCertificationAuthorityCertificates object is now available on the mobile platform. This change is not implemented in 8.3.8 compatibility mode. | The certificate check always used the root certificates installed on the mobile device. The CertificationAuthorityCertificates parameter of the OpenSSLSecureConnection object constructor was ignored. | Unified behavior of the mobile platform and the PC platform. Eliminated unexpected system behavior. |
Mobile device-specific features. | The option to check the availability of operations with global contact keys, calendars, and calendar events on different mobile operating systems is implemented. For the ContactManager object, the GlobalContactsKeySupported() method is implemented. For the CalendarsManager object, the GlobalCalendarsKeysSupported() and GlobalEventsKeysSupported() methods are implemented. The GlobalContactKey parameter of the AccountContactData object constructor is no longer supported. The values of properties that describe global contact keys, calendars, and calendar events depend on the result of the function that checks the availability of global key operations. If global key operations are not supported, requests to these values return blank strings. Availability of LocalContactKey, LocalCalendarKey, and LocalCalendarEventKey objects on the mobile application server is implemented. | The availability of global contact keys, events, and calendar events depended on the platform where a mobile application was running. Developers had no means to check whether operations with global keys from 1C:Enterprise script were supported. The LocalContactKey, LocalCalendarKey, and LocalCalendarEventKey objects were not available on the mobile application server. | The mobile platform behavior is unified with the general behavior of applications that have features that are not available on some mobile devices or operating systems. |
Predefined data. | In the mobile platform, support of the following global context methods is implemented: InitializePredefinedData(), SetInfoBasePredefinedDataUpdate(), and GetInfoBasePredefinedData(). | This feature was not provided on the mobile platform. | Unified desktop and mobile platform features related to predefined data. |
Transition from the previous version to the version 8.3.9
- Conversion of configurations, infobases, external data processors and external reports is not required during the transition from the previous version to the version 8.3.9.
- Some features that are added in version 8.3.9 do not support compatibility mode. When you toggle the compatibility mode, the structure of some database objects is changed. To be able to work with the infobase using a previous platform version, you have to turn the compatibility mode on.
- In the file mode, queries are optimized for scenarios where an applied solution has separators but actually contains a single data area.
To apply this optimization to an existing infobase, perform infobase verification and repair with the Reindexing infobase tables check box selected.
Once the restructuring is completed, the optimization is applied to all restructured objects.
- The index of the actual action period table of a calculation register is complemented by the start date and end date fields, and the index is now clustered. This reduces the chance of lock escalation to the table level when writing record sets of calculation registers that support action period.
For the chart of calculation types table that stores serial numbers of calculation type displacements, a nonunique index by displacement number is implemented. As a result, simultaneous editing of a single chart of calculation types in different data areas of a separated infobase never requires waiting for lock releases.
To apply this optimization to existing infobases, perform the infobase verification and repair operation with the Restructure infobase tables option selected.