1Ci Support Help Center home page
Submit a request
Sign in
  1. 1Ci Support
  2. 1C:Enterprise Standard Subsystems Library Developer Guide
  3. Chapter 2. Library integration guide

Chapter 2. Library integration guide

  • Chapter 2. Library integration guide
    • Chapter 2. Library integration guide

<< Prev   Next >>

First-time integration of the library subsystems into a configuration significantly differs from updating an integrated library. Generally, the library integration consists of the following steps:

  • 1.     Copying metadata objects from the library distribution file to the configuration.
  • 2.     Configuring the copied library objects.
  • 3.     Using the library objects in configuration development.

All functional subsystems included in the library are subordinate to the "Standard subsystems" subsystem in the metadata object tree. The subsystems designed for SaaS configurations are subordinate to the "SaaS" subsystem.

For first-time integration of the library, use the external data processor FirstSSLDeployment.epf. You can use it to select subsystems for integration while preserving their reference integrity, and exclude unused subsystems. To validate the first SSL integration or further library version updates, use the external report SSLImplementationCheck.erf.* It identifies a variety of common problems related to library integration (validation of type composition filling, checking whether required code fragments are present, and so on).

To quickly start the development of a new configuration based on the library, you can use the quick start guide containing only the essential list of actions required to start the configuration. See Using subsystems in configurations.

* In client/server mode, ensure that the user that started the 1C:Enterprise server has sufficient rights to run this report.

2.1. Copying metadata objects from the library distribution file to the configuration

First-time integration

To copy library objects to the configuration during the first-time integration, in Designer, click Configuration – Compare and merge with configuration from file. In the dialog box, specify the library distribution file and confirm that you want to enable support.

Step 1. In the configuration comparison and merging window, clear all check boxes and select all objects to be copied using the Actions – Select by file subsystems command. In the Standard subsystems group, select the following:

  • Required subsystems, as described in table 2.1.
  • Additional subsystems required for configurations designed to run in SaaS mode, as described in table 2.2.
  • Other subsystems to be integrated into the configuration.
  • Subsystems required by the subsystems you selected, as described in tables 2.1–2.3.*

Click Install.

Attention!

Ensure that all required subsystems listed in table 2.1 are selected. If the configuration is designed to run in SaaS mode, the subsystems listed in table 2.2 are also required. Otherwise, the configuration will not work.

* To get the file with comparison and merging settings for this operation, use the FirstSSLDeployment.epf data processor.

Step 2. Select or clear the check boxes for individual library objects and their properties as described in table 2.5.

Next, click Actions – Set rule for all and select the Get from file merge rule, then click Execute. In the window with the list of dependent objects, click Continue.

Step 3. Once the comparison and merging are complete, the second stage begins: configuring library objects. See Configuring library objects. Depending on the number of subsystems, this step can take from one to several hours.

After you configure the library objects, it is recommended that you validate the integration using the SSLImplementationCheck.erf external report.

Updating library version

This section describes the general procedure of updating the library to a later version. Migration between library revisions, subrevisions, and versions (the first, second, and third digits in the version number, respectively) requires some additional actions, while migration between library builds (the fourth digit in the version number) generally requires no additional actions. Rarely, additional actions are required even when updating to a library build. Instructions for these situations are available in readme.txt (the Important section).

To update library version, click Configuration – Support – Update configuration. In the dialog box, click Select update file, specify the path to the library distribution file, and confirm that you want to update the vendor configuration.

Step 1. Some of the SSL objects referenced by the objects of your configuration might have been deleted from the new SSL version. To have these SSL objects deleted automatically, clear the references to them before the update. To find such objects in the configuration comparison and merging window, clear all the check boxes for metadata objects, then set the comparison and merging filter to Show objects available only in the old vendor configuration in the New vendor configuration – Old vendor configuration group as indicated in the picture.

Next, select the check boxes for all metadata objects, select the Get from new vendor configuration merge rule (Actions – Set rule for all), and click Actions – Find unresolved references to objects to be deleted.

After the operation is completed, a list of configuration objects that contain references to the SSL objects to be deleted is displayed. If there are any application objects in the list, remove the references to the SSL objects to be deleted from these application objects, and proceed to step 2.

Step 2. Run the Configuration – Support – Update configuration command again. Click Select update file and specify the path to the library distribution file.

In the configuration comparison and merging window, clear all check boxes and then select the objects to be copied using the Actions – Select by new vendor configuration subsystems command. In the "Standard subsystems" folder, select:

  • Required subsystems, as described in table 2.1.
  • Additional subsystems required for configurations designed to run in SaaS mode, as described in table 2.2.
  • All previously integrated subsystems and other subsystems that you want to integrate.
  • Subsystems required by the selected subsystems, as described in tables 2.1–2.3.

Click Install.

Attention!

Ensure that all required subsystems listed in table 2.1 and the related metadata objects are selected. If the configuration is designed to run in SaaS mode, the subsystems listed in table 2.2 are also required. Otherwise, the configuration will not work.

If the Administration subsystem was integrated or is planned for integration, in the configuration comparison and merging window, select the check box for this subsystem ("Administration" metadata object).

Click the Get from new vendor configuration merge rule (Actions – Set rule for all).

Additionally, select or clear the check boxes for individual library objects and their properties as described in table 2.6. Depending on the number of subsystems to update or install, this step can take from 15 minutes to one hour.

Then mark all obsolete metadata objects in the library for deletion. Set the comparison and merging filter to Show objects available only in the old vendor configuration in the New vendor configuration – Old vendor configuration group as indicated in the picture.

Then select the check boxes for all metadata objects and click Execute. In the window with the list of dependent objects, click Continue.

Updating to patches supports a greater degree of automation, resulting in significant time economy with regular (for example, weekly) updates. Library builds differ only in the fourth digit of the version number, for example: 2.3.4.1, 2.3.4.2, and 2.3.4.3.

For the purpose of updating to builds, use the external data processor UpdateToCorrectiveVersionSSL.epf.

Start the data processor in the infobase with the configuration containing the previous SSL release, click Update to corrective version, and specify the .cf file with the new SSL version from the distribution package. The configuration will be automatically compared and merged with the new library configuration using to the following rules: all supplied library objects will be copied and objects overridden during integration will be merged with the supplier’s configuration priority (for example, this rule applies to defined types) or skipped (for example, this rule applies to overridable modules). After comparison and merging, the database configuration will not be updated automatically, which allows you to run comparison with the database configuration and edit changed objects: overridable modules, local changes, and enhancements.

Alternately, click Generate a settings file to generate a comparison and merging settings file that can be imported into Designer for manual comparison and merging.

When updating to new functional releases (releases with the third number incremented), select the check boxes in the comparison and merging window in Designer, following the instructions above.

Step 3. Once the comparison and merging are complete, the second stage begins: Configuring library objects.

After you configure the library objects, it is recommended that you validate the integration using the SSLImplementationCheck.erf external report.

Library subsystem dependencies

Table 2.1. Subsystems required for integration

Subsystem

Depends on

Base functionality

Security profiles (*)

Infobase version update

 

Users

Contact information (**)

* When integrating the "Base functionality" subsystem without the "Security profiles" subsystem, see the additional guidelines in the Special cases of integrating the subsystems section in Chapter 3.

** When integrating the "Users" subsystem into a configuration designed to run in SaaS mode, the "Contact information" subsystem is required. In other scenarios the subsystem is optional and can be integrated separately. For integration without this subsystem, see guidelines in the Special cases of integrating the subsystems section in Chapter 3.

Table 2.2. Additional subsystems required for configurations designed to run in SaaS mode

Subordinate subsystem in "SaaS" branch

Depends on

Core SaaS

Data exchange

Scheduled jobs

Infobase version update in SaaS

Closing user sessions

Job queue

 

Users SaaS

 

Remote administration

 

Table 2.3. Optional subsystems that allow selective integration

Subsystem

Depends on

Event log analysis

Report options (*)

Report mailing (*)

Banks (**)

Get files from the internet

Currencies (**)

Get files from the internet

Report options

Email operations (*)

Attachable commands (*)

Additional reports and data processors (*)

Report mailing (*)

Object versioning

 

Work schedules

Calendar schedules

Batch object modification

 

Period-end closing dates

 

Additional reports and data processors (**)

Print (*)

Attachable commands

Report options (*)

Batch object modification (*)

Closing user sessions

 

Import data from file

Additional reports and data processors (*)

Batch object modification (*)

Object filling

Attachable commands

Object attribute lock

 

Calendar schedules

 

Contact information

Address classifier (*)

Item order setup

Attachable commands

User reminders

 

Item order setup

 

Application settings

All subsystems (*)

Data exchange (**, ***)

Configuration update (*)

Get files from the internet (*)

Object prefixes (*)

Email operations (*)

Scheduled jobs (*)

Configuration update

Closing user sessions

Email operations (*)

Software license check (*)

Send text messages

Get files from the internet

Print

Attachable commands

Email operations (*)

Stored files (*)

Additional reports and data processors (*)

Attachable commands

Print (*)

Report options (*)

Object filling (*)

Additional reports and data processors (*)

Duplicate object detection

 

Full-text search

 

Get files from the internet

 

Object prefixes

 

Software license check

 

Email operations

 

Stored files

Properties (*)

Access management (*)

Scheduled jobs

 

Infobase backup

Closing user sessions

Properties

Object attribute lock

Hierarchy

 

To-do list

 

Deletion of marked objects

 

Access management (**)

 

Monitoring center

Performance monitor (*)

* Optional dependency, meaning that the subsystem can be integrated separately. Chapter 3 can contain additional guidelines on independent integration of the subsystem.

** When integrating subsystems into a configuration designed to run in SaaS mode, also integrate the subsystem with the same name and SaaS postfix from the "SaaS" branch. For example, when integrating the "Currencies" subsystem, also integrate the "Currencies SaaS" subsystem.

*** The "Data exchange" subsystem is mandatory for the development of data exchange in a distributed infobase.

Table 2.4. Optional subsystems that can be integrated into configurations designed to run in SaaS mode

Subordinate subsystem in "SaaS" branch

Depends on

Banks in SaaS

Banks

Supplied data

Currencies SaaS

Currencies

Supplied data

Additional reports and data processors SaaS

Additional reports and data processors

Supplied data

Remote administration

Supplied data

Stored files

Access management SaaS

Access management

File functions SaaS

Stored files

Objects and object properties to be selected or cleared before merging the configuration with the library

Table 2.5. Objects and object properties to be selected or cleared before merging the configuration with the library (during the first-time integration of the subsystem into the configuration)

#

Object name

Actions required

For "Base functionality" subsystem

  • 1.         

Language: English

Select the check box. *

* If displayed in the metadata tree in the configuration comparison and merging window.

  • 2.         

Properties of the root configuration object:

  • Default roles
  • Managed application module
  • Session module
  • External connection module
  • Ordinary application module
  • Modality usage mode
  • Interface compatibility mode
  • Compatibility mode

Select the check box.

  • 3.         

Properties of the root configuration object:

  • Synchronous call usage mode for platform extensions and add-ins

Select the check box. *

* When integrating the library without the "Stored files," "Configuration update," and "Infobase backup" subsystems, selecting this check box is not required.

  • 4.         

Other properties of the root configuration object

Clear the check box.

For "Application settings" subsystem

  • 5.         

Subsystem: Administration

Select the check box (only for the subsystem, not for the subsystem content).

  • 6.         

Common commands:

  • AdditionalDataProcessorsAdministration
  • AdditionalReportsAdministration

Clear the check box. *

* Only when integrating without the "Additional reports and data processors" subsystem.

  • 7.         

Common command: ReportsPanelAdministration

Clear the check box. *

* Only when integrating without the "Report options" subsystem.

* Only when integrating without the "Object prefixes" subsystem.

For "Attachable commands" subsystem

  • 8.         

Subsystem: AttachableReportsAndDataProcessors

Select the check box (only for the subsystem, not for the subsystem content).

Table 2.6. Objects and object properties to be selected or cleared before merging the configuration with the library (during the update of the subsystem in the configuration)

Configuration properties

#

Object name

Actions required

"Base functionality" subsystem

  • 1.         
  • Properties of the root configuration object

Clear the check box.

Subsystems

#

Object name

Actions required

"Application settings" subsystem

  • 1.         
  • Administration

Select the check box (only for the subsystem, not for the subsystem content).

For the Command interface property, set the merge rule to Merge prioritizing new vendor configuration.

For the Content property, set merge mode to Merge.

"Attachable commands" subsystem

  • 2.         
  • AttachableReportsAndDataProcessors

Select the check box (only for the subsystem, not for the subsystem content).

For the Command interface property, set the merge rule to Merge prioritizing new vendor configuration.

For the Content property, set merge mode to Merge.

Common modules

Clear the check box for all overridable common modules:

#

Object name

"Base functionality" subsystem

  • 1.         
  • CommonClientOverridable
  • CommonOverridable
  • ConfigurationSubsystemsOverridable
  • SafeModeManagerOverride

All subsystems in the "SaaS" branch

  • 2.         
  • MessagesInterfacesSaaSOverridable
  • DataExchangeSaaSOverridable
  • MessagesExchangeOverridable
  • JobsQueueOverridable
  • SuppliedDataOverridable
  • SaaSOverridable
  • MessagesSaaSOverridable
  • XDTOTranslationOverridable

"Banks" subsystem

  • 3.         
  • BankOperationsOverridable

"Report options" subsystem

  • 4.         
  • ReportsOptionsOverridable
  • ReportsClientOverridable
  • ReportsOverridable

"Currencies" subsystem

  • 5.         
  • CurrenciesExchangeRatesOverridable

"Batch object modification" subsystem

  • 6.         
  • BatchEditObjectsOverridable

"Period-end closing dates" subsystem

  • 7.         
  • PeriodClosingDatesOverridable

"Additional reports and data processors" subsystem

  • 8.         
  • AdditionalReportsAndDataProcessorsOverridable
  • AdditionalReportsAndDataProcessorsClientOverridable

"Object filling" subsystem

  • 9.         
  • ObjectsFillingOverridable

"Object attribute lock" subsystem

  • 10.      
  • ObjectsAttributesEditBlockedOverridable

"Calendar schedules" subsystem

  • 11.      
  • CalendarSchedulesOverridable

"Application settings" subsystem

  • 12.      
  • CalendarSchedulesOverridable

"User reminders" subsystem

  • 13.      
  • UserRemindersClientServerOverridable

"Data exchange" subsystem

  • 14.      
  • DataExchangeOverridable

"Infobase version update" subsystem

  • 15.      
  • InfobaseUpdateClientOverridable
  • InfobaseUpdateOverridable

"Send text messages" subsystem

  • 16.      
  • SMSOverridable

"Print" subsystem

  • 17.      
  • PrintManagementOverridable

"Attachable commands" subsystem

  • 18.      
  • AttachableCommandsOverridable

"Duplicate object detection" subsystem

  • 19.      
  • DuplicateObjectsDetectionOverridable

"Full-text search" subsystem

  • 20.      
  • FullTextSearchServerOverridable

"Users" subsystem

  • 21.      
  • UsersOverridable

"Object prefixes" subsystem

  • 22.      
  • ObjectsPrefixesClientServerOverridable
  • ObjectsPrefixesOverridable

"Email operations" subsystem

  • 23.      
  • EmailOverridable
  • EmailClientOverridable

"Stored files" subsystem

  • 24.      
  • FilesOperationsClientOverridable
  • FileOperationsOverridable

"Scheduled jobs" subsystem

  • 25.      
  • ScheduledJobsOverridable

"Properties" subsystem

  • 26.      
  • PropertyManagerOverridable

"Hierarchy" subsystem

  • 27.      
  • DependenciesOverridable

"To-do list" subsystem

  • 28.      
  • ToDoListOverridable

"Access management" subsystem

  • 29.      
  • AccessManagementOverridable

Roles

#

Object name

Actions required

"Base functionality" subsystem

  • 1.         
  • FullRights
  • SystemAdministrator

For the Rights property, set Merge rule to Merge prioritizing new vendor configuration.

Common attributes

#

Object name

Actions required

All subsystems in the "SaaS" branch

  • 1.         
  • DataAreaMainData
  • DataAreaAuxiliaryData

Clear the check box.

Filter criteria

#

Object name

Actions required

"Hierarchy" subsystem

  • 1.         
  • RelatedDocuments, properties: Type and Content

Clear the check box.

Functional options

#

Object name

Actions required

"Base functionality" subsystem

  • 1.         
  • StandaloneMode
  • Clear the check box.
  • 2.         
  • LocalMode
  • Clear the check box.
  • 3.         
  • SaaS
  • Clear the check box.

Defined types

#

Object name

Actions required

"Base functionality" subsystem

  • 1.         
  • Company

Clear the check box.

"Base functionality" subsystem

  • 2.         
  • FunctionalOptionsStorage

Set Merge rule to Merge prioritizing new vendor configuration.

"Object versioning" subsystem

  • 3.         
  • VersionedData
  • VersionedDataObject

Set Merge rule to Merge prioritizing new vendor configuration.

"Period-end closing dates" subsystem

  • 4.         
  • PeriodClosingTarget

Set Merge rule to Merge prioritizing new vendor configuration.

"Additional reports and data processors" subsystem

  • 5.         
  • ObjectWithAdditionalCommands

Set Merge rule to Merge prioritizing new vendor configuration.

"Contact information" subsystem

  • 6.         
  • ContactInformationOwner

Set Merge rule to Merge prioritizing new vendor configuration.

"Item order setup" subsystem

  • 7.         
  • ObjectWithCustomOrder

Set Merge rule to Merge prioritizing new vendor configuration.

"User reminders" subsystem

  • 8.         
  • ReminderSubject
  • ReminderSubjectObject

Set Merge rule to Merge prioritizing new vendor configuration.

"Users" subsystem

  • 9.         
  • Department
  • Individual

Clear the check box.

  • 10.      
  • User
  • ExternalUser
  • ExternalUserObject

Set Merge rule to Merge prioritizing new vendor configuration.

"Stored files" subsystem

  • 11.      
  • FilesOwner
  • AttachedFile
  • AttachedFileObject
  • AttachedFilesOwner
  • AttachedFilesOwnerObject

Set Merge rule to Merge prioritizing new vendor configuration.

"Properties" subsystem

  • 12.      
  • DetailedInfoOwner

Set Merge rule to Merge prioritizing new vendor configuration.

"Access management" subsystem

  • 13.      
  • RightsSettingsOwner
  • RightsSettingsOwnerObject
  • AccessKeysValuesOwner
  • AccessKeysValuesOwnerObject
  • AccessValue
  • AccessValueObject
  • RegisterAccessKeysRegisterField
  • AccessValuesSetsOwnerObject
  • OwnerLimitedByAccessValuesSetsObject
  • ExternalValuesOwnerInAccessValueSetsObject

Set Merge rule to Merge prioritizing new vendor configuration.

  • 14.      
  • AccessKeysValuesOwnerDocument
  • AccessKeysValuesOwnerRecordSet
  • AccessKeysValuesOwnerCalculationRegisterRecordSet

Set Merge rule to Merge prioritizing new vendor configuration.

  • If a defined type will contain no types after comparison or merging, add the CatalogObject.MetadataObjectIDs type.
  • If a defined type will contain types other than CatalogObject.MetadataObjectIDs after comparison and merging, remove the CatalogObject.MetadataObjectIDs type.

Common commands

#

Object name

Actions required

"Data exchange" subsystem

  • 1.         

Command parameter type property:

  • Synchronize
  • SynchronizeWithAdditionalParameters
  • ConnectionSettings
  • ImportRulesSet
  • ImportObjectConvertionRules
  • ImportObjectRegistrationRules
  • GetSynchronizationSettingsForOtherApplication
  • SynchronizationScenarios
  • SendingEvents
  • ReceivingEvents
  • CompositionOfDataToSend
  • DeleteSynchronizationSetting

Clear the check box

"Hierarchy" subsystem

  • 2.         
  • SubordinationStructure, property: Command parameter type

Clear the check box.

"Access management" subsystem

3.

SetRights, property: Command parameter type

Clear the check box.

Languages

#

Object name

Actions required

"Base functionality" subsystem

1.

English

Select the check box.

Catalogs

#

Object name

Actions required

"Base functionality" subsystem

  • 1.         
  • MetadataObjectIDs, property: Predefined
  • ExtensionObjectIDs, property: Predefined

Set Merge rule to Merge prioritizing new vendor configuration.

Internal IDs of predefined items can be changed without consequences (no data loss). For example, you can delete a predefined item and create a new one with the same name. The predefined item will be linked to a data item correctly.

If a predefined item name (the full metadata object name without a dot) does not match an existing metadata object, this predefined item will not be linked to a data item and will not cause any issues.

"Contact information" subsystem

  • 2.         
  • ContactInformationKinds, property: Predefined

Set Merge rule to Merge prioritizing new vendor configuration.

"Users" subsystem

  • 3.         

ExternalUsers, command: ExternalAccess, property: Command parameter type

Clear the check box.

"Properties" subsystem

  • 4.         
  • Catalog: AdditionalAttributesAndInfoSets, property: Predefined

Set Merge rule to Merge prioritizing new vendor configuration.

"Access management" subsystem

  • 5.         
  • AccessGroupProfiles, property: Predefined

Set Merge rule to Merge prioritizing new vendor configuration.

Enumerations

#

Object name

Actions required

"Send text messages" subsystem

  • 1.         
  • SMSProviders

Clear the check box.

Charts of characteristic types

#

Object name

Actions required

"Period-end closing dates" subsystem

  • 1.         
  • PeriodClosingDatesSections, property: Type

Set Merge rule to Merge prioritizing new vendor configuration.

  • 2.         
  • PeriodClosingDatesSections, property: Predefined

Clear the check box.

"Properties" subsystem

  • 3.         
  • AdditionalAttributesAndInfo, properties: Predefined and Type

Set Merge rule to Merge prioritizing new vendor configuration.

Data processors

#

Object name

Actions required

"Application settings" subsystem

  • 1.         
  • SSLAdministrationPanel

If forms were modified, clear the check box

2.2. Configuring library objects

Right after the comparison and merging, the metadata objects are copied from the library to the configuration but not yet configured. To configure the copied library objects, follow the instructions in table 2.7.

If different actions are required for the first-time integration of the library and for the update of an already integrated library, the instructions in table 2.7 are divided into two sections: "First-time integration" and "Library version update." The root configuration object modules and overridable common modules require special attention because fully automatic update is not available for these modules. General instructions for the first-time configuration and update of library objects can be found after table 2.7.

Table 2.7. Library objects that require additional actions after comparing and merging the configuration with the library

Common SSL objects

#

Object name

Actions required

  • 1.         

Session module

First-time integration:

  • Copy the entire SessionParametersSetting handler
  • 2.         

Managed application module.

Ordinary application module

First-time integration: copy the code fragments marked with the following comments to the BeforeStart, OnStart, and BeforeExit handlers:

// StandardSubsystems

…

// End StandardSubsystems

Also copy the code fragments from the global variable definition area.

Library version update: copy the global variable definition areas and the code fragments related to the integrated subsystems to the BeforeStart, OnStart, and BeforeExit handlers:

// <SubsystemPath>

…

// End <SubsystemPath>

  • 3.         

Property: Version

First-time integration: set the property according to R.S.V.B template, where:

R is the revision number (1 or more digits).

S is the subrevision number (1 or more digits).

V is the version number (1 or more digits).

B is the build number (1 or more digits).

Example: 1.0.1.1. For more information, see Versions and releases numbering.

Increment the version at each update.

Common SSL objects for configurations designed to run in SaaS mode

#

Object name

Actions required

  • 1.         

Common attribute: DataAreaMainData

First-time integration:

  • For each object of the resulting configuration that must have the same value in all areas, remove the object from the attribute content.

During each update:

  • For each library object, open the attribute content and set the Use property to the value specified in the library distribution file.
  • 2.         

Common attribute: DataAreaAuxiliaryData

First-time integration:

  • For each object of the resulting configuration that you want to be accessible from sessions with data separation disabled, remove the object from the attribute content.

During each update:

  • For each library object, open the attribute content and set the Use property to the value specified in the library distribution file.
  • 3.         

Common modules:

  • MessagesExchangeOverridable
  • JobsQueueOverridable
  • SaaSOverridable

It is recommended that you follow the approach described in Configuring and updating overridable common modules of the library.

  • 4.         

Functional option: UseSeparationByDataAreas

First-time integration:

  • Create the list of configuration objects to be added to the user interface in SaaS mode only.
  • Add these objects to the functional option.
  • 5.         

Functional option: DoNotUseSeparationByDataAreas

First-time integration:

  • Create the list of configuration objects to be added to the user interface in hosted mode only.
  • Add these objects to the functional option
  • 6.         

Common commands: AddServiceUsers, and CreateBackup

Add to the configuration command interface.

Common modules

It is recommended that you follow the approach described in Configuring and updating overridable common modules of the library.

#

Object name

Actions required

"Base functionality" subsystem

  • 1.         
  • CommonOverridable

See the additional instructions in the Core section.

"Report options" subsystem

  • 2.         
  • ReportsOptionsOverridable
  • ReportsClientOverridable
  • ReportsOverridable

See the additional instructions in the Report options section.

"Batch object modification" subsystem

  • 3.         
  • BatchEditObjectsOverridable

"Period-end closing dates" subsystem

  • 4.         
  • PeriodClosingDatesOverridable

"Additional reports and data processors" subsystem

  • 5.         
  • AdditionalReportsAndDataProcessorsOverridable

See the additional instructions in the Additional reports and data processors section.

"Object filling" subsystem

  • 6.         
  • ObjectsFillingOverridable

"Object attribute lock" subsystem

  • 7.         
  • ObjectsAttributesEditBlockedOverridable

"User reminders" subsystem

  • 8.         
  • UserRemindersOverridable

"Data exchange" subsystem

  • 9.         
  • DataExchangeOverridable

See the additional instructions in the Data exchange section.

"Infobase version update" subsystem

  • 10.      
  • InfobaseUpdateClientOverridable
  • InfobaseUpdateOverridable

See the additional instructions in the Infobase version update section.

"Send text messages" subsystem

  • 11.     15.
  • SMSOverridable

See the additional instructions in the Configuration update section.

"Print" subsystem

  • 12.      
  • PrintManagementOverridable

See the additional instructions in the Printing section.

"Attachable commands" subsystem

  • 13.      
  • AttachableCommandsOverridable

See the additional instructions in the Attachable commands section.

"Duplicate object detection" subsystem

  • 14.      
  • DuplicateObjectsDetectionOverridable

"Users" subsystem

  • 15.      
  • UsersOverridable

See the additional instructions in the Users section.

"Object prefixes" subsystem

  • 16.      
  • ObjectsPrefixesClientServerOverridable

See the additional instructions in the Object prefixation section.

"Email operations" subsystem

  • 17.      
  • EmailClientOverridable

See the additional instructions in the Email operations section.

"Properties" subsystem

  • 18.      
  • PropertyManagerOverridable

See the additional instructions in the Properties section.

"Hierarchy" subsystem

  • 19.      
  • DependenciesOverridable

See the additional instructions in the Dependencies section.

"To-do list" subsystem

  • 20.      
  • ToDoListOverridable

See the additional instructions in the To-do list section.

"Access management" subsystem

  • 21.      
  • AccessManagementOverridable

See the additional instructions in the Access management section.

"Monitoring center" subsystem

  • 22.      
  • MonitoringCenterOverridable

Roles

#

Object name

Actions required

"Base functionality" subsystem

  • 1.         
  • BasicSSLRights
  • BasicRightsSSLForExternalUsers

When integrating with the "Properties" subsystem but without the "Access management" subsystem, follow the instructions in section Integrating the "Properties" and "Access management" subsystems.

  • 2.        3.
  • FullRights

Clear the following rights for all metadata objects:

  • Interactive delete
  • Interactive deletion of predefined objects
  • Interactive deletion mark on predefined objects
  • Interactive removal of deletion mark from predefined objects
  • Interactive deletion of marked predefined objects

When integrating with the "SaaS" subsystem, add rights to all objects of the DataAreaMainData common separator attribute to the roles.

When integrating without the "SaaS" subsystem, add rights to all configuration metadata objects, except for the rights listed above, to the roles.

"Properties" subsystem

  • 3.         
  • EditAdditionalInfo
  • ReadAdditionalInfo

When integrating without the "Access management" subsystem, follow the instructions in section Integrating the "Properties" and "Access management" subsystems.

Filter criteria

#

Object name

Actions required

"Hierarchy" subsystem

  • 1.         
  • RelatedDocuments

First-time integration: set the Contents property and add the types of parent documents, catalogs, and charts of characteristic types to the Type property. Then define which attributes of child document, catalogs, and charts of characteristic types will be used to search for the parent objects.

Defined types

#

Object name

Actions required

"Object versioning" subsystem

  • 1.         
  • VersionedData
  • VersionedDataObject

First-time integration: configure the type composition as described in the Object versioning section.

"Period-end closing dates" subsystem

  • 2.         
  • PeriodClosingTarget

First-time integration:

  • Create the list of exchange plans that require data import restriction dates and add their types to the list of the attribute types.

See the additional instructions in the Period-end closing dates section.

"Additional reports and data processors" subsystem

  • 3.         
  • ObjectWithAdditionalCommands

First-time integration:

  • Create the list of configuration objects to be used with additional reports and data processors.
  • Add their types to the Type property.

See the detailed instructions in the Additional reports and data processors section.

"Contact information" subsystem

  • 4.         
  • ContactInformationOwner

First-time integration:

  • Create the list of configuration objects that will store contact information.
  • Add their types to the Type property.

See the instructions in the Contact information section.

"User reminders" subsystem

  • 5.         
  • ReminderSubject
  • ReminderSubjectObject
  • Create the list of reference-type objects that require user reminders.
  • Add their types to the Type property.

See the detailed instructions in the User reminders section.

"Item order setup" subsystem

  • 6.         
  • ObjectWithCustomOrder

First-time integration:

  • Create the list of configuration objects that require item ordering.
  • Add their types to the Type property.
  • See the detailed instructions in the Item ordering section.

"Users" subsystem

  • 7.         
  • Department
  • Individual

First-time integration:

  • Decide whether you want to use the Department and Individual attributes of the Users catalog.
  • Add the references to the relevant catalogs to the defined types.
  • 8.         
  • ExternalUser
  • ExternalUserObject
  • User

First-time integration:

  • Create the list of configuration objects to be mapped to external users. For example, Individuals, Employees, and Partners catalogs.
  • Add the possible types of external users to the defined types (the User type also includes the CatalogRef.Users type).

"Stored files" subsystem

  • 9.         
  • FilesOwner
  • AttachedFile
  • AttachedFileObject
  • AttachedFilesOwner
  • AttachedFilesOwnerObject

First-time integration:

  • Create the list of configuration objects that will contain attached files.
  • Add their types to the Type property.

See the instructions in the Stored files section.

"Properties" subsystem

  • 10.      
  • DetailedInfoOwner

First-time integration:

  • Create the list of configuration objects that will contain additional information.
  • Add their types to the Type property.

See the instructions in the Properties section.

"Access management" subsystem

  • 11.      
  • RightsSettingsOwner
  • RightsSettingsOwnerObject
  • AccessKeysValuesOwner
  • AccessKeysValuesOwnerDocument
  • AccessKeysValuesOwnerRecordSet
  • AccessKeysValuesOwnerCalculationRegisterRecordSet
  • AccessKeysValuesOwnerObject
  • AccessValue
  • AccessValueObject
  • RegisterAccessKeysRegisterField
  • AccessValuesSetsOwnerObject
  • OwnerLimitedByAccessValuesSetsObject
  • ExternalValuesOwnerInAccessValueSetsObject

First-time integration: configure the subsystem as described in the Access management section.

During each update, ensure that the type composition includes all supplied types.

Common forms

#

Object name

Actions required

"Send text messages" subsystem

  • 1.         
  • Common form: OutboundSMSSettings

First-time integration: add to the command interface.

Common commands

#

Object name

Actions required

"Data exchange" subsystem

  • 1.         
  • Synchronize
  • SynchronizeWithAdditionalParameters

ConnectionSettings

  • ImportRulesSet
  • ImportObjectConversionRules

ImportObjectRegistrationRules

  • GetSynchronizationSettingsForOtherApplication
  • SynchronizationScenarios
  • SendingEvents
  • ReceivingEvents
  • CompositionOfDataToSend
  • DeleteSynchronizationSetting

First-time integration: configure the subsystem as described in the Data exchange section.

"Hierarchy" subsystem

  • 2.         
  • SubordinationStructure

First-time integration: set the Command parameter type property for documents, catalogs, and charts of characteristic types to be displayed in the Hierarchy report.

"Access management" subsystem

  • 3.         
  • SetRights, property: Command parameter type

First-time integration: configure as described in the Access management section.

During each update, ensure that the type composition includes all supplied types.

Common templates

#

Object name

Actions required

"Infobase version update" subsystem

  • 1.         
  • ApplicationReleaseNotes

First-time integration: create and maintain a template as described in the Infobase version update section.

 Catalogs

#

Object name

Actions required

"Currencies" subsystem

  • 1.         
  • Currencies

First-time integration: add the Currencies catalog to the command interface. For more information, see the Currencies section.

"Contact information" subsystem

  • 2.         
  • ContactInformationKinds

First-time integration: if necessary, create a set of predefined catalog items. See the instructions in the Contact information section.

"Users" subsystem

  • 3.         
  • ExternalUsers, command: ExternalAccess, property: Command parameter type

First-time integration:

  • Create the list of configuration objects to be mapped to external users. For example, Individuals, Employees, and Partners catalogs.
  • Add the possible types of external users to the defined types (the User type also includes the CatalogRef.Users type).

"Properties" subsystem

  • 4.         
  • AdditionalAttributesAndInfoSets

First-time integration: for each object that will contain additional information, create a predefined item. The predefined item names must have the following format: Type_Name. For example, Catalog_Individuals for the Individuals catalog.

See the instructions in the Properties section.

Data processors

#

Object name

Actions required

"Application settings" subsystem

  • 1.        2.
  • SSLAdministrationPanel

During each update:

  • If the administration panel form was changed, compare and merge all data processor forms to determine the list of additions and changes in the library distribution file.

Charts of characteristic types

#

Object name

Actions required

"Properties" subsystem

  • 1.         
  • AdditionalAttributesAndInfo

First-time integration: specify the available types of property values. You can add any metadata object available in the configuration to the list of data types.

See the instructions in the Properties section.

Configuring and updating overridable common modules of the library

It is recommended that you follow the general approach to configuring the overridable common modules:

  • 1.     During the first-time configuration of an overridable common module, read the documentation for its export procedures and functions. If necessary, implement the logic for the procedures and functions.
  • 2.     During each further update of an overridable common module, copy the new export procedures and functions, delete the obsolete ones, and ensure that comments, the number of parameters, and the parameter names of each procedure or function match their library equivalents. If necessary, implement the logic for the new export procedures and functions, and update the implementation of existing ones if their purpose or parameters were changed in the new version of the library.

Deleting references to unused subsystems

Some library objects are configured to interact with other library subsystems. In such objects, keep only the code fragments related to subsystems that you integrate. A code fragment related to a subsystem is marked with opening and closing comments:

// <PathToSubsystem> 
… 
// End <PathToSubsystem>

For example, if you do not integrate the Properties subsystem into your configuration, delete all the code fragments marked with the following comments:

// StandardSubsystems.Properties
… 
// End StandardSubsystems.Properties

Likewise, if you do not integrate the "Message exchange" subsystem, delete all the code fragments marked with the following comments:

// StandardSubsystems.SaaS.MessageExchange
… 
// End StandardSubsystems.SaaS.MessageExchange

For batch deletion of such code fragments, use the FirstSSLDeployment.epf data processor. Before running it for the first time, you might need to:

  • Comment out the code of the managed application module, the ordinary application module, and the session module (to be able to run the data processor).
  • Allow editing library objects in the support settings.

Incrementing configuration version number

After you integrate or update the library, increment the version number of the configuration. It is required for proper execution of all infobase update procedures in the new library version. See the additional instructions in the Auxiliary data update upon development section.

Validating integration and updates

It is recommended that you perform the following validation procedures:

  • 1.     Check the configuration with Perform extended check check box selected (Designer – Configuration – Check configuration).
  • 2.     Run the configuration in version update mode and in initial filling mode (using an "empty" infobase).
  • 3.     Use the external report SSLImplementationCheck.erf.

These procedures allow you to quickly identify any incompatibility problems related to library objects that were renamed or deleted from the new library version, and to locate human errors that might have occurred during integration or update. The integration wizard also finds inconsistencies between the planned and the actual scope of library integration into the configuration.

Integrating library subsystems into configuration objects and developing roles

Some subsystems are designed to be integrated directly in consumer configuration objects. See the instructions in the relevant sections of Chapter 3. Setting and using subsystems upon configuration development.

This chapter also provides recommendations for configuring user access rights. Most subsystems include a set of roles for their objects. However, sometimes a configuration developer has to develop a role system and configure roles for objects supplied in the library.

Developing master data for library objects

Most library objects do not include master data because its content depends on the consumer configuration specifics. Master data for library objects must be developed directly in the configuration.

2.3. Using subsystems in configurations

To use most library subsystems, follow the instructions for integration and configuring, add subsystem objects to the command interface, and integrate the subsystem into configuration objects.

Also the subsystems include an API that you can use in your configuration. For the API description, see the library source code. For the description of additional subsystem features for developers, see "Usage upon configuration development" sections in Chapter 3.

The library source code is distributed under the Attribution 4.0 International (CC BY 4.0) license. The license text is available at https://creativecommons.org/licenses/by/4.0/legalcode. This license allows you to use, distribute, rework, edit, and develop the library for any purposes including commercial ones provided that the authorship of the library is indicated in your software.

2.4. Quick start of development "from scratch"

This section contains a quick start guide for SSL-based configuration development. It describes the steps required to run an SSL-based configuration for the first time.

Preparation

  • 1.     Determine the list of subsystems to be integrated. In the simplest scenario, all SSL subsystems are integrated. It is recommended that you use the FirstSSLDeployment data processor. It allows you to select subsystems for integration and ensures their reference integrity.
  • 2.     After determining the list of subsystems, click Save settings for Designer and specify the settings file name.
  • 3.     Create an empty infobase.

Comparison and merging

  • 1.     Click Configuration – Compare and merge with configuration from file.
  • 2.     Select the 1Cv8.cf file from the SSL distribution package.
  • 3.     When prompted to load the full configuration, click No.
  • 4.     When prompted to enroll for support, click Yes.
  • 5.     Click Actions – Load settings from file. Select the settings file saved in step 2 of the Preparation stage.
  • 6.     Then click Execute.
  • 7.     If a window informing about unsolved references is displayed, skip the messages in this window and click Continue. This window is displayed when you do not integrate all SSL subsystems. See an example in Integrating the "Data exchange" subsystem without the "Email operations" subsystem.
  • 8.     In the Specify support rules window, click OK.

Actions after comparison and merging

  • 1.     Type the configuration name in the configuration properties. Example: MyConfiguration.
  • 2.     In the configuration properties, set the version number. For example, you can set the version number to 1.0.1.1 when you start developing a configuration.
  • 3.     Copy the InfobaseUpdateSSL common module.
  • 4.     Replace the name of the copied module with the name or abbreviation of the configuration name (for example, InfobaseUpdateMC).
  • 5.     Replace the module text with:
Procedure OnAddSubsystem(Details) Export
 Details.Name = "MyConfiguration";
 Details.Version = "1.0.1.1";
 
 // Standard Subsystems Library is required.
 Details.RequiredSubsystems.Add("StandardSubsystems");
EndProcedure
 
Procedure OnAddUpdateHandlers(Handlers) Export
 
EndProcedure
 
Procedure BeforeUpdateInfobase() Export
 
EndProcedure
 
Procedure AfterUpdateInfobase(Val PreviousVersion, Val CurrentVersion,
   Val CompletedHandlers, OutputUpdatesDetails, ExclusiveMode) Export
 
EndProcedure
 
Procedure OnPrepareUpdateDetailsTemplate(Val Template) Export
 
EndProcedure
 
Procedure OnAddApplicationMigrationHandlers(Handlers) Export
 
EndProcedure
 
Procedure OnDefineDataUpdateMode(DataUpdateMode, StandardProcessing) Export
 
EndProcedure 
 
Procedure OnCompleteApplicationMigration(Val PreviousConfigurationName, Val PreviousConfigurationVersion, Parameters) Export
 
EndProcedure

In the OnAddSubsystem procedure, replace the configuration name and version number with the name and number specified in steps 1 and 2.

  • 1.     Allow editing the ConfigurationSubsystemsOverridable module and add the following line to the SubsystemsOnAdd procedure:
SubsystemsModules.Add("InfobaseUpdateMC");
  • 2.     In this line, specify the name of the module created at step 4.
  • 3.     Run the configuration for the first time. Ensure there are no errors during the initial filling.

<< Prev   Next >>

© 2020 1C INTERNATIONAL LLC www.1Ci.com Support policy