New releases > ELMA365 SaaS / 2024.1

2024.1

Document management

1. TEAM-21489 In the Send file/app item element, the ability to configure additional transitions of the business process for handling errors and archiving the list of informed users has been added. Settings are configured on the Transitions tab.

 

2. TEAM-22372 In the HTML watermark template, a field for displaying the provider's name can now be added. To do this, use the construction {$signInfo.data.provider_name}.

 

3. TEAM-23889 When generating a file based on a template, the ability to access attributes of an Arbitrary app field has been added. To do this, use the field code from the source app and the code of the nested variable, separated by a dot: {$contract.__name}.

 

4. TEAM-24140 When generating a document based on a .xlsx file template, you can now use the standard Excel function HYPERLINK. With its help, you can convert a specified value into a hyperlink. Context application variables can be used as arguments, and values can also be manually specified.

Example:

=HYPERLINK("{$link}";"Click to view report")

 

5. TEAM-24205 In the Approval element, automatic document approval can now be configured. The user issues a resolution in the card of the configured task. After that, the process reaches the Approval element, and an approval sheet is automatically created. This option eliminates the need for a separate document approval task.

 

Business processes

 

1. TEAM-12540 We added the ability to select the debugging mode of a business process: to check the execution of the entire diagram or enable debugging from a specific step. If an element is selected on the process map, debugging will start from it. If no elements are selected on the diagram, debugging of the entire process will start.

In the process designer, a Debugging Settings tab has been added, where you can configure the debugging form. With the debug form configured, there is no need to fill in the process start form.

 

2. TEAM-18876 It is now possible to assign a task to multiple users simultaneously. When selecting an assignee, you can choose multiple users, a group, or an organizational chart element. The task is assigned for parallel execution.

In the Outgoing section, the initiator can open the task page and view a table displaying all the performers and current task statuses. The table appears when two or more performers are selected.

In an already created task, the number of performers cannot be changed.

 

3. TEAM-20791 In the settings of the Create App Item and Edit App Item elements, a Transitions tab has been added. Here you can configure additional transitions from the task, for example, to cancel the creation of an element and redirect the process flow along another branch.

 

Apps

1. TEAM-4406 When filling in a field of the App type, the ability to select multiple items at once has been added. You can select specific items, a page of items, or all created records.

 

2. TEAM-20531 The logic of updating access rights and managing access rights in a locked solution has been improved:

  • In a locked solution, you can edit app access settings and page access.
  • History tracking has been added for access rights structures.
  • When updating structures (solutions/workspaces, etc.), a separate step for updating access rights settings has been added. It displays all settings with conflicts, i.e., rights were changed on the target platform, in the file used for updating, and the version history diverged. The user can choose which settings to update and which to leave.

Important: Since existing workspaces/solutions/configurations do not have version history, false conflicts may occur during the update. Such conflicts can be ignored, and the update can be continued. To prevent further conflicts, the solution must be exported from version 2024.1 onwards. Version history will be added to the access rights structure upon export.

 

3. TEAM-21007 Enhanced user experience for assigning employees to a role. The appearance of the user selection window, user groups, and organizational chart elements has been adjusted.

 

4. TEAM-21399 Adjusted the time when moving an event in the calendar in the Event app type. Now, the step is set to 15 minutes.

 

5. TEAM-23402 Added a setting for the minimum row height in the Table data type. Now you can set the minimum height value for table rows in pixels. The minimum value is 35 pixels.

The alignment of cell content by height has been fixed.

 

Administration

1. TEAM-23598 We added the ability to hide Help navigation buttons from the ELMA365 interface. To do this, go to Administration > Theme Settings and disable the option Show links to Help Center. Hiding these links can be useful for companies operating in closed environments.

 

2. TEAM-23680 In Administration > Developer Tools > Performance Report, saving in the general list of manually generated reports has been implemented. Now, the method of report generation is indicated in the table. Each report from the list can be downloaded to the computer at any time.

 

EQL search

1. TEAM-22454 Automatic filling of values for composing EQL queries has been implemented in the search by parameters window in the EQL Search element. Now, the rows are numbered, and available parameters and functions can be selected from the displayed list.

 

2. TEAM-24229 Implemented the ability to search for the current user in the EQL query. Functions like CurrentUser() in [users] and [users] in CurrentUser() can be specified.

 

Reports

TEAM-22574 The logic of working with deleted columns has been improved in the Report component:

  • When using scripts, searching by deleted columns is unavailable.
  • Deleted columns are not considered when exporting the report to a file.
  • If the Table widget is built from report data, the deleted column will not be displayed.
  • If the Chart widget is built from report data, it needs to be reconfigured after removing columns.
  • Columns can be restored. To do this, a column with a similar code and type is created.

 

Mobile application

TEAM-12703 Access to the main page has been added to the mobile application. To navigate, open the extended menu and select Home.

 

Widgets

1. TEAM-13950 In the interface designer, filtering by all properties created within widget contexts has been added. To find the desired property, go to the Widgets > Properties tab and use the search bar.

 

2. TEAM-21376 In the interface designer, the full name of the property is now displayed when hovering over it on the side panel.

 

3. TEAM-18104 Commenting settings have been implemented in the feed. An option to Forbid users to send new messages has been added to the Activity Stream widget. When this option is enabled, users cannot send new messages to the feed. Only commenting on existing messages is allowed.

 

4. TEAM-22125 The Navigator widget has been enhanced:

  • Added the ability to work with portal pages in the Navigator widget using TypeScript methods.
  • The portal created from a template now uses navigation based on the Navigator widget.

 

5. TEAM-23830 Extension zones for system information display widgets and user management have been added. Extension zones can be used when creating widgets in modules. A widget with such an extension zone will be displayed when clicking on a user's name, in the user page in the Employees app, and in the user profile settings.

 

Modules

TEAM-22696 Now, free modules that are not part of the solution can be edited after importing into the company. Such modules are marked in the general list with a Free Module icon.

 

CRM

1. TEAM-23805 We added the ability to customize the list of CRM activities displayed in the Activity Log widget. Now, pre-configured activities can be hidden, and custom actions can be created. Custom activities will be executed during a business process. This is configured in the process designer using the Create Activity Entry element.

 

2. TEAM-23833 Added the ability to change the status of leads and deals when performing mass actions on items. For new leads and deals, any status can now be set, and a responsible person can be assigned if not specified in the item page. Also, when editing the item status, statuses configured in any pipeline can be selected.

 

3. TEAM-22918 In the process designer, when assigning CRM tasks to users without CRM licenses, a notification has been added indicating that the assignee will not have access to the task.

 

4. TEAM-23463 For users with CRM licenses, the ability to send notifications to email during a business process from a personal email address configured in the Email workspace has been implemented. This can be configured in the process designer using the Send Personal Email activity. The user whose email is specified in the element's settings must allow the use of email in processes in their profile settings.

 

5. TEAM-23022 In the Platform Change Audit and CRM Change Audit modules, the ability to configure logged events has been added: Create, Update, Delete, Restore. Event viewing forms have been improved. Errors related to module updates have been fixed.

 

Live Chats

1. TEAM-20307 We added the ability to specify the email subject when creating a session via the Inbox channel. Also, the display of the email subject has been improved.

 

2. TEAM-23638 We implemented the ability to configure the maximum number of reconnect attempts for the Inbox channel. To do this, a parameter ELMA365_MAILER_IMAP_MAX_RECONNECT_ATTEMPTS has been added to the mailer service configuration. By default, the parameter is set to five.

 

3. TEAM-20561 In the settings of the Send Live Chat Response element in the live chat, the ability to select the session type to which the reply should be directed has been added:

  • Earliest created session;
  • Latest created session;
  • With the last incoming message;
  • All related sessions.

 

Projects

1. TEAM-17159 In the calendar plan editing mode, a Execute button has been added to the context menu of a task. Clicking the button executes the task and sets the progress level to 100%.

 

2. TEAM-19695 In the project plan, in the editing mode of the Gantt chart diagram, values ​​in cells of the table are now saved without pressing the Enter key.

 

3. TEAM-22210 Visualization of resource planning results has been implemented. The load panel is available in full-screen mode of the Gantt chart diagram.

  • In the calendar plan editing mode, resources can be added to plan items in the Planned workload table;
  • When saving changes to tasks and publishing the calendar plan, corresponding loads will be added to the Projects/Workload app;
  • Resource planning results can be viewed from the project page in full-screen mode of the Gantt chart diagram.

 

API, SDK

1. TEAM-20625 Added the getWithWatermarks method, allowing to apply a watermark to files in .xls, .xlsx, .doc, .docx, .pdf formats.

// Create a list of watermatks
const watermarks: Watermark[] = [{
  template: "<div style='border:2px solid coral; max-width: 62px;'>В работу</div>",
  position: WatermarkPosition.Center,
  pages: WatermarkPages.All,
  scale: 0.5,
  opacity: 0.75
  }];
// Get id of the file where we want to apply the watermark
const fileId = Context.data.file.id;
// Apply watermark
const tmpFile = await System.watermark.applyToFile(fileId, watermarks);
 
@param fileId  id of the file to watermark;
@param watermarks  array of watermarks applied to the file.
}

 

position: WatermarkPosition;
  // Pages to be displayed
  pages: WatermarkPages;
  // Scale of the final watermark. 0..1
  // 1 = 100%
  scale: number;
  // Opacity of the final watermark. 0..1
  // 1 = opaque
  opacity: number;
}
//Position of the watermark
//Depending on the position, the margin of the page is calculated taking into account the size of the watermark and the page
export enum WatermarkPosition{
  Center,
  TopLeft,
  TopRight,
  BottomLeft,
  BottomRight
}
//Pages to be watermarked
export enum WatermarkPages
{
  All,
  First,
  Last
}
 
@returns  instance of [[FileItemRef]] showing the temporary file with the watermarks.

 

2. TEAM-21282 Added the System.converter.toPDF() method for converting files to .pdf format. The method does not modify the source file, the identifier of which is passed in the fileId parameter. Conversion to .pdf is applicable for .xls, .xlsx, .doc, .docx files.

Usage example:

// Get id of the file to be converted to pdf
const fileId = Context.data.fileToConvert.id;
//convert the file to pdf
const tmpFile = await System.converter.toPdf(fileId);
 
@param fileId — id of the file to be converted to .pdf;
@returns  instance of [[FileItemRef]] showing the temporar .pdf file.

3. TEAM-12067 Now in scripts, strictly typed methods of the module can be used as a business process activity of the Script type with synchronous execution model. This may be required when developing integrations to isolate logic in modules.

 

4. TEAM-20246 EQL search support has been implemented in scenarios. Now it can be used in the where search condition by app:

const cu = await System.users.getCurrentUser();
// Can be used in a root condition
Namespace.app.requests
  .search()
  .where("[__name] like 'test' or [__createdBy] = @p0",{"p0": cu})
  .all();
// Same is the following filter
Namespace.app.requests
  .search()
  .where((f,g) => g.or(f.__createdBy.eq(cu), f.__name.like('test')))
  .all();
// Also can use EQL in the internal fitler and combine the expressions
Namespace.app.requests
  .search()
  .where((f,g) => g.or(f.__createdBy.eq(cu), g.where("[__name] like 'test'")))
  .all();

Important: An EQL query is a string in a script, it is not checked for correctness during publication. Therefore, any errors may lead to incorrect script operation. It is advisable to thoroughly test such scenarios and handle errors in queries.

 

5. TEAM-23916 Comparison methods afterOrEqual, beforeOrEqual have been added to the TDate, TDatetime, TTime data types.

 

6. TEAM-20398 Added TypeScript methods for working with reminders:

  • System.reminders.create() — creating a reminder for a task;
  • System.reminders.delete() — deleting a reminder;
  • System.reminders.search() — searching for reminders.

 

7. TEAM-22985 The ability to access other workspaces and modules using the global Imports constant has been added to the module settings. Implemented in API methods, actions in business processes, and event handlers.

 

8. TEAM-23879 Methods for working with the work calendar have been implemented.

Methods for saving work calendar settings in System.productionSchedule have been added.

 

Example:

// Change work calendar settings
const settings = await System.productionSchedule.getGeneralSettings();
settings.weekends = {
  monday:  false,
  tuesday:  false,
  wednesday: false,
  thursday:  false,
  friday:  false,
  saturday:  true,  // Saturday - day off
  sunday:  true,  // Sunday - day off
}
await System.productionSchedule.saveGeneralSettings(settings);
// Delete an exception from the calendar
await System.productionSchedule.deleteSpecialDays([new TDate(2023, 12, 31)]);
// Create a new exception in the calendar
await System.productionSchedule.saveSpecialDays([{
  date: new DateTime(2023, 12, 31),
  holiday: true,
}]);

 

Bugs fixed

  1. TEAM-24014: Now it's possible to output the size of the uploaded file using a script in the developer console or in a separate string on the app item form.
  2. TEAM-20919: In the R7 and OnlyOffice modules, an error has been fixed where the author of changes was displayed as System instead of the actual user after editing a file.
  3. TEAM-21806: Notifications in system approval processes have been edited. Now, a correct notification is sent depending on the resolution made.
  4. TEAM-22020: An error has been fixed where information tasks located inside a parallel gateway on the process diagram and assigned to one user were not reassigned.
  5. TEAM-22791: Execution of the getApprovalLists() method has been adjusted. If substitution is configured, the actual approver is now provided instead of the user being substituted.
  6. TEAM-22804: In the settings of the Sign element, the default transition reset has been fixed when the signing is canceled.
  7. TEAM-23483: When creating a temporary file using the System.files.createTemporary function, the name in the generated link did not match the one set in the script. This error has been fixed.
  8. TEAM-23594: In the Diadoc module, documents were getting stuck in the Waiting for synchronization status during processing. This issue has been resolved.
  9. TEAM-23739: A function call accessing a field of the App type added to the table was not working correctly. This issue has been fixed.
  10. TEAM-23891: In document generation from a template, accessing attributes of nested fields from the source app has been corrected. For example, functions like {$employee.user.__name} now work correctly, where employee is a Users type field from the app.
  11. TEAM-23942: In the Correspondence workspace from ELMA365 Store, the number of selected registration places in the registration settings was incorrectly determined. This error has been fixed.
  12. TEAM-24029: Text formatting during document conversion to .pdf format in a business process was incorrect. This issue has been fixed.
  13. TEAM-24047: Display of the warning window about unsaved changes when creating an application element has been fixed.
  14. TEAM-24079: In document generation from a template using the Barcode function, the QR code resolution has been increased from 96 to 300 DPI, and the compression algorithm has been changed to be less transforming.
  15. TEAM-24081: Not all users were displayed in the approval list on the item page when there were 100 or more users for approval. This display issue has been fixed.
  16. TEAM-24097: Display of the watermark on the uploaded document has been fixed if a print form is configured in the app.
  17. TEAM-24168: Document generation from a template using the ExtText function has been fixed when file attributes were passed as parameters.
  18. TEAM-24170: Configuration of background opacity in the HTML template when positioning the watermark has been fixed.
  19. TEAM-24209: The document classification scheme was not downloaded during app export. This error has been fixed.
  20. TEAM-24287: An access error has been fixed when restricting rights at the app item level.
  21. TEAM-24288: An access error that occurred when opening an image attached to a task feed has been fixed.
  22. TEAM-24330: File generation from a template was not working correctly if conditional formulas were used next to a Date/Time variable in an .xlsx format template.
  23. TEAM-24408: Display of column numbers when using the parseSpreadsheet method has been fixed.
  24. TEAM-24520: The option "Use returned" has been removed from the numerator settings because the number was not returned when this option was activated.
  25. TEAM-24531: An error occurring when printing a document with a watermark containing information about electronic signatures, if the document was not yet signed, has been fixed.
  26. TEAM-6634: An error during the export of a module with business processes where an organizational chart item was specified as the performer in the responsibility zone has been fixed. A check for groups in swimlanes has been added during process publication, and a warning is displayed if groups are specified in a dynamic zone.
  27. TEAM-18447: Search for tasks on the app page through related business processes and App type fields has been fixed.
  28. TEAM-19346: Now, in the process designer on the Context tab, system fields cannot be modified. Previously, field editing was allowed in settings but did not actually occur.
  29. TEAM-21442: The operation of the Email Notification element has been adjusted. An error where, even with the Reply-To field filled in, the email was sent to the corporate mail configured in the company, has been fixed.
  30. TEAM-23434: Display of task pages on the external portal has been fixed. Previously, when opening a task, redirection to the ELMA365 login page occurred even if the employee belonged only to the External Users group.
  31. TEAM-24060: A large number of tasks were displayed incorrectly in the Participating section on the Current tab. The display has been corrected.
  32. TEAM-24400: Now, if notification of the task performer is not enabled in the block settings in the process designer, the user does not receive a notification. Settings will be executed even if the option to notify about tasks via email is activated in the user's profile.
  33. TEAM-24445: Errors preventing the system update from version 2023.6.19 to 2023.6.20 and later have been fixed.
  34. TEAM-24476: An error in the Report component occurring when linking two sources by the App type field and the identifier of that app has been fixed.
  35. TEAM-24594: Display of the user's surname field in the parameter search on the app page has been fixed when selecting the Current user option.
  36. TEAM-24637: An error occurring when selecting the default transition in the process block settings has been fixed.
  37. TEAM-24835: Formatting of the table with versions of the published process in the process designer has been fixed, and the layout is displayed correctly.
  38. TEAM-23424: Changes to the CRM Call task have been adjusted. Now, when selecting the Missed Call option and opening a new task, all information is copied from the initial activity.
  39. TEAM-23956: Incorrect display of changes when switching between the Platform Change Audit and CRM Change Audit modules has been fixed.
  40. TEAM-24921: An error occurring during the import of configuration into another company has been fixed.
  41. TEAM-763: Fixed an error where access rights configured for a folder were not inherited for nested files.
  42. TEAM-18674: The URL copy button for API methods now functions correctly after the fix.
  43. TEAM-23312: The gear icon for accessing the interface designer no longer disappears when removing a widget from the main page.
  44. TEAM-23407: User-defined validation for always hidden fields now works as expected.
  45. TEAM-23859: Copying a page with widgets no longer results in creating a blank page.
  46. TEAM-16599: Search functionality for users in the Session List widget has been restored.
  47. TEAM-22419: Formatting issues with the `<b>` tag in message transmission via business processes have been resolved.
  48. TEAM-23387: Searching for sessions by name now functions correctly after the fix.
  49. TEAM-23411: Clicking on search results from the quick search panel now opens the session view page instead of the session's app item page.
  50. TEAM-16204: Display issues related to multiple versions of plans with a Approval status and assignment of multiple approval tasks have been fixed.
  51. TEAM-21522: Project plan names are now formatted according to a template: {Project_Name}. Version:{Version_Number}. Created:{Creation_Date}.
  52. TEAM-22416: Access rights settings during company creation in the Projects workspace have been corrected.
  53. TEAM-23014: System stages for projects are now assigned correctly.
  54. TEAM-23026: Tasks from non-primary project types are now correctly displayed in the Project Tasks and Project Milestones widgets.
  55. TEAM-23083: Percentage completion calculation for phase tasks with subtasks has been corrected.
  56. TEAM-23128: Task highlighting has been added in the calendar plan editing widget, showing icons when dragging tasks up or down.
  57. TEAM-23236: The latest launched process instance is now displayed in the project plan item form widget.
  58. TEAM-23244: Logic for creating project types has been improved to minimize errors in form copying when creating a new type.
  59. TEAM-23798: An issue with displaying estimated deadlines for regular tasks in the project plan has been resolved.
  60. TEAM-24318: Fixed an error in the notification timer for overdue project tasks.
  61. TEAM-24417: Corrected the calculation of the completion percentage for stage tasks based on nested tasks.
  62. TEAM-23030: Adjusted the appearance of the project creation button in Administration > Project Types.
  63. TEAM-23245: Now, in the system app Project Plan Item, the actual creation date is set in the Creation date field when publishing the calendar plan and creating items.
  64. TEAM-23278: The Type and Control fields on the project plan item creation form are now marked as required.
  65. TEAM-23539: The logic of displaying an empty project plan and automatically creating a draft has been adjusted:
  • When opening a new project page with the Gantt chart widget, the project plan app item is not created.
  • If there is no project plan in the Gantt chart widget, an empty plan is displayed.
  • The project plan is created only when the Save or Publish button is clicked in the calendar plan editing mode.
  • The option to "Display empty plan" has been removed from the widget settings form in the form builder if there are no drafts in the project.
  1. TEAM-23787: Unified behavior has been defined for checkpoints across all user interfaces
  2. TEAM-23880: Now, when adding a task to the calendar plan via the editor, the Notification required value is assigned to the Control field.
  3. TEAM-23935: Project plans without published plans are no longer displayed in the Project Plans View widget.
  4. TEAM-24343: Subtasks have been improved:
  • For regular tasks in the calendar plan with added nested tasks, a Task icon is displayed.
  • The size of the empty task icon has been adjusted to match other icons in the task list.
  • Milestone and Stage Task options have been added to the context menu of phase tasks, allowing these types of tasks to be added to phase tasks.
  1. TEAM-25003: The hierarchical folder now works correctly in the task tree of the Gantt chart widget.
  2. TEAM-9943: Fixed the list of solutions available for download when navigating to downloads using different methods.
  3. TEAM-14778: Screenshots of uploaded solutions will now be added to the ELMA365 Store user account.
  4. TEAM-16973: Widgets included in a paid solution will not be displayed if the solution is not activated. Instead, a notification of widget unavailability will be displayed.
  5. TEAM-19741: Adjusted the display of the user drop-down list when using the @mentions option.
  6. TEAM-21614: Fixed a filtering error when importing users from AD/LDAP.
  7. TEAM-22053: Fixed an error in setting dependencies between solutions when using an app from another solution/workspace in the business process context table.
  8. TEAM-22055: Fixed an error in setting dependencies between solutions when using groups from another solution/workspace.
  9. TEAM-22074: Added the ability to specify a solution code during creation. The solution code is now displayed in the solutions list in the main menu settings window and in Administration > Solution Management.
  10. TEAM-23137: Corrected the warning message during solution import.
  11. TEAM-23474: Added the ability to work with exports/imports/updates of structures (retrieving state) via WebSocket. Enabled using the feature flag sendExchangeTaskByWS.
  12. TEAM-24119: Adjusted the search for the current user in the pre-set table filter.
  13. TEAM-20385: Fixed errors when launching portable services in modules.
  14. TEAM-20779: Fixed the setting for displaying the full name format.
  15. TEAM-22325: Fixed the option to select all reports on the Performance Reports page.
  16. TEAM-22342: Now, the external portal included in a blocked solution remains blocked.
  17. TEAM-22892: Fixed editing errors in user data in System apps > External users .
  18. TEAM-22966: Fixed the generation of the password reset portal link for external users.
  19. TEAM-23121: External user data is no longer loaded in the Administration workspace to reduce unnecessary database load.
  20. TEAM-23583: Fixed import and manual update of external user data from AD.
  21. TEAM-23868: Fixed the filling of date/time variables. Adjusted time saving and display on the editing form to show "00:00."
  22. TEAM-23888: Fixed access provision to app items via a Role-type variable.
  23. TEAM-23953: Adjusted the transition from the password recovery page to the portal login page.
  24. TEAM-23989: Added an error notification when calling a disabled module's API method via a script.
  25. TEAM-24040: Fixed the Web API via the __id parameter through table filters.
  26. TEAM-24107: Previously, an error occurred when requesting a new access token via a refresh token in the external app module. Now, the request works correctly.
  27. TEAM-24116: Fixed the generation of URL links for password recovery with two-factor authentication via email.
  28. TEAM-24130: Corrected the display of digits after the decimal point in the Money data type.
  29. TEAM-24133: Fixed the display of the Settings button on various tabs in the event handler settings in the module. Now, the button is only displayed on the Scripts tab.
  30. TEAM-24350: Fixed the NOT logical operation in the setFilter() method.
  31. TEAM-24401: Fixed the display of start dates in the report table on the Performance Reports page. Now, the start and end of the reporting period match the earliest/latest measurement included in the report.
  32. TEAM-24403: Fixed import and update of a solution containing a module with a dependency of 4 MB or more.
  33. TEAM-24432: With two-factor authentication configured on the external portal, users received a duplicate registration confirmation email. Fixed the error.
  34. TEAM-24569: Fixed an error where action publication in a business process from a module failed if a Category variable was added to its context.
  35. TEAM-24681: Fixed formatting in the window for adding properties in the context of pages, apps, activities, etc.
  36. TEAM-25144: An error occurred when inviting an external user to the portal if they were added via the Namespace.portal.addUser method and then their profile was edited. Fixed the error. Profile editing no longer affects the invitation status.

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