Version 3.1.11 is a development of version 3.1 of 1C:Standard Subsystems Library (SSL). This SSL version requires 1C:Enterprise v.8.3.24 or later running in the Version 8.3.24
- Version 8.3.27
compatibility modes. For a complete list of new features, see sections What’s new in version 3.1.11 and What’s new for developers. Developers will also find an upgrade guide in section Migrating from version 3.1.10 to version 3.1.11 with mandatory steps for migration.
Developing configurations on 1C:Enterprise versions later than 8.3.27 may result in some bugs or limitations, as the current library version may not be able to handle certain new features. For example, introducing a new type of metadata object into the configuration could cause the library’s algorithms, which are not designed to handle such changes, to fail. In addition, it is recommended that configuration extensions with compatibility modes higher than 8.3.27 not be developed or attached to configurations based on this version of the library. Instead, use the next version of the library that is specifically designed to handle the new compatibility modes and features of the 1C:Enterprise platform.
Google Drive
and Internet (over HTTP)
.``GetFilesFromInternetLocalization
FilesOperationsLocalization
OpenFile
, SaveFile
, and SaveFiles
procedures of the FileSystemClient
common module, you can also specify a URL to an object attribute that stores binary data (previously, you could only specify the temporary storage address).CommonClientServer.ExceptionClarification
function. For more information, see Catching exceptions. Example:Try
DownloadFile(...);
Except
ErrorInfo = ErrorInfo();
Refinement = CommonClientServer.ExceptionClarification(ErrorInfo,
NStr("en = 'Cannot download the file:'"));
Refinement.Text = Refinement.Text + Chars.LF + NStr("en = 'Possible reasons:
| • No Internet connection.
| • Problems on the web node.
| • Firewall or another middleware (antivirus software, etc.) locks attempts to connect to the Internet.
| • Internet connection is established through a proxy server, but its parameters are not specified in the application.'");
ForAdministrator = InternetConnectionDiagnostics(); // Detailed error presentation for the event log.
Raise(Refinement.Text, Refinement.Category,, ForAdministrator, ErrorInfo);
EndTry;
CommonClientServer.IsExceptionWithErrorCode
. This function recursively finds one or more relevant error codes in all nested exceptions (in the ErrorInfo.Cause
property), which is convenient when the exception is rethrown up the stack. For more information, see Catching exceptions. Example:Try
RunUpdate();
Except
If CommonClientServer.IsExceptionWithErrorCode(ErrorInfo(),
"StandardSubsystems.Core.ConfigurationModifiedDynamically
|StandardSubsystems.Core.ExtensionsModifiedDynamically") Then
RestartBackgroundJob();
Return;
EndIf;
Raise;
EndTry;
To open the metadata object selection form, use the procedure StandardSubsystemsClient.ChooseMetadataObjects
. Selecting metadata objects is useful in various scenarios, such as selecting sections of the command interface, selecting sections and objects for searches, and in reports. You can select one or more objects, filter based on selected subsystems and objects, toggle object grouping (by subsystem or type of metadata objects), etc. For a complete list of parameters, see the constructor function StandardSubsystemsClientServer.MetadataObjectsSelectionParameters
.
To open a form for viewing and editing spreadsheet documents, use the procedure StandardSubsystemsClient.ShowSpreadsheetEditor
and the constructor function StandardSubsystemsClient.SpreadsheetEditorParameters
. To view differences in spreadsheet documents, use the procedure StandardSubsystemsClient.ShowSpreadsheetComparison
and the constructor function StandardSubsystemsClient.SpreadsheetComparisonParameters
.
The CommonClientOverridable
common module is augmented with handler procedures for standard events of the managed application module: OnGlobalSearch
, OnGlobalSearchResultChoice
, OnGlobalSearchResultActionChoice
, and NavigationByURLProcessing
.
In some cases, in a SaaS environment, you may need to centrally retrieve and update secure storage data across all data areas from a session with no set separators. To avoid entering each area individually, optional parameter DataArea
has been added to the functions ReadOwnersDataFromSecureStorage
and ReadDataFromSecureStorage
of the Common
common module.
A new function, InterfacesVersions
, was implemented in the Common
module, which retrieves all available API versions from the InterfaceVersions
web service in a single call.
The FirstSSLDeployment.epf external data processor now marks any subsystems already present in the configuration to facilitate the implementation of new subsystems. You can also load a previously saved list of subsystems from a file.
ReportsSnapshots
common module. For the implementation example, see the _DemoExchangeMobileClient
common module.IsNonContextual
property in the ReportsOptionsOverridable.BeforeAddReportCommands
procedure when defining report commands. When set to True
, additional report options are available for selection. You can also add this report to your favorites and get a link to a report option. By default, the value is False
.AttachAddInFromTemplate
and the function AttachAddInFromTemplateAsync
in the CommonClient
common module now return the symbolic name and location from which the add-in was attached: either the template name or a URL to the newer version of the add-in from the catalog. Using the symbolic name and location, you can check the add-in attachment using the platform method CheckAddInAttachment
. Set this property only when additional information about the add-in installation is redundant (for example, if the user has already been informed).AccountingAudit
common module is augmented with the ObjectsWithIssues
function and the ParametersOfObjectsWithIssuesSelection
constructor function. These functions can be used for batch retrieval and processing of records. See an example of use in the PostTaxInvoicesForTroublesomeCounterparties
procedure in the _DemoTaxInvoiceReceived
document’s manager module.AdditionalLanguage3
and UseAdditionalLanguage3
, along with a functional option UseAdditionalLanguage3
.DescriptionLanguage3
, CommentLanguage3
, etc.ExchangeMessageTransportCOM
: direct connection to the peer infobase via a COM connection (with the COM
ID). See the TransportID
parameter in the data processor’s manager module.ExchangeMessageTransportEMAIL
: exchange via email (EMAIL
ID).ExchangeMessageTransportFILE
: exchange via a local or network directory (FILE
ID).ExchangeMessageTransportFTP
: exchange via an FTP server (FTP
ID).ExchangeMessageTransportGoogleDrive
: exchange via Google Drive cloud storage (GoogleDrive
ID).ExchangeMessageTransportHTTP
: exchange over the Internet via an HTTP service (HTTP
ID).ExchangeMessageTransportSM
: for exchange between areas in SaaS applications (SM
ID).ExchangeMessageTransportSM
: exchange over the Internet using a web service (WS
ID).ExchangeMessageTransportESB1C
: exchange via 1C:Bus (ESB1C
ID).DataExchangeServer
common module’s API is augmented with the PerformExchangeAction
procedure. For more information, see the procedure description.DataExchangeClient
common module’s API is augmented with the procedures OpenInfobasePrefixChangeForm
and OpenFormForDeletingSyncAlerts
. For more information, see the procedure descriptions.DataExchangeClient
:
OpenDataExchangeSetupWizard
DataExchangeServer
:
AllConfigurationExchangeMessagesTransports
FTPDirectoryExists
ExecuteExchangeActionForInfobaseNode
DataExchangeCached
:
IsStandaloneWorkplace
FindExchangePlanNodeByCode
To check for permissions to view the application release notes, use the ApplicationReleaseNotesViewAvailable
function of the InfobaseUpdate
common module.
To optimize data retrieval handler queries, a dot notation access check has been implemented in the parameters of multithreaded handlers OrderingFieldsOnUserOperations
and OrderingFieldsOnProcessData
. Accessing such fields in debug mode throws an exception, while in non-debug mode a warning is logged.
Exceptions are now thrown on incorrect calls to single-threaded data retrieval functions from multithreaded handlers: SelectStandaloneInformationRegisterDimensionsToProcess
, SelectRegisterRecordersToProcess
, and SelectRefsToProcess
functions of the InfobaseUpdate
common module.
The MarkForProcessing
procedure of the InfobaseUpdate
common module can now accept QueryResult
type data to optimize memory usage.
In the InfobaseUpdate.DataProcessingCompleted
function, the second parameter, FullObjectNameMetadata
, is now optional; its value is calculated automatically. For more information, see the function description.
In the AfterWriteData
procedure of the InfobaseUpdateOverridable
, you can specify additional logic for writing objects in update handlers. For more information, see the procedure description.
PrintManagement.CreatePrintCommandsCollection
, two new properties have been added:
DefaultPrintForm
(Boolean
)PrintFormDescription
(String
)Organization
and Recipient
must be populated from the document data for each document type in the OnDefineKeyAttributesOfDefaultPrintForms
procedure of the PrintManagementOverridable
common module. See the example in the demo configuration.DescriptionOfGeneratedDefaultPrintForm
and DescriptionsOfGeneratedDefaultPrintForms
in the PrintManagement
common module. These functions can be used, for example, when generating reconciliation statements.SoftwareLicenseCheckOverridable.OnDefineSettings
. By default, this window is always displayed for new configuration versions, except for basic versions, SaaS mode, and RIB child nodes. It is now possible to disable the licensed update verification in other scenarios, such as applications on leased servers.UpdateDistributionTerms
template to display the update distribution terms text in a language that matches the user’s current settings. To do this, simply add a template with the required language suffix next to it, for example, UpdateDistributionTerms_en
.FilesOperationsClient.OpenFileListForm
procedure and the FileListFormOpeningParameters
constructor function to pass additional parameters for opening the form and to specify notifications for closing the form.PropertyManager
common module is updated:
SetPropertiesForObject
procedure is provided. For more information, see the procedure description.AddPropertyValue
function, the redundant Hierarchy
parameter has been removed; it is now automatically calculated based on the other parameters.AddProperty
procedure has been replaced with the same-name function that returns the added property. It now allows you to add labels (previously, you could only add additional attributes and information records).AccessManagement.AccessRightsToData
(for details, see the comment to this function). Previously, the AccessManagement.ReadingAllowed
and AccessManagement.EditionAllowed
functions could only be used to obtain access rights for one user and one data element, requiring loop calls when rights were needed for multiple users. Multiple calls to these functions in a loop resulted in suboptimal repeated database queries.The procedure SourceDocumentsOriginalsRecordingOverridable.OnDefineSettings
allows you to customize the appearance:
For more information, see the procedure description.
New procedures in the SourceDocumentsOriginalsRecordingOverridable
common module API:
OnChangeAggregatedOriginalState
procedure allows you to define actions when writing the aggregated state of the original.BeforeWriteOriginalStatesAfterPrint
procedure may be required to override the list of print objects and print forms before recording states in the information register after printing.For more information, see the procedure descriptions.
New functions in the SourceDocumentsOriginalsRecording
common module API:
SetNewOriginalState
function writes new or modified states of source document originals.OriginalStateInfoByRef
function retrieves data on the current aggregated state of the source document.StateHyperlinkPresentation
function returns the hyperlink presentation of a source document state and may be required if a custom hyperlink is used in forms.For more information, see the procedure descriptions.
In the API procedures necessary to ensure correct original tracking without the Attachable commands subsystem, some parameters are now optional: the second parameter List
in SourceDocumentsOriginalsRecording.UpdateOriginalStateCommands
and the third parameter List
in SourceDocumentsOriginalsRecordingClient.SetOriginalState
. These procedures can now be called in document form modules when the Attachable commands subsystem in not integrated and the interface is displayed as command bar buttons. For more information, see the procedure descriptions.
The procedure DigitalSignatureClient.OpenExtendedErrorPresentationForm
and the constructor function ExtendedErrorPresentationFormParameters
can be used to open a diagnostic form that provides reasons and solutions for known digital signature problems. These recommendations are automatically obtained from the classifier over the Internet. The form also allows submitting information to technical support. We recommend that you use this function instead of displaying an error message to the user after a digital signature operation has failed.
Added new certificate properties that are returned by the CertificateProperties
function of the DigitalSignature
and DigitalSignatureClient
common modules. You can now retrieve the validity period of the digital signature key, the revocation list addresses, the certificate algorithm, and the CA key ID. These properties are available with 1C:Enterprise v.8.3.27 or later.
When using 1C:Enterprise v.8.3.27 or later, you can check a signature certificate with a trusted timestamp for a specific date in more detail: the revocation status and the certificate chain can also be checked for this date. To do this, set the IsTimestampDateSpecified
property to True in the CheckParameters
parameter of the DigitalSignatureClient.CheckCertificate
procedure and the DigitalSignature.CheckCertificate
function and pass the date in the OnDate
parameter.
In this section, you can read about additional migration instructions for each subsystem that you need to perform in Designer after comparison and merging. See Chapter 2 in the Library integration guide.
To update the following overridable and localizable common modules, copy the new export procedures from the library distribution package and delete the obsolete ones. Also, make sure that comments, the number of parameters, and the parameter names of each procedure match their library equivalents:
PeriodClosingDatesOverridable
DataExchangeOverridable
DataExchangeSaaSOverridable
CommonClientOverridable
CommonOverridable
CompaniesOverridable
SoftwareLicenseCheckOverridable
FilesOperationsOverridable
DigitalSignatureOverridable
Modified localizable common modules:
InteractionsLocalization
AddInsClientLocalization
CurrencyRateOperationsLocalization
CurrencyRateOperationsClientLocalization
EmailOperationsLocalization
StandardSubsystemsClientServerLocalization
StandardSubsystemsServerLocalization
ContactsManagerClientLocalization
ContactsManagerClientServerLocalization
ContactsManagerLocalization
DigitalSignatureClientLocalization
DigitalSignatureClientServerLocalization
DigitalSignatureLocalization
For recommendations on how to use the new features of overridable and localizable common modules, see What’s new for developers above.
Public
area.Using the API makes it easier to update to new library versions without having to revise the application code. In this section, you can read about the necessary instructions for the rare cases when such compatibility is not provided and you need to customize the configuration for a new library API. However, the section does not describe changes in internal library procedures and functions that are not related to the API even if these are export procedures and functions. When you call these functions and procedures from the configuration, note that they can be changed, moved, or deleted in the next library version as they represent its internal implementation.
OnGlobalSearch
OnGlobalSearchResultChoice
OnGlobalSearchResultActionChoice
NavigationByURLProcessing
CommonClientOverridable
common module. See the corresponding procedures: OnGlobalSearch
, OnGlobalSearchResultChoice
, OnGlobalSearchResultActionChoice
, and NavigationByURLProcessing
.AccessToInternetServicesAllowed
constant to the DIB and SWS exchange plans, as it is used when creating the initial image.ObsoleteSafeDataAreaDataStorage
information register from the DIB and SWS exchange plans and from the exchange plans that synchronize different apps.Country
attribute (CatalogRef.WorldCountries
type, separated data) in the BankClassifier
catalog (common data) has been renamed to ObsoleteCountry
and is no longer used. It is replaced by the CountryCode
attribute (String
type), which is filled according to ISO 3166-1 and corresponds to the Code
attribute of the WorldCountries
catalog of the Contact information subsystem. This change must be considered in all configuration areas that directly reference the BankClassifier
catalog’s Country
attribute.In the OnGetSettingOptionDetails
procedure of the exchange plan’s manager module, the type of added values in the UsedExchangeMessagesTransports
property has changed from an enumeration to a transport data processor.
Before:
UsedExchangeMessagesTransports = New Array;
UsedExchangeMessagesTransports.Add(Enums.ExchangeMessagesTransportTypes.WS);
OptionDetails.UsedExchangeMessagesTransports = UsedExchangeMessagesTransports;
Now:
UsedExchangeMessagesTransports = New Array;
UsedExchangeMessagesTransports.Add(ExchangeMessagesTransport.TransportManagerWS());
OptionDetails.UsedExchangeMessagesTransports = UsedExchangeMessagesTransports;
The ExchangeMessagesTransport
common module provides the following functions to get a manager of the suitable data processor:
TransportManagerFILE
TransportManagerCOM
TransportManagerEMAIL
TransportManagerFTP
TransportManagerHTTP
TransportManagerWS
TransportManagerSM
TransportManagerPassiveMode
TransportManagerESB1C
TransportManagerGoogleDrive
The new type collection ExchangePlansDSL
must contain references to all exchange plans used for data synchronization, as specified in the procedure DataExchangeOverridable.GetExchangePlans
.
In the ProcessExchangeMessageTransportSettings
procedure of the EnterpriseData exchange plan’s manager module, you must now use the ExchangeMessageTransportSettings
catalog instead of the DataExchangeTransportSettings
information register to store connection settings.
Exclude the ExchangeMessageTransportSettings
catalog from the DIB exchange plans.
PatchPropertiesBeforeInfobaseUpdate
constant from the DIB and SWS exchange plans and from the exchange plans that synchronize different apps.DefaultObjectPrintForms
and DefaultCounterpartyPrintForms
to the DIB and SWS exchange plans.MonthsInMinTotalsPeriod
constant to the DIB and SWS exchange plans. Also, add it to the demo DIB in the demo configuration.AccessesExternalResources
property to True
in the OnDefineScheduledJobSettings procedure
. This is particularly relevant for scheduled jobs downloading currency rates or classifiers from the Internet.
UseExternalResources
property set to True
(for example, jobs that send email, text messages, or synchronize data). Such scheduled jobs should be disabled in infobase copies.AddDeleteSourceDocumentOriginalState
has become Write_SourceDocumentsOriginalsStates
and SourceDocumentOriginalStateChange
has become Write_InformationRegisterSourceDocumentsOriginalsStates
. Make any necessary substitutions in the configuration code.Certificate
and SignatureFileName
resources have been removed from the DigitalSignatures
information register. Delete or adapt all references to these resources in the code, queries, and reports. To get a signature certificate, use the DigitalSignature.CertificateFromSignatureBinaryData
function. To get a signature file name, use the DigitalSignatureClientServer.SignatureFileName
function.AllowAccessToDigitalSignatureInternetServices
constant to the DIB and SWS exchange plans, as it is used when creating the initial image.OpenInstructionOnTypicalProblemsOnWorkWithApplications
procedure of the DigitalSignatureClient
common module and the OnDefiningRefToAppsTroubleshootingGuide
procedure of the DigitalSignatureClientServerLocalization
common module have been removed as unused.The actions below are optional for the migration, but we recommend that you schedule them in the future.
To facilitate the development of write handlers for information and accumulation registers in the Update
, Merge
, and Delete
modes on 1C:Enterprise v.8.3.25 and later, the Common
common module is augmented with the helper functions SetRecordsFromDatabase
, SetRecordsChange
, NewParametersToFilterSetRecordsFromDatabase
, and FilterSetRecordsFromDatabase
. Additionally, to ensure compatibility with 1C:Enterprise v.8.3.24, wrapper functions can be used: IsRecordSetAddition
, IsRecordSetReplacement
, IsRecordSetUpdate
, IsRecordSetMerge
, IsRecordSetDeletion
, RecordSetUpdateMode
, RecordSetMergeMode
, and RecordSetDeletionMode
from the Common
common module. For more information, see comments to these functions.
The behavior of the PredefinedItem
function in the Common
and CommonClient
modules has been improved. It now returns Undefined
if an object or its predefined item does not exist in the configuration metadata. Previously, Undefined
was only returned if the predefined item existed in the configuration metadata but was not created in the infobase. We recommend that you review all function calls and remove any redundant exception catching.
The behavior of the TimeIntervalString
function in the Common
common module has been improved. Now, instead of throwing an exception, it returns an empty string if BeginTime
is greater than EndTime
. Review all function calls and replace exception catching with empty string handling.
We recommend that you review all cases of exception catching and rethrowing where the text displayed to the user (or administrator) is changed or added, and replace them with the CommonClientServer.ExceptionClarification
function. For more information, see Catching exceptions.
Using the Allow access to web services checkbox (Administration > Online support and services > Online support settings), you can disable all web service requests from the application.
GetFilesFromInternet
common module and the Common.CreateWSProxy
function, no additional actions are required: when the AccessToInternetServicesAllowed
functional option is disabled, they will return an Internet access error. In other cases, before establishing a connection with a web service, call the Common.AccessToInternetServicesAllowed
procedure.ShouldCheckAccessToInternetServices
property in the GetFilesFromInternetClientServer.FileGettingParameters
parameter for the functions of the GetFilesFromInternet
module and in the WSProxyConnectionParameters
parameter for Common.CreateWSProxy
.AccessToInternetServicesAllowed
functional option (constant of the same name). The function Common.AccessToInternetServicesDeniedMessageText
can be used to provide additional hints on why a certain function is unavailable: Access to web services in the application is prohibited by the administrator (Online support and services > Allow access to web services).AccessToInternetServicesAllowed
and the procedure SetUpInternetServicesOperations
of the Common
common module.Instead of using the obsolete function CommonServerCall.RefsToObjectFound
, we recommend that you open a long-running operation form and call Common.RefsToObjectFound
from there.
Instead of the obsolete function CommonServerCall.CheckDocumentsPosting
, call the function CommonServerCall.UnpostedDocuments
. In a single server call, the new function returns a list of unposted documents and the posting right availability flag. This allows the client to process the result without additional server calls.
The AttachFileOperationsExtension
function from the FileSystemClient
common module is deprecated. Instead, call Attach1CEnterpriseExtension
from the same module.
BusinessProcessesAndTasksServerCall
common module, call their counterparts from the BusinessProcessesAndTasksServer
common module.AddInServerCall.AddInInformation
function is deprecated. Instead, call AddInsServer.AddInInformation
.Update
, Merge
, and Delete
modes on 1C:Enterprise v.8.3.25 and later, you need to adjust the implementation of overridable procedures BeforeCheckPeriodClosing
, BeforeCheckOldDataVersion
, and BeforeCheckNewDataVersion
of the PeriodClosingDatesOverridable
common module. The Replace
property, which is passed to these procedures as part of the AdditionalProperties
structure of a record set, can now have not only a Boolean
type but also a ReplacementMode
type (for more details, see the comments to these procedures).AdditionalReportsAndDataProcessorsServerCall
common module, call their counterparts from the AdditionalReportsAndDataProcessors
common module: AttachExternalDataProcessor
and ExternalDataProcessorObject
.AddressParameters
, EmailAddressParameters
, and PhoneParameters
constructor functions (depending on the contact information type) instead of the ContactInformationKindParameters
function of the ContactsManager
common module.PrintManagementServerCall.TemplatesAndObjectsDataToPrint
, call PrintManagement.TemplatesAndObjectsDataToPrint
and use the server mechanism to generate print forms based on Office document templates.FilesOperationsOverridable.OnPrintFileWithStamp
procedure is deprecated. Instead, use DigitalSignatureOverridable.OnGetDigitalSignatureStamp
.The ambiguity in setting the state of an original document has been resolved in cases where a user could create two items with the same state name in the catalog, which previously resulted in a random state being assigned. Instead of the obsolete procedures WriteCommonDocumentOriginalState
and WriteDocumentOriginalStateByPrintForms
of the InformationRegisters.SourceDocumentsOriginalsStates
manager module, call the same procedures from the SourceDocumentsOriginalsRecording module. The new procedures take a reference to a state catalog item as the second
State` parameter, rather than a string with the state description. Review all locations where the obsolete procedures are called and make any necessary replacements.
The NotificationHandlerDocumentForm
procedure in the SourceDocumentsOriginalsRecordingClient
common module has been enhanced. It can now take a third parameter, Source
, to prevent redundant processing of notifications in open document forms. We recommend adding the third parameter Source
to all procedure calls.
The SourceDocumentsOriginalsRecordingServerCall.WriteOriginalsStatesAfterPrint
function is deprecated. Instead, call SourceDocumentsOriginalsRecording.WriteOriginalsStatesAfterPrint
and SourceDocumentsOriginalsRecordingClient.WriteOriginalsStatesAfterPrint
.
The WriteDocumentOriginalsStatesAfterPrintForm
procedure of the InformationRegisters.SourceDocumentsOriginalsStates
manager module is deprecated. Instead, call the same procedure from the SourceDocumentsOriginalsRecording
module.
SetSignatures
function of the DigitalSignature
common module is deprecated. Instead, use the new ObjectSignatures
function and the NewObjectSignaturesAcquisitionParameters
constructor function from the same module. Review all locations where this function is called.
ObjectSignatures
functions does not return digital signature certificates by default. To get them, you must explicitly set the ShouldExtractCertificatesFromSignatures
property in the AdditionalParameters
parameter to True
.SequenceNumber
and ShouldReturnMachineReadableLOAData
parameters used in the SetSignatures
function can also be passed to the ObjectSignatures
function via the same named properties of the NewObjectSignaturesAcquisitionParameters
constructor function.AccessToInternetServicesAllowed
function of the DigitalSignature
common module.When migrating from earlier library versions to version 3.1.11:
Patch releases of the library differ only in the fourth number of the full version number, for example: 3.1.11.1, 3.1.11.20, 3.1.11.300, and so on. To update to patch releases, use the UpdateToCorrectiveVersionSSL.epf external data processor from the distribution package. It will save you a lot of time during regular (for example, weekly) updates.
Run the data processor in an infobase with a configuration that contains the previous library release, specify the CF distribution file for the new library version, and click Update to hotfix version. This automatically compares and merges the previous and new library configurations according to the settings described in the documentation. All built-in library objects will be copied, and objects overridden during integration will be merged prioritizing new vendor configuration (for example, type collections) or skipped (for example, overridable modules). The database configuration is not updated automatically after comparison and merging. So, you can compare new data with the database configuration and make changes to the modified objects: overridable modules, various local fixes, and enhancements.
Another option is to generate a comparison and merging settings file by clicking Generate settings file. After that, you can open this file in Designer to compare and merge configurations manually.
After you have compared and merged the configurations, we strongly recommend that you use the SSL integration check tool distributed with the library as an external report SSLImplementationCheck.erf
.
This SSL version requires 1C:Enterprise v.8.3.21 or later running in the Version 8.3.21
, Version 8.3.22
, Version 8.3.23
and Version 8.3.24
compatibility modes.
The subsystem Event log analysis was renamed into User monitoring, and the following features were added: - With Data access log, you can track what data a user viewed. To enable the feature, configure the logging of the Access.Access event in Administration > Users and rights settings > Data access audit. - To track the changes in the setting, the event Data access audit.Change event logging settings was introduced, containing data as XML. - New event log reports were added, which enhance your analytical insights. Besides user activity, error monitoring, and scheduled job duration, you can now generate the following reports: Department activity, User account change history, Changes in user group membership, Changes in access group membership, Changes in allowed access group values, and Changes in profile roles.
Below are the updates related to other subsystems.
ExecuteFunction
, ExecuteProcedure
, ExecuteFunctionInMultipleThreads
, ExecuteProcedureinMultipleThreads
and ExecuteInBackground
of the TimeConsumingOperations
common module.
ErrorInfo
(of the ErrorInfo
type), while the obsolete properties BriefErrorDescription
and DetailErrorDescription
(of the String type) are kept for backward compatibility. The property ErrorInfo
is returned by the function TimeConsumingOperations.JobCompleted
and in the return value to be passed to the notification procedure specified in the CallbackOnCompletion
parameter of the TimeConsumingOperationsClient.WaitCompletion
procedure.StandardSubsystemsClient.OutputErrorInfo
function instead of showing warnings or calling the 1C:Enterprise method ShowErrorInfo
. This function is intended for intercepting exceptions by automated testing software (given that the ShowErrorInfo
method doesn’t trigger the ErrorDisplayProcessing
event handler in the application module).CommonParameters.ShouldIncludeFullStackInLongRunningOperationErrors
parameter of the CommonOverridable.OnDetermineCommonCoreParameters
procedure is set to True
, the error details for the developer will contain a snippet of the operation stack (before the startup). By default, the parameter is set to False
for debugging purposes.Common.ReplaceReferences
is augmented by the ErrorInfo
property (of the ErrorInfo
type). Now, error information can be either displayed in the calling code using 1C:Enterprise tools or sent to the Error Reporting Service.CancelButtonTitle
parameter of the TimeConsumingOperationsClient.IdleParameters
function.OnDefineFullNameComponents
, is implemented in the PersonsClientServerLocalization
module. The procedure overrides the IndividualsClientServer.NameParts
function to address the national aspects of individuals’ names.IndividualsClientServer.NameParts
function is updated:
FullName
can be passed as either “Surname,Name,MiddleName” (by default) or “Name,MiddleName,Surname”. The order is set in the NameFormat
parameter.OnDefineSurnameAndInitials
, is implemented in the PersonsClientServerLocalization
module. The procedure overrides the IndividualsClientServer.InitialsAndLastName
function to address the aspects of individuals’ names in local languages.IndividualsClientServer.InitialsAndLastName
function is updated:
FullName
can be passed as either “Surname,Name,MiddleName” (by default) or “Name,MiddleName,Surname”. The order is set in the FullNameFormat
parameter.IsInitialsComeFirst
parameter.Result
parameter of procedures that handle the long-running operation progress and completion, we recommend that you use the following functions:
TimeConsumingOperationsClient.NewResultLongOperation
is intended for values passed to the completion procedure specified in the CallbackOnCompletion
parameter of the TimeConsumingOperationsClient.WaitCompletion
procedure.LongRunningOperationNewState
is intended for values passed to the progress notification procedure specified in the ExecutionProgressNotification
parameter of the TimeConsumingOperationsClient.IdleParameters
procedure. For example:// Parameters:
// Result - See TimeConsumingOperationsClient.NewResultLongOperation
// AdditionalParameters - Undefined
//
&AtClient
Procedure ApplyRulesCompletion(Result, AdditionalParameters) Export
Common.UnionAllText
function (similarly to Common.QueryBatchSeparator
).CommonClientServer.ValueListsAreEqual
function is improved.ShouldCompareValuesCount
, is added to the CommonClientServer.ValueListsAreEqual
function, which allows for comparing lists of unequal lengths.IsStringContainsOnlyNationalAlphabetChars
function is implemented in the StringFunctionsClientServer
common module. It is intended for finding invalid characters (for example, in names).StringFunctionsClientServerLocalization
common module now contains the following procedures:
OnDefineNationalAlphabetChars
, which is intended to override the IsStringContainsOnlyNationalAlphabetChars
function of the StringFunctionsClientServer
common module to adjust it to local languages.OnDefineWordChars
, which is intended to override the IsWordSeparator
function of the StringFunctionsClientServer
common module to adjust it to local languages.SSLImplementationCheck.erf
) is improved:
RemoteODataAccess
role is enhanced: in 1C:Fresh powered SaaS applications, this role now grants access rights to objects with independent and shared separators. Additionally, objects that are excluded from export/import when migrating from on-premises solutions to the cloud are skipped by this role.CurrencyRateOperations.GenerateAmountInWords
is augmented by the IsFractionalPartInWords
parameter, which allows for expressing the decimal fraction in words.WhenReceivingClassifierData
, is implemented in the CalendarSchedulesLocalization
module. The procedure overrides the CalendarSchedules.ClassifierData
function when getting a file with country-specific calendar classifier data.ContactsManager.ContactInformationPresentation
is augmented by the Transliterate
parameter, which allows for converting contact information from Cyrillic into Latin. For example, to provide English-speaking partners with addresses written initially in Cyrillic.SSLImplementationCheck.erf
). Errors are diagnosed if:
To identify and fix issues, use the latest report version.
NationalLanguageSupportServer
common module’s API is augmented by the functions CurrentLanguageSuffix
, LanguageSuffix
, IsAdditionalLangUsed
, and AttributesNamesConsideringLangCode
. For details, see the comments to these functions and a use case in the ChoiceDataGetProcessing
procedure in the _DemoProducts
catalog’s manager module in the demo SSL.TextTranslationTool.TextTranslationAvailable
function.Organizer
command type. This applies only to configurations with the Attachable commands subsystem integrated.UserRemindersClient.RemindInSpecifiedTime
procedure is augmented by the Id
parameter, which allows users to specify the reminder type. For details, see the comments to the procedure.For seamless logging of data processing errors, the WriteErrorToEventLog
procedure is implemented in the InfobaseUpdate
module API. For details, see the comments to the procedure. Code before implementing the procedure:
MessageText = StringFunctionsClientServer.SubstituteParametersToString(
NStr("ru = 'Could not process %1 due to:
|%2'"),
RepresentationOfTheReference, ErrorProcessing.DetailErrorDescription(ErrorInfo()));
WriteLogEvent(InfobaseUpdate.EventLogEvent(),
EventLogLevel.Warning, Metadata.Catalogs.ContactPersonsForPartners,
PartnerContactPerson.Ref, MessageText);
The new procedure reduces the algorithm’s complexity to a single line:
InfobaseUpdate.WriteErrorToEventLog(PartnerContactPerson.Ref, RepresentationOfTheReference, ErrorInfo());
To facilitate the development of predefined item update handlers, the InfobaseUpdate.DoUpdatePredefinedItems
procedure is implemented. In just a single call, the procedure adds new and updates existing items according to their current description in the OnInitialItemsFilling
procedure of the object’s manager module. The procedure allows for updating either all items or specify which of the object’s items and attributes should be updated. See the handler instance in the procedure _DemoInfobaseUpdateSSL.UpdateContactInformationKinds
in the demo SSL.
ConfigurationUpdate.InstallAndDeletePatches
, you can now pass the UsedInDistributedInfoBase
parameter to reduce the installation time for extensions that are not intended for distributed infobases. To pass parameters to the function ConfigurationUpdate.InstallAndDeletePatches
, a new constructor function is introduced: ConfigurationUpdate.PatchesInstallationParameters
.Send
. See the example in the procedure _DemoStandardSubsystems.OnDefineCommandsAttachedToObject
in the demo SSL.DuplicateObjectsDetection.FindSimilarStrings
now supports the safe mode, which is useful for calls from external data processors or extensions. For that purpose, the DuplicateObjectsDetection.ParametersOfSearchForSimilarStrings
function was reworked.GetFilesFromInternet.ConnectionDiagnostics
runs the ping command to test the connectivity between the requester and an Internet resource. However, if responding to ping is disabled or not configured on the Internet resource, its result might misinform the requester. To address that issue, the new parameter IsPackageDeliveryCheckEnabled
was implemented, which allows you to disable the ping request. We recommend using this parameter if you know or suspect that the ping response is disabled on the requested Internet resource.
IsPackageDeliveryCheckOnErrorEnabled
property in the parameters of the following functions:
GetFilesFromInternet.DownloadFileAtServer
, GetFilesFromInternet.DownloadFileToTempStorage
,Common.CreateWSProxy
, andCommon.GetInterfaceVersions
.GetFilesFromInternet.FileImportTimeout
function is introduced to calculate the timeout threshold for downloading files from the Internet. It is intended for downloading files without using the Network download API, which already has an embedded timeout estimator.PrintManagementOverridable.PrintDocumentsOnCreateAtServer
.Example:
Procedure PrintDocumentsOnCreateAtServer(Form, Cancel, StandardProcessing) Export
FormCommand = Form.Commands.Add("MyCustomSendCommand");
FormCommand.Action = "Attachable_ExecuteCommand";
FormCommand.Title = NStr("en = 'Custom send command'");
FormButton = Form.Items.Add(FormCommand.Name, Type("FormButton"), Form.Items.SubmenuSend);
FormButton.Kind = FormButtonType.CommandBarButton;
FormButton.CommandName = FormCommand.Name;
EndProcedure
CommonAuthorizationSettingsNewDetails
and NewDescriptionOfLoginSettings
now support the 1C:Enterprise v.8.3.26 features available in the LogonSettings
common form. For earlier versions, the values assigned to these properties are ignored (however, the values are stored in the UserAuthorizationSettings
constant).UsersOverridable.OnDefineRegistrationSettingsForDataAccessEvents
Users.RegistrationSettingsForDataAccessEvents
Users.UpdateRegistrationSettingsForDataAccessEvents
. These functions and procedures allow each mechanism to store its settings separately and apply the common result to the infobase when the settings are changed, without the risk of overwriting other mechanisms’ settings. And instead of disabling the logging of the Access.Access event, just disable the settings of the required mechanism in UsersOverridable.OnDefineRegistrationSettingsForDataAccessEvents
and call Users.UpdateRegistrationSettingsForDataAccessEvents
. If an error occurs when changing settings, Users.UpdateRegistrationSettingsForDataAccessEvents
deletes non-existent field names from the settings, retries applying the settings, and logs the event Users.Error setting up Access.Access event without throwing an exception.Users
and ExternalUsers
catalogs when passing the properties of the AdditionalProperties
object are improved:
AdditionalProperties
contains the IBUserDetails
property, its value is now considered in the DataExchange.Load
mode.AdditionalProperties.IBUserDetails.Action
is set to Write
, then you can use the property AdditionalProperties.IBUserDetails.UpdateInfobaseUserOnly
to restrict creating a new infobase user when it’s not found.Catalogs.UserGroups.AllUsers
and Catalogs.ExternalUsersGroups.AllExternalUsers
, we recommend calling the functions Users.AllUsersGroup
and ExternalUsers.AllExternalUsersGroup
respectively.FilesOperations.BinaryFilesData
is implemented to allow obtaining the binary data of multiple files in a single call.FilesOperaions.ConvertFilesToAttachedFiles
(marked as obsolete) is replaced with MoveFilesBetweenStorageCatalogs
. With the new procedure, you can transfer object attachments between attachment tables when refactoring the file storage locations. For example, you can utilize this procedure to transfer attachments in _DemoProducts
from the _DemoProductsAttachedFiles
catalog to the Files
catalog. See the call example in DataProcessor._DemoTransferAttachments
.EmailOperations
common module functions SendMail
, SendEmails
, and DownloadEmailMessages
is updated to allow performing multiple send/receive actions on the mail server without reconnecting to it. Alongside an email account, the functions take an established connection to a mail server (InternetMail
) as a parameter. It is intended for developing custom email clients.EmailOperations.ConnectToEmailAccount
is implemented.EmailOperationsOverridable.OnDefineSettings
is augmented with the ShouldUsePOP3Protocol
property, which allows for toggling the POP3 protocol. If you set the property to False, the mail server will be accessed over IMAP, and POP3 settings will be unavailable.SendOptions
parameter of the EmailOperationsClientOverridable.BeforeOpenEmailSendingForm
procedure: IsInteractiveRecipientSelection
.MessageTemplatesClient.SelectTemplate
, set the MessageKind
parameter to Arbitrary
. For the implementation example, see DocumentForm
of the _DemoDebitingFromAccount
document in the demo SSL.DigitalSignatureOverridable.OnDefineSettings
procedure is implemented, which allows for overriding subsystem settings. With it, you can specify whether the app should display the attribute DefinedType.Individual
in the catalog DigitalSignatureAndEncryptionKeysCertificates
and in the application on certificate issuance.DigitalSignatureClientServer.ResultOfSignatureValidationOnForm
. The constructor has the BriefCheckResult
property that contains the verification result based on the data stored in the infobase. The property is filled in by the procedure DigitalSignatureClientServer.FillSignatureStatus
.DigitalSignatureClientOverridable.AfterAddToDigitalSignatureCertificatesCatalog
procedure is introduced to help users update certificate settings and replace certificates when they add new certificates to the DigitalSignatureAndEncryptionKeysCertificates
catalog.DigitalSignatureClient.CheckCertificate
and DigitalSignature.CheckCertificate
procedures are augmented with the CheckParameters
parameter and the constructor DigitalSignatureClient.CertificateCheckParameters
. You can use the property PerformCAVerification
to specify whether the certificate should be checked against the list of accredited certificate authorities. The property IgnoreCertificateRevocationStatus
allows you to specify whether to check the certificate against the revocation list.PerformCAVerification
and IgnoreCertificateRevocationStatus
in the AdditionalParameters
parameter of the DigitalSignatureClient.CheckCatalogCertificate
procedure.ShouldCheckCertificate
in the constructor DigitalSignatureClient.SignatureVerificationParameters
when calling the procedure DigitalSignatureClient.VerifySignature
, you can completely disable certificate verification for non-qualified signatures that are intended only to verify that the document has not changed. Conversely, you can enable verification and require qualified signature certificates.CertificateCheckParameters
is implemented in the parameter DigitalSignatureClientServer.SignatureVerificationResult
of the DigitalSignature.VerifySignature
procedure.In this section, you can find additional migration instructions for each subsystem. Follow these instructions after comparison and merging (see Chapter 2 of the Library integration guide) (in Russian).
To update the following overridable and localizable common modules, copy the new export procedures from the library distribution package and delete the obsolete ones. Also, make sure that comments, the number of parameters, and the parameter names of each procedure match their library equivalents:
For recommendations on how to use the new features of overridable and localizable common modules, see What’s new for developers above.
Public
area.Using the API makes it easier to update to new library versions without having to revise the application code. For the rare cases when such compatibility is not ensured, and you need to adjust the application for the new library API, this section provides instructions. However, changes to internal library procedures and functions (even if they are export ones) that are not part of the API are not documented. If you call these procedures and functions directly from the application, be aware that they can be changed, moved, or deleted in future versions of the library, as they represent its internal implementation.
Once the migration is complete, we recommend that you use the SSL integration check tool distributed with the library as an external report SSLImplementationCheck.erf
.
ExtensionProperties
information register from the exchange plans of the distributed infobase (DIB) and standalone workstation (SWS) and from the exchange plans that synchronize different apps.UserMonitoring
(a child subsystem of Administration
) to the new configuration so that the elements of the Administrator reports panel would be grouped appropriately.AttachableCommands
subsystem (if integrated) to all forms that have note-related buttons.UseNotesCommand
constant to the DIB and SWS exchange plans.RegistrationSettingsForDataAccessEvents
and ShouldRegisterChangesInAccessRights
constants from the DIB and SWS exchange plans and from the exchange plans that synchronize different apps.UsersAndRightsSettings
form of the SSLAdministrationPanel
data processor (if used).AttachableCommands
subsystem (if integrated) to all forms that have reminder-related buttons.UseRemindersCommand
constant to the DIB and SWS exchange plans.UserGroupsHierarchy
and UserGroupCompositions
to the DIB and SWS exchange plans only for the purpose of creating an initial image (exclude from event subscriptions). Also, exclude the registers from exchange plans that synchronize different apps.Users.PasswordHashString
should be supplemented with a call to the 1C:Enterprise methods EvaluateStoredUserPasswordValue
or CheckUserPasswordComplianceWithStoredValue
, as shown in the function example. This is required in cases where the application administrator has selected a password hashing algorithm other than SHA-1. In future releases, the Users.PasswordHashString
will be marked as deprecated.BinaryDataStorage
and information registers FileRepository
and DeleteFilesBinaryData
only to the subordinate node initial image.AccessValuesGroups
to the DIB and SWS exchange plans only for the purpose of creating an initial image (exclude from event subscriptions). Also, exclude the register from exchange plans that synchronize different apps.AttachableCommands
subsystem (if integrated) to all forms that have buttons related to sending messages.The actions listed below are not required for migration, but we recommend that you perform them in the future.
InfobaseUpdateOverridable.OnDefineSettings
. Predefined items in such objects are populated by the OnInitialItemsFilling
procedure of the manager module.
EditedPredefinedAttributes
.ExecuteFunction
, ExecuteProcedure
, ExecuteFunctionInMultipleThreads
, ExecuteProcedureinMultipleThreads
and ExecuteInBackground
of the TimeConsumingOperations
common module. We recommend that you update the code for running and processing long-running operations accordingly:
BriefErrorDescription
and DetailErrorDescription
(of the String type), use the ErrorInfo
property (of the ErrorInfo
type) in long-running operations results. The property ErrorInfo
is returned by the function TimeConsumingOperations.JobCompleted
and in the return value to be passed to the notification procedure specified in the CallbackOnCompletion
parameter of the TimeConsumingOperationsClient.WaitCompletion
procedure.StandardSubsystemsClient.OutputErrorInfo
function instead of showing warnings or calling the 1C:Enterprise method ShowErrorInfo
. This function is intended for intercepting exceptions by automated testing software (given that the ShowErrorInfo
method doesn’t trigger the ErrorDisplayProcessing
event handler in the application module).RefinementErrors
property (instead of adding it to the client code) in the parameters of the following TimeConsumingOperations
common module functions: FunctionExecutionParameters
, BackgroundExecutionParameters
, ProcedureExecutionParameters
. Example: ExecutionParameters.RefinementErrors = NStr("en = 'The action failed due to:'");
. This approach ensures that the error message the user sees repeats the same information that is logged during the exception handling.Result
parameter of procedures that handle the long-running operation progress and completion, we recommend that you use the following functions:
TimeConsumingOperationsClient.NewResultLongOperation
is intended for values passed to the completion procedure specified in the CallbackOnCompletion
parameter of the TimeConsumingOperationsClient.WaitCompletion
procedure.LongRunningOperationNewState
is intended for values passed to the progress notification procedure specified in the ExecutionProgressNotification
parameter of the TimeConsumingOperationsClient.IdleParameters
procedure. For example:// Parameters:
// Result - See TimeConsumingOperationsClient.NewResultLongOperation
// AdditionalParameters - Undefined
//
&AtClient
Procedure ApplyRulesCompletion(Result, AdditionalParameters) Export
ErrorProcessing.ErrorMessageForUser(ErrorInfo)
and provide the users with the ability to preview and send the error report by clicking the Generate error report link: ReportToSend = New ErrorReport(ErrorInfo);
StandardSubsystemsClient.ShowErrorReport(ReportToSend);
StandardSubsystemsClient.ConfigureVisibilityAndTitleForURLSendErrorReport
from the OnOpen
form module handler.OnClose
form module handler, call the procedure StandardSubsystemsClient.SendErrorReport(ReportToSend, ErrorInfo)
, which sends the report if the app settings imply that sending reports is mandatory for this error category.DataProcessor.ApplicationUpdateResult.Form.FailedUpdateMessage
, DataProcessor.ReplaceAndMergeItems.Form.ItemsReplacement
, and DataProcessor.ToDoList.Form.Form
.EventLogServerCall.WriteEventsToEventLog
with the calls to EventLogClient.WriteEventsToEventLog
.IndividualsClientServer.FullNameWrittenCorrectly
(marked as obsolete) is replaced with StringFunctionsClientServer.IsStringContainsOnlyNationalAlphabetChars
.SettingsStorage
attribute of the AdditionalReportsAndDataProcessors
catalog has been updated. To save and retrieve these settings, use the ShouldSaveSettings
and LoadSettings
procedures from the AdditionalReportsAndDataProcessors
common module.BankManager.GetClassifierData
(marked as obsolete) is replaced with BankManager.BICInformation
.SMSAndEmailParameters
constructor function to generate parameters of the procedures ContactsManagerClient.CreateEmailMessage
and ContactsManagerClient.CreateSMSMessage
._DemoMySettings
form in the demo SSL. For opening the reminder settings form programmatically, see procedure UserRemindersClient.OpenSettings
.For logging of data processing errors, we recommend calling the InfobaseUpdate.WriteErrorToEventLog
procedure. Code before implementing the procedure:
MessageText = StringFunctionsClientServer.SubstituteParametersToString(
NStr("ru = 'Could not process %1 due to:
|%2'"),
RepresentationOfTheReference, ErrorProcessing.DetailErrorDescription(ErrorInfo()));
WriteLogEvent(InfobaseUpdate.EventLogEvent(),
EventLogLevel.Warning, Metadata.Catalogs.ContactPersonsForPartners,
PartnerContactPerson.Ref, MessageText);
The new procedure reduces the algorithm’s complexity to a single line:
InfobaseUpdate.WriteErrorToEventLog(PartnerContactPerson.Ref, RepresentationOfTheReference, ErrorInfo());
ConfigurationUpdate.InstallAndDeletePatches
, we recommend calling the constructor function ConfigurationUpdate.PatchesInstallationParameters
.UsersOverridable.OnDefineRegistrationSettingsForDataAccessEvents
Users.RegistrationSettingsForDataAccessEvents
Users.UpdateRegistrationSettingsForDataAccessEvents
. These functions and procedures allow each mechanism to store its settings separately and apply the common result to the infobase when the settings are changed, without the risk of overwriting other mechanisms’ settings. And instead of disabling the logging of the Access.Access event, just disable the settings of the required mechanism in UsersOverridable.OnDefineRegistrationSettingsForDataAccessEvents
and call Users.UpdateRegistrationSettingsForDataAccessEvents
. If an error occurs when changing settings, Users.UpdateRegistrationSettingsForDataAccessEvents
deletes non-existent field names from the settings, retries applying the settings, and logs the event Users.Error setting up Access.Access event without throwing an exception.PropertyManager.PropertyAdditionParameters
parameter constructor procedure used in the AddProperty
procedure, the Type
property is replaced with ValueType
. If you are adding additional attributes or information records programmatically, we recommend replacing Type
with ValueType
at all call sites. The old property is kept for backward compatibility.When migrating from earlier library versions (up to 3.1.10):
Patch releases of the library differ only in the fourth digit of the full version number, for example: 3.1.10.1, 3.1.10.20, 3.1.10.300, and so on. To update to patch releases, use the UpdateToCorrectiveVersionSSL.epf external data processor from the distribution package. It will significantly save your time during regular (for example, weekly) updates.
Run the data processor in an infobase with a configuration that contains the previous library release, specify the CF distribution file for the new library version, and click Update to hotfix version. This automatically compares and merges the previous and the new library configurations according to the settings described in the documentation. All built-in library objects will be copied, and objects overridden during integration will be merged prioritizing new vendor configuration (for example, type collections) or skipped (for example, overridable modules). The database configuration is not updated automatically after comparison and merging. So, you can compare new data with the database configuration and make changes to the modified objects: overridable modules, various local fixes, and enhancements.
Another option is to generate a comparison and merging settings file by clicking Generate settings file. After that, you can open this file in Designer to compare and merge configurations manually.
After you have compared and merged the configurations, we strongly recommend that you use the SSL integration check tool distributed with the library as an external report SSLImplementationCheck.erf
.
The process for managing settings stored in the SettingsStorage
attribute of the AdditionalReportsAndDataProcessors
catalog has been updated. To save and retrieve these settings, use the ShouldSaveSettings
and LoadSettings
procedures from the `AdditionalReportsAndDataProcessors
common module.
The DigitalSignatureClientOverridable.AfterAddToDigitalSignatureCertificatesCatalog
procedure is introduced to help users update certificate settings and replace certificates when they add new certificates to the DigitalSignatureAndEncryptionKeysCertificates
catalog.
To improve remote server authentication when connecting via HTTPS, the minimum platform version for using the library has been increased. See Readme.txt for the specific version number.
DigitalSignatureClient.CheckCertificate
and DigitalSignature.CheckCertificate
procedures are augmented with the CheckParameters
parameter and the constructor DigitalSignatureClient.CertificateCheckParameters
. You can use the property PerformCAVerification
to specify whether the certificate should be checked against the list of accredited certificate authorities. The property IgnoreCertificateRevocationStatus
allows you to specify whether to check the certificate against the revocation list.PerformCAVerification
and IgnoreCertificateRevocationStatus
in the AdditionalParameters
parameter of the DigitalSignatureClient.CheckCatalogCertificate
procedure.ShouldCheckCertificate
in the constructor DigitalSignatureClient.SignatureVerificationParameters
when calling the procedure DigitalSignatureClient.VerifySignature
, you can completely disable certificate verification for non-qualified signatures that are intended only to verify that the document has not changed. Conversely, you can enable verification and require qualified signature certificates.CertificateCheckParameters
is implemented in the parameter DigitalSignatureClientServer.SignatureVerificationResult
of the DigitalSignature.VerifySignature
procedure.WhenReceivingClassifierData
, is implemented in the CalendarSchedulesLocalization
module. The procedure overrides the CalendarSchedules.ClassifierData
function when getting a file with country-specific calendar classifier data.MessageTemplatesOverridable.OnCreateMessage
. Copy the new description from the library distribution package and make sure that comments, the number of parameters, and the parameter names of each procedure in the MessageTemplatesOverridable
common module match their library equivalents.SSLImplementationCheck.erf
). Errors are diagnosed if:
The performance of SSL integration check (distributed with the library as an external report SSLImplementationCheck.erf
) is improved:
RemoteODataAccess
role is enhanced: in 1C:Fresh powered SaaS applications, this role now grants access rights to objects with independent and shared separators. Additionally, objects that are excluded from export/import when migrating from on-premises solutions to the cloud are skipped by this role.PropertyManager.PropertyAdditionParameters
parameter constructor procedure used in the AddProperty
procedure, the Type
property is replaced with ValueType
. If you are adding additional attributes or information records programmatically, we recommend replacing Type
with ValueType
at all call sites. The old property is kept for backward compatibility.Version 3.1.9 is designed for development on 1C:Enterprise platform 8.3.21 or higher in Version 8.3.21
compatibility mode.
For the entire list of new features, see What’s new in version 3.1.9 below.
SupplementList
procedure in the CommonClientServer
common module. You can use the procedure to combine value lists. If the destination list already contains an item with a value to add, the item presentation is changed to the new one from the source list.ExpectedValues
parameter in the CommonClientServer.CheckParameter
procedure. You can use the parameter to check possible parameter values of procedures and functions. For example, if the Color
parameter of the SpecifyColor
procedure can have only three possible string values Red
, Yellow
, and Green
, then you can check the parameter value as follows: ~~~ CommonClientServer.CheckParameter(“Colors.SpecifyColor”, “Color”, Color, Type(“String”), “Red,Yellow,Green”); ~~~StandardSubsystemsServer.IsTrainingPlatform
function in the API. The function allows branching code that depends on restrictions of the training platform version.IsBaseConfigurationVersion
and IsTrainingPlatform
functions of the StandardSubsystemsClient
common module and CommonClientServer.COMConnectorName
instead of obsolete same-name properties of the structure returned by the ClientRunParameters
and ClientParametersOnStart
functions of the StandardSubsystemsClient
common module.ValueToJSON
and JSONValue
functions in the Common
module. These functions simplify value conversion into and from the JSON format.IsDistributedInfobase
function in the Common
common module. You can use the function to check whether the infobase is distributed.Enum.ReportOptionPurposes
type) in the CustomizeReportsOptions
procedure in the report manager module or centrally in the ReportsOptionsOverridable
common module:ForComputersAndTablets
. A report option must be displayed on report panels only in the thin client, thick client, or web client of 1C:Enterprise. This is a default value.ForSmartphones
. A report option must be displayed on report panels only in the mobile application.ForAnyDevice
. A report option must be displayed in any 1C:Enterprise applications.CustomizeReportOptions
procedure in the report manager module or in the CustomizeReportOptions
procedure of the ReportsOptionsOverridable
common module. For example: OptionDetails = ReportsOptions.OptionDetails(Settings, DescriptionOfReport, "IncomeAndExpensesForEnterpriseMobileClient");
OptionDetails.Description = NStr("en='Company's income and expenses (mobile)'");
OptionDetails.LongDesc = NStr("en= 'Itemized analysis of income and expenses for the entire company with dimension selection.'");
OptionDetails.Purpose = Enums.ReportOptionPurposes.ForSmartphones;
Besides, you can save report snapshots to view them later in the mobile client in standalone mode. To manage the report snapshots in the application, you can use the following procedures and functions in the manager module of the ReportsSnapshots
information register:
UserReportsSnapshots
SaveUserReportSnapshot
UpdateUserReportsSnapshots
For more information, see the description of the procedures and functions.
To view reports in the mobile client in standalone mode when there is no connection to the server, set up data export to an offline configuration:
OnWrite
event subscription. You can find the example in the demo configuration: EventSubscriptions._DemoRegisterChangesForStandaloneMode
and EventSubscriptions._DemoRegisterChangesForStandaloneModeRegisters
.OnStart
procedure of the CommonClientOverridable
common module._DemoExchangeMobileClientOfflineServerCall
common module._DemoExchangeMobileClient
role. Add access rights for metadata objects involved in the exchange to this role. You can find the example in the demo configuration: Constants._DemoExchangePlanNewNodeCode
. Add this role and the AddEditReportsSnapshots
role to access group profiles of mobile client users.WriteObjectProperties
API procedure of the ImportDataFromFile
common module and pass a reference to the property owner object and a string of data to import as parameters.PositionOfAddButton
property in the OnDefineSettings
procedure parameter of the ContactsManagerOverridable
common module. By default, the button is displayed on the left.
CommentFieldWidth
parameter to specify the exact width of the Comment field for contact information fields with the following types: Phone
, Email
, Skype
, WebPage
, and Fax
.GetWSProxy_3_0_2_2
function is added to the DataExchangeServer
common module API. For more information, see the function description.AfterImportObject
and OnRegisterDataImportHandlers
procedures are added to the DataExchangeEvents
common module API. For more information, see the procedure description.UsersClient.IsFullUser
function in the client code instead of the obsolete IsFullUser
,IsSystemAdministrator
, andHasAccessForUpdatingPlatformVersion
properties of the structure returned by the ClientRunParameters
and ClientParametersOnStart
functions of the StandardSubsystemsClient
common module.IsFullUser
property of the structure returned by the FilesOperations.FilesOperationSettings
function is now obsolete. Instead, use the Users.IsFullUser
and UsersClient.IsFullUser
functions.FilesOperationsClient
common module for scanning images:
AddFromScanner
CombineToMultipageFile
ScanCommandAvailable
and ScanAvailable
AddingFromScannerParameters
, GraphicDocumentConversionParameters
, ScanParameters
, ConversionResultTypeBinaryData
, ConversionResultTypeFileName
, and ConversionResultTypeAttachedFile
SaveUserScanSettings
procedure andGetUserScanSettings
function in the FilesOperations
and FilesOperationsClient
common modules.UserScanSettings
function in the FilesOperationsClientServer
common module.OnDefineEmailTextParameters
and OnReceiveEmailTextParameters
procedures of the ReportMailingOverridable
common module. For more information, see comments to these procedures.Now you can use labels to mark catalogs and documents with multi-colored label icons (Administration – General settings – Properties). The labels are displayed as pictures or text and can be edited in forms of catalogs and documents. Besides, you can see a label column and its legend in lists and filter the lists by labels. New procedures and functions in the PropertyManager
module for managing labels in the application:
LabelsDisplayParameters
OnGetDataAtServer
PropertiesByAdditionalAttributesKind
SetLabelsLegendVisibility
HasLabelsOwners
FillObjectLabels
For more information, see the description of the procedures and functions.New procedures and functions in thePropertyManagerClient
module:
EditLabels
ExecuteCommand
ApplyFilterByLabel
For more information, see the description of the procedures and functions.Improved the support of property sets created using 1C:Enterprise language based on various configuration catalogs, for example, Product kinds. To delete such property sets automatically when deleting a source catalog item, you can use the new BeforeDeleteObjectKind
procedure in the PropertyManager
common module. Call this procedure in the BeforeDelete
procedure in the object module of the source catalog:
// StandardSubsystems.Properties
PropertyManager.BeforeDeleteObjectKind(ThisObject);
// End StandardSubsystems.Properties
True
in the IsVerificationRequired
property.SignatureVerificationParameters
constructor in the DigitalSignatureClient
common module to the CheckParameters
parameter of the VerifySignature
procedure and set the ResultAsStructure
flag.ShouldIgnoreCertificateValidityPeriod
parameter is added to the RefineSignature
procedure of the DigitalSignatureClient
common module. You can use the parameter to add a timestamp to a signature whose certificate expired.DeleteDigitalSignatures
role is added to delete signatures of other signers.Sign
and Decrypt
functions of the DigitalSignatureClient
module, OperationContext
is now returned even in case of an unsuccessful operation if a password was entered. However, a repeated action with such context might also be unsuccessful.In this section, you can read about additional migration instructions for each subsystem that you need to perform in Designer after comparison and merging. See Chapter 2 in the Library Integration Guide.
To update the following overridable common modules, copy the new export procedures from the library distribution package and delete the obsolete ones. Also, make sure that comments, the number of parameters, and the parameter names of each procedure match their library equivalents:
DataExchangeOverridable
DataExchangeSaaSOverridable
DuplicateObjectsDetectionOverridable
ReportMailingOverridable
For the recommendations on how to use the new features of the overridable common modules, see the What’s new for developers section above.
Public
area.Using an API requires much less rewriting of configuration code when upgrading to new library versions. In this section, you can read about necessary instructions for rare cases when such compatibility is not provided and you need to customize the configuration to a new library API. However, the section does not describe changes in internal procedures and functions of the library that are not related to the API even if these are export procedures and functions. When you call these functions and procedures from the configuration, note that they can be changed, moved, or deleted in the next library version as they represent its internal implementation.
BeforeStart
, OnStart
, BeforeExit
, and CollaborationSystemUsersChoiceFormGetProcessing
handlers in modules of the managed and ordinary applications with the following snippets:#Region EventsHandlers
Procedure BeforeStart()
#If MobileClient Then
If IsMainServerAvailable() = False Then
Return;
EndIf;
#EndIf
// StandardSubsystems
#If MobileClient Then
Execute("StandardSubsystemsClient.BeforeStart()");
#Else
StandardSubsystemsClient.BeforeStart();
#EndIf
// End StandardSubsystems
EndProcedure
Procedure OnStart()
// StandardSubsystems
#If MobileClient Then
Execute("StandardSubsystemsClient.OnStart()");
#Else
StandardSubsystemsClient.OnStart();
#EndIf
// End StandardSubsystems
EndProcedure
Procedure BeforeExit(Cancel, WarningText)
// StandardSubsystems
#If MobileClient Then
Execute("StandardSubsystemsClient.BeforeExit(Cancel, WarningText)");
#Else
StandardSubsystemsClient.BeforeExit(Cancel, WarningText);
#EndIf
// End StandardSubsystems
EndProcedure
Procedure CollaborationSystemUsersChoiceFormGetProcessing(ChoicePurpose,
Form, ConversationID, Parameters, SelectedForm, StandardProcessing)
// StandardSubsystems
#If MobileClient Then
Execute("StandardSubsystemsClient.CollaborationSystemUsersChoiceFormGetProcessing(ChoicePurpose,
|Form, ConversationID, Parameters, SelectedForm, StandardProcessing)");
#Else
StandardSubsystemsClient.CollaborationSystemUsersChoiceFormGetProcessing(ChoicePurpose,
Form, ConversationID, Parameters, SelectedForm, StandardProcessing);
#EndIf
// End StandardSubsystems
EndProcedure
#EndRegion
OwnerForm1
property name within the structure returned by the IdleParameters
function of the TimeConsumingOperationsClient
common module API. The old name should be replaced with OwnerForm
in all occurrences.DataExchangeEvents.OnRegisterDataImportHandlers
procedure call to the OnRegisterDataImportHandlers
overridable procedure of the ExportImportDataOverridable
common module:Procedure OnRegisterDataImportHandlers(HandlersTable) Export
DataExchangeEvents.OnRegisterDataImportHandlers(HandlersTable);
EndProcedure
Constant.UsePerformanceMonitoringOfDataSynchronization
Catalog.DataExchangesSessions
IncludeDateInFileName
attribute of the ReportMailings
catalog is marked as obsolete and renamed to ObsoleteIncludeDateInFileName
. Delete the attribute from the code, queries, and reports.The actions listed below are not required for migration, but we recommend that you perform them in the future.
When you migrate from earlier versions to version 3.1.9:
OwnerForm1
property name within the structure returned by the IdleParameters
function of the TimeConsumingOperationsClient
common module API. The old name should be replaced with OwnerForm
in all occurrences.Patch releases of the library differ only in the fourth digit of the full version number, for example: 3.1.9.1, 3.1.9.20, 3.1.9.300, and so on. To update to patch releases, use the UpdateToCorrectiveVersionSSL.epf external data processor from the distribution package. It will significantly save your time during regular (for example, weekly) updates.
Run the data processor in an infobase with a configuration that contains the previous library release, specify the CF distribution file of the new library version, and click Update to corrective version. This automatically compares and merges the previous and the new library configurations according to the settings described in the documentation. All built-in library objects will be copied, and objects overridden during integration will be merged prioritizing new vendor configuration (for example, type collections) or skipped (for example, overridable modules). The database configuration is not updated automatically after comparison and merging. So, you can compare new data with the database configuration and make changes to the modified objects: overridable modules, various local fixes, and enhancements.
Another option is to generate a comparison and merging settings file by clicking Generate a settings file. After that, you can open this file in Designer to compare and merge configurations manually.
Version 3.1.8 is designed for development on 1C:Enterprise platform 8.3.21 or higher in Version 8.3.21
compatibility mode.
For the entire list of new features, see What’s new in version 3.1.8 below.
Deferred update duration
report. This report groups update handlers starting from critical to less critical ones. It also displays the handler execution sequence and TOP-10 longest handlers in each group.ExecuteFunctionInMultipleThreads
and ExecuteProcedureinMultipleThreads
functions of the TimeConsumingOperations
common module. Now working process restart in client/server mode or abnormal termination of a background job does not interrupt a multithreaded long-running operation. To ensure the new feature:
StartThreadsOfLongRunningOperations
scheduled job automatically starts a state check every 60 seconds while a multithreaded long-running operation is executed.ShouldCancelWhenOwnerFormClosed
parameter is added to the IdleParameters
function of the TimeConsumingOperationsClient
common module. The default parameter value is True
if the OwnerForm1
parameter is specified and this owner form is opened.ShouldBeIsolated
parameter is added to the AttachAddInFromTemplate
procedure of the Common
common module and the ShouldBeIsolated
field is added to the AddInAttachmentParameters
wizard of the CommonClient
common module. For more information on add-in attachment types, see 1C:Enterprise platform documentation.Keys
parameter of the ReadDataFromSecureStorage
function of the Common
common module to get all owner object values. You can just pass the Undefined
value in this parameter.WriteDataToSecureStorage
procedure of the Common
common module, set the Keys
parameter to Undefined
and pass a structure with keys and new values to the Data
parameter.ReadOwnersDataFromSecureStorage
function in the Common
common module API.DeleteDataFromSecureStorage
function of the Common
common module and pass an owner object array in the Owner
parameter.SubjectAsString
and RefsPresentations
functions in the Common
common module that receive multiple value presentations in one query. These functions supplement the existing SubjectString
function.ArePredefinedItems
function in the Common
common module that determines whether the passed references are predefined items.PrintFromApplicationByFileName
procedure in the FileSystemClient
common module that allows you to print arbitrary files.MetadataObjectByFullName
function in the Common
common module that allows you to quickly get a metadata object by a simple full name (for example, Catalog.Companies
).PropertiesOfLastJob
function in the ScheduledJobsServer
common module API that allows you to get the result of the last scheduled job startup. For more information, see the function description.BankManagerOverridable
common module API that update service data in data areas when you import the Bank classifier in separated mode:
OnDefineBankClassifiersImportSettings
. Starts the OnProcessDataArea
procedure.OnProcessDataArea
. Performs additional actions in a data area.Interactions
common module that allow you to manage subsystem settings:
SetEmailClientUsage
, EmailClientUsed
.EnableSendingHTMLEmailMessages
, IsSendingHTMLEmailMessagesEnabled
.SetUsageOfOtherInteraction
, AreOtherInteractionsUsed
.ShouldBeIsolated
field is added to the ConnectionParameters
wizard for the ConnectionParameters
parameter of the AttachAddInSSL
method of the AddInsClient
and AddInsServer
common modules. For more information on add-in attachment types, see 1C:Enterprise platform documentation.OnDefineEditableObjectAttributes
procedure in the BatchEditObjectsOverridable
common module API. It allows you to change the list of object attributes edited in bulk without changing the object manager module.AttributeUnlocking
common form is opened. It allows you to skip the object usage check before unlocking and view the object occurrence report. You can also change the form appearance: specify a text in the form header, add warning texts for each attribute, and display attributes in groups. To do it, use the NewAttributeToLock
function of the ObjectAttributesLock
common module. It allows you to set extended descriptions for attributes to lock in the GetObjectAttributesToLock
functions of the object manager modules. For the implementation example, see the _DemoProducts
catalog and the _DemoMain
chart of accounts in the demo configuration.FormulasConstructor.AddAListOfFieldsToTheForm
, in the second Parameters
parameter, set the UseBackgroundSearch
property to True
, and add the following procedures to the form module: Attachable_FormulaEditorHandlerServer
, Attachable_FormulaEditorHandlerClient
, Attachable_ExecuteBackgroundSearchInFieldsList
, and Attachable_SearchStringClearing
. For more information, see the documentation. For the implementation example, see the SettingsStorages.ReportsVariantsStorage.Forms.SelectReportField
form module.FormulaEditorHandler
procedure in the FormulasConstructor
common module API and new auxiliary SearchStringClearing
procedure in the FormulasConstructorClient
common module. They allow you to perform the background field search. For more information, see the procedure descriptions.OnDefineSettings
procedure of the ContactsManagerOverridable
common module, you can display contact information icons to the left of the kind title and override their appearance and contact information command handlers. You can also create and delete standard contact information commands displayed in catalogs and documents. See the example in the OnDefineSettings
procedure of the ContactsManagerOverridable
common module in the demo configuration.
ContactsManager
common module API: DetailsOfCommands
, CommandsOfContactInfoType
, CommandDetailsByName
, and CommandProperties
. For more information, see the procedure descriptions.OnCreateAtServer
procedure, set the AllowAddingFields
property of the AdditionalContactInformationParameters
parameter to False
. See the example in the OnCreateAtServer
procedure of the _DemoSalesOrder
document form module in the demo configuration.OnCreateAtServer
procedure of the ContactsManager
common module, we recommend that you use the ItemsPlacedOnForm
property of the AdditionalContactInformationParameters
parameter instead of the outdated ExcludedKinds
property. The ItemsPlacedOnForm
property speeds up form opening when there are a lot of static items. See the example in the OnCreateAtServer
procedure of the _DemoCounterparties
catalog item form module in the demo configuration.AttributeName
parameter in the CreateEmailMessage
procedure of the ContactsManagerClient
common module. This parameter displays an email address input hint in the field if an email address is not entered before sending.UserReminders
common module:
OnCreateAtServer
PlacementParameters
OnReadAtServer
OnWriteAtServer
OnChangeReminderSettings
DocumentForm
form of the _DemoCustomerProformaInvoice
document in the demo configuration.SelectiveRegistrationMode
parameter of the OnGetSettings
procedure in the exchange plan manager module. The parameter can have one of the following values: Disabled
, Modified
, and AccordingToXMLRules
.
DataExchangeServer
common module API:
DefaultExchangePlanSettings
.DefaultExchangeSettingOptionDetails
.ContextParametersOfSettingOptionDetailsReceipt
.GetWSProxy_3_0_2_1
.ClassKeyFormatProperties
method in the DataExchangeXDTOServer
common module API. For more information, see the method description.HandleURLInNodeForm
method in the DataExchangeClient
common module API. For more information, see the method description.BeforeWriteCommonData
method in the DataExchangeSaaS
common module API. For more information, see the method description.Upon the deferred update, all application data is processed evenly in parallel update mode. However, some data might be more crucial to start operations. For example, catalogs and registers required to enter new documents are more critical than archival period data. To speed up essential data processing and unlock the main application functions faster, specify the Order
property for deferred parallel update handlers. This optimizes data processing. Less important data is updated only after more critical data is processed. Example:
Handler = Handlers.Add();
Handler.Version = "1.2.3.4";
Handler.Id = New UUID("b3be66c5-708d-42c8-a019-818036d09d06");
Handler.Procedure = "Catalog.VATRates.ProcessDataForMigrationToNewVersion";
...
Handler.Procedure = Enums.OrderOfUpdateHandlers.Critical;
UpToDateDataSelectionParameters
function in the InfobaseUpdate
common module API. For more information, see the function description.Update handlers details
tool checks if the Order
property is filled correctly. It identifies cases when readable data of a more critical handler contains data updated by less critical ones. See Functions for technician – Data processors – Update handlers details.ConversationsAvailable
function in the ConversationsClient
common module API. It checks whether the Collaboration system is currently enabled.OpenSettingsForm
procedure in the SendSMSMessageClient
common module API. It allows you to avoid accessing the settings form upon placing a reference to navigate to the settings in the interface.OnDefinePrintSettings
procedure of the PrintManagementOverridable
common module. In the print object manager module, define the OnDefinePrintSettings
and OnSpecifyingRecipients
procedures. See the example in the _DemoCustomerProformaInvoice
document manager module in the demo configuration.BeforePrint
procedure of the PrintManagementOverridable
common module, override the print form data before generating the form. For example, exclude an object from the object array to print. See the example in the BeforePrint
procedure of the PrintManagementOverridable
common module in the demo configuration.OnReceivePrintCommands
procedure of the PrintManagementOverridable
common module, set additional print command settings. For example, change visibility conditions. See the example in the OnReceivePrintCommands
procedure of the PrintManagementOverridable
common module in the demo configuration.PrintData
template, which completely overrides the automatic field collection. Now you can create the AdditionalPrintingData
template and describe there only additional fields missing from the automatic object field list. For example, these can be object fields that are physically placed in a separate register.Period
field to the print data DCS. When other DCS field values are received, they will depend on a period. See the example in the AdditionalPrintingData
template in the _DemoStorageLocations
catalog. The periodic “Responsible person” field is added to the catalog fields. When the Storage location.Responsible person
field is displayed in the document print form, its value depends on the document date.AttachableReportsAndDataProcessors
subsystem. For more information, see Attachable commands – How to use the subsystem in development – Attaching reports and data processors to configuration mechanisms in the documentation.OnDefineAttachableCommandsKinds
procedure of the AttachableCommandsOverridable
common module to change a display option (standard or compact) for command bar groups of the ButtonGroup
kind. See the compact display example for the ItemsOrderSetup
group commands in the OnDefineAttachableCommandsKinds
procedure of the ItemsOrderSetup
common module in the demo configuration.AttachableCommandsClient.StartCommandExecution
, AttachableCommands.ExecuteCommand
, and AttachableCommandsClientServer.UpdateCommands
. To eliminate the difficulty, the new CommandsOwner
parameter is added to the PlacementParameters
parameter collection of the OnCreateAtServer
procedure of the AttachableCommands
common module. This parameter allows you to link a form table or an object to commands displayed on the form. When you specify the CommandsOwner
placement parameter, you do not need to use the Source
parameter in the StartCommandExecution
procedure of the AttachableCommandsClient
common module, in the ExecuteCommand
procedure of the AttachableCommands
common module, and in the UpdateCommands
procedure of the AttachableCommandsClientServer
common module. See the example in the WarehouseDocumentsRegistry
form of the _DemoWarehouseDocumentsRegister
information register.FindSimilarStrings
function in the DuplicateObjectsDetection
common module API that allows you to search for similar strings. If necessary, you can enable fuzzy search using the ParametersOfSearchForSimilarStrings
function of the same module.Individual
and Department
attributes in the Users catalog if they are not required for accounting or you link users to these catalogs differently. To do it, in the Settings
parameter of the OnDefineSettings
procedure of the UsersOverridable
common module, set the IndividualUsed
and IsDepartmentUsed
properties to False
. To check the attribute usage programmatically, use the IndividualUsed
and IsDepartmentUsed
functions of the Users
common module.Users
common module API:
FindByID
. Finds a user in the catalog without considering whether an infobase user exists.FindByReference
. Returns an infobase user by a reference to a catalog item. It returns Undefined
if the infobase user does not exist or their ID is not specified in the catalog item.FindByName
function of the Users
common module returns a reference to an external user if the infobase user is linked to the external user. Previously, it returned an empty reference to the Users catalog.NewIBUserDetails
function of the Users
common module returns the following properties: Email
, CannotRecoveryPassword
, OpenIDAuthentication
, AuthenticationWithOpenIDConnect
, AuthenticationWithAccessToken
, and UnsafeActionProtection
. They are taken into account in the CopyIBUserProperties
procedure of the Users
common module. This ensures that the OpenID-Connect authentication and Access token authentication authentication types function correctly.CreatePassword
function API in the Users
common module to generate passwords in batch:
PasswordProperties
parameter, pass the RNG
property of the RandomNumberGenerator
type.MinLength
, Complicated
, and ConsiderSettings
parameters are marked as outdated and left for backward compatibility. Use the PasswordProperties
parameter instead. We recommend that you check all the occurrences.Filter
in the ImportParameters
parameter of the DownloadEmailMessages
function to selectively import emails and email headers. See the example in the Form
form of the _DemoIncomingMessagesCheck
data processor.BeforeGetEmailMessagesStatuses
and AfterGetEmailMessagesStatuses
procedures of the EmailOperationsOverridable
common module. For more information, see comments to these procedures.OpenFileListForm
procedure in the FilesOperationsClient
common module that opens the Files list.PropertyManager
common module that allow you to programmatically add new properties and their values:
AddProperty
.PropertyAdditionParameters
.AddPropertyValue
.PropertyValAdditionParameters
. For more information, see the method descriptions.OnInitialItemsFilling
and OnInitialItemFilling
procedures of the MessageTemplatesOverridable
common module. See the example in the demo configuration.CreateTemplate
function of the MessageTemplates
common module API, you can predefine selected print forms, add attachments, and set the flag indicating whether owner files are attached to the email. To ensure it, the TemplateParametersDetails
constructor function of the MessageTemplates
common module is extended with new properties. For more information, see comments to the function.SendingOption
column for the EmailRecipients
parameter in the OnFillRecipientsEmailsInMessage
procedure of the MessageTemplatesOverridable
common module API or in the same-name procedure of the owner manager module. Valid column values: Whom
, Copy
, HiddenCopy
, and ReplyTo
.DCSParametersValues
property in additional parameters of the GenerateMessage
and GenerateMessageAndSend
functions. Use the property when message template parameter values are generated based on a DCS query. The property allows you to dynamically pass parameters to the DCS query before you create an email or a text message from a template.MessageTemplates
common module: SetUsageOfMessagesTemplates
and MessageTemplatesUsed
.In this section, you can read about additional migration instructions for each subsystem that you need to perform in Designer after comparison or merging. See Chapter 2.Library integration guide in SSL documentation.
To update the following overridable common modules, copy the new export procedures from the library distribution package, delete the obsolete ones, and make sure that comments, the number of parameters, and the parameter names of each procedure match their library equivalents:
DataExchangeOverridable
DataExchangeSaaSOverridable
CommonClientOverridable
FilesOperationsOverridable
ContactsManagerOverridable
PrintManagementOverridable
For the recommendations on how to use the new features of overridable common modules, see the What’s new for developers section above.
Public
area.If you use an API, you need to rewrite the configuration code when updating to new library versions significantly less often. In this section, you can read about the necessary instructions for rare cases when such compatibility is not provided and you need to adapt the configuration to a new library API. However, the section does not describe changes in internal procedures and functions of the library that are not related to the API even if these are export procedures and functions. When you call these functions and procedures from the configuration, note that they can be changed, moved, or deleted in the next library version as they represent its internal implementation.
CollaborationSystemUsersChoiceFormGetProcessing
event handler code and the ApplicationParameters
global variable comment.OnAddClientParametersOnStart
procedure of the CommonOverridable
common module is now called in shared mode similar to the OnAddClientParameters
procedure. If the code is not intended for such call, wrap it with the following condition: If Parameters.SeparatedDataUsageAvailable Then
.BeforeStartApplication
handler of the CommonOverridable
common module is no longer called form background job sessions. It is called only from client sessions and scheduled job sessions when the running background job procedure name is specified in one of the scheduled jobs.CheckByFIAS
attribute of the ContactInformationKinds
catalog is marked as outdated and renamed to DeleteValidateUsingFIAS
. Delete it from the code, queries, and reports.InformationRegisters.ArchiveOfExchangeMessages
InformationRegisters.ExchangeMessageArchiveSettings
InformationRegisters.SynchronizationCircuit
InformationRegisters.DataExchangeTasksInternalPublication
InformationRegisters.ObjectsUnregisteredDuringLoop
OrderOfDataToProcess
CommitDataProcessedByHandlers
CanSignIn
function of the Users
common module now requires properties matching these authentication types in the IBUserDetails
parameter. Previously, a structure was passed to the IBUserDetails
parameter. Now you need to add the new AuthenticationWithOpenIDConnect
and AuthenticationWithAccessToken
properties to this structure and fill them correctly.The actions listed below are not required for migration but we recommend that you perform them in the future.
AttributeUnlocking
application forms and use the standard AttributeUnlocking
common form instead. It allows you to skip the object usage check before unlocking and view the object occurrence report. You can also change the form appearance: specify a text in the form header, add warning texts for each attribute, and display attributes in groups.
GetObjectAttributesToLock
object manager module functions using the NewAttributeToLock
function of the ObjectAttributesLock
common module.CheckObjectRefs
procedure of the ObjectAttributesLockClient
common module is outdated. We recommend that you open the AttributeUnlocking
common form instead of the native AttributeUnlocking
forms where the outdated procedure is used.AttributeUnlocking
common form and the application form opens with the standard LockedAttributes
and Ref
parameters, open this form using the AllowObjectAttributeEdit
procedure of the ObjectAttributesLockClient
common module.ItemsPlacedOnForm
property of the AdditionalContactInformationParameters
parameter instead of the outdated ExcludedKinds
property when calling the OnCreateAtServer
procedure of the ContactsManager
common module in the form module. The ItemsPlacedOnForm
property speeds up form opening when there are a lot of static items. See the example in the OnCreateAtServer
procedure of the _DemoCounterparties
catalog item form module in the demo configuration.Skype
, Email
, WebPage
, Phone
, and Fax
types:
PropsNameComment
– String
column to the ContactInformationAdditionalAttributesDetails
attribute of the ValueTable
type.CommentContactInfoField<ContactInformationKindName>
format.GroupCommentContactInfoField<ContactInformationKindName>
name. Properties: Representation
– None
, Group
– Horizontal
, ShowTitle
– False
.CommentContactInfoField<ContactInformationKindName>
name to the created group with the GroupCommentContactInfoField<ContactInformationKindName>
name, disable the title display, and set the “Note” input hint.ContactInformationField<ContactInformationKindName>
name to the created group with the GroupContactInfoField<ContactInformationKindName>
name. Set the title display to Left
or Top
depending on the position of the title you pass to the ContactsManager.OnCreateAtServer
procedure._DemoCounterparties
catalog item form in the demo configuration.If you plan to use the infobase in SaaS mode, we recommend that you add the OnOpen
event with calling the OnOpen
procedure of the DataExchangeClient
common module and the attachable Attachable_EndCheckAvailabilityExchangeAdministrationManage_3_0_1_1
and Attachable_URLProcessing
procedures to the exchange plan form:
&AtClient Procedure OnOpen(Cancel)
DataExchangeClient.OnOpen(ThisObject, Cancel);
EndProcedure
&AtClient Procedure Attachable_EndCheckAvailabilityExchangeAdministrationManage_3_0_1_1(Result, AdditionalParameters) Export
DataExchangeClient.EndCheckAvailabilityExchangeAdministrationManage_3_0_1_1(ThisObject);
EndProcedure
&AtClient Procedure Attachable_URLProcessing(Item, URL, StandardProcessing)
DataExchangeClient.HandleURLInNodeForm(ThisObject, Item, URL, StandardProcessing);
EndProcedure
To be able to set up archiving for a node, specify an exchange plan as a parameter type of the ArchiveOfExchangeMessages
common command.
To have access to objects that were not registered upon looping, in the parameter type of the ObjectsUnregisteredDuringLoop
common command, specify the CRDE
exchange plans.
To increase the performance when the configuration contains no exchange plan for standalone SaaS mode (a standalone workstation), delete the following event subscriptions:
StandaloneModeCheckCanWriteCommonData
StandaloneModeCheckCanWriteCommonDataDocument
StandaloneModeCheckCanWriteCommonDataConstant
StandaloneModeCheckCanWriteCommonDataRecordSet
StandaloneModeCheckCanWriteCommonDataCalculationRecordSet
If the configuration contains such exchange plan, copy the subscriptions to the native subsystem and specify a method that will call the DataExchangeSaaS.BeforeWriteCommonData
procedure as a handler (see the example below).
Procedure _DemoStandaloneModeCheckCanWriteCommonData(Source, Cancel) Export
DataExchangeSaaS.BeforeWriteCommonData(Source, Cancel);
EndProcedure
To optimize operations with subscriptions, we recommend that you also exclude all separated objects from subscription sources.
CheckDSL.erf
report.The UnloadRegister
procedure of the InfobaseObjectConversion
data processor object module is deleted. Now you need to call the ExportRegister
function.
Requests to sources acting as email accounts are ordered. To ensure it, the DataExchangeEmailAccounts
type collection is added. In the type collection, you can list all types of objects that store email parameters. The default value is CatalogRef.EmailAccounts
.
OnDefinePrintSettings
procedure of the PrintManagementOverridable
common module and define the same-name procedure in object manager modules. The OnDefineObjectsWithPrintCommands
procedure of the PrintManagementOverridable
common module is outdated.
OnDefinePrintSettings
procedure of their manager modules, you can specify whether the AddPrintCommands
and OnSpecifyingRecipients
handlers are defined in them. For more information, see the subsystem documentation.Partners
, ContactPersonsForPartners
, and so on) to display external user states: update the query and the value picture in the ExternalAccess
column, add the OnGetDataAtServer
handler and a legend. For more information, see the documentation and the _DemoPartners
catalog list form in the demo configuration.SendSMSMessage
. Allows you to inform distribution recipients about the password change using text messages.Print
. Allows you to print the list of report distribution recipient passwords.DigitalSignature
. Allows you to encrypt reports with digital signature certificates.When you migrate from earlier versions to version 3.1.8:
Patch releases of the library differ only in the fourth digit of the full version number, for example: 3.1.8.1, 3.1.8.20, 3.1.8.300, and so on. To update to patch releases, use the UpdateToCorrectiveVersionSSL.epf external data processor from the distribution package. It will significantly save your time during regular (for example, weekly) updates.
Run the data processor in an infobase with a configuration that contains the previous library release, specify the CF distribution file of the new library version, and click Update to corrective version. This automatically compares and merges the previous and the new library configurations according to the settings described in the documentation. All built-in library objects will be copied, and objects overridden during integration will be merged prioritizing new vendor configuration (for example, type collections) or skipped (for example, overridable modules). The database configuration is not updated automatically after comparison and merging. So, you can compare new data with the database configuration and make changes to the modified objects: overridable modules, various local fixes, and enhancements.
Another option is to generate a comparison and merging settings file by clicking Generate a settings file. After that, you can open this file in Designer to compare and merge configurations manually.
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.
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.
OnAddServerNotifications
procedure of the CommonOverridable
common module and implement handlers for its sending and receiving. See the demo application for examples.BeforePeriodicClientDataSendToServer
procedure of the CommonClientOverridable
common module and its processing in the UponPeriodicClientDataReceiptAtServer
or AfterPeriodicClientDataReceiptAtServer
procedures of the CommonOverridable
common module. See the demo application for examples.WaitCompletion
procedure of the TimeConsumingOperationsClient
common module. Also, replace the UserMessage
platform object in long-running operation procedures with the MessageToUser
procedure of the Common
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.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 the TimeConsumingOperations
common module. The ReportProgress
procedure of the TimeConsumingOperations
common module no longer sends progress messages to a user. It is implemented by means of server notifications.
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.
Public
area.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.
The actions below are optional for the migration, but we recommend that you schedule them in the future.
TimeConsumingOperationFormName
function of the AdditionalReportsAndDataProcessorsClient
common module is marked as obsolete. Instead of this function, use a notification passed to the Handler
parameter of the ExecuteCommandInBackground
procedure of the same common module.BeforeLoadDataFromSettingsAtServer
and OnCreateAtServer
procedures of the ToDoListOverridable
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.When migrating from earlier library versions (up to 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.
In version 1.11.5 of the universal Enterprise Data
exchange format, the following features are implemented:
StateContactID
field in the Contracts
catalog properties. Use it to synchronize information on state contracts between applications.TRUCode
property is added to the object with the Products catalog format for the Social Security Fund. The format is advanced with the TypesofPaymentSystemCashRegister
enumeration.BCC
and PotentialAnnualIncome
fields are optional now. This advances the catalog conversion from applications where patents are considered in a reduced form.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.
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:
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:
The Access rights analysis report is generated twice as fast now.
BeforeStartApplication
procedure of the CommonOverridable
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.MetadataCatalogs
, MetadataDocuments
, and so on (start with Metadata
).SelectMetadataObjects
, you can now select the following metadata objects: CommonAttributes
, HTTPServices
, and ExternalDataSources
. The By object kinds selection mode now also displays recognizable pictures for all metadata object kinds.HTTPDate
and RFC1123Date
functions are added to the CommonClientServer
common module to convert dates to the RFC-1123 format and back. Use these functions to manage files downloaded from the Internet.ExecuteProcedureinMultipleThreads
or ExecuteFunctionInMultipleThreads
function from the TimeConsumingOperations
common module API by passing the generated data set using the third parameter. For the detailed parameter description, see comments to these functions.AddressClassifierLoading
form of the AddressObjects
information register.IdleParameters
function of the TimeConsumingOperationsClient
common module is advanced:
Title
property to display an arbitrary title in the window of pending long-running operation.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.OnDefineSettingsFormItemsProperties
procedure of the report module, you can specify the following group properties: Title
, BackColor
, ToolTip
, ToolTipRepresentation
, Height
, Width
, VerticalStretch
, and HorizontalStretch
. See the FormItemsGroupProperties
procedure of the ReportsServer
common module and an example in the OnDefineSettingsFormItemsProperties
procedure of the UniversalReport
report module.AtStartValueSelection
procedure of the ReportsClientOverridable
common module to override the form for selecting values in report filter fields. For example, in the RolesRights
report, use the SelectMetadataObjects
common form to filter by roles and metadata objects.BeforeFormationReport
event. See the DefaultReportSettings
function of the ReportsClientServer
common module. For example, this can be required to display a warning before generating a report that is too large.AdditionalProperties
properties of the NewDCSettings
parameter and the Settings
object of the Settings Composer (report object) of the BeforeImportSettingsToComposer
report module event is expanded. The VariantKey
, PredefinedOptionKey
, OptionContext
, and FormParametersSelection
properties are passed there. Use the properties to better consider the context of the report generation.AfterLoadSettingsInLinker
event instead of the outdated OnDefineSelectionParameters
event (see details in the DefaultReportSettings
function of the ReportsClientServer
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.DisableStandardContextMenu
flag to disable the context menu and report column settings. See the details in the DefaultReportSettings
function of the ReportsClientServer
common module.OnInitialItemsFilling
and OnInitialItemFilling
procedures of the ContactsManagerOverridable
common module. You can also use it to set creation of folders (ContactInformationKinds
catalog groups). See the demo application for examples.OpenIssuesReport
procedure of the AccountingAuditClient
common module: ExactMap
. Use the parameter to set filter by the ChecksKind
parameter when you open the report.NativeLanguagesSupportServer
common module, use the ChangeRequestFieldUnderCurrentLanguage
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 changes Description
to DescriptionLanguage1
. For more information, see the procedure comment.UserReminders
common module: UsedUserReminders
. It allows you to check whether user reminders can be used.· 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.
InfobaseUpdate
common module: WriteEventToRegistrationLog
, RelaunchDeferredUpdate
, RestartExclusiveUpdate
, FileIssueWithData
, and EnableDisableDeferredUpdate
. For more information, see their details.InfobaseUpdateOverridable
common module: WhenPrioritizingMetadataTypes
. For more information, see its details.Parameters
structure that is passed to the input of the deferred update handlers is extended with the SubsystemVersionAtStartUpdates
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.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:
OnInitialItemsFilling
procedure of the catalog manager module or the InfobaseUpdateOverridable
common module.
OnSetUpInitialItemsFilling
procedure of the catalog manager module or the InfobaseUpdateOverridable
common module, for the NameOfKeyProps
settings property, specify a name of the attribute whose value determines the item UUID.OnInitialItemsFilling
procedures of the _DemoInfobaseUpdateSSL
and _DemoProperties
common modules of the demo application.OnInitialItemsFilling
procedure, use the new third PopulationSettings
parameter in the FillItemsWithInitialData
procedure of the InfobaseUpdate
common module API. The Attributes
property of this parameter defines a comma-separated list of attributes to be updated. For more information, see its comments.InfobaseUpdate
common module API, use the FillObjectInitialData
procedure. It fills an object with the data described in the OnInitialItemsFilling
procedure without writing the object.OnAddApplicationMigrationHandlers
procedure of the common module whose name is specified in the ConfigurationSubsystemsOverridable.SubsystemsOnAdd
procedure.Seamless
and Exclusive
modes are called.OnAddSubsystem
procedure of the InfobaseUpdate<ShortForm>
common module, specify the FillDataNewSubsystemsWhenSwitchingFromAnotherProgram
property.
DoNotExecuteWhenSwitchingFromAnotherProgram
property to True
for these handlers.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 the DenyReusingRecentPasswords
property is filled in the authorization settings.ReportConnectionError
procedure in the EmailOperationsClient
common module.ExplanationOnError
and ExtendedErrorPresentation
functions in the EmailOperations
common module.OnInitialItemsFilling
and OnInitialItemFilling
procedures of the PropertyManagerOverridable
common module. See the demo application for examples.MarkedObjectsDeletionOverridable
common module, use the BeforeDeletingAGroupOfObjects
and AfterDeletingAGroupOfObjects
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.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”).
SignatureType
parameter is added to the Sign
procedure of the DigitalSignatureClient
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.RefineSignature
procedure of the DigitalSignatureClient
common module. The RefineSignature
and ImproveObjectSignature
procedures are added to the DigitalSignature
module. To determine whether signatures can be improved depending on the used 1C:Enterprise platform version, use the AvailableAdvancedSignature
function.SequenceNumber
parameter in the SetSignatures
function of the DigitalSignature
module.UpdateByOrderNumber
parameter in the UpdateSignature
procedure of the DigitalSignature
module.NewSignatureProperties
constructor function of the DigitalSignatureClientServer
module as an initial value of the SignatureProperties
parameter for the AddSignature
and UpdateSignature
procedures of the DigitalSignature
common module.ServiceAccountDSS
constant from distributed infobase exchange plans.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.
Public
area.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.
DataForChangingMultilingualAttributes
constant in distributed infobase exchange plans and their event subscriptions to record changes.CompaniesOverridable
common module, the OnDefineForeignCompanyRegistrationData
procedure is renamed to OnDefineForeignCompanyOfficeRegistrationData
.PrintFormTemplates
catalog in distributed infobase exchange plans and their event subscriptions to record changes.UseExternalUserGroups
, UserAuthorizationSettings
constants in distributed infobase exchange plans and their subscriptions to events for change registration.DeleteLoginSettingsUsers
constant from distributed infobase exchange plans.SettingsAuthorizationInternetServices
catalog in distributed infobase exchange plans and their event subscriptions to record changes.CertificateUsersAlerts
, CertificateIssuanceApplications
information registers. New TimestampsServersAddresses
, AddTimestampsAutomatically
, DefaultCryptographySignatureType
, ImproveSignaturesAutomatically
, ImproveSignaturesStartingFromDate
constants. Include in handlers for registering changes in distributed infobase exchange plans.AddEditDigitalSignaturesAndEncryption
role with the new AddingChangeElectronicSignatures
, EncryptionAndDecryptionData
, DataDecryption
, AddingChangeCertificatesKeysElectronicSignatureAndEncryption
, AddingChangeProgramsElectronicSignatureAndEncryption
roles according to the role assignment (in Russian).Information
common picture is deprecated and renamed to DeleteInformation
. Use the Information
standard picture instead._DemoReportAppearanceBeige
common template and the BeforeLoadVariantAtServer
procedure of the ReportsOverridable
common module.When migrating from earlier library versions (up to 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.
In version 1.11.5 of the universal Enterprise Data
exchange format, the following features are implemented:
StateContactID
field in the Contracts
catalog properties. Use it to synchronize information on state contracts between applications.TRUCode
property is added to the object with the Products catalog format for the Social Security Fund. The format is advanced with the TypesofPaymentSystemCashRegister
enumeration.BCC
and PotentialAnnualIncome
fields are optional now. This advances the catalog conversion from applications where patents are considered in a reduced form.Enterprise Data
exchange format is updated up to version 1.10.6. It is supplemented with the DeductedPersonalIncomeTax
document to record information on the Unified tax payment.OnAddSubsystem
procedure of the InfobaseUpdate<ShortForm>
common module, specify the FillDataNewSubsystemsWhenSwitchingFromAnotherProgram
property.DoNotExecuteWhenSwitchingFromAnotherProgram
property to True
for these handlers.CompaniesOverridable
common module, the OnDefineForeignCompanyRegistrationData
procedure is renamed to OnDefineForeignCompanyOfficeRegistrationData
.TimestampsServersAddresses
, AddTimestampsAutomatically
, DefaultCryptographySignatureType
, ImproveSignaturesAutomatically
, ImproveSignaturesStartingFromDate
. Include in handlers for registering changes in distributed infobase exchange plans. Transfer the respective changes in the CommonSettings
form of the SSLAdministrationPanel
data processor to the application.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
Compatibility mode
property is set to None
.Compatibility mode
property is set to Version 8.3.14
or None
.Compatibility mode
property is set to Version 8.3.14
, Version 8.3.15
, or None
.Compatibility mode
property is set to Version 8.3.14
, Version 8.3.15
, Version 8.3.16
, or None
.Compatibility mode
property is set to Version 8.3.14
, Version 8.3.15
, Version 8.3.16
, or Version 8.3.17
.For a complete list of what’s new, see the What’s new in version 3.1.5 section below.
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
StringToDate
function in the API of the CommonClientServer
common module.IsNumber
function in the API of the CommonClientServer
common module.StringFunctions
and StringFunctionsClient
common modules, use the PeriodPresentationInText
function.IntegrationServicesProcessing
scheduled job that must be enabled when this feature is enabled. For more information about the product, see Enterprise service bus (in Russian).CalculationCellsIndicators
function of the CommonClientServer
common module: CalculationParameters
. The parameter is of the return value type of the CellsIndicatorsCalculationParameters
function of the CommonClientServer
common module. In the new parameter, with the CalculateAtServer
property, developers can explicitly specify whether to perform the calculation on the server or on the client, instead of automatic detection.In the DefineFormSettings
procedure of the report module, change the Settings.PeriodOption
property value to Fiscal
:
Settings.PeriodOption = Enums.PeriodOption.Fiscal;
In the DefineFormSettings
procedure of the object module, change the PeriodPresentationOption
settings property value to Hyperlink
:
Settings.PeriodPresentationOption = Enums.PeriodPresentationOptions.Hyperlink;
IBConnectionsClient
common module: SetUsersSessionsTerminationMode
and SetTerminateAllSessionsExceptCurrentFlag
. For more information, see their comments.GetDataImportFromFileParameters
procedure of the catalog manager module, you can define a value of the new ObjectPresentation
property of the Parameters
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.ImportDataFromFile
common module, use the following constructor functions: DataImportSettings
, DetailsOfDataToImportForCatalogs
, NewConflictsList
, and MappingTable
. For more information, see the demo application, the _DemoProducts
catalog manager module.To write an exchange node using a long-running operation, add the DataExchangeClient.BeforeWrite
procedure call to the BeforeWrite
form event handler. Also make sure that subsequent procedures, such as OnWrite
, 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;
OnGenerateListOfSubsystemsToDevelop
procedure of the InfobaseUpdateOverridable
common module is deprecated. Use the OnGenerateListOfSubsystemsToDevelop
procedure of the same module instead.PrintManagementClient
common module, use the PrintParametersDetails
constructor function. For more information, see the demo application, the DefaultForm
form module of the _DemoCompanies
catalog.ExternalResourcesOperationsLockOverridable
common module: OnProhibitWorkWithExternalResources
and ExternalResourcesOperationsLockOverridable
. 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.AccessGroupProfiles
catalog. Just list them in the OnFillSuppliedAccessGroupProfiles
procedure of the AccessManagementOverridable
common module. You can also use it to define folders (AccessGroupProfiles
catalog groups) with built-in access group profiles.
Administrator
predefined item of the AccessGroupProfiles
catalog and the Administrators
predefined item of the AccessGroups
catalog, we recommend that you call the ProfileAdministrator
and AdministratorsAccessGroup
functions of the AccessManagement
common module, respectively.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 the AccessRight
and RoleAvailable
functions. For more information, see the documentation.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:
SourceDocumentsOriginalsRecordingOverridable
common module, use a new procedure that overrides the list of “multi-employee” documents: OnDefineMultipleEmployeeDocuments
.SourceDocumentsOriginalsStates
information register, use a new parameter for the WriteDocumentOriginalStateByPrintForms
procedure: Employee
.When you need to track the status of the record of the changed original state, in the API of the SourceDocumentsOriginalsRecordingClient
and SourceDocumentsOriginalsRecordingServerCall
common modules and the SourceDocumentsOriginalsStates
information register manager module, use the Written
record flag parameter of the WriteOriginalsStatesAfterPrint
and WriteDocumentOriginalsStatesAfterPrintForm
procedures.
For more information, see the documentation.
MessagesTemplates
common module, use the EmailLink
property in the GenerateMessageAndSend
function return value.MessagesTemplates
common module, use the EmailSendingParametersByTemplate
constructor function. For more information, see its comments.Sign
and VerifySignature
procedures of the DigitalSignatureClient
and DigitalSignature
common modules, use automatic detection of XMLDSig parameters from the passed XML envelope. For this, leave the XPathSignedInfo
and XPathTagToSign
properties of the structure returned by the XMLDSigParameters
function of the DigitalSignatureClient
and DigitalSignature
common modules blank.XMLEnvelope
function to the DigitalSignatureClient
and DigitalSignature
common modules. The function description details the XML document capabilities to be considered when using various XML document formats.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.
Public
area.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.
AddMetadataObjectsConnections
procedure of the ReportsOverridable
common module because it is no longer useful.UnresolvedIssuesCount
and IssuesMonitorHyperlinkTitleStructure
functions of the DataExchangeServer
common module are deprecated because they are no longer useful.UsedAccessKinds
and UsedAccessKindsByTables
. Include only the UsedAccessKinds
information register in the handlers for staging changes to the DIB exchange plans.FillAccessValuesSetsForTabularSections<End>
event subscriptions, and move their types to the new OwnerWithRestrictedAccessValueSetsDocument
flexible type collection. If there are no documents, in the new flexible type collection, specify the CatalogObject.MetadataObjectIDs
type.WriteAccessValuesSets<End>
event subscriptions, and move their types to the AccessValuesSetsOwnerObject
flexible type collection.WriteDependentAccessValuesSets<End>
event subscriptions, and move their types to the ExternalValuesOwnerInAccessValueSetsObject
flexible type collection.AccessKeysToRegister
, rename the ForExternalUsers
dimension to AccessOption
and set all its properties (including the type) as in the AccessOption
dimension of the AccessKeysForRegisters
information register. When you re-update libraries with SSL version earlier than 3.1.5 that provide the AccessKeysToRegister*
information registers, retry the operation or do not transfer the AccessOption
dimension properties.ForObject
and ForRegister
standard templates and access restrictions with these templates (improvements implemented). Also update the standard templates ByValues
, ByValuesAdvanced
, ByValuesAndSetsAdvanced
, and ByValuesSets
(added the word Right to the names of internal register rights resources for correct translation). To update the templates, we recommend that you use the SSLImplementationCheck.erf
report in error correction mode.The actions below are optional for the migration, but we recommend that you schedule them in the future.
ContactInformationKind
parameter of the ContactInformationPresentation
function of the ContactsManager
common module is deprecated and ignored. Delete it in all places where the function is called.Attach configuration extensions
property in the DIB exchange plans. For example, see the _DemoDistributedInfobaseExchange
exchange plan in the demo application.Attach configuration extensions
property for exchange plans in standalone mode in SaaS. For example, see the _DemoStandaloneMode
exchange plan in the demo application.Sign
and VerifySignature
procedures of the DigitalSignatureClient
and DigitalSignature
common modules, we recommend that you switch to automatic detection of XMLDSig parameters from the passed XML envelope. For this, leave the XPathSignedInfo
and XPathTagToSign
properties of the structure returned by the XMLDSigParameters
function of the DigitalSignatureClient
and DigitalSignature
common modules blank.When migrating from earlier library versions (up to 3.1.4):
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 |
System enumeration name:
Previous name | Current name |
---|---|
Enum.SMSStatus | Enum.SMSMessagesState |
System enumeration value name:
Previous name | Current name |
---|---|
Enum.ContactInformationTypes.EmailAddress | Enum.ContactInformationTypes.Email |
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.
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 new SharedData
property to True
.
Example:
Handler = Handlers.Add();
Handler.PreviousConfigurationName = "*";
Handler.SharedData = True;
Handler.Procedure = "<ModuleName>.<SharedDataHandlerProcedureName>";
OnGenerateListOfSubsystemsToDevelop
procedure of the InfobaseUpdateOverridable
common module is deprecated. Use the OnGenerateListOfSubsystemsToDevelop
procedure of the same module instead.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:
Compatibility mode
property is set to None
.Compatibility mode
property is set to Version 8.3.14
or None
.Compatibility mode
property is set to Version 8.3.14
, Version 8.3.15
, or None
.Compatibility mode
property is set to Version 8.3.14
, Version 8.3.15
, or Version 8.3.16
.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.
Public
area.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.
BusinessProcessObject
flexible collection type. Objects must be the same as links in the BusinessProcess
flexible type collection.ForObject
, ForRegister
and access restrictions for the ForObject
template. We recommend that you use the SSLImplementationCheck.erf
report in the error correction mode.The actions below are optional for the migration, but we recommend that you schedule them in the future.
UpdatePeriodClosingDatesSections
procedure of the PeriodClosingDates
common module is moved to the ObsoleteProceduresAndFunctions
area. You should delete the procedure calls as the update runs automatically.PrintFormsLanguages
catalog in exchange plans of the DIB and standalone workstation (SWP).PasswordRecoveryAccount
constant in exchange plans of a DIB and a standalone workstation (SWP).XMLDSigParameters
function of common modules DigitalSignatureClient
and DigitalSignature
, we recommend that you use the values returned by default.When updating earlier library versions (to 3.1.3):
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.
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:
Compatibility mode
property is set to None
.Compatibility mode
property is set to Version 8.3.14
or None
.Compatibility mode
property is set to Version 8.3.14
, Version 8.3.15
, or None
.Compatibility mode
property is set to Version 8.3.14
, Version 8.3.15
, or Version 8.3.16
.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).
Public
area.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.
CalendarNonWorkDaysPeriods
information register in the exchange plans of the distributed infobase (DIB) and standalone workstation (SWP).UpdateHandlers
information register only in the initial image of the exchange plans of the distributed infobase (DIB) and standalone workstation (SWP).The actions below are optional for the migration, but we recommend that you schedule them in the future.
OnGenerateDefferedHandlersQueues
procedure of the InfobaseUpdateOverridable
common module as it is not useful.ProcessGetCollaborationSystemUsersChoiceForm
event handler: If CommonClient.SubsystemExists("StandardSubsystems.Conversations") Then
ModuleConversationsInternalClient = CommonClient.CommonModule("ConversationsServiceClient");
ModuleConversationsInternalClient.OnGetCollaborationSystemUsersChoiceForm(ChoiceAssignment, Form, ConversationID, Parameters,
SelectedForm, StandardDataProcessor);
EndIf;
SetDocumentPrintArea
procedure of the PrintManagement
common module, the Reference
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.QRCodeData
function of the PrintManagement
common module, use the QRCodeData
or BarcodeImage
function of the BarcodeGenerationServerCall
common module from the 1C:Peripherals Library
library version 2.1.4 and later. Improved performance on Linux OS. The previous function is marked as obsolete for backward compatibility.ChangeFilesStorageCatalog
procedure of the StoredFiles
common module is marked as obsolete. Instead, use the ConvertFilesToAttachedFiles
function of the same common module.AttachableCommands
subsystem is embedded in the application, clear the types of the RelatedDocuments
common command parameters. The subsystem itself defines the objects in whose Reports
submenu the Related documents
command will be output.When migrating from earlier library versions (up to 3.1.2):
Migration from previous version
sections for every skipped version.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.
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:
Compatibility mode
property is set to None
.Compatibility mode
property is set to Version 8.3.14
or None
.Compatibility mode
property is set to Version 8.3.14
, Version 8.3.15
, or None
.Compatibility mode
property is set to Version 8.3.14
, Version 8.3.15
, or Version 8.3.16
.In this section, you can find additional instructions on migrating for each subsystem. Follow these instructions after comparison or merging.
Public
area.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.
AdditionalLanguage1
, AdditionalLanguage2
, UseAdditionalLanguage1
, UseAdditionalLanguage2
and MainLanguage
constants in the exchange plans of the distributed infobase (DIB).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 the OnCreateAtServer
procedure of the modules of the versioned object list forms:&AtServer
Procedure OnCreateAtServer(Cancel, StandardProcessing)
// StandardSubsystems.ObjectsVersioning
ObjectsVersioning.OnCreateAtServer(ThisObject);
// End StandardSubsystems.ObjectsVersioning
EndProcedure
ScheduleOwner
attribute in the Calendars
catalog has been changed to the WorkScheduleOwner
flexible type collection. List in the WorkScheduleOwner
flexible collection type the types of those catalogs that were used as values of the ScheduleOwner
attribute.OnFillObjectsToChangeDependentOnBusinessCalendars
method to the CalendarSchedulesOverridable
common module. If some objects dependent on business calendars are processed in the OnUpdateDataDependentOnBusinessCalendars
handler, list the metadata names of these objects.CalendarNonWorkDaysPeriods
information register in the exchange plans of the distributed infobase (DIB) and standalone workstation (SWP).ForObject
and ForRegister
. Get them from the EditAccessGroupMembers
role and copy to all roles. For more information, see documentation of the Access management
subsystem in the Update access restriction templates in roles
subsection.LatestErrorsClassifierUpdateDate
and CryptoErrorsClassifier
constants from the exchange plans of the DIB.The actions below are optional for the migration, but we recommend that you schedule them in the future.
SetGroupTitleRepresentation
procedure of the StandardSubsystemsServer
common module is marked as obsolete and left for backward compatibility. We recommend that you delete its calls.LatinString
function of the StringFunctionsClientServer
common module, use the same name functions of the StringFunctions
or StringFunctionsClient
modules.FormattedString
function of the StringFunctionsClientServer
common module, use the same name functions of the StringFunctions
or StringFunctionsClient
module.ReplaceReferences
function of the Common
common module for the ReplacementParameters
parameter (the Structure
type), you can use the RefsReplacementParameters
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.DefaultLanguageCode
function of the Common
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.OnInitiallyFillPerformersRoles
, AtInitialPerformerRoleFilling
to fill assignee roles, OnInitialFillingTasksAddressingObjects
, OnInitialFillingTaskAddressingObjectItem
to fill task addressing objects, have been added to the API of the BusinessProcessesAndTasksOverridable
common module. Move the filling item code from initial filling handlers to these procedures.UpdateObjectsVersioningSettings
procedure of the ObjectsVersioning
common module.StartChange
, StartSelection
, StartClearing
, StartURLProcessing
, and StartCommandExecution
of the AttachableCommandsClient
common module instead of similar OnChange
, 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
ContactInformationKinds
catalog, the EditInDialogOnly
attribute (Boolean) is marked as obsolete. Instead, the EditingOption
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.AfterWriteObject
event handler for rechecking the object after writing the form. For this, add the procedure call to the AfterWriteAtServer
event handler:AccountingAudit.AfterWriteAtServer(CurrentObject);
FillOrderingAttributeValue
procedure of the ItemsOrderSetup
common module has been removed from the API. Instead, use the SetOrderingAttributeValue
procedure of the same module. Make appropriate replacements in the usage locations.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.StartCommandExecution
procedure instead of ExecuteCommand
of the AttachableCommandsClient
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
SendEmailMessage
function is marked as obsolete. Instead, use the SendEmail
function when sending one email, and SendEmails
if the SendEmailMessage
function was called in the loop. To simplify migration to new functions, you can use the PrepareEmail
auxiliary function whose parameters duplicate the parameters of the SendEmailMessage
function in the way how to prepare an email. Make appropriate replacements.DetermineAttachedFileForm
procedure of the StoredFiles
common module is marked as obsolete. Instead, use the procedure of the same name of the StoredFilesClientServer
common module. Revise usage locations for this procedure.AddFile
function of the StoredFiles
common module for the FileParameters
parameter (type Structure
), you can use the FileAddingOptions
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.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.
CalendarNonWorkDaysPeriods
information register in the exchange plans of the distributed infobase (DIB) and standalone workstation (SWP).ForObject
and ForRegister
. Get them from the EditAccessGroupMembers
role and copy to all roles. For more information, see documentation of the Access management
subsystem in the Update access restriction templates in roles
subsection.TabularSections
with the Structure
type is added to the initial data filling handlers OnSetUpInitialItemsFilling
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.When migrating from earlier library versions (up to 3.1.1):
Migration from previous version
sections for every skipped version.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.
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.
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.
In this section, you can find additional instructions on migrating for each subsystem. Follow these instructions after comparison or merging.
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.
AddressClassifier
:
ClassifierImported
.AddressClassifierClient
:
OpenUpdateCheckForm
;OpenAddressClassifierImportForm
.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
.BusinessProcessesAndTasksServerCall
common module:
NotifyPerformersOnNewTasks
;CheckTasks
.ConvertFromCurrencyToCurrency
function of the CurrenciesExchangeRatesClientServer
common module.ReportsOptions
common module:
UsedSections
;AddFullUpdateHandlers
;GetRef
.OpenMailMessageFormSend
procedure of the InteractionsClient
common module.AdditionalReportsAndDataProcessors
:
GetExternalDataProcessorObject
;OnCreateAtServer
;RunAssignedCommandAtServer
.AdditionalReportsAndDataProcessorsServerCall
:
GetExternalDataProcessorObject
.AdditionalReportsAndDataProcessorsClient
:
ShowСommandExecutionResult
;RunAssignedCommandAtClient
.AdditionalReportsAndDataProcessorsClientServer
:
CommandTypeSafeModeScenario
.AdditionalReportsAndDataProcessorsInSafeModeInterface
;AdditionalReportsAndDataProcessorsScheduledJobs
.GetAccessEventUse
function of the PersonalDataProtection
common module.ContactsManager
common module:
ObjectContactInformationValues
;ObjectContactInformationTable
;FillObjectsContactInformation
;FillObjectContactInformation
;PreviousContactInformationXMLFormat
;PreviousContactInformationXMLStructure
;AddressInARCAFormat
;AddressesInfo
;AddressInfo
;ContactInformationAddressState
;ContactInformationAddressCity
;ValidateAddress
;ContactInformationParameters
.1C:Enterprise
platform updated to version 8.3.13 changed its behavior, in the form modules with integrated contact information, add the Export
keyword to the previously placed Attachable_UpdateContactInformation
procedures:
Previously:
Procedure Attachable_UpdateContactInformation(Result)
Now:
Procedure Attachable_UpdateContactInformation(Result) Export
CalendarSchedules
common module:
GetDatesArraysByCalendar
;GetDateByCalendar
;GetDatesDiffByCalendar
;RussianFederationProductionCalendar
;GetWorkdaysDates
.Cloud Technology Library
in the application, delete the previously inserted code of the Calendar schedules
subsystem from the OnProcessDataArea
procedure of the ClassifiersOperationsSaaSOverridable
common module.UserRemindersClientServerOverridable
common module with an obsolete API.MessageExchange
exchange plan from Cloud Technology Library in the MessagesQueueEndpoint
flexible collection type and exclude all other types.OnDisableUpdateHandlers
procedure of the InfobaseUpdateOverridable
common module.PrintManagement
:
GetLocalPrintFilesDirectory
;OnCreateAtServer
.PrintManagementClient
:
RunConnectedPrintCommand
;StartCommandUpdate
.PrintManagementClientServer
:
UpdateCommands
.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
common module:
ReadIBUser
;WriteIBUser
;SystemAdministratorRole
.ObjectPrefixationClientServer
common module:
GetCustomPrefix
;GetNumberToPrint
.SafeModeManager
common module:
ExecuteConfigurationMethod
;ExecuteObjectMethod
;ExecuteInSafeMode
;CalculateInSafeMode
.AttachedFiles
;AttachedFilesClient
;AttachedFilesClientServer
;FileFunctions
.OnChangePresentation
procedure of the ObjectsPresentationsDeclensionClient
common module is no longer supported. In the declension object form modules where it is called:
DeclinePresentation
procedure of the ObjectsPresentationsDeclensionClient
common module.Attachable_DeclinePresentationForAllCases
procedure.IndividualsClientServer
common module:
FullName
;IndividualInitialsLastName
.ForObject
and ForRegister
in all roles. Use standard templates from the EditAccessGroupMembers
role and copy them to all the roles. For bulk update, use the Restriction templates
tab in the All access restrictions
form (filter by the template name, select all the lines, and click Edit
). You can also use the SSLImplementationCheck.erf
report in the error correction mode.The actions below are optional for the migration, but we recommend that you schedule them in the future.
IsOSXClient
procedures of the Common
and CommonClient
common modules are obsolete. Use IsMacOSClient
of the same common modules instead. Revise call sites for this procedure.OnWriteAtServer
procedure of the ObjectPresentationDeclension
common module is obsolete. Use OnWriteDeclensionObjectForm
of the same common module instead. Revise call sites for this procedure.DeclineFullNameUsingComponent
procedure of the ObjectPresentationDeclension
common module is obsolete. Use DeclineFullName
of the same common module instead. Revise call sites for this procedure.DeclinePresentationForAllCases
procedure of the ObjectsPresentationsDeclensionClient
common module is obsolete. Use DeclinePresentation
of the same common module instead. Revise call sites for this procedure.ProcessDeclensionCommand
procedure of the ObjectsPresentationsDeclensionClient
common module is obsolete. Use ShowDeclension
of the same common module instead. Revise call sites for this procedure.OnCreateAccessValueForm
procedure of the AccessManagement
common module.
Attribute
, Items
, ValueType
, CreateNewAccessValue
parameters are marked as obsolete and left for backward compatibility. Instead, use the AdditionalParameters
structure passed by the second parameter. Check all the usage locations.AdditionalParameters
parameter has the ParametersOnCreateAccessValueForm
function in the AccessManagement
common module.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.SSLImplementationCheck.epf
report adds predefined items of all the registers to the MetadataObjectIDs
catalog in the correction mode. We recommend that you run the report in the correction mode.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.
ForObject
and ForRegister
. Get them from the EditAccessGroupMembers
role and copy to all roles. For bulk update, use the Restriction templates
tab in the All access restrictions
form (filter by the template name, select all the lines, and click Edit
). Or use the SSLImplementationCheck.erf
report in the error correction mode.OnFillListsWithAccessRestriction
procedure of the AccessManagementOverridable
common module in the AfterWriteAtServer
event handler of the object form (all the forms with the main object attribute):// StandardSubsystems.AccessManagement
AccessManagement.AfterWriteAtServer(ThisObject, CurrentObject, WriteParameters);
// End StandardSubsystems.AccessManagement
ForObject
and ForRegister
in all roles. Use standard templates from the EditAccessGroupMembers
role and copy them to all the roles. For bulk update, use the Restriction templates
tab in the All access restrictions
form (filter by the template name, select all the lines, and click Edit
). You can also use the SSLImplementationCheck.erf
report in the error correction mode.UsersAndRightsSettings
form of the SSLAdministrationPanel
data processor if used.ForObject
and ForRegister
to run on platform version 8.3.15. Get them from the EditAccessGroupMembers
role and copy to all roles. For bulk update, use the Restriction templates
tab in the All access restrictions
form (filter by the template name, select all the lines, and click Edit
). Or use the SSLImplementationCheck.erf
report in the error correction mode.UsersAndRightsSettings
form of the SSLAdministrationPanel
data processor if used.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:
1C:Application update
portal (https://releases.1c.ru), then on publishing new version 1.2.1, specify in the Minimum 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.OnDetermineUpdateAvailability
procedure of the InfobaseUpdateClientOverridable
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
When migrating from earlier library versions (up to 3.0.1):
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: