Сценарии
1. TEAM-9930 Для разработки решений и модулей со слабой связностью была добавлена функция поиска произвольного элемента приложения по параметрам namespace, code, id.
Способы использования:
Получить ссылку с типом any:
Код:
// Получаем ссылку на произвольное приложение
const refItem = new RefItem('my_namespace', 'my_code', id);
// Получаем элемент с типом any
const item = await refItem.fetch();
Получить типизированную ссылку. Для этого, после конструктора RefItem необходимо в угловых скобках - указать тип:
Код:
// Получаем типизированную ссылку на приложение
const refUserItem = new RefItem<MyApp>('my_namespace', 'my_app', id);
// Получаем типизированный элемент
const user = await refUserItem.fetch();
Объект может быть не найден, в таком случае необходимо обработать ошибку:
Код:
onst refItem = new RefItem('namespace', 'code', id);
try {
appItem = await reItem.fetch();
} catch (err) {
// Обработка ошибки получения элемента приложения.
}
2. TEAM-4027 При создании динамических форм в решениях пользователи часто сталкивались с необходимостью ограничить ввод дат. Например, чтобы дата исполнения заявки была больше текущей даты. Для этого мы добавили в сценарии возможность ограничивать выбор дат в свойстве типа Дата/Время.
Синтаксис для задания фильтра полей типа Дата/Время следующий:
Код:
// Значение должно быть больше константы (в данном случае больше текущей даты)
Context.fields.my_datetime.data.setFilter((f) => f.gt(new Datetime()));
// Значение допустимо между двумя датами
Context.fields.my_datetime.data.setFilter((f, g) => g.and(
f.gt(new Datetime('2023-03-01')),
f.lt(new Datetime('2023-04-01'))
));
// Можно так же формировать более сложные условия
Context.fields.my_datetime.data.setFilter((f, g) => g.and(
f.gt(new Datetime('2023-03-15')),
g.or(
f.lt(Context.data.max_datetime),
f.gt(Context.data.min_datetime),
),
));
- Доступны операции сравнения с константой: “eq”, “neq”, “gt”, “gte”, “lt”, “lte”.
- Доступны базовые группировки: “and”, “or”.
- Фильтруются в контроле ввода только даты с 1900 до 2100 года.
- В поле выбора времени фильтрация не применяется.
3. TEAM-16441 Добавлена возможность найти замещения с нужным статусом (Текущие, В плане, Архив) с помощью сценария.
Для замещений добавлен флаг isInterrupted: boolean. Если замещение было прервано, проставляется isInterrupted: true.
Всем существующим до релиза замещениям миграцией проставлено isInterrupted: false для обратной совместимости.
TO-DO блоки
1. TEAM-15330 У некоторых пользователей вызывал опасения тот факт, что TO-DO элементы может удалить любой сотрудник с доступом к конфигурации и отследить эти действия нет возможности.
Теперь ранее созданные и удалённые TO-DO элементы остаются в списке на 30 дней как удалённые. Таким образом, можно отследить прогресс по закрытию простых задач.
2. TEAM-15331 В описаниях TO-DO блоков в процессах и виджетов ссылки теперь становятся активными.
TS SDK и API
1. TEAM-7624 Добавлены методы TSSDK для поиска и прерывания определённого таймера в процессе из сценария этого же или другого процесса.
Получить можно как все действующие в данный момент таймеры: getTimers (): Promise<ProcessTimer[]>;
Так и один конкретный, который относится к указанному блоку Таймер: getTimer (timerOwnerId: string): Promise<ProcessTimer | undefined>;
Полученный таймер можно прервать: interrupt (): Promise<void>. Действие аналогично пункту Выполнить в мониторе процессов для активного таймера: таймер завершается, а процесс переходит к следующему блоку на диаграмме.
2. TEAM-16652 Добавлены подробные описания к методам типа TTable в справке.
3. TEAM-15335 Добавлен метод System.templater.generateText.
Пример использования: const text = await System.templater.generateText(item ,‘test {$__name} {$__createdBy} testend’);
Максимальный размер текста данных ограничен размером пакета grpc. По умолчанию это 8 мегабайт. О том, как изменить размер, читайте по ссылке https://community.elma365.com/ru/threads/19/.
4. TEAM-15704 Добавлена возможность изменять исполнителей задачи в сценарии. Это можно сделать с помощью метода reassign. Задачи ознакомления и согласования, а также системные задачи переназначаются на первого из набора переданных исполнителей. Если экземпляр процесса завершён, или задача уже закрыта, переназначение невозможно.
5. TEAM-14533 Добавлен метод Web API для массового импорта данных. С документацией можно ознакомится, перейдя по ссылкам:
https://api.s-elma365.com/ru/public-api/reference/app/appimport/
https://api.s-elma365.com/ru/public-api/reference/app/appgetimportstatus/
Конструктор интерфейсов
1. TEAM-15474 Доработан виджет валидации.
- В API добавлена возможность переопределять стандартный заголовок валидации:
Код:
const result = new ValidationResult(
[],
{
stroka: ['Значение должно быть длиной не менее 10 символов'],
stroka_2: ['Значение должно быть длиной не более 50 символов'],
},
{
number_1: ['Значение должно быть меньше или равно 50'],
},
);
result.title = 'Должны быть проставлены все флажки на форме';
- Виджет валидации теперь отображает поля в том порядке, в котором их видит пользователь.
2. TEAM-13740 В конструкторе интерфейсов пользовательские виджеты из модулей теперь группируются в подгруппы соответствующие названиям модулей.
Документооборот
1. TEAM-14395 При подписании документа электронной подписью информация о подписи хранится в файле signature.sig. Наименование такого файла теперь формируется автоматически и совпадает с названием подписываемого файла.
CRM
1. TEAM-16370 В Дизайнере интерфейсов появился новый виджет Последняя активность. Он показывает дату и время, когда в карточке Сделки или Лида был оставлен последний комментарий или дату, на которую запланирована активная задача CRM.
Виджет помогает контролировать активность сотрудника отдела продаж в рамках конкретной сделки и, как следствие, исключить брошенные сделки.
Виджет можно вынести только на формы просмотра, создания или редактирования элемента приложения Сделка или Лид.
По умолчанию виджет вынесен на формы в новых компаниях. Для добавления виджета в уже существующие компании необходимо перетащить его на формы приложений CRM в Дизайнере интерфейсов.
2. TEAM-15844 Был ограничен диапазон возможных дат для фактических поступлений. Невозможно указать дату поступления, позднее текущей.
3. TEAM-16484 Для приложения Группы продаж установлены права доступа Все пользователи.
4. TEAM-16550 На компонент дэшборда Конверсия добавлено уведомление: “Для корректного расчёта конверсии установите в фильтре период равный среднему циклу продаж”.
Линии
1. TEAM-16445 Добавлена возможность цитировать сообщения при общении с пользователем в TelegramBot, Telegram, ВК.
2. TEAM-16206 Добавлена возможность выбирать тему письма в качестве параметра при запуске бизнес-процесса.
Проекты
1. TEAM-12319 Добавлен счётчик текущих проектных задач.
2. TEAM-12322 Убран процент выполнения контрольных точек.
Авторизация в системе
1. TEAM-16520 Добавлена поддержка аутентификации по одноразовым SMS-кодам и номеру телефона для пользователей, импортированных из AD/LDAP. Такие пользователи могут использовать эту возможность, если у них указан номер мобильного телефона. Возможность войти в систему по логину и паролю AD/LDAP также остаётся доступна.
2. TEAM-15729 Если пользователь в системе создан автоматически при авторизации через провайдер oauth (с помощью опции auto-signup в модуле), то он не сможет отвязать учётную запись oauth через вкладку Настройки профиля > Авторизация.
3.TEAM-12037 В разделе Администрирование > Настройки безопасности появилась панель Сессии пользователей. Доступны следующие настройки:
- Завершать сессии пользователей при бездействии – завершает сессию пользователя, если он бездействует на протяжении периода, указанного в поле Допустимое время бездействия. Пользователю придётся снова пройти авторизацию в системе. Настройка не зависит от типа лицензии пользователя (именная или конкурентная).
- Допустимое время бездействия* – период бездействия в минутах, по истечению которого сессия пользователя будет принудительно завершена.
Настройки компании
TEAM-10335 Для более удобной работы пользователей с системой в разных странах мы постоянно развиваем функционал локализации системы. В этот раз добавили возможность настроить префикс страны по умолчанию для поля типа Телефон. В раздел Администрирование > Настройки компании добавили настройку Страна для номера телефона по умолчанию, в которой можно задать конкретную страну или выбирать в зависимости от языка пользователя.
Импорт-экспорт решений
TEAM-15409 При попытке установить ранее установленное решение путём импорта файла или из ELMA365 Store, пользователю будет предложено обновить решение.
Приложение
TEAM-1783 При выборе элемента в поле типа Приложение через лупу теперь доступны фильтры этого приложения.
Лента
TEAM-5524 Добавлены реакции на сообщения в #Ленте.
Задачи
TEAM-15882 Сохранённые фильтры в разделе Задачи дополнительно отображаются в левом меню. Управление фильтрами (создание, удаление, редактирование, изменение порядка) остаётся в панели фильтрации.
Процессы
TEAM-14151 Теперь пользователи, не являющиеся администраторами, не видят и не могут запускать системные процессы.
Конфигурация On-Premises
TEAM-15719 Добавлена возможность установить период проверки для Действия БП в модуле меньше 1 минуты.
В конфигурацию сервиса processor добавлена новая переменная окружения ELMA365_CUSTOM_ACTIVITY_SCRIPT_MIN_CHECK_INTERVAL, которая может принимать значения типа:
- “10m” - проверять раз в 10 минут
- “1m” - проверять раз в 1 минуту
- “10s” - проверять раз в 10 секунд
Значение по умолчанию “1m”.
Исправлены ошибки
1. TEAM-4238 Исправлено отображение текст у поля типа Телефон при импорте из Excel.
2. TEAM-10198 Исправлено отображение формы запуска процесса.
3. TEAM-13756 Ограничение выбора приложения при настройке формы работает корректно.
4. TEAM-13897 Подсказки в кнопках перехода задач бизнес-процессов (SaaS) теперь работают корректно.
5. TEAM-14403 События Ошибка авторизации пользователя создаются корректно.
6. TEAM-14757 Исправлено отображение файлов в результатах поиска.
7. TEAM-14806 Исправлена ошибка авторизации пользователя.
8. TEAM-14981 Исправлена ошибка в работе конструктора интерфейсов.
9. TEAM-15115 Исправлена ошибка, в результате которой при настройке блока в бизнес-процессе не загружалась страница.
10. TEAM-15143 Устранена ошибка, возникавшая при постановке задачи для переменной Пользователи (несколько) ошибка, если пользователь заблокирован.
11. TEAM-15193 Исправлено сворачивание/разворачивание шаблонов документов.
12. TEAM-15276 В сервисе dup-detector были убраны attempts для получения элемента.
13. TEAM-15326 В заблокированном решении реализована возможности изменять или заменять шаблоны документов.
14. TEAM-15327 Увеличен лимит gRPC при импорте большой структур.
15. TEAM-15442 Виджет Связанные элементы больше не влияет на отображение колонок таблицы приложения.
16. TEAM-15524 Выключенные модули телефонии больше не отображаются в меню исходящего звонка.
17. TEAM-15811 Из настроек маппинга контракта было убрано свойство Идентификатор.
18. TEAM-15813 Исправлена ошибка локализации событий.
19.TEAM-15823 Исправлена ошибка, возникавшая при смене типа значения с несколько на один параметра Электронная почта.
20. TEAM-15833 Папки с файлами внешнего пользователя корректно отображается в дереве папок для администратора системы.
21. TEAM-15883 Изменение ширины колонок в окне выбора элемента приложения больше не сбивает настройки колонок в самом приложении.
22. TEAM-15896 Исправлено ошибка, при которой можно было добавить второго супервизора в систему.
23. TEAM-16079 При импорте данных из LDAP номер телефона теперь сохраняется корректно.
24. TEAM-16258 Исправлено отображение формы задачи в мобильной версии.
25. TEAM-16376 Исправлена работа кнопки закрытия задачи.
26. TEAM-16384 Исправлена ошибка переноса сервиса при экспорте конфигурации.
27. TEAM-16436 Исправлен порядок отображения статусов в блоке Воронки продаж в дэшбордах CRM.
28. TEAM-16442 Исправлено отображение наименование задачи на диаграмме Ганта.
29. TEAM-16614 Исправлено отображение задач в мониторе процессов.
30. TEAM-16636 При использовании фильтра для папки с включённым параметром Искать только по выбранной папке поиск элементов производится по элементам текущей и вложенных папок. Если параметр Искать только по выбранной папке выключен, то поиск элементов производится по всем элементам иерархического справочника.
31. TEAM-16750 Исправлена работа поиска по параметру Последняя активность с периодом 1 день.
32. TEAM-17179 Проверку пароля при регистрации на портале теперь производится корректно.