Version 3.1.9
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.
What’s new in version 3.1.9
Surveys
- Improved the questionnaire interface: simplified navigation through sections, increased the font of question headings, introduction, and closing statement of questionnaires, implemented the input hint for the field with a comment to a question.
- You can set maximum and minimum values for numerical questions and enter values using the slider.
- You can also specify hints for numeric and predefined response options.
- Basic questions have indicators that show respondents can refuse to answer the question if they are unable to do so.
- As respondents fill out the questionnaire, required basic questions that have already been answered are highlighted in green.
Report options
- To ensure optimal viewing experience, reports for smartphones are not displayed on computers and tablets, and reports for computers and tablets are not displayed on mobile devices. However, in the report panel settings, you can set the visibility of reports regardless of devices for which they were initially intended:
- Reports for Computers and tablets are best viewed on devices with wider screens as they may contain tables with numerous columns.
- Reports for Smartphones are optimized for devices with narrower screens and have fewer fields.
- Reports for Any device are equally convenient to view.
- When migrating to a new version, the report visibility remains the same in all report panels if you use the standard 1C:Enterprise application or web client. In the mobile application, reports used for computers and tablets will be hidden. To make them visible, select Show reports for computers and tablets in the report panel settings.
- Now you can view reports in the mobile client even in standalone mode when there is no connection to the server. To do this, in the standard application, save the required report snapshots from the report forms in advance (click More actions – Save report snapshot). After that, you can open the snapshots in the main section of the mobile application (click Main – Report snapshots). You can also update previously saved snapshots from the report panel or the report form (click More actions – Report snapshots).
Add-ins
- Now you can set up and transfer add-ins between databases faster and easier. In the Add-ins catalog, you can import and export add-ins in bulk from files or directories. To do this, go to Administration – Print forms, reports, and data processors – Add-ins.
Bulk edit
- Accelerated bulk attribute editing in client/server mode (Administration – Support and service – Data processing). Now you can go to Administration – General settings – Performance and set the maximum number of concurrent threads. Note that this parameter must be based on the technical capabilities of the server. Its value cannot exceed the number of processor cores on the server.
Data integrity
- Accelerated data integrity checks in client/server mode (Administration – Support and service – Data processing). Now you can go to Administration – General settings – Performance and set the maximum number of concurrent threads. Note that this parameter must be based on the technical capabilities of the server. Its value cannot exceed the number of processor cores on the server.
Duplicate cleaner
- Accelerated the duplicate cleanup in client/server mode (Administration – Support and service – Data processing). Now you can go to Administration – General settings – Performance and set the maximum number of concurrent threads. Note that this parameter must be based on the technical capabilities of the server. Its value cannot exceed the number of processor cores on the server.
Report distribution
- Improved the usability of the Report distribution rules list (Administration – Print forms, reports, and data processors). If you have many personal report distributions, you can group them.
- In the report distribution card, you can:
- Insert report content into an email body to quickly view reports sent by email. To do this, on the Delivery tab, select the Insert reports into email body check box.
- Click Template preview to open the email preview as plain text or HTML depending on the selected email format.
- Set email importance to draw a recipient’s attention to an important email: High, Normal, or Low.
- Now when you send reports, the delivery progress is displayed.
- When you send reports to a large number of recipients, some of them might not receive the email. It might happen due to an increased load on mail servers or their temporary unavailability. In such cases, the application automatically attempts to send undelivered reports once again. You can also resend undelivered reports manually.
- Accelerated the report distribution in client/server mode. Now you can go to Administration – General settings – Performance and set the maximum number of concurrent threads. Note that this parameter must be based on the technical capabilities of the server. Its value cannot exceed the number of processor cores on the server.
File management
- Now you can scan documents and images on 64-bit Microsoft Windows. To do it, click Files – Add – From scanner.
- Improved the usability of the scan settings. Now you can use the slider to adjust the compression ratio for JPG files. Tooltips will help you select the key settings:
- Resolution
- Single-page image format
- How to convert images into TIFF and PDF
- To scan multipage TIFF and PDF documents, you no longer need to install ImageMagick.
- If you also use 1C:Document Management, you can add and view attachments to catalogs and documents in the same way as when you store files in the application. To do it, click on the paperclip icon and the hyperlink in the command bar of a catalog or document item form.
Properties
- 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.
What’s new for developers in version 3.1.9
Core
- New
AddToList2
procedure in theCommonClientServer
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. - New optional
ExpectedValues
parameter in theCommonClientServer.CheckParameter
procedure. You can use the parameter to check possible parameter values of procedures and functions. For example, if theColor
parameter of theSpecifyColor
procedure can have only three possible string valuesRed
,Yellow
, andGreen
, then you can check the parameter value as follows: ~~~ CommonClientServer.CheckParameter(“Colors.SpecifyColor”, “Color”, Color, Type(“String”), “Red,Yellow,Green”); ~~~ - New
StandardSubsystemsServer.IsTrainingPlatform
function in the API. The function allows branching code that depends on restrictions of the training platform version. - In client code, use the
IsBaseConfigurationVersion
andIsTrainingPlatform
functions of theStandardSubsystemsClient
common module andCommonClientServer.COMConnectorName
instead of obsolete same-name properties of the structure returned by theClientRunParameters
andClientParametersOnStart
functions of theStandardSubsystemsClient
common module. - New
ValueToJSON
andJSONValue
functions in theCommon
module. These functions simplify value conversion into and from the JSON format. - New
IsDistributedInfobase
function in theCommon
common module. You can use the function to check whether the infobase is distributed.
Report options
- Now you can develop separate report options that will be optimized by width and content specially for the mobile client. Depending on devices for which a report option is used, you can select Computers and tablets, Smartphones, or Any device.
- To ensure optimal viewing experience, reports for smartphones are not displayed on computers and tablets, and reports for computers and tablets are not displayed on mobile devices. When developing a report option, you can specify for which devices it is used (the
Enum.ReportOptionPurposes
type) in theCustomizeReportsOptions
procedure in the report manager module or centrally in theReportsOptionsOverridable
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.
- You can specify devices for which a report option is used in the
CustomizeReportOptions
procedure in the report manager module or in theCustomizeReportOptions
procedure of theReportsOptionsOverridable
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:
- Configure object registration in the exchange plan when saving the objects above. For example, you can use the
OnWrite
event subscription. You can find the example in the demo configuration:EventSubscriptions._DemoRegisterChangesForStandaloneMode
andEventSubscriptions._DemoRegisterChangesForStandaloneModeRegisters
. - Configure the data exchange start in the background with enabling the idle handler at the start of the mobile client session if the main server is available. You can find the example in the demo configuration: the
OnStart
procedure of theCommonClientOverridable
common module. - Extend the offline configuration with all metadata objects (for example, common modules) used in the algorithm of data export and import to the offline configuration. You can find the example in the demo configuration: the
_DemoExchangeMobileClientOfflineServerCall
common module. - Add a role that grants full rights to the exchange plan to exchange data with the offline configuration. You can find the example in the demo configuration: the
_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 theAddEditReportsSnapshots
role to access group profiles of mobile client users.
Import data from spreadsheets
- Simplified import of additional attributes and properties when importing data from a file using a custom algorithm. Now property values of an owner object are saved automatically. To enable it, call the
WriteObjectProperties
API procedure of theImportDataFromFile
common module and pass a reference to the property owner object and a string of data to import as parameters.
Contact information
- Now you can locate the + Phone number, address button to the right or to the left of the group of contact information fields. To do it, use the
PositionOfAddButton
property in theOnDefineSettings
procedure parameter of theContactsManagerOverridable
common module. By default, the button is displayed on the left.- Besides, you can use the
CommentFieldWidth
parameter to specify the exact width of the Comment field for contact information fields with the following types:Phone
,Email
,Skype
,WebPage
, andFax
.
- Besides, you can use the
Data exchange
- New
GetWSProxy_3_0_2_2
function is added to theDataExchangeServer
common module API. For more information, see the function description. - New
AfterImportObject
andOnRegisterDataImportHandlers
procedures are added to theDataExchangeEvents
common module API. For more information, see the procedure description.
Users
- Now you can use the new
UsersClient.IsFullUser
function in the client code instead of the obsoleteIsFullUser
,IsSystemAdministrator
, andHasAccessForUpdatingPlatformVersion
properties of the structure returned by theClientRunParameters
andClientParametersOnStart
functions of theStandardSubsystemsClient
common module.
File management
- The
IsFullUser
property of the structure returned by theFilesOperations.FilesOperationSettings
function is now obsolete. Instead, use theUsers.IsFullUser
andUsersClient.IsFullUser
functions. - New procedures and functions in the
FilesOperationsClient
common module for scanning images:AddFromScanner
CombineToMultipageFile
ScanCommandAvailable
andScanAvailable
- Additional procedures and functions:
AddingFromScannerParameters
,GraphicDocumentConversionParameters
,ScanParameters
,ConversionResultTypeBinaryData
,ConversionResultTypeFileName
, andConversionResultTypeAttachedFile
- New API procedures and functions for managing the scan settings:
- New
SaveUserScanSettings
procedure andGetUserScanSettings
function in theFilesOperations
andFilesOperationsClient
common modules. - New
UserScanSettings
function in theFilesOperationsClientServer
common module.
- New
- For more information, see the description of the procedures and functions.
Report distribution
- Sometimes besides the standard parameters of an email subject and text, you might need additional parameters, for example, First name, Last name, and other. To specify such additional parameters, you can use the
OnDefineEmailTextParameters
andOnReceiveEmailTextParameters
procedures of theReportMailingOverridable
common module. For more information, see comments to these procedures.
Properties
-
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 the
PropertyManagerClient
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 thePropertyManager
common module. Call this procedure in theBeforeDelete
procedure in the object module of the source catalog:
// StandardSubsystems.Properties
PropertyManager.BeforeDeleteObjectKind(ThisObject);
// End StandardSubsystems.Properties
Digital signature
- If a signature cannot be verified due to external circumstances (for example, an up-to-date revocation list is unavailable), the structure will contain
True
in theCheckRequired2
property. - To get the detailed verification information, pass a structure created by the
SignatureVerificationParameters
constructor in theDigitalSignatureClient
common module to theCheckParameters
parameter of theVerifySignature
procedure and set theResultAsStructure
flag. - New
ShouldIgnoreCertificateValidityPeriod
parameter is added to theRefineSignature
procedure of theDigitalSignatureClient
common module. You can use the parameter to add a timestamp to a signature whose certificate expired. - New
DeleteDigitalSignatures
role is added to delete signatures of other signers. - For the
Sign
andDecrypt
functions of theDigitalSignatureClient
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.
Migrating from version 3.1.8 to version 3.1.9
Required migration actions
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.
- Names and parameters of export procedures and functions of common modules, object modules, manager modules, and record sets located in the
Public
area. - Names and parameters of all export procedures and functions of overridable common modules.
- Names of metadata objects (including their attributes, tables, and so on) that you can access from the application code or queries.
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.
Core
- If the configuration is designed for the mobile client, replace code snippets in the
BeforeStart
,OnStart
,BeforeExit
, andCollaborationSystemUsersChoiceFormGetProcessing
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
Data exchange
- If Cloud Technology Library 2.0.10 or later is used in the configuration, add the
DataExchangeEvents.OnRegisterDataImportHandlers
procedure call to theOnRegisterDataImportHandlers
overridable procedure of theExportImportDataOverridable
common module:
Procedure OnRegisterDataImportHandlers(HandlersTable) Export
DataExchangeEvents.OnRegisterDataImportHandlers(HandlersTable);
EndProcedure
Constant.UsePerformanceMonitoringOfDataSynchronization
Catalog.DataExchangesSessions
Report distribution
- The
IncludeDateInFileName
attribute of theReportMailings
catalog is marked as obsolete and renamed toObsoleteIncludeDateInFileName
. Delete the attribute from the code, queries, and reports.
Optional migration actions
The actions listed below are not required for migration, but we recommend that you perform them in the future.
Contact information
- Corrected a typo in the
PhoneWithExtensionNumber
property in the return value of theContactsManager.ContactInformationParametersDetails
function. We recommend that you use the new property name. The previous property name is left for backward compatibility.
Migrating from earlier versions to version 3.1.9
When you migrate from earlier versions to version 3.1.9:
- Compare and merge the current version with the distribution file of the latest library version that you migrate to in Designer.
- Follow the instructions from all the Migrating from version B to version A sections for each skipped version.
Migrating to patch releases 3.1.9
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.