Version 3.1
What’s new in versions
- What’s new in version 3.1.7
- New features for developers in version 3.1.7
- Migration from version 3.1.6 to version 3.1.7
- How to migrate from earlier versions to version 3.1.7
- Migration to corrective releases 3.1.7
- What’s new in version 3.1.6
- New features for developers in version 3.1.6
- Migration from version 3.1.6 to version 3.1.6
- How to migrate from earlier versions to version 3.1.6
- Migration to corrective releases 3.1.6
- What’s new in version 3.1.5
- New features for developers in version 3.1.5
- Migration from version 3.1.4 to version 3.1.5
- How to migrate from earlier versions to version 3.1.5
- Migration from version 3.1.1 to version 3.1.2
- Migration to corrective releases 3.1.2
- How to migrate from earlier versions to version 3.1.3
- Migration from version 3.0.3 to version 3.1.1
- Migration to corrective releases 3.1.1
- How to migrate from earlier versions to version 3.1.1
Version 3.1.7
Use version 3.1.7 to develop on 1C:Enterprise platform 8.3.17 or higher. Compatibility modes from Version 8.3.14
to Version 8.3.21
(inclusive) are available.
For a complete list of what’s new, see the What’s new in version 3.1.7 section below.
What’s new in version 3.1.7
Core
- Now long-running operations require less time and the application is more responsive when conversations are enabled (Collaboration system). For example, it takes less time to generate reports, import or export data, and so on.
Users
- When changing access rights, you’ll be prompted to restart the application to apply the changes.
What’s new for developers in version 3.1.7
Core
To reduce the number of periodic server calls, use server notifications and long-running operations instead of idle handlers. In client/server mode, this significantly decreases the load on 1C:Enterprise server caused by periodic idle client handlers that exchange data with the server. If conversations (Collaboration system) are enabled in the infobase, client sessions receive events from the server immediately without any additional server calls. If conversations are disabled, the server load is balanced using one global idle handler.
- To process server notifications on the client, register your server notification in the
OnAddServerNotifications
procedure of theCommonOverridable
common module and implement handlers for its sending and receiving. See the demo application for examples. - To send data form the client to the server periodically, implement sending in the
BeforePeriodicClientDataSendToServer
procedure of theCommonClientOverridable
common module and its processing in theUponPeriodicClientDataReceiptAtServer
orAfterPeriodicClientDataReceiptAtServer
procedures of theCommonOverridable
common module. See the demo application for examples. - We recommend that you replace native idle handlers for a long-running operation check with the
WaitCompletion
procedure of theTimeConsumingOperationsClient
common module. Also, replace theUserMessage
platform object in long-running operation procedures with theMessageToUser
procedure of theCommon
common module. If conversations (Collaboration system) are enabled in the infobase, progress information and messages from a background job are sent to the client faster.
- To process server notifications on the client, register your server notification in the
You no longer need to separate user messages from background jobs of long-running operations from the internal progress text using the
UserMessages
function of theTimeConsumingOperations
common module. TheReportProgress
procedure of theTimeConsumingOperations
common module no longer sends progress messages to a user. It is implemented by means of server notifications.
Migration from version 3.1.6 to version 3.1.7
Mandatory migration actions
In this section, you can find additional instructions on migrating for each subsystem. Follow these instructions after comparison and merging (see Chapter 2 Library integration guide) (in Russian).
To update the following overridable common modules, move the new export procedures from the library distribution package, remove the missing ones, and make sure the comments, number, and names of the procedure parameters are the same as in the library distribution package:
CommonClientOverridable
,CommonOverridable
,ReportMailingOverridable
,ToDoListOverridable
.
See What’s new for developers above for recommendations on how to take advantage of the new features of the overridable common modules.
- Names and parameters of export procedures and functions of common modules, object modules, managers, record sets, and other located in the
Public
area. - Names and parameters of all export procedures and functions of overridable common modules.
- Names of metadata objects (including their attributes, tables, and so on) that can be directly accessed from the application code or from queries.
If you use the API, there is less need to revise the application code on update to new library versions. In exceptional cases, when such compatibility is not ensured and it is required to adapt the application to the new API of the library, follow the instructions in this section. Changes in internal library procedures and functions (even if they are export ones) that are not related to the API are not documented. When calling them directly from the application, note that they can be changed, moved, or deleted in the next library version since they are its internal implementation.
Core
Optional migration actions
The actions below are optional for the migration, but we recommend that you schedule them in the future.
Core
- To reduce the number of periodic server calls, use server notifications and long-running operations instead of your own similar tools. For more information, see What’s new for developers in version 3.1.7 - Core.
Additional reports and data processors
- The
TimeConsumingOperationFormName
function of theAdditionalReportsAndDataProcessorsClient
common module is marked as obsolete. Instead of this function, use a notification passed to theHandler
parameter of theExecuteCommandInBackground
procedure of the same common module.
To-do list
- Unused
BeforeLoadDataFromSettingsAtServer
andOnCreateAtServer
procedures of theToDoListOverridable
common module are deleted. If these procedures are used to override the behavior in the objects attached to the to-do list, we recommended that you move them to application modules and change call locations.
How to migrate from earlier versions to version 3.1.7
When migrating from earlier library versions (up to 3.1.7):
- Compare/merge the latest library version (to which you are migrating) with the distribution package file in Designer.
- Follow the instructions from all the Migration from previous version sections for every skipped version.
Migration to corrective releases 3.1.7
Corrective library releases differ only in the fourth digit in the full version number. For example, 3.1.7.1, 3.1.7.20, 3.1.7.300, and so on. To migrate to the corrective releases, use the UpdateToCorrectiveVersionSSL.epf external data processor from the distribution package. It will help save your time on regular updates (for example, every week).
Start the data processor in the infobase with the application that contains the previous library release. Specify the CF delivery file for the new library version and click Update to corrective version. The library version is automatically compared/merged with the new library version according to the documentation settings. All built-in library objects will be transferred, and those overridden during integration will be merged with the priority of the vendor configuration (for example, flexible type collections) or skipped (such as overridable modules). After the comparison/merging, the database configuration will not be updated automatically, which allows you to compare with the database configuration and edit the changed objects: overridable modules, various local patches, and revisions.
As an alternative, you can click Generate a settings file and generate a comparison and merging setting file. You can import this file to Designer for manual comparison or merging.
From version 3.1.7.79 and earlier
Data exchange
In version 1.11.5 of the universal
Enterprise Data
exchange format, the following features are implemented:- Starting from Fiscal data format 1.2, marking codes for certain product groups (perfume, alternative tobacco products (cigars)) can be passed to the cash register with additional parameters. They specify a part of the marked unit that is subject to outflow.
- In the conversion rules, you can pass the Company acts as a tax agent for the VAT payment contract flag.
- New properties that allow you to exchnage information about Salary reserves in the conversion rules.
- Extended values of the Types of products in information system enumerations.
- New object of the Document GarnishmentOrder format in the conversion rules.
- New object of the Document DeductedPersonalIncomeTax format in the conversion rules. You can use the document when providing information about the Unified tax payment.
- New
StateContactID
field in theContracts
catalog properties. Use it to synchronize information on state contracts between applications. - New optional
TRUCode
property is added to the object with the Products catalog format for the Social Security Fund. The format is advanced with theTypesofPaymentSystemCashRegister
enumeration. - New optional Currency of regulated accounting field for properties of the object with the Companies catalog format.
- In the object of the Patents catalog format, the
BCC
andPotentialAnnualIncome
fields are optional now. This advances the catalog conversion from applications where patents are considered in a reduced form. - Found errors are fixed.
Version 3.1.6
Use version 3.1.6 to develop on 1C:Enterprise platform 8.3.17 or higher. Compatibility modes from Version 8.3.14
to Version 8.3.21
(inclusive) are available.
For a complete list of what’s new, see What’s new in version 3.1.6 section below.
What’s new in version 3.1.6
Core
- Now you can speed up certain long-running operations (for example, address classifier import) in the client/server mode. To do this, configure the operation execution in multiple threads. In Administration - General settings - Performance, specify the maximum number of concurrent threads. Set the parameter depending on the technical capacity of the server. Its value cannot exceed the number of processor cores on the server.
- If you use the server cluster in the client/server mode, you need to provide the correct operation of certain application functions. To do this, go to Administration - General settings and specify a shared network path to a temporary file directory. It will provide access to this directory from all the cluster servers. For example, for multi-threaded address classifier import.
- Improved extension update. See the Extensions list in Administration - Print forms, reports, and data processors. Now if you update an extension to a new version where its name is changed, all the previous extension settings are saved, for example, created report options. Besides, if you accidentally delete the extension and add it to the application again within a short period, you can continue without losing the extension settings.
Report options
- Use the context menu of the report to drill down the report details by detailed records. The structure of this report contains only one Detailed records element.
- The command bar of the report contains the Cancel and Retry buttons. Use them to quickly cancel one or more of the last settings actions you made from the context menu or in the settings form: adding filters, groupings, moving columns, changing sorting, and so on. You can also reset them to default settings. Previously, you could only reset reports to default settings.
- Click Edit quick settings on the right in the report header to enable or disable the display of header field titles. In most cases, report header fields are quite clear without titles: by their content, hints, or tooltips when hovering over them. Thus, the report header takes up less space across the screen width.
- When you save the report result in Microsoft Excel format, sorting indicator pictures are hidden from the report header.
- In the report settings form, in the advanced mode, you can now add filters not only by selecting fields from the list, but also by entering the first letters.
Business interactions
- Improved troubleshooting of issues that occur when receiving and sending emails. Besides technological messages of mail servers, brief notes are displayed for possible reasons and ways to eliminate them. See ITS: Recommendations for solving standard issues (in Russian).
Data exchange
- To be able to apply extensions and quickly debug registration rules, you can enable Registration manager. See the form for importing registration rules in data synchronization parameters. In this case, registration rules are stored in the common application module.
Infobase version update
- If the deferred update handler fails, you can initiate a targeted restart by re-registering the update data for it. To do this, after fixing an error in the handler or installing a patch, go to Administration - Support and service - Update results and additional data processing and in the More actions submenu click Restart deferred update.
- With a long deferred application update, you can enable editing of a document that has not been updated yet by clicking More actions - Unlock object for editing. Use this option as a last resort, for example, to fix an error in a document that prevents it from being updated.
- The window with the application update results (Administration - Support and service - Update results and additional data processing) provides more information on various update issues:
- Enabled scheduled job locks in client/server mode.
- Issues with update handlers when errors during data processing are logged.
- Issues with data when it cannot be processed.
- You can go to the report that will display objects with issues and recommendations for their correction.
- The deferred update progress report now displays more troubleshooting information:
- The amount of processed data for the selected period.
- Issues in the update handlers and data, as well as whether they can be navigated to.
- In the list of print form templates (go to Administration - Print forms, reports, and data processors - Print form templates), you can now create new print form templates. For new templates, print commands are automatically added to the Print submenu of the respective documents. This allows you to create your own print form without using Designer.
- The print form template editor now contains a list of fields of the document to be printed. The list of fields shows a filling sample for each field and provides format settings. You can drag fields from this list directly into a template. At any stage of editing, you can view a sample of print form generation for any document.
Users
- When operating in the web application based on 1cFresh cloud technology, the service administrator can specify authorization settings common for all the service users in the service manager (Main - Configuration settings - Authentication). The authorization settings are available to the subscriber administrator in the data area (Administration - Users and rights settings - Authorization settings).
Email management
- Improved troubleshooting of issues that occur when receiving and sending emails. Besides technological messages of mail servers, brief notes are displayed for possible reasons and ways to eliminate them. See ITS: Recommendations for solving standard issues (in Russian).
- When setting up the email, you can select a more up-to-date and secure authorization method using an email service. It allows you not to store your email account password in the application (OAuth 2.0).
Report distribution
- Improved troubleshooting of issues that occur when sending emails. Besides technological messages of mail servers, brief notes are displayed for possible reasons and ways to eliminate them. See ITS: Recommendations for solving standard issues (in Russian).
Access management
Use the Users rights to a table details in the Access rights analysis report to view the current settings for record-level access restrictions (RLS) in one of the following ways:
- In any form of the list form, in the More actions menu, click Reports - User rights and open the user details.
- In the Users list, click Reports - User rights and open the table details.
- In Administration - Users and rights settings, click Access rights analysis and open details of the required access right.
Technicians can now use the Role rights report to analyze the matrix of role and profile rights. You can do this in one of the following ways:
- In any list form in the More actions menu, click Reports - Rights of roles and profiles.
- In the Access group profiles list, click Reports - Rights of roles and profiles or Reports - Rights of profiles.
- In the Administration section, click Administrator reports, enter Rights of roles in the search string and open the report.
The Access rights analysis report is generated twice as fast now.
Digital signature
- You can reissue a qualified certificate of a digital signature faster by submitting the application for issue in electronic form. You can do this if the previous certificate is received in the same application and the certificate owner data is not changed. To do it, click Reissue in the Digital signature and encryption settings list (My settings or Administration - General settings - Digital signature and encryption) and select Issue in electronic form. The electronic application form will save your time and paper.
- To enable a notification of the certificate expiration, select the Remind me to reissue check box in the certificate form (for personal certificates). A certificate can be reissued in electronic form not earlier than 30 days before the end of its validity period.
- You can easily go from the to-do list to the list of your expiring certificates and applications for certificate issue being processed.
- Information on the availability of CryptoPro CSP CIPF license is displayed in certificate data (certificate card - Show certificate data) and indicates that such certificate can be used with CryptoPro CSP software on terms of non-exclusive license without entering a serial number.
- Now the application for a new qualified certificate issue contains a qualified certificate print form.
- When validating a certificate and a signature, the system checks the status of the accredited certification authority that issued the certificate of an advanced electronic signature (AdES) and validity periods of AdES certificates issued to legal entities and individual entrepreneurs by commercial certification authorities according to the legislation. You can receive notifications of AdES certificate expiration. The list of accredited certification authorities is automatically updated from 1C:Enterprise website.
- Personal certificates, expiring certificates, expired certificates, and certificate applications are accompanied by explanatory pictures in the certificate list and in the certificate card.
- Now you can validate digital signatures with minimal rights, and also more flexibly configure the rights to various actions with the certificate: adding to a catalog, signing, decrypting, and encrypting data.
- Now you can sign documents using digital signatures with time CAdES-T and CAdES-A (according to Federal Law No. 63-FZ as of 04/06/2011 “On digital signature”). To renew a digital signature, you can automatically improve the previously added signatures and add archive timestamps to archival signatures. You can select the required signature type for new and existing documents in Administration - General settings - Digital signature and encryption.
- If a certificate is revoked in a certification authority but the revocation has not been applied yet, in the More actions menu of the certificate card, select Certificate revoked and the certificate will not be applicable for signing.
What’s new for developers in version 3.1.6
Core
- In the
BeforeStartApplication
procedure of theCommonOverridable
common module, you can perform arbitrary actions before starting the application, for example, set up the home page and other interface parameters depending on the operating mode. - Common pictures are built-in for all metadata object kinds, for example,
MetadataCatalogs
,MetadataDocuments
, and so on (start withMetadata
). - In the
SelectMetadataObjects
, you can now select the following metadata objects:CommonAttributes
,HTTPServices
, andExternalDataSources
. The By object kinds selection mode now also displays recognizable pictures for all metadata object kinds. - The
HTTPDate
andRFC1123Date
functions are added to theCommonClientServer
common module to convert dates to the RFC-1123 format and back. Use these functions to manage files downloaded from the Internet. - You can speed up the long-running operation by executing the long-running operation handler in multiple threads. To do this:
- Divide data into sets, where each item will be processed in a separate background job.
- To start a long-running operation, call the
ExecuteProcedureinMultipleThreads
orExecuteFunctionInMultipleThreads
function from theTimeConsumingOperations
common module API by passing the generated data set using the third parameter. For the detailed parameter description, see comments to these functions. - The maximum allowed number of concurrent background jobs can be specified by the administrator in Administration - General settings - Multithreaded long-running operations.
- In a file infobase and in SaaS mode, long-running operations are always executed in one thread.
- See an example in the demo application in the
AddressClassifierLoading
form of theAddressObjects
information register.
- To keep your users updated on the long-running operation progress, the API for the
IdleParameters
function of theTimeConsumingOperationsClient
common module is advanced:- New
Title
property to display an arbitrary title in the window of pending long-running operation. - New properties are added to the
UserNotification
structure:Picture
. Defines a picture to display in a notification when a long-running operation is completed.Important
. Allows you to mark a notification as important, so it will be displayed in the notification center.
- New
Report options
- The API is expanded. Use it to group fields of report header settings. With the
OnDefineSettingsFormItemsProperties
procedure of the report module, you can specify the following group properties:Title
,BackColor
,ToolTip
,ToolTipRepresentation
,Height
,Width
,VerticalStretch
, andHorizontalStretch
. See theFormItemsGroupProperties
procedure of theReportsServer
common module and an example in theOnDefineSettingsFormItemsProperties
procedure of theUniversalReport
report module. - Use the
AtStartValueSelection
procedure of theReportsClientOverridable
common module to override the form for selecting values in report filter fields. For example, in theRolesRights
report, use theSelectMetadataObjects
common form to filter by roles and metadata objects. - To execute the logic on the client before generating a report, use the
BeforeFormationReport
event. See theDefaultReportSettings
function of theReportsClientServer
common module. For example, this can be required to display a warning before generating a report that is too large. - The list of the
AdditionalProperties
properties of theNewDCSettings
parameter and theSettings
object of the Settings Composer (report object) of theBeforeImportSettingsToComposer
report module event is expanded. TheVariantKey
,PredefinedOptionKey
,OptionContext
, andFormParametersSelection
properties are passed there. Use the properties to better consider the context of the report generation. - New
AfterLoadSettingsInLinker
event instead of the outdatedOnDefineSelectionParameters
event (see details in theDefaultReportSettings
function of theReportsClientServer
common module). You can use it not only to refine the selection parameters (for example, the choice list), but also to do the same considering the loaded fixed settings. You can also call the new event on non-interactive report generation, for example, on report distribution. - For some non-standard reports, use the
DisableStandardContextMenu
flag to disable the context menu and report column settings. See the details in theDefaultReportSettings
function of theReportsClientServer
common module.
Contact information
- To unify the initial filling and update of predefined contact information kinds, in the application, you now need to place the filling code only in the
OnInitialItemsFilling
andOnInitialItemFilling
procedures of theContactsManagerOverridable
common module. You can also use it to set creation of folders (ContactInformationKinds
catalog groups). See the demo application for examples.
Data integrity
- New optional parameter in the
OpenIssuesReport
procedure of theAccountingAuditClient
common module:ExactMap
. Use the parameter to set filter by theChecksKind
parameter when you open the report.
National language support
- To get values of multilingual attributes in queries in accordance with the current user language, for example, on selection of goods or their display in arbitrary lists, in the API of the
NativeLanguagesSupportServer
common module, use theChangeRequestFieldUnderCurrentLanguage
procedure that changes the description of the multilingual attribute in the query text to the attribute description according to the current user language. For example, for the first additional language, the procedure changesDescription
toDescriptionLanguage1
. For more information, see the procedure comment.
User reminders
- New function in the API of the
UserReminders
common module:UsedUserReminders
. It allows you to check whether user reminders can be used.
Data exchange
· The OnStandaloneModeOptionChange
procedure of the DataExchangeOverridable
common module is called when changing an infobase mode and allows you to perform additional actions, for example, initialize related constants and settings.
· When you synchronize data using the universal EnterpriseData
format, you can execute registration rules located in the common module of an application or an extension. To do this, in the WhenReceivingSettings
procedure of the exchange plan manager, specify the RulesForRegisteringInManager
and RegistrationManager
settings. Setup example:
Procedure WhenReceivingSettings(Settings) Export
…
Settings.RulesForRegisteringInManager = True;
Settings.RegistrationManager = "_DemoRegistrationManagerForUniversalFormat";
EndProcedure
To create a common module, use the Data conversion application version 3.1.1 or later. Set the following execution contexts for the common module: Server, External connection, Client (ordinary application).
· In the Import/export EnterpriseData
data processor in Developer mode, you can operate with a shared temporary file directory (optional). You can find this option in the More actions
menu and access it in the data import mode.
Infobase version update
- New methods in the API of the
InfobaseUpdate
common module:WriteEventToRegistrationLog
,RelaunchDeferredUpdate
,RestartExclusiveUpdate
,FileIssueWithData
, andEnableDisableDeferredUpdate
. For more information, see their details. - New method in the API of the
InfobaseUpdateOverridable
common module:WhenPrioritizingMetadataTypes
. For more information, see its details. - The
Parameters
structure that is passed to the input of the deferred update handlers is extended with theSubsystemVersionAtStartUpdates
property. The full version number of the subsystem to which it belongs at application update start is passed there. For example, 3.1.5.123. Use it to branch the handler execution logic depending on the version from which the application is being updated. - Now it is easier to describe deferred update handlers for parallel mode. You no longer need to specify the handler execution priorities since they are calculated automatically. You still can specify priorities when, for objective reasons, automatic priorities do not satisfy the task being solved. Priorities set manually for the handler are highlighted on the Conflicts tab in the form to set up the Update handlers details data processor handler. For more information, see the subsystem documentation.
- You can now use the
Update handlers details
development tool (Functions for a technician - Update handlers details) to filter deferred update handlers that have a non-standard procedure for checking unprocessed data. This feature is required for control since the procedure allows you to check whether an object can be edited during a deferred update and must meet some requirements:- Only non-updated data can be locked.
- Data must be unlocked as it is processed, not after all objects are fully processed.
- Entering new data must always be available.
- You no longer need to create predefined items to supply items of various catalogs in the application. Describe their creation in the
OnInitialItemsFilling
procedure of the catalog manager module or theInfobaseUpdateOverridable
common module.- To update such items, in the
OnSetUpInitialItemsFilling
procedure of the catalog manager module or theInfobaseUpdateOverridable
common module, for theNameOfKeyProps
settings property, specify a name of the attribute whose value determines the item UUID. - See the examples of how to fill built-in items in the
OnInitialItemsFilling
procedures of the_DemoInfobaseUpdateSSL
and_DemoProperties
common modules of the demo application.
- To update such items, in the
- To update certain attributes of built-in items described in the
OnInitialItemsFilling
procedure, use the new thirdPopulationSettings
parameter in theFillItemsWithInitialData
procedure of theInfobaseUpdate
common module API. TheAttributes
property of this parameter defines a comma-separated list of attributes to be updated. For more information, see its comments. - When you fill built-in items in native update handlers and need to avoid overwriting an item, in the
InfobaseUpdate
common module API, use theFillObjectInitialData
procedure. It fills an object with the data described in theOnInitialItemsFilling
procedure without writing the object. - Improved scenario of migrating from another application when an application name is changed. For example, BASE->PROF. Now initial data filling handlers are automatically executed for new subsystems in the application:
- Before starting to execute migration handlers defined in the
OnAddApplicationMigrationHandlers
procedure of the common module whose name is specified in theConfigurationSubsystemsOverridable.SubsystemsOnAdd
procedure. - Only handlers with the
Seamless
andExclusive
modes are called. - Disabled by default. To enable this feature, in the
OnAddSubsystem
procedure of theInfobaseUpdate<ShortForm>
common module, specify theFillDataNewSubsystemsWhenSwitchingFromAnotherProgram
property.- You can also disable some handlers that are not required to be executed. To do this, set the
DoNotExecuteWhenSwitchingFromAnotherProgram
property toTrue
for these handlers.
- You can also disable some handlers that are not required to be executed. To do this, set the
- Before starting to execute migration handlers defined in the
- The subsystem provides a new method to generate print forms. Use it to edit print forms in 1C:Enterprise mode easily and create print forms from scratch. A list of available object fields is displayed in the template editor, while a list of fields is generated using the DCS and can be hierarchical. The general principle is that each application object provides a list of available fields and print data using the DCS template, and the DCS fields are specified as parameters in the print form template. The Print subsystem generates a print form from template and print data. We recommend that you use this technology to develop new print forms. For more information, see the documentation.
Users
New procedures and functions for the
Users
common module API:SetLoginSettings
to save user authorization settings.NewDescriptionOfLoginSettings
to receive a structure with default authorization settings.AddUsedPassword
to add a password to the list of the active ones if theDenyReusingRecentPasswords
property is filled in the authorization settings.
Email management
- To display notes and ways to troubleshoot a mail server connection error, use the
ReportConnectionError
procedure in theEmailOperationsClient
common module. - To prepare details of a mail server connection error, use the
ExplanationOnError
andExtendedErrorPresentation
functions in theEmailOperations
common module.
Properties
- To unify the initial filling and update of predefined sets of additional attributes and information, in the application, you now need to place the filling code only in the
OnInitialItemsFilling
andOnInitialItemFilling
procedures of thePropertyManagerOverridable
common module. See the demo application for examples.
Marked objects deletion
- To take additional actions before and after deleting marked objects outside a transaction, in the
MarkedObjectsDeletionOverridable
common module, use theBeforeDeletingAGroupOfObjects
andAfterDeletingAGroupOfObjects
procedures. For example, once a group of related objects is deleted, you can now clear the associated data on external resources or perform other operations that are not allowed in a delete transaction.
Access management
- In application extensions, you can add and change access kinds, built-in access group profiles, and object right settings in the same way as when developing the application.
Digital signature
The User reminders subsystem automatically creates reminders about the processing of a certificate reissue application (the Remind me when it is ready check box in the application form) and about the certificate expiration (the Remind me to reissue check box in the certificate form).
The To-do list subsystem displays a link for quick navigation to certificates pending reissue and applications in progress on the user desktop.
Now you can sign documents using digital signatures with time CAdES-T and CAdES-A (according to Federal Law No. 63-FZ as of 04/06/2011 “On digital signature”).
- To sign a document with a certain signature type, the new optional
SignatureType
parameter is added to theSign
procedure of theDigitalSignatureClient
module. If improved signatures are unavailable in the used 1C:Enterprise platform version, the parameter is ignored and the document is signed with a basic signature CAdES-BES. - To improve signatures and add archive timestamps, use the
RefineSignature
procedure of theDigitalSignatureClient
common module. TheRefineSignature
andImproveObjectSignature
procedures are added to theDigitalSignature
module. To determine whether signatures can be improved depending on the used 1C:Enterprise platform version, use theAvailableAdvancedSignature
function. - To filter certain signatures, you can use the optional
SequenceNumber
parameter in theSetSignatures
function of theDigitalSignature
module. - To update improved signature data, you can use the optional
UpdateByOrderNumber
parameter in theUpdateSignature
procedure of theDigitalSignature
module. - To add and update digital signature data, use the
NewSignatureProperties
constructor function of theDigitalSignatureClientServer
module as an initial value of theSignatureProperties
parameter for theAddSignature
andUpdateSignature
procedures of theDigitalSignature
common module.
- To sign a document with a certain signature type, the new optional
DSS service digital signature
- Exclude the
ServiceAccountDSS
constant from distributed infobase exchange plans.
Migration from version 3.1.5 to version 3.1.6
Mandatory migration actions
In this section, you can find additional instructions on migrating for each subsystem. Follow these instructions after comparison and merging (see Chapter 2 Library integration guide) (in Russian).
To update the following overridable common modules, move the new export procedures from the library distribution package, remove the missing ones, and make sure the comments, number, and names of the procedure parameters are the same as in the library distribution package:
DataExchangeOverridable
,InfobaseUpdateOverridable
,CommonOverridable
,CompaniesOverridable
,ReportsClientOverridable
,ContactsManagerOverridable
,PropertyManagerOverridable
.
See What’s new for developers above for recommendations on how to take advantage of the new features of the overridable common modules.
- Names and parameters of export procedures and functions of common modules, object modules, managers, record sets, and other located in the
Public
area. - Names and parameters of all export procedures and functions of overridable common modules.
- Names of metadata objects (including their attributes, tables, and so on) that can be directly accessed from the application code or from queries.
If you use the API, there is less need to revise the application code on update to new library versions. In exceptional cases, when such compatibility is not ensured and it is required to adapt the application to the new API of the library, follow the instructions in this section. Changes in internal library procedures and functions (even if they are export ones) that are not related to the API are not documented. When calling them directly from the application, note that they can be changed, moved, or deleted in the next library version since they are its internal implementation.
Core
Report options
- The Report options subsystem requires the Formula constructor subsystem. Add it to the application.
Data exchange
Infobase version update
National language support
- Include the new
DataForChangingMultilingualAttributes
constant in distributed infobase exchange plans and their event subscriptions to record changes.
Companies
- In the
CompaniesOverridable
common module, theOnDefineForeignCompanyRegistrationData
procedure is renamed toOnDefineForeignCompanyOfficeRegistrationData
.
- The Print subsystem requires the Formula constructor subsystem. Add it to the application.
- Include the new
PrintFormTemplates
catalog in distributed infobase exchange plans and their event subscriptions to record changes.
Users
- Include the new
UseExternalUserGroups
,UserAuthorizationSettings
constants in distributed infobase exchange plans and their subscriptions to events for change registration. - Exclude the
DeleteLoginSettingsUsers
constant from distributed infobase exchange plans.
Email management
- Include the new
SettingsAuthorizationInternetServices
catalog in distributed infobase exchange plans and their event subscriptions to record changes.
Digital signature
- Include the following items in distributed infobase exchange plans: New
CertificateUsersAlerts
,CertificateIssuanceApplications
information registers. NewTimestampsServersAddresses
,AddTimestampsAutomatically
,DefaultCryptographySignatureType
,ImproveSignaturesAutomatically
,ImproveSignaturesStartingFromDate
constants. Include in handlers for registering changes in distributed infobase exchange plans. - In the built-in profile description in the program code, replace the
AddEditDigitalSignaturesAndEncryption
role with the newAddingChangeElectronicSignatures
,EncryptionAndDecryptionData
,DataDecryption
,AddingChangeCertificatesKeysElectronicSignatureAndEncryption
,AddingChangeProgramsElectronicSignatureAndEncryption
roles according to the role assignment (in Russian).
Optional migration actions
- The actions below are optional for the migration, but we recommend that you schedule them in the future.
Core
- The
Information
common picture is deprecated and renamed toDeleteInformation
. Use theInformation
standard picture instead.
Report options
- In reports based on the Data Composition System (DCS), when you click a column, the context menu and column property settings become available. If the application has its own data composition appearance template defined for reports, to enable these features, set the Quick change column resizing mode for grouping titles. For an example, see the demo application in the
_DemoReportAppearanceBeige
common template and theBeforeLoadVariantAtServer
procedure of theReportsOverridable
common module.
How to migrate from earlier versions to version 3.1.6
When migrating from earlier library versions (up to 3.1.6):
- Compare/merge the latest library version (to which you are migrating) with the distribution package file in Designer.
- Follow the instructions from all the Migration from previous version sections for every skipped version.
Core
Migration to corrective releases 3.1.6
Corrective library releases differ only in the fourth digit in the full version number, for example, 3.1.6.1, 3.1.6.20, 3.1.6.300, and so on. To migrate to the corrective releases, use the UpdateToCorrectiveVersionSSL.epf external data processor from the distribution package. It will help save your time on regular updates (for example, every week).
Start the data processor in the infobase with the application that contains the previous library release. Specify the CF delivery file for the new library version and click Update to corrective version. The library version is automatically compared/merged with the new library version according to the documentation settings. All built-in library objects will be transferred, and those overridden during integration will be merged with the priority of the vendor configuration (for example, flexible type collections) or skipped (such as overridable modules). After the comparison/merging, the database configuration will not be updated automatically, which allows you to compare with the database configuration and edit the changed objects: overridable modules, various local patches, and revisions.
As an alternative, you can click Generate a settings file and generate a comparison and merging setting file. You can import this file to Designer for manual comparison or merging.
From version 3.1.6.257 and earlier
Data exchange
In version 1.11.5 of the universal
Enterprise Data
exchange format, the following features are implemented:- Starting from Fiscal data format 1.2, marking codes for certain product groups (perfume, alternative tobacco products (cigars)) can be passed to the cash register with additional parameters. They specify a part of the marked unit that is subject to outflow.
- In the conversion rules, you can pass the Company acts as a tax agent for the VAT payment contract flag.
- New properties that allow you to exchange information about Salary reserves in the conversion rules.
- Extended values of the Types of products in information system enumerations.
- New object of the Document GarnishmentOrder format in the conversion rules.
- New object of the Document DeductedPersonalIncomeTax format in the conversion rules. You can use the document when providing information about the Unified tax payment.
- New
StateContactID
field in theContracts
catalog properties. Use it to synchronize information on state contracts between applications. - New optional
TRUCode
property is added to the object with the Products catalog format for the Social Security Fund. The format is advanced with theTypesofPaymentSystemCashRegister
enumeration. - New optional Currency of regulated accounting field for properties of the object with the Companies catalog format.
- In the object of the Patents catalog format, the
BCC
andPotentialAnnualIncome
fields are optional now. This advances the catalog conversion from applications where patents are considered in a reduced form. - Found errors are fixed.
From version 3.1.6.209 and earlier
Data exchange
- The universal
Enterprise Data
exchange format is updated up to version 1.10.6. It is supplemented with theDeductedPersonalIncomeTax
document to record information on the Unified tax payment.
From version 3.1.6.198 and earlier
Digital signature
From version 3.1.6.180 and earlier
Infobase version update
- Initial data filling handlers are automatically executed for new subsystems in the application. It is disabled by default when migrating from another application. To enable this feature, in the
OnAddSubsystem
procedure of theInfobaseUpdate<ShortForm>
common module, specify theFillDataNewSubsystemsWhenSwitchingFromAnotherProgram
property. - You can also disable some handlers that are not required to be executed. To do this, set the
DoNotExecuteWhenSwitchingFromAnotherProgram
property toTrue
for these handlers.
From version 3.1.6.159 and earlier
Companies
- In the
CompaniesOverridable
common module, theOnDefineForeignCompanyRegistrationData
procedure is renamed toOnDefineForeignCompanyOfficeRegistrationData
.
From version 3.1.6.118 and earlier
Digital signature
- Include the following new constants in distributed infobase exchange plans:
TimestampsServersAddresses
,AddTimestampsAutomatically
,DefaultCryptographySignatureType
,ImproveSignaturesAutomatically
,ImproveSignaturesStartingFromDate
. Include in handlers for registering changes in distributed infobase exchange plans. Transfer the respective changes in theCommonSettings
form of theSSLAdministrationPanel
data processor to the application.
Version 3.1.5
Use version 3.1.5 to develop on 1C:Enterprise platform in the mode of compatibility with versions 8.3.14, 8.3.15, 8.3.16, or 8.3.17, that means
- 8.3.14 if the
Compatibility mode
property is set toNone
. - 8.3.15 if the
Compatibility mode
property is set toVersion 8.3.14
orNone
. - 8.3.16 if the
Compatibility mode
property is set toVersion 8.3.14
,Version 8.3.15
, orNone
. - 8.3.17 if the
Compatibility mode
property is set toVersion 8.3.14
,Version 8.3.15
,Version 8.3.16
, orNone
. - 8.3.18 and later if the
Compatibility mode
property is set toVersion 8.3.14
,Version 8.3.15
,Version 8.3.16
, orVersion 8.3.17
.
For a complete list of what’s new, see the What’s new in version 3.1.5 section below.
What’s new in version 3.1.5
Report options
- To save the vertical screen space and improve experience of users of common widescreen monitors, the report header is now more compact. The fields are arranged in three columns, and the field titles are inside the fields in tooltips.
- To reconfigure the fields in the report header, click the button in the upper right corner of the report header.
- The filter and autosum lines are displayed on the right in the report header.
- You can use it to quickly add new filters by the exact value or a fragment of the value of any of the fields displayed in the report. For example, to quickly set a filter by the Retail warehouse value, just enter the ret fragment and the application will suggest filter options.
- You can also add filters with conditions, for example, Balance > 500.
- When adding a new filter, field, or sort, the report provides a field for searching by field name. This is especially handy when the list of available fields is long.
- Now you can save a report option with a single click. See the new Save menu item in the report form. To set additional parameters, such as the description, placement, and availability of the saved report option, the Save as… command is still available next to it.
- If the report contains several levels of groupings, the titles of these groupings are displayed in the Expand to submenu and the Grouping levels context menu. For example, if a report has a hierarchy of three groupings Company, Account, and Currency, three items of the same name are displayed in the submenu instead of the previous Level 1, Level 2, and Level 3.
- The More actions - Other - Edit report option… menu item of the report form is moved to the report settings form in More actions - Settings for a technician…, in the same manner as the Functions for technician… system command in the main menu.
- The More actions - Other submenu of the report form is renamed to More actions - Personal settings and now contains only the relevant commands Select settings…, Save settings…, and Share settings….
User sessions
- To make sure the administrator capabilities to set an application lock from the command line are not less than interactive capabilities of the application, new properties are added to the
EndUserSessions
command-line option:AdministratorName
- a name of the 1C server cluster administrator.AdministratorPassword
- a password of the 1C server cluster administrator.Message
- a text of a message displayed to users as a warning about scheduled connection lock.KeyCode
- an arbitrary string to sign in to the application, despite the enabled lock (for the startup parameter/UC
).WaitMin
- time to delay the application lock start, in minutes.DurationMin
- the application lock duration considering the delay, in minutes. Example:1cv8.exe" ENTERPRISE /F "<Infobase path>" /N "Administrator" /P /C "EndUserSessions, AdministratorName=Administrator, AdministratorPassword=1, Message=Close the application for unscheduled update, KeyCode=Update, WaitMin=5, DurationMin=30
Data exchange
- If the application is configured to synchronize data in a distributed infobase, now the application extensions applied in the master node are automatically transferred and installed in all subordinate nodes. To do this, go to Data synchronization settings in the subordinate node, click Install update, and follow the instructions of the update wizard (as when receiving application changes from the master node).
- Please note that before migrating to a new application version, the master and subordinate nodes must not have extensions that change the data structure. We recommend that you also delete subordinate infobase extensions that have the same names as extensions in the master node (except for patches). You can add extensions after updating all subordinate infobases.
- Improved interface of the list form of configured synchronizations. Deleted redundant commands, and the grouping of the settings list commands is aimed at synchronization.
- Optimized data synchronization warnings:
- Now you can navigate to the list of warnings directly from the synchronization line, which allows displaying information only on the current synchronization. Now you can quickly assess the status of a particular synchronization by simply navigating to the list of warnings.
- The list of warnings is displayed as a single list and it is very flexible as a lot of filters are provided. For example, now you can quickly find all warnings that relate to a specific object.
- Each type of warnings is displayed in a separate form with a detailed tooltip: what kind of warning it is, a possible reason for its occurrence, and how to fix it. So it is possible to process some warnings without extra support.
- Now you can add comments to synchronization warnings. This is useful in case of joint operations or if you need to leave a note for a synchronization warning.
- Now you can delete irrelevant warnings from previous synchronizations. For example, if all the issues are fixed by an external data processor, but there are warnings that no longer make sense, now you can quickly delete them.
File management
- When the application is running, volumes with files may contain files that are not linked to any attached file in the infobase. Now when cleaning up obsolete files, such files will always be deleted along with obsolete files.
- When configuring the cleanup of obsolete files, you can select which files to clean up:
- Only files that are not linked to attached files in the infobase.
- Files that are not linked to attached files in the infobase and obsolete files.
- When cleaning up obsolete files, their data was cleared, and the attached files were marked for deletion. Now obsolete files are deleted immediately along with the data, if possible.
Access management
- Enhanced application performance when data access restrictions (RLS) are enabled. In some cases, the update of access rights is accelerated up to 20%, and the amount of internal data in the infobase is reduced by up to three times. The internal data now depends on the actual use of access kinds in access groups. The effect is greater if fewer access kinds are actually involved, for example, if the application provides 15 access kinds, and only two of them are actually used.
Source document originals recording
- To get up-to-date information on the states of originals, see additional information on the date and author of the current state change in the Change document original state form. You can open the form from the list forms by clicking a link in the Original state - Specify by print forms… column or by clicking a link in the Original state - Specify by print forms… document forms.
- Track states of source documents only by certain print forms of a document. This feature can be useful if the document has numerous print forms, but only one requires an employee’s signature, and only its state should be tracked.
- To simplify recording of source document originals that require signatures of several employees, you can now track the states of document print forms by employees.
Digital signature
- You can specify several users for whom the certificate will be considered “personal”. To do this, in the Certificates of digital signature keys and encryption form, in the User field, open a user choice list.
New features for developers in version 3.1.5
Core
- Often, for example, when parsing text or analyzing values of cells in a spreadsheet document, you need to convert a string literal to a date. For these purposes, use a new
StringToDate
function in the API of theCommonClientServer
common module. - Similarly, to determine whether a string literal is a number, use a new
IsNumber
function in the API of theCommonClientServer
common module. - Sometimes, for example, in financial statements, you need to display a non-standard period presentation:
- “Half-year 1 2021” instead of “01/01/2021 – 06/30/2021”.
- “9 months 2021” instead of “01/01/2021 – 09/30/2021”.
- all time instead of an empty value.
- Starting with a lowercase letter. For this, in the API of the
StringFunctions
andStringFunctionsClient
common modules, use thePeriodPresentationInText
function.
- To exchange messages over the “Enterprise service bus”, implemented the
IntegrationServicesProcessing
scheduled job that must be enabled when this feature is enabled. For more information about the product, see Enterprise service bus (in Russian). - New optional parameter of the
CalculationCellsIndicators
function of theCommonClientServer
common module:CalculationParameters
. The parameter is of the return value type of theCellsIndicatorsCalculationParameters
function of theCommonClientServer
common module. In the new parameter, with theCalculateAtServer
property, developers can explicitly specify whether to perform the calculation on the server or on the client, instead of automatic detection.
Report options
- When analyzing the data of accounting reports, specialists operate with fiscal periods: quarter 1, quarter 3, half year, 9 months, and so on. When developing a report, you can change (override) the period choice form:
In the
DefineFormSettings
procedure of the report module, change theSettings.PeriodOption
property value toFiscal
:Settings.PeriodOption = Enums.PeriodOption.Fiscal;
- For better experience using fiscal periods, you can override the period presentation:
In the
DefineFormSettings
procedure of the object module, change thePeriodPresentationOption
settings property value toHyperlink
:Settings.PeriodPresentationOption = Enums.PeriodPresentationOptions.Hyperlink;
User sessions
- To close user sessions in the application on locking sessions with an infobase, use the following new procedures in the API of the
IBConnectionsClient
common module:SetUsersSessionsTerminationMode
andSetTerminateAllSessionsExceptCurrentFlag
. For more information, see their comments.
Import data from spreadsheets
- When you need to redefine a presentation of a catalog into which table data is loaded, in the
GetDataImportFromFileParameters
procedure of the catalog manager module, you can define a value of the newObjectPresentation
property of theParameters
parameter. For example, data is loaded into the Counterparties catalog, but you need to display Customer instead. See an example in the demo application in the_DemoProducts
catalog manager module. - To improve documentation comments, in the API of the
ImportDataFromFile
common module, use the following constructor functions:DataImportSettings
,DetailsOfDataToImportForCatalogs
,NewConflictsList
, andMappingTable
. For more information, see the demo application, the_DemoProducts
catalog manager module.
Object attribute lock
Data exchange
To write an exchange node using a long-running operation, add the
DataExchangeClient.BeforeWrite
procedure call to theBeforeWrite
form event handler. Also make sure that subsequent procedures, such asOnWrite
, do not have the node data changed. For example, see the_DemoDataSynchronizationUsingUniversalFormat
exchange plan in the demo application.When developing rules for universal data exchange, we recommend that you use the
XDTODataExchange.KeyPropertiesClass
function to access key properties of an object.Example:
KeyProperties = DataExchangeXDTOServer.KeyPropertiesClass(); Code = Left(IBData.Description, 4); If ExportStack.Count() = 1 Then XDTOData[KeyProperties].Insert("Code", Code); Else XDTOData.Insert("Code", Code); EndIf;
Infobase version update
- The
OnGenerateListOfSubsystemsToDevelop
procedure of theInfobaseUpdateOverridable
common module is deprecated. Use theOnGenerateListOfSubsystemsToDevelop
procedure of the same module instead.
- To improve documentation comments, in the API of the
PrintManagementClient
common module, use thePrintParametersDetails
constructor function. For more information, see the demo application, theDefaultForm
form module of the_DemoCompanies
catalog.
Scheduled jobs
- To control various features on locking and unlocking operations with external resources in the application, you can use the following new procedures of the
ExternalResourcesOperationsLockOverridable
common module:OnProhibitWorkWithExternalResources
andExternalResourcesOperationsLockOverridable
. For more information about locking operations with external resources, see the documentation - Chapter 5. User documentation - Section 5.53 Scheduled jobs - Performing scheduled jobs when copying an infobase.
Access management
- To supply access group profiles in the application, it is no longer necessary to create predefined items in the
AccessGroupProfiles
catalog. Just list them in theOnFillSuppliedAccessGroupProfiles
procedure of theAccessManagementOverridable
common module. You can also use it to define folders (AccessGroupProfiles
catalog groups) with built-in access group profiles.- We recommend that you delete the previously created predefined items and folders. The profiles will be matched by the ID of the default master data, and the profile folders will be first matched by name and later matched by the ID of the default master data. See the demo application and documentation for examples.
- Instead of calling the
Administrator
predefined item of theAccessGroupProfiles
catalog and theAdministrators
predefined item of theAccessGroups
catalog, we recommend that you call theProfileAdministrator
andAdministratorsAccessGroup
functions of theAccessManagement
common module, respectively.
- To develop the restriction logic in the
OnFillAccessRestriction
procedures of metadata object manager modules, for some rare cases when the item list depends on the rights to a certain technological object, you can now use theAccessRight
andRoleAvailable
functions. For more information, see the documentation.
Source document originals recording
Track states of source documents only by certain print forms of a document. Use this feature if the document has numerous print forms, but only one requires an employee’s signature, and only its state should be tracked. In the API of the
SourceDocumentsOriginalsRecordingOverridable
common module, use the new procedure to override the list of document print forms being tracked.FillOriginalsAccountingTable
Track the states of print forms by employees in documents that require signatures of several employees. For this:
- In the API of the
SourceDocumentsOriginalsRecordingOverridable
common module, use a new procedure that overrides the list of “multi-employee” documents:OnDefineMultipleEmployeeDocuments
. - In the API of the manager module of the
SourceDocumentsOriginalsStates
information register, use a new parameter for theWriteDocumentOriginalStateByPrintForms
procedure:Employee
.
- In the API of the
When you need to track the status of the record of the changed original state, in the API of the
SourceDocumentsOriginalsRecordingClient
andSourceDocumentsOriginalsRecordingServerCall
common modules and theSourceDocumentsOriginalsStates
information register manager module, use theWritten
record flag parameter of theWriteOriginalsStatesAfterPrint
andWriteDocumentOriginalsStatesAfterPrintForm
procedures.For more information, see the documentation.
Message templates
- When you need to track the sending status of an outgoing message, in the API of the
MessagesTemplates
common module, use theEmailLink
property in theGenerateMessageAndSend
function return value. - To improve documentation comments, in the API of the
MessagesTemplates
common module, use theEmailSendingParametersByTemplate
constructor function. For more information, see its comments.
Digital signature
- To speed up verification and creation of XMLDSig digital signatures using the
Sign
andVerifySignature
procedures of theDigitalSignatureClient
andDigitalSignature
common modules, use automatic detection of XMLDSig parameters from the passed XML envelope. For this, leave theXPathSignedInfo
andXPathTagToSign
properties of the structure returned by theXMLDSigParameters
function of theDigitalSignatureClient
andDigitalSignature
common modules blank. - To create XMLDSig digital signatures easier in standard scenarios, added the
XMLEnvelope
function to theDigitalSignatureClient
andDigitalSignature
common modules. The function description details the XML document capabilities to be considered when using various XML document formats. - Now you can create and verify XMLDSig signatures not only with the Exclusive XML Canonicalization 1.0 canonicalization algorithm, but also with the Canonical XML 1.0 and Canonical XML 1.1 algorithms (the WithComments option is supported for all three algorithms).
Migration from version 3.1.4 to version 3.1.5
Required migration actions
In this section, you can find additional migration instructions for each subsystem. Follow the instructions in Designer after the comparison/merge is complete (see Chapter 2 Library integration instructions).
To update the following overridable common modules, move the new export procedures from the library distribution package, remove the missing ones, and make sure that the comments, number, and names of the procedure parameters are the same as in the library distribution package:
BusinessProcessesAndTasksClientOverridable
AdditionalReportsAndDataProcessorsOverridable
ObjectsFillingOverridable
InfobaseUpdateOverridable
ReportsOverridable
AttachableCommandsOverridable
FullTextSearchServerOverridable
EmailOperationsOverridable
FilesOperationsOverridable
GenerationOverridable
HierarchyOverridable
ToDoListOverridable
PrintManagementOverridable
SourceDocumentsOriginalsRecordingOverridable
See New features for developers above for recommendations on how to take advantage of the new features of the overridable common modules.
- Names and composition of parameters of export procedures and functions of common modules, object modules, managers, record sets, and so on located in the
Public
area. - Names and composition of parameters of all export procedures and functions of overridable common modules.
- Names of metadata objects (including their attributes, tables, and so on) that can be directly accessed from the application code or from queries.
If you use the API, there is less need to revise the application code on update to new library versions. In exceptional (rare) cases, when such compatibility is not ensured, and it is required to adapt the application to the new API of the library, this section contains the necessary instructions. Changes in internal library procedures and functions (even if they are export ones) that are not related to the API are not documented. When calling them directly from the application, note that they can be changed, moved, or deleted in the next library version since they are its internal implementation.
Report options
- Removed the
AddMetadataObjectsConnections
procedure of theReportsOverridable
common module because it is no longer useful.
Business interactions
Data exchange
- The
UnresolvedIssuesCount
andIssuesMonitorHyperlinkTitleStructure
functions of theDataExchangeServer
common module are deprecated because they are no longer useful.
Users
- Revise the applied logic that depends on the presence of a record-level restriction on the UserGroupCompositions information register (the restriction was removed to improve performance, which is acceptable since the catalog restriction is enough to ensure privacy and applied logic).
File management
Access management
- Include new information registers in the DIB exchange plans:
UsedAccessKinds
andUsedAccessKindsByTables
. Include only theUsedAccessKinds
information register in the handlers for staging changes to the DIB exchange plans. - Delete the created
FillAccessValuesSetsForTabularSections<End>
event subscriptions, and move their types to the newOwnerWithRestrictedAccessValueSetsDocument
flexible type collection. If there are no documents, in the new flexible type collection, specify theCatalogObject.MetadataObjectIDs
type. - Delete the created
WriteAccessValuesSets<End>
event subscriptions, and move their types to theAccessValuesSetsOwnerObject
flexible type collection. - Delete the created
WriteDependentAccessValuesSets<End>
event subscriptions, and move their types to theExternalValuesOwnerInAccessValueSetsObject
flexible type collection. - In all information registers (including library ones) whose name begins with
AccessKeysToRegister
, rename theForExternalUsers
dimension toAccessOption
and set all its properties (including the type) as in theAccessOption
dimension of theAccessKeysForRegisters
information register. When you re-update libraries with SSL version earlier than 3.1.5 that provide theAccessKeysToRegister*
information registers, retry the operation or do not transfer theAccessOption
dimension properties. - In all roles, update the
ForObject
andForRegister
standard templates and access restrictions with these templates (improvements implemented). Also update the standard templatesByValues
,ByValuesAdvanced
,ByValuesAndSetsAdvanced
, andByValuesSets
(added the word Right to the names of internal register rights resources for correct translation). To update the templates, we recommend that you use theSSLImplementationCheck.erf
report in error correction mode.
Optional migration actions
The actions below are optional for the migration, but we recommend that you schedule them in the future.
Contact information
- The second
ContactInformationKind
parameter of theContactInformationPresentation
function of theContactsManager
common module is deprecated and ignored. Delete it in all places where the function is called.
Data exchange
- To automatically transfer and install the application extensions attached in the master DIB node to all subordinate nodes, we recommend that you set the
Attach configuration extensions
property in the DIB exchange plans. For example, see the_DemoDistributedInfobaseExchange
exchange plan in the demo application. - Clear the
Attach configuration extensions
property for exchange plans in standalone mode in SaaS. For example, see the_DemoStandaloneMode
exchange plan in the demo application.
Digital signature
- To speed up verification and creation of XMLDSig digital signatures using the
Sign
andVerifySignature
procedures of theDigitalSignatureClient
andDigitalSignature
common modules, we recommend that you switch to automatic detection of XMLDSig parameters from the passed XML envelope. For this, leave theXPathSignedInfo
andXPathTagToSign
properties of the structure returned by theXMLDSigParameters
function of theDigitalSignatureClient
andDigitalSignature
common modules blank.
How to migrate from earlier versions to version 3.1.5
When migrating from earlier library versions (up to 3.1.4):
- Compare/merge the latest library version (to which you are migrating) with the distribution package file in Designer.
- Replace all references to the renamed metadata objects, common modules, procedures and functions (see list below).
- Then follow the instructions in each Migration from previous version section for each skipped version.
Common module names:
Previous name | Current name |
---|---|
AddInClient | AddInsClient |
AddInServerCall | AddInsServerCall |
BankOperationsOverridable | BankManagerOverridable |
CallOnlineSupportClient | ContactOnlineSupportClient |
CallOnlineSupportOverridable | ContactOnlineSupportOverridable |
ContactInformationManagementOverridable | ContactsManagerOverridable |
ContactInformationManagementOverridable | ContactsManagerOverridable |
CurrenciesExchangeRatesClientServer | CurrencyRateOperationsClientServer |
CurrenciesExchangeRatesOverridable | CurrencyRateOperationsOverridable |
DependenciesOverridable | SubordinationStructureOverridable |
DuplicateObjectDetection | DuplicateObjectsDetection |
EmailClientOverridable | EmailOperationsClientOverridable |
EmailOverridable | EmailOperationsOverridable |
EventLogOperations | EventLog |
FindAndDeleteDuplicatesDuplicatesClient | DuplicateObjectsDetectionClient |
MessagesTemplatesServer | MessageTemplatesServer |
ObjectPrefixationClientServer | ObjectsPrefixesClientServer |
ObjectsAttributesEditBlockedOverridable | ObjectAttributesLockOverridable |
SafeModeManagerOverride | SafeModeManagerOverridable |
SendSMSMessagesClientOverridable | SendSMSMessageOverridable |
SMSClient | SendSMSMessageClient |
SMSOverridable | SendSMSMessageOverridable |
Procedure and function names:
Previous name | Current name |
---|---|
AddInClient.InstallationParameters | AddInsClient.ConnectionParameters |
ContactsManagerClient.CreateEmail | ContactsManagerClient.CreateEmailMessage |
FilesOperationsClient.CopyFile | FilesOperationsClient.CopyAttachedFile |
SendSMSMessage.SendSMSMessage | SendSMSMessage.SendSMS |
SMSOverridable.SendSMSMessage | SendSMSMessageOverridable.SendSMS |
Metadata object names:
Previous name | Current name |
---|---|
Constant.TestFilesExtensionsList | Constant.TextFilesExtensionsList |
Constant.UseEmailInMessagesTemplates | Constant.UseEmailInMessageTemplates |
Constant.UseSMSMessagesSendingInMessagesTemplates | Constant.UseSMSMessagesSendingInMessageTemplates |
Migration to corrective releases 3.1.5
Corrective library releases differ only in the fourth digit in the full version number, for example, 3.1.5.1, 3.1.5.20, 3.1.5.300, and so on. To migrate to the corrective releases, use the UpdateToCorrectiveVersionSSL.epf external data processor from the distribution package. It will help save your time on regular updates (for example, every week).
Start the data processor in the infobase with the application that contains the previous library release, specify the CF distribution file for the new library version, and click Update to corrective version. The library version is automatically compared/merged with the new library version according to the documentation settings. All built-in library objects will be transferred, and those overridden during integration will be merged with the priority of the vendor configuration (for example, flexible type collections) or skipped (such as overridable modules). After the comparison/merging, the database configuration will not be updated automatically, which allows you to compare with the database configuration and edit the changed objects: overridable modules, various local patches, and revisions.
As an alternative, you can also click Generate a settings file to generate a comparison/merging settings file. You can later load it in Designer for manual comparison/merging.
From version 3.1.5.262 and earlier
Infobase version update
Now you can migrate to another application in SaaS mode, for example, Basic -> PROF or PROF -> CORP. To enable this feature, analyze the migration handlers specified in the
OnAddApplicationMigrationHandlers
procedure. If shared data is processed, set the newSharedData
property toTrue
.Example:
Handler = Handlers.Add(); Handler.PreviousConfigurationName = "*"; Handler.SharedData = True; Handler.Procedure = "<ModuleName>.<SharedDataHandlerProcedureName>";
From version 3.1.5.208 and earlier
Core
From version 3.1.5.192 and earlier
File management
From version 3.1.5.180 and earlier
File management
From version 3.1.5.163 and earlier
File management
From version 3.1.5.146 and earlier
Core
From version 3.1.5.132 and earlier
Infobase version update
- The
OnGenerateListOfSubsystemsToDevelop
procedure of theInfobaseUpdateOverridable
common module is deprecated. Use theOnGenerateListOfSubsystemsToDevelop
procedure of the same module instead.
Version 3.1.4
Use version 3.1.4 to develop on 1C:Enterprise platform in the mode of compatibility with versions 8.3.14, 8.3.15, or 8.3.16, that means:
- 8.3.14 if the
Compatibility mode
property is set toNone
. - 8.3.15 if the
Compatibility mode
property is set toVersion 8.3.14
orNone
. - 8.3.16 if the
Compatibility mode
property is set toVersion 8.3.14
,Version 8.3.15
, orNone
. - 8.3.17 and later, if the
Compatibility mode
property is set toVersion 8.3.14
,Version 8.3.15
, orVersion 8.3.16
.
Migration from version 3.1.3 to version 3.1.4
Required migration actions
In this section, you can find additional migration instructions for each subsystem. Follow the instructions in Designer after the comparison/merge is complete (see Chapter 2 Library integration instructions).
To update the following overridable common modules, move the new export procedures from the library distribution package, remove the missing ones, and make sure that the comments, number, and names of the procedure parameters are the same as in the library distribution package:
ObjectsAttributesEditBlockedOverridable
;InfobaseUpdateOverridable
;CommonOverridable
;ReportsOverridable
;PrintManagementOverridable
.
See New features for developers above for recommendations on how to take advantage of the new features of the overridable common modules.
- Names and composition of parameters of export procedures and functions of common modules, object modules, managers, record sets, and so on located in the
Public
area. - Names and composition of parameters of all export procedures and functions of overridable common modules.
- Names of metadata objects (including their attributes, tables, and so on) that can be directly accessed from the application code or from queries.
If you use the API, there is less need to revise the application code on update to new library versions. In exceptional (rare) cases, when such compatibility is not ensured, and it is required to adapt the application to the new API of the library, this section contains the necessary instructions. Changes in internal library procedures and functions (even if they are export ones) that are not related to the API are not documented. When calling them directly from the application, note that they can be changed, moved, or deleted in the next library version since they are its internal implementation.
Business processes and tasks
- Specify the business process objects applied to the subsystem in the
BusinessProcessObject
flexible collection type. Objects must be the same as links in theBusinessProcess
flexible type collection.
Access management
- In all roles, update standard templates
ForObject
,ForRegister
and access restrictions for theForObject
template. We recommend that you use theSSLImplementationCheck.erf
report in the error correction mode.
Optional migration actions
The actions below are optional for the migration, but we recommend that you schedule them in the future.
Period-end closing dates
- The
UpdatePeriodClosingDatesSections
procedure of thePeriodClosingDates
common module is moved to theObsoleteProceduresAndFunctions
area. You should delete the procedure calls as the update runs automatically.
Translator
- Include the
PrintFormsLanguages
catalog in exchange plans of the DIB and standalone workstation (SWP).
Email Management
- Include the
PasswordRecoveryAccount
constant in exchange plans of a DIB and a standalone workstation (SWP).
File management
Digital signature
- When using the
XMLDSigParameters
function of common modulesDigitalSignatureClient
andDigitalSignature
, we recommend that you use the values returned by default.
How to migrate from earlier versions to version 3.1.4
When updating earlier library versions (to 3.1.3):
- Compare/merge the latest library version (to which you are migrating) with the distribution package file in Designer.
- Then follow the instructions in each Migration from previous version section for each skipped version.
Migration to corrective releases 3.1.4
Corrective library releases differ only by the fourth digit in the full version number, for example, 3.1.4.1, 3.1.4.20, 3.1.4.300, etc. To upgrade to corrective releases, use external data processor UpdateToCorrectiveVersionSSL.EPF from the distribution package. It will help save your time when regularly updating the application (for example, weekly).
Start the data processor in the infobase with the application that contains the previous library release, specify the CF distribution file for the new library version, and click Update to corrective version. The library version is automatically compared/merged with the new library version according to the documentation settings. All built-in library objects will be transferred, and those overridden during integration will be merged with the priority of the vendor configuration (for example, flexible type collections) or skipped (such as overridable modules). After the comparison/merging, the database configuration will not be updated automatically, which allows you to compare with the database configuration and edit the changed objects: overridable modules, various local patches, and revisions.
As an alternative, you can also click Generate a settings file to generate a comparison/merging settings file. You can later load it in Designer for manual comparison/merging.
From version 3.1.4.232 and earlier
Core
Version 3.1.3
Use version 3.1.3 to develop on 1C:Enterprise platform in the mode of compatibility with versions 8.3.14, 8.3.15, or 8.3.16, that means:
- 8.3.14 if the
Compatibility mode
property is set toNone
. - 8.3.15 if the
Compatibility mode
property is set toVersion 8.3.14
orNone
. - 8.3.16 if the
Compatibility mode
property is set toVersion 8.3.14
,Version 8.3.15
, orNone
. - 8.3.17 and later, if the
Compatibility mode
property is set toVersion 8.3.14
,Version 8.3.15
, orVersion 8.3.16
.
Migration from version 3.1.2 to version 3.1.3
Required migration actions
In this section, you can find additional migration instructions for each subsystem. Follow the instructions in Designer after the comparison/merge is complete (see Chapter 2 Library integration instructions).
- Names and composition of parameters of export procedures and functions of common modules, object modules, managers, record sets, and so on located in the
Public
area. - Names and composition of parameters of all export procedures and functions of overridable common modules.
- Names of metadata objects (including their attributes, tables, and so on) that can be directly accessed from the application code or from queries.
If you use the API, there is less need to revise the application code on update to new library versions. In exceptional (rare) cases, when such compatibility is not ensured, and it is required to adapt the application to the new API of the library, this section contains the necessary instructions. Changes in internal library procedures and functions (even if they are export ones) that are not related to the API are not documented. When calling them directly from the application, note that they can be changed, moved, or deleted in the next library version since they are its internal implementation.
Calendar schedules
- Include the
CalendarNonWorkDaysPeriods
information register in the exchange plans of the distributed infobase (DIB) and standalone workstation (SWP).
Infobase version update
- Include the
UpdateHandlers
information register only in the initial image of the exchange plans of the distributed infobase (DIB) and standalone workstation (SWP).
Marked objects deletion
Optional migration actions
The actions below are optional for the migration, but we recommend that you schedule them in the future.
Report options
Infobase version update
- Deleted the
OnGenerateDefferedHandlersQueues
procedure of theInfobaseUpdateOverridable
common module as it is not useful.
Conversations
- To use the standard form to select users for adding conversation members in the managed application module, add the Conversations subsystem call to the
ProcessGetCollaborationSystemUsersChoiceForm
event handler:
If CommonClient.SubsystemExists("StandardSubsystems.Conversations") Then
ModuleConversationsInternalClient = CommonClient.CommonModule("ConversationsServiceClient");
ModuleConversationsInternalClient.OnGetCollaborationSystemUsersChoiceForm(ChoiceAssignment, Form, ConversationID, Parameters,
SelectedForm, StandardDataProcessor);
EndIf;
- To improve diagnostics in the
SetDocumentPrintArea
procedure of thePrintManagement
common module, theReference
parameter type check has been added (only reference types are allowed). When passing a value of an incorrect type, an error will be written to the event log. Check all the locations where the procedure is used. - Instead of the
QRCodeData
function of thePrintManagement
common module, use theQRCodeData
orBarcodeImage
function of theBarcodeGenerationServerCall
common module from the1C:Peripherals Library
library version 2.1.4 and later. Improved performance on Linux OS. The previous function is marked as obsolete for backward compatibility.
File management
- The
ChangeFilesStorageCatalog
procedure of theStoredFiles
common module is marked as obsolete. Instead, use theConvertFilesToAttachedFiles
function of the same common module.
Hierarchy
- If the
AttachableCommands
subsystem is embedded in the application, clear the types of theRelatedDocuments
common command parameters. The subsystem itself defines the objects in whoseReports
submenu theRelated documents
command will be output.
How to migrate from earlier versions to version 3.1.3
When migrating from earlier library versions (up to 3.1.2):
- Compare/merge the latest library version (to which you are migrating) with the distribution package file in Designer.
- Follow the instructions from all the
Migration from previous version
sections for every skipped version.
Migration to corrective releases 3.1.3
Corrective library releases differ only in the fourth digit in the full version number, for example, 3.1.3.1, 3.1.3.20, 3.1.3.300, and so on. To migrate to the corrective releases, use the UpdateToCorrectiveVersionSSL.epf external data processor from the distribution package. It will help save your time on regular updates (for example, every week).
Start the data processor in the infobase with the application that contains the previous library release, specify the CF distribution file for the new library version, and click Update to corrective version. The library version is automatically compared/merged with the new library version according to the documentation settings. All built-in library objects will be transferred, and those overridden during integration will be merged with the priority of the vendor configuration (for example, flexible type collections) or skipped (such as overridable modules). After the comparison/merging, the database configuration will not be updated automatically, which allows you to compare with the database configuration and edit the changed objects: overridable modules, various local patches, and revisions.
As an alternative, you can also click Generate a settings file to generate a comparison/merging settings file. You can later load it in Designer for manual comparison/merging.
From version 3.1.3.303 and earlier
Core
From version 3.1.3.250 and earlier
Core
From version 3.1.3.215 and earlier
Core
From version 3.1.3.187 and earlier
Core
Version 3.1.2
Use version 3.1.2 to develop on 1C:Enterprise platform in the mode of compatibility with versions 8.3.14, 8.3.15, or 8.3.16, that means:
- 8.3.14 if the
Compatibility mode
property is set toNone
. - 8.3.15 if the
Compatibility mode
property is set toVersion 8.3.14
orNone
. - 8.3.16 if the
Compatibility mode
property is set toVersion 8.3.14
,Version 8.3.15
, orNone
. - 8.3.17 and later, if the
Compatibility mode
property is set toVersion 8.3.14
,Version 8.3.15
, orVersion 8.3.16
.
Migration from version 3.1.1 to version 3.1.2
Required migration actions
In this section, you can find additional instructions on migrating for each subsystem. Follow these instructions after comparison or merging.
- Names and composition of parameters of export procedures and functions of common modules, object modules, managers, record sets, and so on located in the
Public
area. - Names and composition of parameters of all export procedures and functions of overridable common modules.
- Names of metadata objects (including their attributes, tables, and so on) that can be directly accessed from the application code or from queries.
If you use the API, there is less need to revise the application code on update to new library versions.
There are additional instructions for each subsystem for the exceptional cases when such compatibility is not supported and it is required to adapt the application to a new library API. Changes in internal library procedures and functions (even if they are export ones) that are not related to the API are not documented. When calling them directly from the application, note that they can be changed, moved, or deleted in the next library version since they are its internal implementation.
Core
- Include the
AdditionalLanguage1
,AdditionalLanguage2
,UseAdditionalLanguage1
,UseAdditionalLanguage2
andMainLanguage
constants in the exchange plans of the distributed infobase (DIB).
Object versioning
- Changed location and appearance of the
ChangeHistory
common command. Now, by default, the command is placed not in the navigation panel but in the form command bar. Therefore, the command has become available not only in an object form but also in a list form. To enable hiding this command from list forms, add the following code to theOnCreateAtServer
procedure of the modules of the versioned object list forms:
&AtServer
Procedure OnCreateAtServer(Cancel, StandardProcessing)
// StandardSubsystems.ObjectsVersioning
ObjectsVersioning.OnCreateAtServer(ThisObject);
// End StandardSubsystems.ObjectsVersioning
EndProcedure
Work schedules
- The type of the
ScheduleOwner
attribute in theCalendars
catalog has been changed to theWorkScheduleOwner
flexible type collection. List in theWorkScheduleOwner
flexible collection type the types of those catalogs that were used as values of theScheduleOwner
attribute.
Calendar schedules
- Added the
OnFillObjectsToChangeDependentOnBusinessCalendars
method to theCalendarSchedulesOverridable
common module. If some objects dependent on business calendars are processed in theOnUpdateDataDependentOnBusinessCalendars
handler, list the metadata names of these objects. - Include the
CalendarNonWorkDaysPeriods
information register in the exchange plans of the distributed infobase (DIB) and standalone workstation (SWP).
Data integrity
File management
Access management
- Update standard data access restriction templates for
ForObject
andForRegister
. Get them from theEditAccessGroupMembers
role and copy to all roles. For more information, see documentation of theAccess management
subsystem in theUpdate access restriction templates in roles
subsection.
Digital signature
- Remove the
LatestErrorsClassifierUpdateDate
andCryptoErrorsClassifier
constants from the exchange plans of the DIB.
Optional migration actions
The actions below are optional for the migration, but we recommend that you schedule them in the future.
Core
- The
SetGroupTitleRepresentation
procedure of theStandardSubsystemsServer
common module is marked as obsolete and left for backward compatibility. We recommend that you delete its calls. - To improve the reliability of the client and server code:
- Instead of the
LatinString
function of theStringFunctionsClientServer
common module, use the same name functions of theStringFunctions
orStringFunctionsClient
modules. - Instead of the
FormattedString
function of theStringFunctionsClientServer
common module, use the same name functions of theStringFunctions
orStringFunctionsClient
module. - Make appropriate replacements in the usage locations.
- Instead of the
- To simplify calling the
ReplaceReferences
function of theCommon
common module for theReplacementParameters
parameter (theStructure
type), you can use theRefsReplacementParameters
function in the same module. To ensure standardization control, in particular, when new required properties of the structure appear, replace all the manual structure initialization sites with a function call. - Changed behavior of the
DefaultLanguageCode
function of theCommon
common module to simplify the development of applications with several interface languages. Now the function returns a code of the main application language explicitly set by the administrator upon the first application startup.
Business processes and tasks
- To unify the initial filling of business roles and task addressing objects, procedures
OnInitiallyFillPerformersRoles
,AtInitialPerformerRoleFilling
to fill assignee roles,OnInitialFillingTasksAddressingObjects
,OnInitialFillingTaskAddressingObjectItem
to fill task addressing objects, have been added to the API of theBusinessProcessesAndTasksOverridable
common module. Move the filling item code from initial filling handlers to these procedures.
Object versioning
- Deleted unclaimed
UpdateObjectsVersioningSettings
procedure of theObjectsVersioning
common module.
Contact information
- To exclude excess server export procedures, subsystem integration procedure was changed in form modules (for more information, see the documentation). Apply it to new forms. Reintegration to the existing forms is optional. New code inserts involve procedures
StartChange
,StartSelection
,StartClearing
,StartURLProcessing
, andStartCommandExecution
of theAttachableCommandsClient
common module instead of similarOnChange
,StartChoice
,Cleanup
,URLProcessing
,ExecuteCommand
and look as follows:Previously:
&AtClient Procedure Attachable_ContactInformationOnChange(Item) ContactsManagerClient.OnChange(ThisObject, Item); EndProcedure &AtClient Procedure Attachable_ContactInformationStartChoice(Item, ChoiceData, StandardDataProcessor) ContactsManagerClient.StartChoice(ThisObject, Item, StandardDataProcessor); EndProcedure &AtClient Procedure Attachable_ContactInformationOnClick(Item, StandardDataProcessor) ContactsManagerClient.StartChoice(ThisObject, Item, StandardDataProcessor); EndProcedure &AtClient Procedure Attachable_ContactInformationClearing(Item, StandardDataProcessor) ContactsManagerClient.Cleanup(ThisObject, Item.Name); EndProcedure &AtClient Procedure Attachable_ContactInformationExecuteCommand(Command) ContactsManagerClient.ExecuteCommand(ThisObject, Command.Name); EndProcedure &AtClient Procedure Attachable_ContactInformationAutoComplete(Item, Text, ChoiceData, DataGetParameters, Wait, StandardDataProcessor) ContactsManagerClient.AddressAutoComplete(Item, Text, ChoiceData, DataGetParameters, Wait, StandardDataProcessor); EndProcedure &AtClient Procedure Attachable_ContactInformationChoiceProcessing(Item, SelectedValue, StandardDataProcessor) ContactsManagerClient.ChoiceProcessing(ThisObject, SelectedValue, Item.Name, StandardDataProcessor); EndProcedure &AtClient Procedure Attachable_ContactInformationURLProcessing(Item, FormattedStringURL, StandardDataProcessor) ContactsManagerClient.URLProcessing(ThisObject, Item, FormattedStringURL, StandardDataProcessor); EndProcedure &AtServer Procedure Attachable_UpdateContactInformation(Result) Export ContactsManager.UpdateContactInformation(ThisObject, Object, Result); EndProcedure
Now:
&AtClient Procedure Attachable_ContactInformationOnChange(Item) ContactsManagerClient.StartChange(ThisObject, Item); EndProcedure &AtClient Procedure Attachable_ContactInformationStartChoice(Item, ChoiceData, StandardDataProcessor) ContactsManagerClient.StartSelection(ThisObject, Item, StandardDataProcessor); EndProcedure &AtClient Procedure Attachable_ContactInformationOnClick(Item, StandardDataProcessor) ContactsManagerClient.StartSelection(ThisObject, Item, StandardDataProcessor); EndProcedure &AtClient Procedure Attachable_ContactInformationClearing(Item, StandardDataProcessor) ContactsManagerClient.StartClearing(ThisObject, Item.Name); EndProcedure &AtClient Procedure Attachable_ContactInformationExecuteCommand(Command) ContactsManagerClient.StartCommandExecution(ThisObject, Command.Name); EndProcedure &AtClient Procedure Attachable_ContactInformationAutoComplete(Item, Text, ChoiceData, DataGetParameters, Wait, StandardDataProcessor) ContactsManagerClient.AddressAutoComplete(Item, Text, ChoiceData, DataGetParameters, Wait, StandardDataProcessor); EndProcedure &AtClient Procedure Attachable_ContactInformationChoiceProcessing(Item, SelectedValue, StandardDataProcessor) ContactsManagerClient.ChoiceProcessing(ThisObject, SelectedValue, Item.Name, StandardDataProcessor); EndProcedure &AtClient Procedure Attachable_ContactInformationURLProcessing(Item, FormattedStringURL, StandardDataProcessor) ContactsManagerClient.StartURLProcessing(ThisObject, Item, FormattedStringURL, StandardDataProcessor); EndProcedure &AtClient Procedure Attachable_ContinueContactInformationUpdate(Result, AdditionalParameters) Export UpdateContactInformation(Result); EndProcedure &AtServer Procedure UpdateContactInformation(Result) ContactsManager.UpdateContactInformation(ThisObject, Object, Result); EndProcedure
- In the
ContactInformationKinds
catalog, theEditInDialogOnly
attribute (Boolean) is marked as obsolete. Instead, theEditingOption
attribute (String) is used. Therefore, according to the rules of conversion with versions SSL 3.1.1 and earlier, you should consider conversion of values from one attribute to another for exchange plans. See an example in the demo application in the templates of the_DemoExchangeWithStandardSubsystemsLibrary225
exchange plan.
Data integrity
- In all the object form modules to which a subsystem applied, implement the
AfterWriteObject
event handler for rechecking the object after writing the form. For this, add the procedure call to theAfterWriteAtServer
event handler:
AccountingAudit.AfterWriteAtServer(CurrentObject);
Item order setup
- The
FillOrderingAttributeValue
procedure of theItemsOrderSetup
common module has been removed from the API. Instead, use theSetOrderingAttributeValue
procedure of the same module. Make appropriate replacements in the usage locations.
Application settings
- There are changes in administration panels (see forms of the
SSLAdministrationPanel
data processor) that need to be transferred to the application. If these forms were changed in the application, merge them with the changes in the library.
Attachable commands
- To exclude excess server export procedures, subsystem integration procedure was changed in form modules (for more information, see the documentation). Apply it to new forms. Reintegration to the existing forms is optional. New code inserts involve the
StartCommandExecution
procedure instead ofExecuteCommand
of theAttachableCommandsClient
common module and look as follows:Previously:
&AtClient Procedure Attachable_ExecuteCommand(Command) AttachableCommandsClient.ExecuteCommand(ThisObject, Command, Object); EndProcedure &AtServer Procedure Attachable_ExecuteCommandAtServer(Context, Result) Export AttachableCommands.ExecuteCommand(ThisObject, Context, Object, Result); EndProcedure &AtClient Procedure Attachable_UpdateCommands() AttachableCommandsClientServer.UpdateCommands(ThisObject, Object); EndProcedure
Now:
&AtClient Procedure Attachable_ExecuteCommand(Command) AttachableCommandsClient.StartCommandExecution(ThisObject, Command, Object); EndProcedure &AtClient Procedure Attachable_ContinueCommandExecutionAtServer(ExecutionParameters, AdditionalParameters) Export ExecuteCommandAtServer(ExecutionParameters); EndProcedure &AtServer Procedure ExecuteCommandAtServer(ExecutionParameters) AttachableCommands.ExecuteCommand(ThisObject, ExecutionParameters, Object); EndProcedure &AtClient Procedure Attachable_UpdateCommands() AttachableCommandsClientServer.UpdateCommands(ThisObject, Object); EndProcedure
Email Management
- The
SendEmailMessage
function is marked as obsolete. Instead, use theSendEmail
function when sending one email, andSendEmails
if theSendEmailMessage
function was called in the loop. To simplify migration to new functions, you can use thePrepareEmail
auxiliary function whose parameters duplicate the parameters of theSendEmailMessage
function in the way how to prepare an email. Make appropriate replacements.
File management
- To support the thick client of the managed application in the client/server mode, the
DetermineAttachedFileForm
procedure of theStoredFiles
common module is marked as obsolete. Instead, use the procedure of the same name of theStoredFilesClientServer
common module. Revise usage locations for this procedure. - To simplify calling the
AddFile
function of theStoredFiles
common module for theFileParameters
parameter (typeStructure
), you can use theFileAddingOptions
function of the same module. To ensure standardization control, in particular, when new required properties of the structure appear, replace all the manual structure initialization sites with a function call.
Migration to corrective releases 3.1.2
Corrective library releases differ only by the fourth digit in the full version number, for example, 3.1.2.1
, 3.1.2.20
, 3.1.2.300
, etc. To upgrade to the corrective releases, use external data processor UpdateToCorrectiveVersionSSL.EPF
from the distribution package. It will help save your time when regularly updating the application (for example, every week).
Start the data processor in the infobase with the application that contains the previous library release. Specify the CF delivery file for the new library version and click Update to corrective version
. The library version is automatically compared/merged with the new library version according to the documentation settings. All built-in library objects will be transferred, and those overridden during integration will be merged with the priority of the vendor configuration (for example, flexible type collections) or skipped (such as overridable modules). After the comparison/merging, the database configuration will not be updated automatically, which allows you to compare with the database configuration and edit the changed objects: overridable modules, various local patches, and revisions.
Besides, as an alternative, you can click Generate a settings file
and generate a comparison or merging setting file that can be imported to the application for manual comparison or merging.
From version 3.1.2.430 and earlier
Core
From version 3.1.2.352 and earlier
Calendar schedules
- Include the
CalendarNonWorkDaysPeriods
information register in the exchange plans of the distributed infobase (DIB) and standalone workstation (SWP).
From version 3.1.2.306 and earlier
Access management
- Update standard data access restriction templates for
ForObject
andForRegister
. Get them from theEditAccessGroupMembers
role and copy to all roles. For more information, see documentation of theAccess management
subsystem in theUpdate access restriction templates in roles
subsection.
From version 3.1.2.166 and earlier
Contact information
From version 3.1.2.196 and earlier
Infobase version update
- The third parameter
TabularSections
with theStructure
type is added to the initial data filling handlersOnSetUpInitialItemsFilling
located in object manager modules. The parameter is required to fill in the object tables. Add the parameter to the initial filling handlers of the same names that have been added earlier.
From version 3.1.2.202 and earlier
From version 3.1.2.229 and earlier
Core
How to migrate from earlier versions to version 3.1.2
When migrating from earlier library versions (up to 3.1.1):
- Compare/merge the latest library version (to which you are migrating) with the distribution package file in Designer.
- Follow the instructions from all the
Migration from previous version
sections for every skipped version.
Version 3.1.1
Version 3.1.1 is the new revision of 1C:Standard Subsystems Library. Use version 3.1.1 to develop on 1C:Enterprise platform versions 8.3.14 and later with disabled mode of compatibility with version 8.3.14. Полный перечень нововведений см. ниже в разделе Новые возможности и изменения в версии 3.1.1.
Migration from version 3.0.3 to version 3.1.1
Use version 3.1.1 to develop on 1C:Enterprise platform versions 8.3.14 and later with disabled mode of compatibility with version 8.3.14. You should preliminarily adapt the application according to the list of modifications and update of technological platform of versions 8.3.13 and 8.3.14. The minimum adaptation requirements are described in Methodology of application migration to 1C:Enterprise 8.3 platform.
In this version, deleted the metadata objects that were marked as obsolete more than two years ago (in version 2.3.3 and earlier) and the API that had been marked as obsolete before version 2.4.2.
If earlier the migration from an obsolete to a relevant API was not regular in the application, find and replace all the calls specified below in the Required migration actions section before the update. Make replacements according to the instructions in the documentation comments to obsolete procedures and functions. Use 1C:Automated Configuration Check tool (https://v8.1c.ru/acc/) to quickly identify deprecated calls of the obsolete API.
If you use 1C:Standard Subsystems Library (SSL) together with 1C:Cloud Technology Library (CTL), the migration procedure is as follows: to migrate to version 3.1.1, get SSL version 1.2 and perform 5 steps in Designer.
- Run the Configuration — Support — Update configuration command. Specify a path to the SSL delivery file in the Select update file option. In the application comparison/merging window that opens, go to the parameters by clicking Actions — Parameters, clear the Allow main configuration object deletion check box, and click OK. In the application comparison/merging window, clear all the check boxes and select the objects to migrate by clicking Actions — Select by new vendor configuration subsystems. Select from the Standard subsystems group:
Required subsystems according to the documentation table 2.1.
Additional subsystems required for migrating to the application for SaaS according to the documentation table 2.2.
All the previously integrated subsystems and the subsystems you need to integrate into your application.
Subsystems on which the mentioned above subsystems depend according to documentation tables 2.1–2.3 https://its.1c.ru/db/bspdoc (in Russian).
Next, click Set.
Warning
Select merging mode Get from new vendor configuration (Actions — Set rule for all…). Also select or clear check boxes for separate library objects and their properties according to the instructions in the documentation table 2.6. Depending on the number of subsystems being updated and installed, this step can take from 15 minutes to one hour.
Click Configuration — Support — Update configuration. Specify a path to the CTL delivery file in the Select update file option. In the application comparison/merging window that opens, go to the parameters by clicking Actions — Parameters, clear the Allow main configuration object deletion check box, and click OK. In the application comparison/merging window, clear all the check boxes by clicking Actions — Select by new vendor configuration subsystems and select all the ‘SaaSTechnology’ subsystem objects. Next, click Set.
Click Configuration — Support — Support options. On the Support options form that opens, select the StandardSubsystemsLibrary value in the Vendor configuration drop-down list and click Compare and merge. In the configuration comparison/merging window that opens, go to the parameters by clicking Actions — Parameters, select Allow main configuration object deletion, and click OK. In the configuration comparison/merging window, clear all the check boxes and select all the subsystems integrated in the application and related to the StandardSubsystems subsystem. Next, click Execute.
Click Configuration — Support — Support options. On the Support setting form that opens, select the SaaSTechnologyLibrary value in the Vendor configuration drop-down list and click Compare and merge. In the configuration comparison/merging window that opens, go to the parameters by clicking Actions — Parameters, select Allow main configuration object deletion, and click OK. In the configuration comparison/merging window, clear all the check boxes and select the SaaSTechnology subsystem. Next, click Execute.
Required migration actions
In this section, you can find additional instructions on migrating for each subsystem. Follow these instructions after comparison or merging.
- Names and composition of parameters of export procedures and functions of common modules, object modules, managers, record sets, and so on located in the Public area.
- Names and composition of parameters of all export procedures and functions of overridable common modules.
- Names of metadata objects (including their attributes, tables, and so on) that can be directly accessed from the application code or from queries.
If you use the API, there is less need to revise the application code on update to new library versions.
There are additional instructions for each subsystem for the exceptional cases when such compatibility is not supported and it is required to adapt the application to a new library API. Changes in internal library procedures and functions (even if they are export ones) that are not related to the API are not documented. When calling them directly from the application, note that they can be changed, moved, or deleted in the next library version since they are its internal implementation.
Address classifier
- Deleted the obsolete API of common modules:
AddressClassifier
:ClassifierImported
.
AddressClassifierClient
:OpenUpdateCheckForm
;OpenAddressClassifierImportForm
.
Core
- Deleted the obsolete API of common modules:
Common
:GetCommentImage
;FillArrayWithUniqueValues
;Decline
;WSProxy
;GetObjectPropertiesDetailsTable
;GetCommonRefsSearchExceptionsList
;CopyXDTO
;XDTOTypePresentation
;CommonSettingsStorageSaveArrayAndUpdateCachedValues
;CommonSettingsStorageSaveAndUpdateCachedValues
;LockIB
;UnlockIB
;InformationRegistersTypeName
;AccumulationRegistersTypeName
;AccountingRegistersTypeName
;CalculationRegistersTypeName
;DocumentsTypeName
;CatalogsTypeName
;EnumsTypeName
;ReportsTypeName
;DataProcessorsTypeName
;ExchangePlansTypeName
;ChartsOfCharacteristicTypesTypeName
;BusinessProcessesTypeName
;TasksTypeName
;ChartsOfAccountsTypeName
;ChartsOfCalculationTypesTypeName
;ConstantsTypeName
;DocumentJournalsTypeName
;SequencesTypeName
;ScheduledJobsTypeName
;RecalculationsTypeName
;SetSessionSeparation
;SessionSeparatorValue
;SetInfobaseSeparationParameters
;WriteAuxiliaryData
;DeleteAuxiliaryData
;IsSeparatedMetadataObject
.
CommonServerCall
:CommonSettingsStorageSaveArrayAndUpdateCachedValues
;CommonSettingsStorageSaveAndUpdateCachedValues
;SetSessionSeparation
.
CommonOverridable
:ClientRunParametersOnStart
;ClientRunParameters
.
CommonCached
:IsSeparatedConfiguration
;ConfigurationSeparators
;CommonAttributeComposition
;IsSeparatedMetadataObject
;MainDataSeparator
;AuxiliaryDataSeparator
;DataSeparationEnabled
;SeparatedDataUsageAvailable
;GetXSLConversionFromCommonTemplate
;SessionWithoutSeparators
;ApplicationRunMode
.
StandardSubsystemsServer
:IsDIBNodeInitialImageObject
;CheckExchangePlanComposition
.
StringFunctionsClientServer
:StringFromSubstringsArray
;FindCharFromEnd
;GetParametersFromString
.
Business processes and tasks
- Deleted obsolete API of the
BusinessProcessesAndTasksServerCall
common module:NotifyPerformersOnNewTasks
;CheckTasks
.
Currencies
- Deleted obsolete
ConvertFromCurrencyToCurrency
function of theCurrenciesExchangeRatesClientServer
common module.
Report options
- Deleted obsolete API of the
ReportsOptions
common module:UsedSections
;AddFullUpdateHandlers
;GetRef
.
Business interactions
- Deleted obsolete
OpenMailMessageFormSend
procedure of theInteractionsClient
common module.
Additional reports and data processors
- Deleted the obsolete API of common modules:
AdditionalReportsAndDataProcessors
:GetExternalDataProcessorObject
;OnCreateAtServer
;RunAssignedCommandAtServer
.
AdditionalReportsAndDataProcessorsServerCall
:GetExternalDataProcessorObject
.
AdditionalReportsAndDataProcessorsClient
:ShowСommandExecutionResult
;RunAssignedCommandAtClient
.
AdditionalReportsAndDataProcessorsClientServer
:CommandTypeSafeModeScenario
.
- Deleted common modules with an obsolete API:
AdditionalReportsAndDataProcessorsInSafeModeInterface
;AdditionalReportsAndDataProcessorsScheduledJobs
.
Personal data protection
- Deleted obsolete
GetAccessEventUse
function of thePersonalDataProtection
common module.
Contact information
- Deleted obsolete API of the
ContactsManager
common module:ObjectContactInformationValues
;ObjectContactInformationTable
;FillObjectsContactInformation
;FillObjectContactInformation
;PreviousContactInformationXMLFormat
;PreviousContactInformationXMLStructure
;AddressInARCAFormat
;AddressesInfo
;AddressInfo
;ContactInformationAddressState
;ContactInformationAddressCity
;ValidateAddress
;ContactInformationParameters
.
- As
1C:Enterprise
platform updated to version 8.3.13 changed its behavior, in the form modules with integrated contact information, add theExport
keyword to the previously placedAttachable_UpdateContactInformation
procedures:Previously:
Procedure Attachable_UpdateContactInformation(Result)
Now:
Procedure Attachable_UpdateContactInformation(Result) Export
Calendar schedules
- Deleted obsolete API of the
CalendarSchedules
common module:GetDatesArraysByCalendar
;GetDateByCalendar
;GetDatesDiffByCalendar
;RussianFederationProductionCalendar
;GetWorkdaysDates
.
- If there is
Cloud Technology Library
in the application, delete the previously inserted code of theCalendar schedules
subsystem from theOnProcessDataArea
procedure of theClassifiersOperationsSaaSOverridable
common module.
User reminders
- Deleted the
UserRemindersClientServerOverridable
common module with an obsolete API.
Data exchange SaaS
- Include the
MessageExchange
exchange plan from Cloud Technology Library in theMessagesQueueEndpoint
flexible collection type and exclude all other types.
Infobase version update
- Deleted obsolete
OnDisableUpdateHandlers
procedure of theInfobaseUpdateOverridable
common module.
- Deleted the obsolete API of common modules:
PrintManagement
:GetLocalPrintFilesDirectory
;OnCreateAtServer
.
PrintManagementClient
:RunConnectedPrintCommand
;StartCommandUpdate
.
PrintManagementClientServer
:UpdateCommands
.
Attachable commands
As 1C:Enterprise
platform updated to version 8.3.13 changed its behavior, add the Export
keyword to the previously placed Attachable_ExecuteCommandAtServer
procedures in the form modules:
Previously:
Procedure Attachable_ExecuteCommandAtServer(Context, Result)
Now:
Procedure Attachable_ExecuteCommandAtServer(Context, Result) Export
Users
- Deleted obsolete API of the
Users
common module:ReadIBUser
;WriteIBUser
;SystemAdministratorRole
.
Object prefixes
- Deleted obsolete API of the
ObjectPrefixationClientServer
common module:GetCustomPrefix
;GetNumberToPrint
.
Security profiles
- Deleted obsolete API of the
SafeModeManager
common module:ExecuteConfigurationMethod
;ExecuteObjectMethod
;ExecuteInSafeMode
;CalculateInSafeMode
.
File management
- Deleted common modules with an obsolete API:
AttachedFiles
;AttachedFilesClient
;AttachedFilesClientServer
;FileFunctions
.
Object presentation declension
- The
OnChangePresentation
procedure of theObjectsPresentationsDeclensionClient
common module is no longer supported. In the declension object form modules where it is called:- Replace its call with a call of the
DeclinePresentation
procedure of theObjectsPresentationsDeclensionClient
common module. - Delete the
Attachable_DeclinePresentationForAllCases
procedure.
- Replace its call with a call of the
Individuals
- Deleted API of the
IndividualsClientServer
common module:FullName
;IndividualInitialsLastName
.
Access management
- Update standard data access restriction templates for
ForObject
andForRegister
in all roles. Use standard templates from theEditAccessGroupMembers
role and copy them to all the roles. For bulk update, use theRestriction templates
tab in theAll access restrictions
form (filter by the template name, select all the lines, and clickEdit
). You can also use theSSLImplementationCheck.erf
report in the error correction mode.
Optional migration actions
The actions below are optional for the migration, but we recommend that you schedule them in the future.
Core
- The
IsOSXClient
procedures of theCommon
andCommonClient
common modules are obsolete. UseIsMacOSClient
of the same common modules instead. Revise call sites for this procedure.
Currencies
Contact information
Application settings
- Merge the form module code of all the administration panels with its own form modifications and transfer it to the application.
Object presentation declension
- The
OnWriteAtServer
procedure of theObjectPresentationDeclension
common module is obsolete. UseOnWriteDeclensionObjectForm
of the same common module instead. Revise call sites for this procedure. - The
DeclineFullNameUsingComponent
procedure of theObjectPresentationDeclension
common module is obsolete. UseDeclineFullName
of the same common module instead. Revise call sites for this procedure. - The
DeclinePresentationForAllCases
procedure of theObjectsPresentationsDeclensionClient
common module is obsolete. UseDeclinePresentation
of the same common module instead. Revise call sites for this procedure. - The
ProcessDeclensionCommand
procedure of theObjectsPresentationsDeclensionClient
common module is obsolete. UseShowDeclension
of the same common module instead. Revise call sites for this procedure.
Access management
- Simplified API of the
OnCreateAccessValueForm
procedure of theAccessManagement
common module.- Now instead of five only two parameters are used. The second parameter is a structure that contains rarely used parameters.
- The
Attribute
,Items
,ValueType
,CreateNewAccessValue
parameters are marked as obsolete and left for backward compatibility. Instead, use theAdditionalParameters
structure passed by the second parameter. Check all the usage locations. - The
AdditionalParameters
parameter has theParametersOnCreateAccessValueForm
function in theAccessManagement
common module.
- Add predefined items of all the registers to the
MetadataObjectIDs
catalog. It ensures that when changing access restrictions in the manager modules, you do not need to add predefined items upon the application customization and using application extensions.
Now theSSLImplementationCheck.epf
report adds predefined items of all the registers to theMetadataObjectIDs
catalog in the correction mode. We recommend that you run the report in the correction mode.
Migration to corrective releases 3.1.1
Corrective library releases differ only by the fourth digit in the full version number, for example, 3.1.1.1
, 3.1.1.20
, 3.1.1.300
, etc. To upgrade to the corrective releases, use external data processor UpdateToCorrectiveVersionSSL.EPF
from the distribution package. It will help save your time when regularly updating the application (for example, every week).
Start the data processor in the infobase with the application that contains the previous library release. Specify the CF delivery file for the new library version and click Update to corrective version
. The library version is automatically compared/merged with the new library version according to the documentation settings. All built-in library objects will be transferred, and those overridden during integration will be merged with the priority of the vendor configuration (for example, flexible type collections) or skipped (such as overridable modules). After the comparison/merging, the database configuration will not be updated automatically, which allows you to compare with the database configuration and edit the changed objects: overridable modules, various local patches, and revisions.
Besides, as an alternative, you can click Generate a settings file
and generate a comparison or merging setting file that can be imported to the application for manual comparison or merging.
From version 3.1.1.99 and earlier
Access management
- Improved standard data access restriction templates for
ForObject
andForRegister
. Get them from theEditAccessGroupMembers
role and copy to all roles. For bulk update, use theRestriction templates
tab in theAll access restrictions
form (filter by the template name, select all the lines, and clickEdit
). Or use theSSLImplementationCheck.erf
report in the error correction mode.
From version 3.1.1.120 and earlier
Access management
- Make an insert for the metadata objects specified in the
OnFillListsWithAccessRestriction
procedure of theAccessManagementOverridable
common module in theAfterWriteAtServer
event handler of the object form (all the forms with the main object attribute):
// StandardSubsystems.AccessManagement
AccessManagement.AfterWriteAtServer(ThisObject, CurrentObject, WriteParameters);
// End StandardSubsystems.AccessManagement
- Update standard data access restriction templates for
ForObject
andForRegister
in all roles. Use standard templates from theEditAccessGroupMembers
role and copy them to all the roles. For bulk update, use theRestriction templates
tab in theAll access restrictions
form (filter by the template name, select all the lines, and clickEdit
). You can also use theSSLImplementationCheck.erf
report in the error correction mode. - Transfer the changes made to the code of the
UsersAndRightsSettings
form of theSSLAdministrationPanel
data processor if used.
From version 3.1.1.136 and earlier
Access management
- Fixed standard data access restriction templates for
ForObject
andForRegister
to run on platform version 8.3.15. Get them from theEditAccessGroupMembers
role and copy to all roles. For bulk update, use theRestriction templates
tab in theAll access restrictions
form (filter by the template name, select all the lines, and clickEdit
). Or use theSSLImplementationCheck.erf
report in the error correction mode.
From version 3.1.1.151 and earlier
Access management
- Transfer the changes made to the
UsersAndRightsSettings
form of theSSLAdministrationPanel
data processor if used.
How to migrate from earlier versions to version 3.1.1
Limited update for the versions earlier than 2.3.3
You can migrate to version 3.1.1 from version 2.3.3 and later. If an older library version is embedded in the application, a developer must restrict direct migration to the new application version (on the basis of library 3.1.1 version). The migration must be made via an intermediate version with a required startup to execute update handlers (including deferred ones).
For example, in the application version 1.1.1 and later, 2.3.3 SSL version is used. 3.1.1 SSL version is embedded to new 1.2.1 version:
- If you publish application releases on
1C:Application update
portal (https://releases.1c.ru), then on publishing new version 1.2.1, specify in theMinimum version to startup handlers
property the version where 2.3.3 SSL is used (here, it is 1.1.1). Then the required startup will occur automatically on updating the application in 1С:Enterprise mode. - If you run update via Designer and want to avoid unexpected situations, consider displaying a warning in the
OnDetermineUpdateAvailability
procedure of theInfobaseUpdateClientOverridable
common module:
Procedure OnDetermineUpdateAvailability(Val DataVersion) Export
AvailableVersion = "1.1.1";
DataVersionWithoutBuildNumber = CommonClientServer.ConfigurationVersionWithoutBuildNumber(DataVersion);
Result = CommonClientServer.CompareVersionsWithoutBuildNumber(DataVersionWithoutBuildNumber, AvailableVersion);
If DataVersion <> "0.0.0.0" And Result < 0 Then
Message = NStr("en = 'Update from version %2 was attempted.
|You can update only from version %1 or later.
|Restore the infobase from a backup
|and try to update again as described in file 1cv8upd.htm'");
Message = StringFunctionsClientServer.SubstituteParametersToString(Message, AvailableVersion, DataVersion);
RaiseException Message;
EndIf;
EndProcedure
How to update from versions 2.3.3 – 3.0.1
When migrating from earlier library versions (up to 3.0.1):
- Compare/merge the latest library version (to which you are migrating) with the distribution package file in Designer.
- Follow the instructions from all the
Migration from previous version
sections for every skipped version.
For example, if you are migrating from version 3.0.1.1 directly to version 3.1.1.123, sequentially follow the instructions of all the sections:
- Migration from previous versions 3.0.1 to version 3.0.1
- Migration from version 3.0.1 to version 3.0.2
- Migration from version 3.0.2 to version 3.1.1