...

Релиз 2023.5

Тема в разделе "Релизы ELMA365 SaaS", создана пользователем ELMA365, 6 июн 2023.

  1. ELMA365

    ELMA365 Moderator

    Бизнес-процессы

    1. TEAM-7600 В настройках блоков Подписать, Создание элемента и Изменение элемента в бизнес-процессах добавлена опция формирования названия задачи по шаблону. Она работает по такому же принципу, как и аналогичная опциия в настройках блока Задача.

    2. TEAM-17776 В блок Задача, добавлена настройка, управляющая видимостью кнопок переходов, а также кнопки В работе. Это опция применима к задачам с несколькими исполнителями при выборе настройки Кто первый.

    TS SDK и API

    1. TEAM-15962 В информацию о подписи https://tssdk.elma365.com/ru/interfaces/_10_signs_.signdetails.html добавлено поле с информацией о цепочке сертификатов https://tssdk.elma365.com/ru/interfaces/_10_signs_.signdetails.html#chain.

    Метод getDetails() позволяет извлечь всю цепочку сертификатов из подписи. Теперь можно получить сертификат подписанта с полями G и SN.

    2. TEAM-8321 Добавлены новые методы, позволяющие с помощью сценариев сделать следующее:
    • Поменять контекст бизнес-процесса.
    • Поменять контекст задач.
    • Добавить/изменить время выполнения задачи.
    • Закрыть задачу.
    Объект экземпляра процесса
    export interface ProcessInstanceItem
    Код:
    
    /**
    * Изменяет контекст экземпляра процесса.
    *
    * Если экземпляр процесса завершен или в текущий момент исполняет активный блок, то метод прерывается исключением.
    * В случае успешного выполнения изменяется контекст процесса, и метод отрабатывает без исключений.
    *
    * В примере контекст содержит номер договора, полученный из внешнего источника, например, с помощью запроса.
    * Метод позволяет установить полученный номер в контекст стороннего процесса.
    *
    * ```typescript
    * async function updateContext(): Promise<void> {
    *     try {
    *      // Получаем номер контракта из контекста
    *      const contractNumber = Context.data.contructid
    *
    *      // Запись процесса `newprocess` в переменную `processTemplate`
    *      const processTemplate = Global.processes.incomecontract;
    *      // Идентификатор экземпляра процесса берем из контекста процесса
    *      const instanceUUID = Context.data.instanceUUID;
    *
    *      // Ищем экземпляр процесса
    *      const proccess = await processTemplate._searchInstances().where(x => x.__id.eq(instanceUUID)).first();
    *
    *      // Комментарий для обновления получаем из контекста процесса
    *      const comment = Context.data.comment;
    *
    *      // Новое значение номера договора
    *      const context = {contract: contractNumber};
    *
    *      // Обновление контекста
    *      await process.updateContext(context, comment);
    *     } catch (e) {
    *      // Процесс уже завершен, можно обработать исключение
    *     }
    * }
    * ```
    *
    * @param context Новый контекст экземпляра процесса.
    * @param comment Причина изменения контекста экземпляра процесса.
    * Обязательный параметр. Не допускается передавать пустую строку.
    */
    updateContext (contextContextcommentstring): Promise<void>;
    Объект задачи процесса
    export interface ProcessTaskItem<Context extends ProcessContext = ProcessContext> extends BaseItem<ProcessTaskData>, ItemRef<ProcessTaskItem<Context>>, ProcessTaskItemRef<Context>
    Код:
    
    /**
    * Изменение времени выполнения задачи.
    *
    * Установка новой даты выполнения задачи:
    * ```typescript
    * try {
    *   // Получаем комментарий из контекста процесса
    *   const comment = Context.data.comment;
    *
    *   // Получаем ID задачи из контекста процесса
    *   const taskUUID = Context.data.taskid;
    *
    *   let task = await System.processes._searchTasks().where(x => x.__id.eq(taskUUID)).first();
    *   // Если задача не найдена, то выводим ошибку
    *   if (!task) {
    *     throw new Error('Задача не найдена');
    *   }
    *   // Получаем текущую дату
    *   let newDueDate = new Datetime();
    *
    *   // Прибавляем один день
    *   newDueDate = newDueDate.addDate(0, 0, 1);
    *
    *   await task.changeDueDate(newDueDate, comment);
    * } catch (error) {
    *   // Процесс уже завершен, можно обработать исключение
    * }
    * ```
    *
    * @param dueDate Новая дата завершения задачи.
    * @param comment Комментарий.
    */

    changeDueDate (dueDateTDatetimecomment?: string): Promise<void>;

    /**
    * Получение вариантов выхода по задаче.
    *
    * Поиск и завершение задачи:
    * ```typescript
    * try {
    *   // Получаем объект задачи
    *   let task = await System.processes._searchTasks().where(x => x.__id.eq(taskUUID)).first();
    *   // Если объект задачи не найден, то заканчиваем выполнение сценария
    *   if (!task) {
    *   return;
    *   }
    *   // Получаем выходы для задачи
    *   const exits = await task.getExits();
    *
    *   // Завершаем задачу
    *   // Передаем идентификатор выхода и данные формы
    *   await task.submitTask(exits[0].id, {comment: 'Task completed'});
    * } catch (e) {
    *   // Процесс уже завершен, можно обработать исключение
    * }
    *
    * ```
    */
    getExits (): Promise<TaskItemExit[]>;

    /**
    * Выполнение задачи.
    *
    * Поиск и завершение задачи:
    * ```typescript
    * try {
    *   // Получаем объект задачи
    *   let task = await System.processes._searchTasks().where(x => x.__id.eq(taskUUID)).first();
    *
    *   // Получаем выходы для задачи
    *   const exits = await task.getExits();
    *
    *   // Передаем идентификатор выхода и данные формы
    *   await task.submitTask(exits[0].id, {comment: 'Task completed'});
    * } catch (e) {
    *   // Процесс уже завершен, можно обработать исключение
    * }
    *
    * ```
    */
    submitTask (exitIDstringdata?: Context): Promise<void>;
    3. TEAM-18280 Создан метод API, дающий возможность сопоставлять внутренние номера АТС и пользователей. Подробнее https://api.t-elma365.com/ru/public-api/reference/integration/updatevoipbindings/

    4. TEAM-18472 Теперь метод fetch() в параметре body может принимать тип данных ArrayBuffer. Это полезно при передаче бинарных данных (или файлов) во внешние системы.

    5. TEAM-18928 Добавлены методы API для получения информации о группах и ролях разделов:

    • /pub/v1/scheme/namespaces/{namespace}/groups
    • /pub/v1/scheme/namespaces/{namespace}/groups/{code}
    • /pub/v1/scheme/groups/{id}
    Подробнее в документации https://api.elma365.com/ru/public-api/reference/scheme/

    Портал

    1. TEAM-18478 Теперь внешний пользователь может регистрироваться на портале только по номеру телефона, без использования адреса электронной почты.

    2. TEAM-18724 Текущая процедура восстановления пароля работает только через электронную почту. В этом релизе мы добавили возможность для внешних пользователей полностью работать без электронной почты, только по телефону. В том числе реализовали процедуру восстановления пароля через смс.

    Документооборот

    1. TEAM-16612 При согласовании или ознакомлении с элементом приложения добавлена возможность приложить файл. Файл отображается в листе согласования.

    2. TEAM-17399 Были доработаны контракты:
    • В меню добавлен пункт Настройки контракта. Пользователям доступны опции аналогичные настройка приложения, за исключением возможности включить массовые действия и формировать название элементов, так как у контракта нет своих элементов.
    • Добавлена настройка Доступ к Контракту, которая работает аналогично настройке Доступ к Приложению.

    Service

    1. TEAM-7918 и TEAM-18315 При подключённом платном решении ELMA365 Service вы теперь можете блокировать учётные записи пользователей, которые отправляют сообщения в линию по внешним каналам связи, например, через мессенджер или почту.
    Когда пользователь с заблокированной учётной записью отправляет сообщение, в разделе Линии создаётся новая сессия. Эта сессия автоматически помечается как Спам. Такие сессии не отображаются в общей очереди, не проверяются по правилам маршрутизации и не учитываются в отчётах. Также не запускают бизнес-процессы.

    2. TEAM-15819 Добавлена возможно предварительного просмотра файлов в чате линий.

    3. TEAM-17108 Добавлена возможность работы со статусами операторов линий. Стутсы можно устанавливать вручную через Настройки профиля. При статусе оффлайн оператор не может вести переписку и работать с сессией.

    Отчёты

    TEAM-11990 Реализован новый тип приложения Отчёт. Это дополнительный инструмент контроля, предусматривающий работу с данными приложений из разных разделов в рамках одного интерфейса. Информацию из отчета можно отображать на отдельной странице с помощью виджета График.

    СRМ

    1. TEAM-18464 Переработаны интерфейсы работы с дублями для повышения удобства использования. Проведена оптимизация для удобной работы со списками дублей, превышающими 10 элементов.

    2. TEAM-18662 В виджет Распределение Лидов/Сделок добавлена:
    • колонка Всего
    • добавлена настройка Отобразить общее количество (Да/Нет), которая отображает/скрывает колонку “Всего”

    3. TEAM-19006 Добавлена возможность выбора задач CRM в поиске задач.

    4. TEAM-19044 Добавлена возможность изменять размер колонок в приложении Подписчики.

    5. TEAM-19051 В разделе Маркетинг на странице Подписчики добавлена возможность настраивать колонки таблицы. По нажатию на текст Редактировать открывается попап, в котором есть поле Показывать свойства, где можно выбрать отображаемые колонки.

    6. TEAM-19056 На странице Подписчики добавлена сорока поиска. Данная функция упрощает навигацию в приложении, а также показывает количество доступных для рассылки подписчиков в базе.

    7. TEAM-17004 В ELMA365 Store добавлено решение Аудит изменений CRM. Данное решение позволяет:
    • фиксировать изменения в приложениях Лиды, Сделки, Компании, Контакты, Поступления;
    • отображать историю изменений;
    • отображать прошлые значения в формате было/стало.
    В случае изменении любого поля в приложениях Сделки, Лиды, Контакты, Компании фиксируется дата изменения, поле, состояние до и после, автор изменений.

    Виджеты

    1. TEAM-15658 Улучшен интерфейс виджета с ошибками валидации.

    2. TEAM-17171 В дизайнере интерфейсов добавлена настройка на формах, которая управляет видимостью виджета с ошибками валидации.

    Проекты

    TEAM-12306 Реализована поддержка типов проектов.
    Для каждого типа уникальны:

    • Жизненный цикл. Настройки стадий проекта, проектный конвейер (прикрепление бизнес-процессов на переходы между стадиями проекта).
    • Шаблон.
    • Объектная модель. Возможность добавить нужные свойства для каждого типа проекта.
    • Страницы приложений. У каждого типа проекта уникальные формы просмотра, редактирования и создания.
    • Все новые типы проектов отображаются в разделе Проекты под соответствующим разделителем.

    Advanced Security Pack

    Advanced Security Pack — наша инициатива для обеспечения дополнительного уровня безопасности платформы для удовлетворения повышенным требованиям по безопасности.

    Пакет предоставляет расширенные возможности для снижения рисков информационной безопасности, а также выполняет требования ФСТЭК по защите персональных данных.

    Пакет содержит следующие функции безопасности:

    • Контроль и отключение параллельных сессий пользователей при превышении настроенного числа;
    • Отключение сессии пользователя при превышении заданного периода простоя. Потребуется повторный вход;
    • Контроль и управление доступом к файлам в хранилище. Запрет неавторизованного доступа.
    Список не ограничивается перечисленными выше механизмами. В дальнейшем планируется внедрение новых возможностей, таких как: интеграции с средствами защиты: DLP, Антивирусное ПО и пр.

    Advanced Security Pack доступен для ELMA365 с релиза 2023.5 в редакциях On-premise и SaaS Enterprise при приобретении лицензии на системное решение.

    Для SaaS Standard пакет активирован по умолчанию в ограниченном объёме в связи с архитектурными особенностями.

    Настройки для механизмов, входящих в состав решения, реализованы в рамках стандартного интерфейса настроек системы ELMA365 (Администрирование).

    Администрирование


    1. TEAM-10791 В разделе Администрирование > Активные пользователи добавили возможность принудительно прервать сессии пользователей.
    Для этого необходимо выбрать флажками сессии и нажать Прервать в панели кнопок.
    Выбранные сессии будут прерваны сразу, т.е. пользователи увидят окно авторизации.

    2. TEAM-15457 В Настройки безопасности > Сессии пользователей добавлена настройка Ограничить параллельные сессии.
    Опция позволяет указать Допустимое количество параллельных сессий, т.е. количества устройств, на которых пользователь может быть авторизован одновременно.
    Пример:
    Допустимое количество параллельных сессий: 2
    • Пользователь входит в систему в браузере Chrome — успех.
    • Пользователь входит в систему в мобильном приложении — успех.
    • Пользователь входит в систему в браузере Firefox — после проверки логина/пароля появляется ошибка, что пользователь превысил допустимое количество параллельных сессий. Эта ошибка появится только в том случае, если логин и пароль верные (т.е. после аутентификации).
    Применимо к любым методам авторизации (логин/пароль, AD/LDAP, SAML, OAuth2).
    Входит в состав лицензии Advanced Security Pack.
  2. ELMA365

    ELMA365 Moderator

    1. TEAM-8040 Теперь причина удаления элемента приложения отображается в ленте элемента, куда добавляется сообщение с заголовком «Элемент удалён» и телом «<Комментарий>».

    2. TEAM-8671 Исправлена проблема с переходом шлюза по умолчанию при неопределенном булевом значении.
    В случае с переменными типа bool при сравнении теперь учитывается третье состояние «не заполнено». Условие считается успешным, если а) оба сравниваемых значения не заполнены, или б) оба значения заполнены и равны друг другу.

    3. TEAM-10607 Теперь порядковый номер таблицы правильно выносится циклом.

    4. TEAM-11955 Исправлена ошибка, которая возникала после публикации подписки на событие в модуле.

    5. TEAM-12914 В нагрузочных тестах тайминги больше не растут при накоплении очереди контрактора в rmq.

    6. TEAM-13297 Исправлен текст в письме-оповещении на электронную почту о новой задаче.

    7. TEAM-13625 Блок Получение печатной формы больше не меняет версию файла и позволяет правильно подписывать документ.

    8. TEAM-14106 Теперь доступ на скачивание файла ограничен для неавторизованных пользователей.

    9. TEAM-14494 Исправлены опечатки в окне предупреждения при отключении портала.

    10. TEAM-15533 Исправлено поле item=undefined при попытке фильтрации истории статусов.

    11. TEAM-16070 Теперь поиск элемента приложения по полю типа Число работает корректно.

    12. TEAM-16274 Исправлена некорректная разметка в списке групп пользователей.

    13. TEAM-16558 Последние закрытые сессии теперь отображаются (team).

    14. TEAM-16734 Убрана возможность открытия бизнес-процесса в двух вкладках и внесения изменений. Возвращено оповещение о том, что процесс уже открыт другим пользователем.

    15. TEAM-16926 Исправлена проблема с дёрганием формы при определённом разрешении экрана.

    16. TEAM-16953 При обновлении решения теперь форма стартового приложения открывается корректно. Теперь учитываются формы объектов, которые отсутствовали при импорте.

    17. TEAM-17064 В разделе Администрирование исправлено отображение «календарный план» на «план проекта».

    18. TEAM-17144 Поправлена вёрстка на странице Администрирование>Согласование плана.

    19. TEAM-17341 Исправлено неправильное сохранение типа для поля «Учётная запись».

    20. TEAM-17458 Теперь сортировка в разделе Файлы работает корректно. Файлы и папки сортируются по имени и дате изменения, а файлы также сортируются по размеру.

    21. TEAM-17478 Исправлено игнорирование обязательных полей приложения в задаче.

    22. TEAM-17507 Редактирование и просмотр настроек заблокированного приложения теперь недоступны.

    23. TEAM-17548 Исправлено некорректное отображение аватарок у закрытых сессий.

    24. TEAM-17615 Исправлена проблема неправильного сохранения значения типа Категория в элементе приложения после изменения в сценарии.

    25. TEAM-17679 Согласование проекта теперь работает корректно.

    26. TEAM-17969 Исправлено некорректное экранирование символов в фильтре почтовых сообщений. Теперь по фильтру находятся сообщения, в которых есть символы "%" или "_".

    27. TEAM-17977 Теперь код раздела возможно изменить при импорте.

    28. TEAM-18063 В задаче контроля исполнения изменено название - добавлено двоеточие между словом Контроль и названием оригинальной задачи.

    29. TEAM-18103 Проект теперь создаётся с помощью сценария. Клиенту передан сценарий для исправления базы данных, и добавлена миграция, исправляющая потенциальную проблему у других.

    30. TEAM-18109 В дедупликаторе внесены следующие изменения добавлена звёздочка обязательности поля напротив названия поля, добавлен атрибут обязательности полям, для которых в настройках простой формы редактирования указана обязательность поля, и добавлено отключение возможности нажать на кнопку Объединить до тех пор, пока не будут заполнены все обязательные поля.

    31. TEAM-18221 Устранена проблема долгой загрузки страницы с шаблонами документов.

    32. TEAM-18227 После обновления клиента через API теперь в сессии отображается актуальная информация о клиенте.

    33. TEAM-18269 Исправлена некорректная работа дедупликатора при добавлении потенциального дубля. Теперь при ручном добавлении элементов в список потенциальных дублей работает фильтр, который скрывает уже присутствующие в списке элементы и текущий элемент, к которому ищем дубли.

    34. TEAM-18297 Исправлена проблема, при которой невозможно было восстановить приложение и возникала ошибка 500 internal error.

    35. TEAM-18316 Исправлена проблема, при которой раздел Линии был виден всем, независимо от прав оператора или супервизора.

    36. TEAM-18491 Для неактивных замещений теперь доступен метод delete(), который удаляет замещение. При вызове метода на активном замещении возвращается ошибка.

    37. TEAM-18540 Исправлено отображение месяцев на словацком языке при русском интерфейсе.

    38. TEAM-18551 Скорректировано название новой опции в блоке Регистрация документа.

    39. TEAM-18585 Исправлен процесс генерации файла по шаблону.

    40. TEAM-18625 Устранена проблема падения шаблонизатора при таблице на aspose.

    41. TEAM-18686 Исправлена проблема, из-за которой невозможно было принять приглашение на другой портал активным внешним пользователем.

    42. TEAM-18688 Исправлена ошибка свойства Маска ввода в атрибутах приложений.

    43. TEAM-18781 Теперь успешно можно совершать исходящие вызовы.

    44. TEAM-18818 Исправлена некорректная валидация полей на форме, которые добавлены виджетом Код.

    45. TEAM-18849 Исправлено. При удалении элемента, задачи теперь также удаляются с канбан-доски.

    46. TEAM-18868 Методы API с вложенными путями (путь содержит "/") теперь корректно работают при вызове из скриптов в методе call() в Действиях БП.

    47. TEAM-18883 Исправлена кнопка в окне перемещения файла в папку и копирования файла из ленты.

    48. TEAM-18888 Устранены некорректные стили на дефолтных формах при включении согласования календарного плана.

    49. TEAM-18897 [aspose-actions] Исправлено некорректное отображение дат.

    50. TEAM-19002 Исправлена проблема, при которой периодически возникала ошибка при открытии элементов приложения Документ.

    51. TEAM-19067 Исправлено наезжание кнопки Монитор сервисов на шестеренку.

    52. TEAM-19112 Регистрационные номера больше не делают самопроизвольный сдвиг вперёд.

    53. TEAM-19426 Исправлена проблема с некорректной работой условия проверки переменной типа Да/Нет в шаблоне названия элемента.

    54. TEAM-19502 Устранена ошибка на шаге страниц при обновлении конфигурации.
  3. Codain

    Codain Активный участник

    Ну зачем удалять комментарии?
    upload_2023-6-6_14-35-19.png