New releases > ELMA365 SaaS / 2023.9


Document Management

  1. TEAM-19381 In the Files workspace, a Select All feature has been added. It allows you to select only the files displayed on the page or all stored in the workspace.
  2. TEAM-20209 A customization capability for the print form of approval sheet or list of informed users for a document package has been added. This option is activated through the enableDoctemplateDocflow parameter.
    In the Administration > Document Management workspace, there is a page for configuring templates. Here, you can apply a custom sheet template in either .docx or .xlsx formats.
    If there is no custom template, the standard one with multilingual support fields will be applied. If a user doesn't have an ECM license, the functionality to customize user templates will be unavailable, even if the option is activated. Minor changes without enabling the parameter: updating the name and icon of the export button while retaining the main export logic.
  3. TEAM-20240 An Insert Watermark action has been added for business processes. It is available in the designer during modeling. Watermarks can be added regardless of document printing settings and can be configured in HTML format. The action takes a file with .docx, .xlsx, .pdf extensions, the name of the output file, and an unlimited set of watermarks as input. The result is a PDF document with overlaid watermarks.
  4. TEAM-21103 In the Task element of the business process, a new Substitutions tab has been added. With its help, you can manage task transition to a substitute. The tab contains the Ignore substitution field, which can be associated with a Yes/No type context variable. When this variable is activated (with a value of Yes), the task will remain with the initial executor and will not be passed to the substitute user, even if substitution is set.
  5. TEAM-21760 In the Approval, Send app/file, and Registration elements, a new Substitutions tab has been added. This tab allows you to regulate the task transition to a substitute. The tab contains the Ignore substitution field, which can be associated with a Yes/No type contextual variable. When this variable is activated (with a value of Yes), the task will remain with the initial executor and will not be passed to the substitute, even if substitution is set.
  6. TEAM-19904 The icon of the Simple Electronic Signature module has been corrected.




  1. TEAM-21314 In the session functions, an option has been added that allows users to detach previously linked requests, i.e., remove the connection with an app element for request tracking. Now, in cases of erroneous or repeated linking of the same requests, users can make corrections themselves.
  2. TEAM-21951 A new message type, System, has been added to live chats. It visually differs from regular user messages.
  3. TEAM-21197 Administrators and supervisors can now specify multiple keywords or phrases for the Subject and Message text attributes in one condition when setting up routing. This simplifies rule creation by eliminating the need to add a separate condition for each word or phrase.
  4. TEAM-21230 For the Inbox, the option to remove clients from the list of session participants has been added, except for the first client in the list. Standard access rights apply, allowing only users with supervisor or operator rights to remove clients.


TEAM-19838 The ability to view settings for weekends and exclusion days for the past period has been added in the Administration section.



TEAM-21135 When reassigning a task to another user, there is now an option to select the executor using parameter-based search.



TEAM-19664 The ability to delete or edit filters in the Leads and Deals apps has been added.

TEAM-21641 When searching by the Lost reason parameter, all created reasons for refusal are now listed for selection, eliminating the need to remember and enter them manually.



  1. TEAM-19954 Logical NOT added to TSSDK.

A new operand, not, has been added to the GlobalFilter object, which is used in the where search condition:

await, g) => g.not(

The not operator in GlobalFilter can be combined with the and and or operators:

await, g) => g.not(

Example of using the not operator directly with a field:

await => it.__name.not.eq("First")).all()

  1. TEAM-21634 Public API methods have been added that allow determining whether the configuration object export is available (without checking dependencies).

The webapi are located at: {company_host}/pub/v1/scheme/...

New methods that return the exportability indicator:

  1. Workspace: namespaces/{code}/exportable;
  2. Module: modules/{id}/exportable;
  3. App: namespaces/{namespace}/apps/{code}/exportable;
  4. Solution: solutions/{code}/exportable;



TEAM-21719 We added the ability to export any free module.



TEAM-22214 The allowAttachExtensionScriptFiles flag is enabled for the on-premises edition by default. If the flag is enabled, an API methods editor adds a Files tab. You will be able to upload files and then refer to them in scripts by their identifiers.



  1. TEAM-20596 To enhance the convenience of monitoring and managing multiple projects simultaneously, a new Project plan view widget has been added.

It can display calendar plans for multiple projects, providing a visual representation of the work schedule across a project portfolio.

Main features:

  • Multiple input. The widget allows input from both the Project plan app items and arbitrary Project app items.
  • View-only mode. To ensure stability and prevent conflicts, multi-project display is exclusively available in view mode.
  • No editing capability. When inputting data from several projects, the Edit button on the widget will be automatically disabled.
  1. TEAM-21558 To provide greater flexibility and adaptability of the interface to client needs, the Gantt Chart widget will no longer have a built-in static title. This will allow clients to independently determine the widget's name based on specific requirements and tasks.



TEAM-8124 Based on feedback from clients, we have added the option for soft deletion of user groups, simplifying the administration process and removing redundant, outdated groups from the general list.

Key features:

  • Groups can now be deleted, but they remain in the system marked as deleted. This allows for the group to be restored in the future if necessary.
  • Deleted groups are not displayed in the general list by default. They are accessible only when applying the Deleted filter.
  • Added the ability to restore deleted groups directly from the interface.
  • When exporting data structures or creating backups, deleted groups are not included.
  • For security and stability, system groups can now not be deleted either through the interface or via the API.

This update aims to simplify the administration process and manage access rights.


Chats, Channels

TEAM-19575 We optimized the chat search function to improve user experience and reduce the time taken to find the desired interlocutor.

What's changed:

  • The order of displaying results in the drop-down search list has been altered: now personal chats are shown first, followed by group chats.
  • Group chats are now sorted alphabetically for convenience.
  • Channels and live chats are displayed after personal and group chats.



TEAM-19623 Optimized event export in the Calendar:

  • Export Events and Share My Calendar are duplicated in the left menu.
  • All events are now exported in the UTC+0 time zone. This will prevent confusion with time zones, and time adjustments will be done by the external calendar.
  • The event export settings are saved automatically. Any changes you make on the export page are saved instantly. With each save, you will see a notification "Export settings saved".


Expansion of context for imported apps

TEAM-20143 Implemented the ability to expand the context in locked apps, i.e., those imported as part of a solution.

This feature is enabled for each app individually, in the app's settings.

The behavior when this setting is enabled is described below:

In the app menu, the Context Extension option appears. The option is available even if the app is locked.

The option allows:

  • Creating context variables.
  • Managing the display of variables on the app forms.
  • Creating widgets to display variables on the app forms.

When updating a solution that includes an app with a set context extension:

  1. Context extension conflicts are displayed separately from the app conflicts.
  2. If the context extension is set on the target platform and not in the update file, there shouldn't be any conflicts.
  3. Soft update works similarly to updating the app itself and the app forms (widgets).


Navigator Widget

TEAM-18139 Added the Navigator widget, which allows for dynamic page content changes without reloading. For instance, you can configure the portal's main page so that the content changes without reloading when navigating to different portal menu items.


Bugs fixed

  1. TEAM-19574 An issue was detected where tasks were displayed in the Assigned by me section even when the Show in Tasks assigned by me setting was disabled. After correction, when this setting is deactivated in the process, tasks of this process will no longer be displayed in Tasks > Assigned by me. To increase flexibility and user convenience, the flag existLoggedFieldInTaskCollection was added, allowing users to choose between the old and new behaviors, depending on their needs.
  2. TEAM-19939 With a configured Webhook block in the business process, where it was set to interrupt the process in case of an error, the process continued execution and did not stop. The interruption indicator was missing in the process monitor. The issue has been fixed.
  3. TEAM-20600 The operation of the start form was fixed. Changes to it are applied only after the process is published.
  4. TEAM-21323 Fixed the display of date input fields in task filtering.
  5. TEAM-21628 When exporting a configuration with a Report type app and then importing it into a second company, data sources were missing in the target company. Proper saving of data sources during export and import has been ensured.
  6. TEAM-21884 When transferring an application with a business process from one company to another, editing the user form of the Task block in the process resulted in a "Can’t find process form" error. The issue has been fixed.
  7. TEAM-7089 In server scripts of processes and widgets, it's now possible to refer to the App parameters via context property.

let gt =;

  1. TEAM-13353 When comparing two identical dates using the equal method, it returned false instead of the expected true. This led to incorrect script operation. The issue has been fixed.
  2. TEAM-20816 The GET /scheme/namespaces/{ns}/apps/{code} method now correctly returns namespace and code for field of the app type.
  3. TEAM-20893 An error was corrected in portal authorization via SMS. When inviting a user to the portal, the first number from the profile was previously chosen, even if it wasn't a mobile number, leading to issues with sending a verification SMS code. The logic has been changed; now, the code is sent to the first mobile number in the user's profile.
  4. TEAM-21164 After deactivating the portal, the portal page constructor still remained accessible via a link. Access to editing portal pages has been restricted after its deactivation.
  5. TEAM-21537 Attempting to import a module with a custom task form in a business process into another DEV cluster company resulted in an error. The behavior has been fixed, and the module is now successfully imported.
  6. TEAM-21832 When attempting to register an external user on the portal, an empty error appeared on the frontend, preventing the completion of the registration. This issue has been resolved, and external user registration now proceeds correctly without errors.
  7. TEAM-21868 After adding new variants to a category using a user script, the Category field on the form was not automatically updated. This issue has been fixed.
  8. TEAM-22037 When editing API method parameters in a module, changes were not saved if they did not concern the function code. The Save button was inactive and there was no save notification. The issue has been resolved. Now, changes to the API method parameters are saved correctly, regardless of whether changes were made to the function code.
  9. TEAM-22086 When attempting to grant additional permissions to an item through a business process, the process ended in an error. The problem was related to the item having a NULL value in the permissions column. The issue has been fixed.
  10. TEAM-20573 In some cases, after correcting validation errors, they still displayed under the form fields even though they no longer appeared in the validation error widget. The inconsistency between the display of errors in the validation widget and under the form fields has been eliminated. Now, when errors are corrected, they correctly disappear from both locations.
  11. TEAM-21309 The interface and logic of the validation error widget have been improved. Scrolling from the validation widget to fields of all types now works correctly.
  12. TEAM-21835 After recent code changes, the onFieldDataChanged method could not find the corresponding control, causing filters set through setFilter not to be applied correctly. The logic of working with controls has been corrected, ensuring proper application of filters through setFilter. Now, when scripts are executed, field filtering occurs as expected.
  13. TEAM-22350 When creating nested dynamic lists based on data from a nested table, only the first level of the dynamic list was displayed. The second level (nested dynamic list) did not render. The issue has been fixed.
  14. TEAM-21206 After changing the settings for linking the business process to the Projects app (and types), the Generate from Template process now launches correctly.
  15. TEAM-21513 A discrepancy in the auto-scheduling functionality has been addressed. Now, when using auto-scheduling and changing the start date of one of the tasks, the system correctly automatically adjusts the start and end dates of all related tasks, maintaining their original duration. Tasks can no longer have an end date preceding their start date.
  16. TEAM-21602 The issue of errors occurring when opening a new project has been resolved. Users can now seamlessly create and open projects without encountering errors.
  17. TEAM-21627 An error that occurred when modifying a project plan element in the calendar plan editing mode has been fixed.
  18. TEAM-21696 An issue related to a 500 error when trying to change the task completion percentage from the calendar plan view widget for projects of a certain type has been resolved. Now, users can correctly change the task completion percentage in both standard and specific type projects directly from the view widget without errors.
  19. TEAM-22050 An issue was identified and resolved with the business process for bulk archiving of projects. Now, when the business process actions are successfully executed, projects are correctly moved to the archive and disappear from the general list. This behavior was achieved by adjusting the logic for handling projects at the final stage. Such projects no longer appear on the main project page, consistent with expected behavior.
  20. TEAM-10740 The Number type is now correctly converted to the Number format in Excel.
  21. TEAM-17871 An error was found when attempting to access the version history of a business process, leaving the page blank with an error message appearing in the console. After the necessary corrections, the version history now displays correctly, allowing users to view all business process changes. Additionally, for an improved user experience, a spinner indicating data loading has been added when loading version history.
  22. TEAM-18475 The date in the document received from Diadoc is now correct.
  23. TEAM-19724 When versioning multiple files, users now receive a warning that a new file will not be created.
  24. TEAM-20036 Fixed an issue with the reactive update of the Document Versions widget.
  25. TEAM-20923 Fixed field namespace indexing in the contract when multiple imports with identical names are performed.
  26. TEAM-21199 When generating a file from a template, the condition > 0 used to work as >= 0. This error has been corrected. The condition now strictly works as > 0.
  27. TEAM-21225 When saving contract settings, the name field remained empty even if a value was specified. This error has been fixed.
  28. TEAM-21234 Now, when creating and modifying a contract via API, the field is correctly filled if the code exactly matches the field in the source.
  29. TEAM-21335 Corrected the dynamics on the form when working with a Files-type variable. When adding a file on one form tab and subsequently modifying it, the file is correctly displayed as read-only on the second tab.
  30. TEAM-21356 Nested tables in document templates are now correctly filled by a loop in the On-premises edition.
  31. TEAM-21494 When working with documents containing quotation marks (") in the title, the Apply Stamp module caused an error. This issue has been resolved. Now, even with quotation marks in the title, files are correctly created and processed by the module.
  32. TEAM-21594 The version number in the metadata is now correct when sending an informal document.
  33. TEAM-21647 Fixed an issue where the image in the document header disappeared when generating from a template.
  34. TEAM-21716 A link in the simple electronic signature module has been corrected.
  35. TEAM-21723 Fixed a bug in the new templating system for tables within the app list.
  36. TEAM-21989 Corrected incorrect function substitution in naming app items from a template.
  37. TEAM-22276 Fixed the duplication of watermarks when overlaying in the process.
  38. TEAM-22277 Fixed the error that appeared when restoring an approval sheet from the archive.
  39. TEAM-22313 The size of new files created in the system is now correctly displayed.
  40. TEAM-22618 Fixed an issue with adding a new app on the contract sources page.
  41. TEAM-20343 Resolved a problem where files were received without a format and could not be opened.
  42. TEAM-21460 After changing the operator, the Value field in the routing rule no longer resets.
  43. TEAM-21869 Fixed a page hang when editing rule attributes set in the Routing tab.
  44. TEAM-21901 Fixed line breaks in the Response Message activity in the line.
  45. TEAM-22216 LiveChat widget no longer affects the styles of the site it's added to.
  46. TEAM-10866 Now, when clearing a value in a Arbitrary app field, the check for the mandatory filling of this field works correctly. If the field is set as mandatory and it has been cleared, the system will not allow saving the form without proper filling and will issue a corresponding warning.
  47. TEAM-16589 Resolved an interface issue in Administration > Groups. Now, when clicking on group members, the page of the corresponding user correctly opens, and when clicking on the group name, its card opens.
  48. TEAM-17754 Resolved the issue of missing notifications for users subscribed to an item when sending messages to that item's feed. Now, regardless of how the message is sent, subscribed users receive correct notifications.
  49. TEAM-19567 Fixed an issue with the display of the input in a table cell when inserting a large text into another cell. Now, when clicking on any part of the cell, the input for entering or editing data is correctly displayed.
  50. TEAM-20537 The value global is now reserved in the system as a system value. When trying to create a section with the code global, the system blocks this action and issues a corresponding warning to the user. This limitation is implemented at the backend level, ensuring reliable protection from possible conflicts related to routing or other system functions, especially in the context of a public web API.
  51. TEAM-20537 When trying to upload a file to an unsuitable app, the system now checks the compatibility of the file structure with the app structure. If the structures do not match, the user receives an informative warning that the selected file does not match the expected structure and a recommendation to check the correctness of the selected file. This prevents potential errors and panic associated with uploading unsuitable files, providing a clearer and more user-friendly interface.
  52. TEAM-21005 During integration, there is now a strict check of data types entering fields. If the value passed to the field does not match the expected type, the system returns an error, indicating a mismatch of data types.For an app where a string value is expected, the system will not allow saving a number or another type of data and vice versa. This prevents errors when attempting to display data in tabular form and ensures correct data saving and display in the app.
  53. TEAM-21325 Fixed an error in determining the overlap of events with the same start and end dates. Previously, events with a duration of 00:00 were not considered as overlapping. Now the system correctly determines such overlaps and notifies the user with a pop-up window.
  54. TEAM-21846 Fixed an error with dependency checks when updating a solution. Now, if a solution has dependencies on other solutions, the system correctly checks their presence when updating. If the necessary solution is missing, an update is impossible.
  55. TEAM-22322 Fixed an error when opening the form of an app element with subfields of the Table type. Users can view and edit such elements.

Found a typo? Highlight the text, press ctrl + enter and notify us