Майский релиз ELMA365

Новый раздел «Финансы», релиз ELMA Bot для организации умной поддержки, интеграция с Jivo, автоматическое масштабирование микросервисов для улучшения работы в условиях повышенной нагрузки и другое. Ниже подробнее. 

ELMA CRM 

Финансы — новый системный раздел


Появился системный раздел «Финансы». Он предназначен для ведения и учета платежей. В течение последующих релизов раздел будет пополняться новыми возможностями и функциональностью. Крупноблочно запланировано 3 вехи:

  1. Управление доходной частью;
  2. Управление расходной частью;
  3. Аналитика расходов и доходов, прогноз кассовых разрывов на основании плановых расходов и доходов.

В нынешнем релизе мы сфокусировались на управлении поступлениями. На данный момент раздел «Финансы» включает в себя набор приложений («Реестр поступлений», «Платежи», «Отчет по поступлениям», «Статьи ДДС»), а также специальный виджет «Поступления» и бизнес-процессы по маршрутизации обработки поступлений.

Финансы 1

Мы понимаем, что в каждой компании уникальные процессы работы с платежами, поэтому Low-code инструменты ELMA365 позволяют идеально адаптировать логику работы системы под индивидуальные потребности. Однако мы предусмотрели базовые сценарии и учли основные потребности пользователей, которые работают с финансами.

2

Для коммерческой компании всегда имеется основание платежа — за что организация принимает поступление. В стандартной поставке мы опираемся на системное приложение «Сделка» как основание платежа, но в помощью настроек раздела «Финансы»  вы можете определить любые приложения на вашей площадке как основание платежа, будь то «Договор», «Проект», «Поставки» и так далее.

На примере сделок работа с платежом происходит следующим образом: ответственный за сделку создает плановое поступление, когда понятна примерная сумма и дата оплаты. Затем, когда сумма фактически поступает на счет компании или  принимается наличный платеж, бухгалтер заводит фактическое поступление - Платеж. 

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

 

Возможности, которые дает раздел Финансы

Для ответственного за поступления (например, менеджера по продажам):

  • заносить информацию о плановых поступлениях через виджет «Поступления»;
  • видеть статус поступления («Ожидается», «Частично», «Оплачено») и общую сумму поступлений: плановых, фактических, просроченных;
  • маркировать поступления в качестве рисковых, т.е. таких, которые имеют вероятность переноса даты поступления или изменения суммы

Для бухгалтера:

  • вносить информацию о поступлениях, полученных на счета компании.

Для распределяющего поступления:

  • получать информацию о поступлениях на счета компании;
  • распределять фактические поступления, закрывать плановые поступления фактическими.

Для коммерческого директора: 

  • видеть отчет по плановым и фактическим поступлениям за выбранный промежуток времени с фильтрацией по дополнительным полям «Реестра поступлений»;
  • отслеживать соотношение плановых и фактических поступлений, видеть не полученные в ожидаемые даты поступления.

Виджет «Поступления» для «Сделок» в разделе CRM

Вместе с релизом системного раздела «Финансы» для приложения «Сделки», как одного из основных приложений-оснований для поступления, добавлена вкладка «Финансы» с виджетом, отображающим информацию о датах и суммах как плановых, так и фактических поступлений по сделке. На площадках, созданных до майского релиза, виджет «Поступления» на форму приложения-основания можно вынести самостоятельно, выбрав в списке виджетов.

Виджет Поступления Для Сделок  В Разделе Crm

Развитие раздела «Почта»

Продолжаем делать работу в встроенном почтовом клиенте удобной. Ранее мы адаптировали мобильный интерфейс раздела «Почта», добавили возможность управлять оповещениями и научили систему отображать цепочки сообщений (треда) на странице просмотра письма. С этим релизом мы продолжаем вносить дополнительные возможности работы с почтой через ELMA365. 

Автоматическое создание связей с элементом приложения для последующих писем в треде

В ранних релизах была добавлена возможность связывать письма с выбранным элементом приложения для того, чтобы на карточке этого элемента в виджете «Связанные письма» видеть список писем, относящихся к этому элементу. В текущем релизе добавлена возможность автоматической установки связи письма и элемента приложения. Если письмо формируется в ответ на предыдущее, образуя тред, то все последующие письма автоматически связываются с теми же элементами приложения, что и предыдущие письма в треде.

Скачивание файлов из письма архивом

На форму просмотра письма добавлена кнопка «Скачать все файлы», если во вложениях к письму приложено несколько файлов. По нажатию на кнопку происходит скачивание скачивание всех файлов, объединенных в архив.

Скачивание Файлов Из Письма Архивом

Модуль «Отчет о задачах CRM»


В ELMA365 Store  в разделе «Интеграции и Модули» — CRM — «Отчеты» появился модуль «Отчеты о задачах CRM». Он представляет собой отчет о запланированных, выполненных и просроченных задачах CRM, таких как «Звонок», «Письмо», «Встреча», «Вебинар». Отчет позволяет руководителю отдела продаж проще ориентироваться в том, чем заняты сотрудники, а сотрудникам — видеть свою продуктивность или продуктивность коллег, если это разрешено в настройках отчета. Подробная статья об этом отчете уже присутствует в справке.

Отчет О Задачах 1

Группу пользователей и период для построения отчета

Отчет О Задачах 2
Отчет по количеству запланированных, выполненных и невыполненных задач Звонок, Вебинар, Письмо и Встреча

Отчет О Задачах 3

Перечень задач, учтенных в выбранной ячейке отчета

Модуль интеграции с онлайн-чатом Jivo

В ELMA365 Store в разделе «Интеграции и Модули» — CRM — «Мессенджеры» добавлен модуль интеграции с онлайн-помощником Jivo. Благодаря такой интеграции лид точно будет внесен в CRM, что позволит маркетологам учитывать касания о клиента, а сотруднику отдела продаж — быть в курсе интересов потенциального клиента.

Jivo
В рамках интеграции происходит передача информации из  Jivo  в ELMA365, в результате чего создается новый контакт и новый «Лид» или «Сделка» в зависимости от настроек модуля интеграции. Если контакт с таким e-mail  адресом и телефоном уже есть,  то история переписки между оператором и  посетителя сайта, где размещен виджет Jivo, записывается в карточку «Лида» или «Сделки» после того, как оператор Jivo  завершает диалог.

Настройка передачи информации из чата Jivo в  ELMA365 CRM осуществляется в настройках модуля, где необходимо связать контекст двух систем.

Jivo Настройка

Настройки видимости воронок через группы «Раздела» и «Приложения»

Добавлена возможность использовать группы и роли для настройки видимости воронок приложений «Лиды» и «Сделки» на уровне раздела и приложения, а не только системные группы и группы компании.

Настройки Видимости Воронок Через Группы Раздела И Приложения

«Управление статусом» элемента приложения в процессах для «Лидов» и «Сделок»

Внесены изменения в блок «Управление статусом» в бизнес-процессах. Теперь для приложений с несколькими воронками в настройке блока доступна возможность настроить переход как в выбранный статус определенной воронки (при прохождении через этот блок элемент переместится в указанный статус выбранной воронки), так и переход в один из стандартных статусов (Новые, Закрыто успешно, Закрыто неуспешно — для Сделок; Новый, Квалифицирован, Неквалифицирован — для Лидов) с учетом сохранения элемента в той же воронке , в которой он находился до момента прохождения через блок «Управление статусом» на карте бизнес-процесса.

Управление Статусом

ELMA ChatDesk 2.0

В этом месяце вышел релиз ChatDesk с расширенными умными функциями. В майском релизе мы подтверждаем основную концепцию продукта ELMA ChatDesk — это инструмент 3 в 1, включающий 

  • Омниканальный контакт центр с новыми функциями помощи оператору;
  • ServiceDesk для более глубокой процессной обработки обращений;
  • ELMA Bot для включения в цепочку доставки ценности инструменты искусственного интеллекта. 

Img0

Теперь пользоваться омниканальным контакт-ценром стало еще удобнее. 
Для помощи оператору при работе с клиентами появились возможности: 

  • получать подсказки от бота суфлера в режиме реального времени;
  • использовать при общении предустановленные шаблоны ответов;
  • добавлять статьи из общедоступной базы знаний;
  • переводить диалог на бота в случае когда нужно обработать типовой сценарий общения.

Кроме того, при наступлении триггерного события работа с обращением может начаться еще до того как оператор приступит к диалогу, благодаря функции автоматического запуска бизнес-процессов при открытии новой сессии, поступлении нового сообщения от клиента или закрытии сессии. 
Запуск процессов администратор может настроить при создании или изменении Линии. 

ELMA Bot

Мы представляем новый продукт ELMA Bot — Low Code конструктор чат ботов для поддержки и обслуживания в текстовых каналах как часть единого решения ELMA ChatDesk. C ELMA Bot появляется возможность автоматизировать диалог с пользователем, переложить с оператора функции которые выполнялись в ручную:

  • находить и давать ответы на на часто задаваемые вопросы (FAQ);
  • собирать данные, заполнять формы заявок;
  • создавать элементы приложений и запускать бизнес процессы;
  • маршрутизировать обращения;
  • проводить аутентификацию внутренних и внешних пользователей.

Настраивать бота так же легко как рисовать бизнес процесс в дизайнере ELMA365. Low-code инструмент позволяет создавать и вносить изменения быстро и дешево. Для случаев, когда на бота нужно переложить консультирование по типовым вопросам, мы  предусмотрели разговорную базу знаний. И несмотря на кажущуюся простоту, под капотом находятся мощные механизмы распознавания языка.

Конструктор сценариев

Поведение бота задается в визуальном редакторе сценариев, в котором можно настраивать реакции на события, последовательность шагов, ветвления, сбор и запоминание данных в памяти бота, обмен данными с другими системами. Все эти настройки не требуют написания кода.

Img1

База знаний

С помощью базы знаний можно настроить бота, который отвечает на типовые вопросы. База знаний наполняется через импорт имеющихся документов либо в встроенном редакторе вопросов, при этом нет необходимости вносить изменения в сценарии, поэтому управлять набором типовых вопросов  может, например, специалист службы технической поддержки.

Img2

AI — искусственный интеллект 

В основе понимания языка ELMA Bot лежат технологии машинного обучения, поэтому не придется описывать все возможные варианты словоформ и последовательностей. На примерах фраз реальных пользователей строится модель распознавания, которая понимает произвольные формулировки вопросов.

Img5

Рабочее место оператора

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

Img6

Беседы, в которых общается бот в реальном времени, видны супервизору, эти беседы могут быть переведены на оператора и обратно на бота.

Img7

Электронный ассистент

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

Img8


Подробнее про возможности ELMA ChatDesk — трех продуктов в одном для умной поддержки клиентов, партнеров и сотрудников, рассказали на вебинаре. Смотреть запись. 

Low-code 

Доработки импорта


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

Rn 1
Файлы со структурами также проверяются и при обновлении:

Rn 2
Таким образом система предотвращает неуспешные попытки импорта и создание некорректных структур, а также нарушение целостности конфигурации.


Тип данных таблица

Расширили гибкость настроек типа данных Таблица, новой опцией «Разрешать удалять строки с ячейками, доступными только для чтения». Если опция включена и в таблице есть колонки, отмеченные флагом «Только для чтения», строки в такой таблице можно будет удалять.
Опция доступна:
В настройках поля: 
Rn 4
В настройках виджета: 
Rn 5
В настройках формы задачи бизнес-процесса: 
Rn 6

Пользователи

Теперь сотрудникам будет проще найти контактные данные коллег. Пользователи могут указать свои учетные записи мессенджеров и социальных сетей в профиле:


Rn 7

Rn 8

Лицензирование решений


Авторы решений для ELMA365 Store теперь могут делать свои решения платными. Для этого достаточно поставить флаг «Платное решение» при экспорте в ELMA365 Store:

Rn 9

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

Все платные решения автоматически активируются на пробный период в 14 дней сразу после установки. 

Использование платных решений тоже максимально просто: платное решение можно установить из каталога ELMA365 Store и начать пользоваться.

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

Система автоматически откроет форму активации решения при переходе в любой раздел в составе решения:

Rn 10

В разделе «Администрирование» — «Управление лицензиями» также можно найти полный список установленных платных решений и активировать любое из них:

Rn 11

Классы html в настройках полей

В настройках виджетов на вкладке «Системные» добавлено поле «HTML-классы». В нем можно задать значения, которые будут прописаны в атрибут class у корневого HTML-узла виджета. Это позволяет не дублировать HTML-стили у нескольких элементов, а задать один класс, и через виджет «Код» определить стили.

Коротаев 2022 5 01

Коротаев 2022 5 02

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


Создание OAuth провайдера в модуле 

В некоторых решениях внешний портал нужно уметь интегрировать с готовым провайдером аутентификации. Это может быть публичный сервер (вроде VK, Yandex) или внутренний провайдер на основе протокола OAuth. Теперь вы можете создавать модули, предоставляющие функциональность провайдеров аутентификации для входа внешнего пользователя.

После добавления такого модуля в систему, его можно выбрать в настройках портала на вкладке «Авторизация» — «Настройки OAuth2». После добавления OAuth провайдера в портал вы можете даже отключить вход пользователей по логину-паролю.

Для реализации контракта OAuth в модуле достаточно добавить строковые настройки с кодами «client_id», «client_secret», «auth_url», «token_url», «scopes» и добавить функцию «oauth2_profile» в скрипты Методов API:

interface AccessTokenData {
    access_token: string;
    refresh_token: string;
    token_type: string;
    expires_in: number;
}
 
interface OAuth2Profile {
    // идентификатор пользователя
    user_id: string;
}
 
interface OAuth2ResponseFail {
    error: string;
    error_description: string; 
}
 
async function oauth2_profile (tokenData: AccessTokenData): Promise {
    // тут реализация ... ... ...
}

Серверные зависимости пакетов npm для On-Premises

(!) Важно! Только для On-premises

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

Для этого нужно упаковать готовую папку node_modules и файл package.json в архив с названием dependencies.tar.gz и положить этот архив в файлы виджета. После этого можно использовать упакованные зависимости в коде серверного скрипта.

Например, использование пакета xlsx для чтения данных из excel файла:

import * as XLSX from 'xlsx/xlsx.mjs';
 
const url = await Context.data.file.getDownloadUrl();
const req = await fetch(url);
const data = await req.arrayBuffer();
 
let workbook = XLSX.read(data);
let cell_value = workbook['Лист 1']['A1'].v;

Мультиязычные решения

Каждый пользователь системы сможет выбрать любой из языков, установленных в компании. Это позволит создавать уникальные мультиязычные решения и процессы.
 И теперь перевод касается не только платформы. Увы, мы как разработчик не можем переводить все. Но теперь вы сможете создавать мультиязычные решения.
 
Платформа ELMA365 изначально мультиязычная – каждый сотрудник компании может выбрать удобный для него язык интерфейса. Однако ранее локализация затрагивала только интерфейсы самой платформы, а конфигурация, то есть все созданные на ней решения, оставались без перевода.

1

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

Какие задачи это позволит решать?

  1. Мультиязычные конфигурации системы. Созданные на платформе разделы, страницы, бизнес-процессы и многие другие элементы конфигурации теперь можно локализовать самостоятельно. После чего каждый пользователь системы будет работать с решением на своем языке.
  2. Мультиязычные решения ELMA365 Store. Теперь созданные мультиязычные конфигурации можно будет передавать. Постепенно все поддерживаемые вендором решения в ELMA365 Store сразу станут мультиязычными. 

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

Trefilov

Чтобы сделать любой добавленный вами раздел системы мультиязычным, следует выгрузить файлы его ресурсов в формате *.PO. Далее, можно настроить переводы с использованием стандартных инструментов перевода. В будущем в системе появится собственный раздел для работы с переводами. 

Официальные языки ELMA365 и неофициальные

В системе сейчас можно реализовать поддержку любых языков на уровне платформы. При этом сделать это можно без привлечения вендора.
 
Для поддержки мультиязычности системы реализован механизм языковых пакетов. После добавления в компанию языкового пакета сотрудники компании смогут выбирать этот язык в настройках профиля. Локализация касается не только платформы, но и конфигурации (бизнес-процессов, приложений, страниц, разделов), если соответствующие переводы были загружены в систему.
 
Компания ELMA365 поддерживает локализацию системы на следующие языки (официальные языки):

  • русский;
  • английский;
  • немецкий;
  • испанский.
     

Остальные языки имеют статус неофициальных: 

  • казахский;
  • узбекский ;
  • азербайджанский;
  • и др. 

Они, в частности, могут поддерживаться партнером вендора ELMA365 и распространяться через наши официальные ресурсы (ELMA365 Store). Поддержкой неофициальных языков занимается партнер, они имеют соответствующую маркировку, на имеют отсылок к вендору ELMA365 и не имеют вендорской поддержки.

Trefilov 2

ELMA365 On-Premises 

Для улучшения работы в условиях повышенной нагрузки мы добавили функцию автоматического масштабирования микросервисов Приложения ELMA365 — horizontal pod autoscaling, которая динамически изменяет количество реплик каждого из компонентов в зависимости от его нагрузки, что позволяет более эффективно использовать предоставленные Приложению вычислительные ресурсы. Равномерное распределение трафика между репликами микросервиса и связность обеспечивается технологией Service Mesh, для чего используется Linkerd.
При обновлении установки Helm-пакетом нужно добавить в файл настроек несколько переменных, которые поставляются с новым дистрибутивом. Обновление для Ubuntu Linux с MicroK8s получило дополнительные пункты в опроснике.

Требуется обновление RabbitMQ до 3.9.15, в котором исправлена работа с очередями в режиме кластера.  

Контракты


Мы продолжаем развитие контактов — Low-code реализации принципов наследования интерфейсов из объектно-ориентированного программирования.

Сохранение фильтров для контрактов

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

Новые возможности для работы с правами в TSSDK

Расширены возможности работы с контрактами из пользовательских сценариев, добавлена поддержки новых методов работы с правами элементов.

  • getPermissions — получение параметров доступа к контракту
  • hasPermission — проверка имеется ли доступ к контракту
  • setPermissions — установка прав доступа к контракту

Методы будут полезны при проверке и выдаче прав на контракты в универсальных процессах. Например, если у нас есть контракт «Документы с контрагентами» и процесс по обработке такого вида документа, получим список прав на документ

const perm = await Namespace.app.kontrakt.getPermissions();

Проверим, есть ли у текущего пользователя права на чтение элемента

await Namespace.app.kontrakt.hasPermission(await System.users.getCurrentUser(), PermissionType[""READ""]);

Выдадим текущему пользователю права на чтение и редактирование элемента

await Namespace.app.kontrakt.setPermissions(new Permissions([new PermissionValue(await System.users.getCurrentUser(), [PermissionType. READ, PermissionType. UPDATE])]));

ELMA ECM

В блок регистрации документа в бизнес-процессах добавили возможность обрабатывать ошибки и невозможность регистрации.
В ELMA365 доступны 2 вариант обработки регистрации в бизнес-процессах: автоматически и вручную.
Для автоматической регистрации при наличии ошибок добавили возможность уведомить пользователей об ошибке, прервать регистрацию и продолжить процесс по требуемому переходу. Настройка производится на выделенной вкладке «Обработка ошибок» блока «Регистрация документа» бизнес-процесса.

Rais
На карте бизнес-процесса начало перехода с обработкой ошибки при автоматической регистрации отмечается соответствующим маркером:

Rais 4

Для ручной регистрации добавили возможность отмены регистрации вручную по выбранному переходу и эскалации по времени. Для корректной работы требуется указать переход по умолчанию на вкладке «Переходы», он будет использован для подтверждения регистрации.

Rais 2
 
Если требуется прервать задачу регистрации по истечении определенного времени, можно указать следующий шаг в процессе, который нужно выполнить по истечении этого времени.

Rais 1

Переход по умолчанию отмечается на карте бизнес-процесса косой чертой, а переход для эскалации по времени иконкой часов:
 Rais 5