...

Релиз 2023.3

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

  1. ELMA365

    ELMA365 Moderator

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

    1. TEAM-9496 Доработан блок бизнес-процесса Подписать. Теперь при отказе от подписания пользователь может ввести комментарий с объяснением причины своего решения. Окно появится после нажатия на кнопку Отклонить.
    Кроме того, добавлено уведомление об отказе в ленту сообщений для автора задачи и для пользователя, который отклонил подписание.

    2. TEAM-14843 В настройке блока Регистрация при выборе способа регистрации Вручную добавлена опция Разрешить выбирать дату регистрации в поставленной задаче. При включённой опции в задаче регистрации появляется поле для выбора даты, начиная с текущего момента.

    3. TEAM-15340 Реализована возможность резервировать регистрационный номер документа по дате. Опция доступна для автоматической регистрации дел с резервированием номера. При включении опции дата регистрации устанавливается по дате резервирования номера, а не по дате, когда этот номер применяется в конкретном документе.

    4. TEAM-15525 Виджеты Статус подписи и Статус Диадок теперь скрываются на форме просмотра элемента, если системное решение ELMA365 ECM не активировано. В конструкторе форм эти виджеты отображаются по-прежнему.

    5. TEAM-15787 При экспорте листа согласования или листа ознакомления в файл .xls информация о замещающем теперь добавляется в колонку Согласующий (при наличии замещающего при согласовании/ознакомлении).

    Контракты

    TEAM-13490 Добавлена возможность создать новое приложение-источник со страницы контракта через кнопку + Новое приложение. При создании можно указать тип приложения: Стандартное, Событие или Документ. Приложение-источник с типом Документ можно создать, если у контракта есть поле с кодом file и типом файлы. Если такого поля у контракта нет, при создании приложения-источника появится ошибка.

    Service

    1. TEAM-11161 Реализована возможность добавлять к сессии пользовательские атрибуты. В этом релизе работа с ними доступна только через бизнес-процессы и сценарии. В следующих релизах появится возможность добавлять атрибуты в интерфейс сессии. Добавлен системный атрибут Приоритет. Он доступен в панели с детальной информацией о сессии. Пользователи могут изменять его значение.

    2. TEAM-16526 Добавлена возможность цитирования в виджете переписки в линии. Функция доступна при обмене сообщениями с внутренними пользователями, в чате техподдержки, при интеграции с WhatsApp.

    3. TEAM-15353 Добавлена возможность настройки маршрутизации сессий между операторами или группами операторов. По умолчанию сессия назначается на всех операторов.
    При активированном платном решении ELMA365 Service администратор может создавать правила маршрутизации в настройках линии на вкладке Маршрутизация. Новые обращения будут проверяться по заданным условиям, согласно которым сессия назначается на указанного оператора или группу операторов. Например, таким образом можно распределять все обращения из одного мессенджера и назначать их на определённую группу операторов.

    4. TEAM-17445 Доработаны функциональные возможности виджета Переписка в Линиях. Теперь в виджете можно создавать новую сессию. Если в настройках виджета выбрана опция По элементу приложения, при создании сессии для выбора доступны все контакты, а также можно создать новый контакт. Кроме того, название опции Вся изменено на По учётной записи. Если в виджете выбрана эта опция, на форме элемента приложения можно создать сессию только с текущим контактом.

    CRM

    1. TEAM-12984 Добавлен новый раздел Маркетинг и реализована интеграция с сервисом Юнисендер. Раздел доступен при активированном платном решении ELMA365 CRM и позволяет:

    • проводить сегментацию по клиентской базе (на основе данных из приложений Лиды, Сделки, Компании, Контакты);
    • присваивать контактам статус Подписчик, в зависимости от категории их предпочтений;
    • создавать массовые рассылки и отправлять их подписчикам с помощью интеграции с email-шлюзом.

    2. TEAM-16774 Каждый блок на дэшборде руководителя и сотрудника отдела продаж теперь представлен в виде отдельного виджета. Это даёт возможность настраивать страницу с дэшбордами в соответствии с особенностями процессов продаж: добавлять и удалять виджеты, использовать элементы на странице несколько раз для отображения данных в различных разрезах.
    Если вы вносили изменения в настройку страниц с дэшбордами, необходимо вручную наполнить страницу отдельными добавленными виджетами.

    3. TEAM-17169 Реализован поиск дублей по приложению Контакты. Искать повторяющиеся элементы можно по правилу сравнения Контакты-Контакты. В преднастройках указаны следующие значения:

    • Рабочая почта - Похоже - Рабочая почта - 95%;
    • Рабочий телефон - Похоже - Рабочий телефон - 5%.

    Проекты

    TEAM-16482 Добавлен новый виджет Список задач по проекту, который выводит задачи по проекту с возможностью группировки и различной сортировки.

    В виджете использована цветовая маркировка для отображения просроченных задач. Задачи для списка берутся из опубликованного плана проекта. Виджет является универсальным и настраивается в соответствии с требованиями пользователя. Использовать виджет можно следующими способами:

    • просматривать список задач по текущему проекту или группе проектов, указанных в настройках;
    • просматривать список просроченных задач по текущему проекту или группе проектов, указанных в настройках;
    • просматривать список задач, у которых не указан исполнитель, из плана проекта.

    Внешний портал

    TEAM-15801 Чтобы внешний портал стал доступен для более широкой аудитории, мы добавили возможность авторизации через номер телефона. Для этого мы расширили настройки авторизации в портале, чтобы пользователи могли выбрать этот вариант. Также мы добавили форму входа для портала, где пользователи могут использовать одноразовый пароль из СМС.

    Аудит безопасности

    1. TEAM-16566 Добавлены события Изменения настроек безопасности.

    Событие имеет следующую структуру:

    {
    "namespace": "system",
    "code": "security",
    "name": "settings",
    "fields": [
    {
    "code": "oldItem",
    "type": "JSON",
    "view": {}
    },
    {
    "code": "item",
    "type": "JSON",
    "view": {}
    }
    ]
    }

    где oldItem — старые настройки, item — новые настройки.
    Внутри события передаются разные экземпляры настроек. На момент выпуска 3 разных экземпляра:

    • Настройки политики паролей;
    • Настройки двухфакторной аутентификации;
    • Дополнительные настройки аутентификации.
    Указанные события обрабатываются сервисом event_bus, то есть доступны при перехвате всех событий, но недоступны для выбора конкретных событий для обработки в модулях.

    2. TEAM-16564 Добавлены события блокировки пользователя: смены статуса и превышения количества попыток входа.

    3. TEAM-17042 Реализованы события создания/удаления/изменения пользователей в системе.

    Типы данных

    1. TEAM-15964 В поле типа Электронная почта теперь можно добавлять адрес с доменом на кириллице например, ivanov@домен.ру.

    2. TEAM-15294 Добавлена возможность версионирования файлов в системных папках при включении фича-флага allowAddVersionFileFields. При редактировании значений в поле типа Файл, сохраняется история версий этого файла.

    Функция работает на формах задач бизнес-процессов и приложений, а также в блоках Присваивание и Изменение элемента.
    Если флаг выключен, то история версий не сохраняется, а при нажатии на название файла, пользователь увидит только последнюю версию.

    Виджеты

    TEAM-11513 Добавлена возможность изменять размер текста в виджете Текст.

    Календарь

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

    2. TEAM-9515 В приложении типа Событие добавлены новые поля:

    • Описание — возможность добавлять текстовое описание к событию;
    • Ссылка — возможность указывать ссылку на встречу в формате он-лайн;
    • Связанный элемент — возможность связать созданное событие с каким-либо элементом системы, например, при создании собеседования — связать событие с определённым кандидатом.

    3. TEAM-16021 Добавлена возможность удалять события из личного календаря.

    • Удалённое событие переводится в статус Закрыто.
    • При удалении периодического события можно выбрать удалить текущую копию, или весь ряд.

    Мультиязычность

    TEAM-13990 Реализована возможность мультиязычности процессов в системных разделах (Задачи, Файлы и т. д).

    В раздел Администрирование добавлена страница Переводы. На страницу можно добавлять файлы формата .po, которые cодержат перевод переменных, используемых в системных процессах. При смене языка системы переменные процессов будут также переведены. По умолчанию добавлены файлы с английским, немецким и испанским языками.

    Импорт решений

    TEAM-15895 Если в приложениях, виджетах или процессах решения есть поля, ссылающиеся на приложения из системных решений, при импорте такого решения теперь будет отображаться предупреждение о том, что без лицензии решение может работать некорректно. Предупреждение не зависит от наличия лицензии и не препятствует импорту.

    Аутентификация

    1. TEAM-15859 В модуле OAuth2 добавился новый метод oauth2_logout()и интерфейс OAuth2LogoutResponse. Новые опции позволяют провайдеру аутентификации OAuth2 выполнить логаут в ELMA365 при выходе пользователя из системы.


    Пример:
    interface OAuth2LogoutResponse {
    redirect_url: string;
    }
    async function oauth2_logout(): Promise<OAuth2LogoutResponse | OAuth2ResponseFail> {
    return <OAuth2LogoutResponse> {
    redirect_url: "https://my_idp.com/logout"
    };
    }


    2. TEAM-16398 Теперь можно выбрать один и тот же сервер SAML в качестве способа авторизации в нескольких серверах AD.

    API

    TEAM-16543 В методах API в каждый объект запроса, что передаётся в сценарий, теперь добавляются заголовки:

    • :methodhttp-метод;
    • :pathчасть url после домена включая query-параметры, например, /test1/test2?q=12345&n=aaa;
    • :scheme — протокол http или https;
    • :authority — домен + порт (кроме 80 и 443), например elma365.ru или local.elma365.dev:4200.

    TS SDK

    1. TEAM-16472 Для объекта Участник листа согласования/ознакомления добавлены доступные для чтения поля:

    • customStatusUsed: boolean – признак использования пользовательского статуса участником в листе согласования/ознакомления;
    • statusText: string – текст решения участника.
    Поля позволяют анализировать статусы листа согласования/ознакомления в сценариях и выстраивать маршрут процесса в зависимости от вынесенных решений.

    2. TEAM-15050 Расширены возможности для работы с версиями файлов.

    • Добавлен метод FileItem.getVersions — получает список версий файла типа FileVersionData.
    • Интерфейс FileVersionData — поля версий файла. Содержит в себе информацию о версии файла.
      Поля: version: number — Версия файла; comment: TString — Комментарий к версии файла; filename: TString — Имя версии файла; fileid: TString — ИД файла.
      Пользователь может добавить новую версию к ранее созданному документу через интерфейс системы и через методы FileItem.addVersionFromLink, FileItem.addVersion. Предыдущая версия при этом помечается как устаревшая. Добавленные версии отображаются на боковой панели карточки просмотра в виджете Версии документа.
    • Добавлен метод FileVersionItem.getDownloadUrl — получает ссылку на загрузку содержимого версии файла. Полученная ссылка возвращает содержимое файла. По такой ссылке загрузку могут выполнить все пользователи, в том числе и анонимные. Ссылка на загрузку доступна 1 час. Тип вложения может быть attachment или inline. Если значение параметра dispositionType не передаётся, по умолчанию устанавливается значение attachment.
    3. TEAM-16554 Добавили метод, позволяющий создать активного внутреннего пользователя с привязкой к oauth2 провайдеру createWithAuthData.
  2. ELMA365

    ELMA365 Moderator

    Исправлены ошибки

    1. TEAM-3750: Ошибка отображения графика при отсутствии доступа к приложению была исправлена. Теперь выводится сообщение: Невозможно построить график.

    2. TEAM-7142: Ошибка потери комментария в задаче при изменении процента выполнения была исправлена.

    3. TEAM-12352: При обновлении модуля с обработчиками больше не сбиваются настройки.

    4. TEAM-12432: Доработан текст ошибки при подписании документов с помощью сервиса Sign.Me с использованием неверного пароля.

    5. TEAM-12949: Ошибка сортировки задач по исполнителю была исправлена. В разделе Задачи > Исходящие теперь отображаются только задачи, вместо всех экземпляров процессов, инициированных пользователем. Сортировка и поиск задач по исполнителю в Исходящих теперь работает корректно.

    6. TEAM-13944: Ошибка отображения структуры компании в разделе Компания была исправлена. Теперь порядок отображения должностей/отделов/групп в структуре компании соответствует организационной структуре.

    7. TEAM-14764: Исправлена ссылка на справку в интерфейсе системы в разделе Администрирование.

    8. TEAM-14979: Ошибка валидации имени обработчика события была исправлена.

    9. TEAM-15200: Ошибка ограничения выбора переменных типа Приложения при добавлении виджета на форму создания/просмотра/редактирования была исправлена.

    10. TEAM-15220: Была исправлена проблема, когда при выборе элемента из иерархического справочника появлялся лишний скролл. Теперь этот недостаток устранён и выбор элемента из справочника будет проходить без лишних скроллов.

    11. TEAM-15425: Настройка сортировки элементов работала некорректно в режиме отображения в виде плитки. Ошибка была исправлена.

    12. TEAM-16332: Настройки пакета документов в Диадок теперь отображаются корректно.

    13. TEAM-16489: Ошибка создания файла сценария была исправлена. Получение модели файла теперь перенесено из сервиса collector в disk-jokey.

    14. TEAM-16578: Ранее возникала проблема, которая не позволяла прикреплять файлы в любом приложении при редактировании элемента. Однако, теперь данная ошибка была исправлена, и пользователи смогут прикреплять файлы без проблем.

    15. TEAM-16602: Ранее при синхронизации через SAML возникала проблема, когда отчество пользователя не передавалось. Однако, теперь данная ошибка была исправлена. Если в поле FirstName было указано более одного слова, то оно будет автоматически разделено на Имя и Отчество, и оба значения будут переданы корректно.

    16. TEAM-16636: Ранее обнаруженная ошибка в функционале фильтров в иерархических справочниках была исправлена. Теперь поиск элементов производится корректно в соответствии с параметрами фильтра.

    17. TEAM-16665: Была исправлена ошибка, из-за которой не производилась проверка обязательных полей виджета на какой-либо форме.

    18. TEAM-16824: Ранее обнаруженная ошибка, при которой родительская задача отображалась в файлах раздела проектов, была исправлена.

    19. TEAM-16928: Была исправлена ошибка, из-за которой не импортировалась обработка событий при импорте конфигурации.

    20. TEAM-17181: Ранее обнаруженная ошибка, при которой переносимый сервис не удалялся при обновлении решения, была исправлена.

    21. TEAM-17258: Была исправлена ошибка, из-за которой происходил неправильный импорт подписок на события в модуле при переносе конфигурации.

    22. TEAM-17259: Ранее, когда был введен неправильный токен, метод API модуля возвращал ошибку 502 вместо ожидаемой ошибки 401. Однако, сейчас данная ошибка была исправлена и метод API будет возвращать ошибку 401 при неправильном токене.

    23. TEAM-17294: Была исправлена ошибка, из-за которой после выпуска новой версии сбрасывались настройки зоны ответственности.

    24. TEAM-17401: Ранее обнаруженная ошибка при обновлении решения, связанная с коллизией категории и имени, была исправлена.

    25. TEAM-17403: Была исправлена ошибка, из-за которой дублировались напоминания.

    26. TEAM-17562: Ошибка, связанная с работой с шаблоном проектов, была исправлена. Теперь задачи из плана шаблонного проекта корректно добавляются в созданный проект при выборе шаблона.

    27. TEAM-12808 Исправлена ошибка, при которой не показывалось уведомление о новой сессии при переводе беседы с бота на оператора.

    28. TEAM-17037 Исправлена ошибка при публикации действия в БП, созданное на уровне модуля. Период проверки результата для Действия БП теперь обязательное поле. По умолчанию в этом поле указан период = 1h (1 час).

    29. TEAM-17288 Исправлена ошибка, из-за которой не менялась информация в виджете дубли при редактировании элемента.

    30. TEAM-17327 Устранено поведение, при котором появлялась ошибка 500 при сравнении документа с его предыдущей версией.

    31. TEAM-17587 Исправлена ошибка, из-за которой нельзя было включить/выключить модули электронной подписи.

    32. TEAM-17732 Исправлена ошибка, при которой не срабатывали настройки прав доступа на элемент приложения для автора.
    Последнее редактирование модератором: 12 апр 2023
  3. zaitsev_i

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

    Уточните, пожалуйста, какая была ошибка/проблема?
    Мы сталкивались с проблемами при изменении списка "вариантов категории" (удалении вариантов), но обращение не направляли в ТП.
  4. tanasenko

    tanasenko Техническая поддержка

    Добрый день! Была исправлена ошибка при обновлении решения - "fail to upgrade process templates: fail do with th: category+name: collision: collision"
  5. kuksenko

    kuksenko Новичок

    Здравствуйте! А из какой переменной контекста можно считать этот комментарий при отказе от подписания? Мне нужно сохранить этот комментарий в логе событий по процессу.
  6. lagutkina

    lagutkina Техническая поддержка

    Здравствуйте! К сожалению, этот комментарий нельзя считать из какой-либо переменной.
  7. kuksenko

    kuksenko Новичок

    Благодарю за ответ. Что-то с этим будете делать? Нехорошо, что до комментария никак нельзя добраться.
    В процессе есть скрытый атрибут контекст Context.data.__comment, можно же в него сохранить этот комментарий?
  8. lagutkina

    lagutkina Техническая поддержка

    Вы можете получить комментарий через получение Листа согласования в скрипте. Пример:
    Код:
    
    // Инициализируем текстовую переменную
    ViewContext.data.str='';
    // Загружаем в переменную текущий открытый документ
        
    ViewContext.data.doka await Application.search().where(i=>i.__id.like(Context.data.__id)).first();
    // Получаем листы согласования
        
    const ApprovalLists await ViewContext.data.doka!.docflow().getApprovalLists();
    // Берем последний лист
        
    const LastListApprovalLists[0];
    // Проверяем его статус
    if (LastList.status.toString()=='in_progress')
    {
    ViewContext.data.str="Лист еще открыт" +\n”
    }
    else
    {
    ViewContext.data.str="Лист закрыт" \n”
    }
    // Берем участников последнего листа
        
    const LastListRespondentsApprovalLists[0].respondents;
    //Перебираем согласующих
        
    for (let resp of LastListRespondents)
        {
    // Загружаем по ID пользователя
            
    let RespName = (await System.users.search().where(i=>i.__id.like(resp.id)).first())!.data.__name;
    // Получаем комментарий
            
    let RespComm resp.comment;
            
    let RespStatus;
    // Получаем статус в локализации
      
    switch(resp.status)
            {
      case 
    "approved":
        
    RespStatus 'Согласовано';
        break;
      case 
    "rejected"
        
    RespStatus 'Отказано'
        
    break;
            }
    // Формируем итоговую строчку
            
    ViewContext.data.str=ViewContext.data.str +  RespName' - 'RespStatus ' - 'RespComm'\n';
        }
  9. kuksenko

    kuksenko Новичок

    Совет хороший, на Согласовании может пригодиться.
    Но должно ли это работать для блока Подписать? Для него точно создаётся Лист согласования?
    Усомнился, так как попробовал и у меня не получилось. Скрипт тихо (без ошибки) прекратил работу на строке
    Код:
    
    const submission_approval_lists await Context.data.submission_app.docflow().getApprovalLists();       // Получаем листы согласования
  10. lagutkina

    lagutkina Техническая поддержка

    В текущей версии нельзя сохранить комментарий в переменную контекста, но уже имеется тикет в разработке о возможности сохранения комментария при отказе подписания.