Вышла обновленная версия ELMA365 2020.11.1
Low-code платформа ELMA365 ставит на быстрое развитие, поэтому мы решили выпускать релиз каждые 2 недели. И первый релиз новой версии ELMA365 не заставил себя долго ждать. В ELMA365 2020.11.1 появилось создание документов по шаблону, возможность смотреть версии документов, появился сервис генерации PDF и еще несколько других особенностей.
Создание документов по шаблону
Больше менеджеры не будут терять время на оформление документов, потому что теперь типовые договоры, дополнительные соглашения и другие документы будут сгенерированы по шаблону. Это стало возможно благодаря настройке формы документа, а именно возможности убрать необходимость прикрепления файла при создании. Теперь файл, сгенерированный по шаблону, может быть прикреплен уже в процессе.
Версии документов
Также появилась возможность видеть историю изменений текста, кто и когда менял, что в свою очередь помогает быстрее принимать решения по документам. Когда потребуется поменять текст документа, можно сделать это как раньше, и в системе появится соответствующая запись на панели "Версии" в документе.
Cервис генерации PDF
Существенно улучшился и ускорился сервис для генерации файлов PDF в процессе. Это позволило снизить размер дистрибутива и уменьшить время установки ELMA365 On-Premises.
Ленты сообщений
Помимо этого теперь можно добавлять целые группы и элементы оргструктуры в список участников канала, чтобы ваши пользователи оставались в курсе важных событий.
Динамические формы приложений и задач: зависимые поля
Значительно сэкономить время на согласование некорректных документов и защитить сотрудников от ошибок ввода помогут динамические формы приложений и задач. Настройки форм дополнены возможностью указать ограничения на выбор значений из других приложений. Например, в договоре можно указать контрагента, после чего выбрать подписанта только из контактов этого контрагента. У сотрудников не будет необходимости самим проверять корректность этого выбора. Всё это можно настроить в несколько кликов мыши без кода.
Приложения и виджеты Low Code
Чтобы создавать более гибкие и динамичные приложения мы добавили возможность в качестве формы приложения использовать полноценный виджет со сценариями. Это позволяет гораздо быстрее создавать интерактивные приложения с возможностью многослойного привнесения более сложных технических инструментов. Теперь можно создавать виджеты прямо внутри Разделов и Приложений в меню Интерфейсы. Это позволяет изолировать разработку функционала внутри замкнутого контура и легко переносить наработки из одной компании в другую.
Бывают задачи, в которых нужно обработать большой массив данных. Для быстрого и безопасного решения таких задач мы добавили возможность вызова серверного сценария прямо из клиентского через переменную `Server.rpc`:
При разработке сложных решений часто возникает необходимость создавать универсальные виджеты. Теперь виджет может сам решить стоит ли ему отображаться на форме в зависимости от внутренних условий. Для этого мы ввели контракт `canRender` в клиентский сценарий.
Лицензирование
Чтобы сэкономить на стоимости лицензий, когда не всем требуется постоянный доступ к системе мы добавили конкурентные лицензии к именным. Лицензии можно совмещать, таким образом будут пользователи имеющие привилегированный доступ к системе и пользователи, которые будут подключаться время от времени.
TSSDK
Цепочка `where` больше не стирает старое условие (в методах search). Несколько вызовов `where` соединяют условие через оператор AND.
Добавлена работа с пользователями:
System.users.search() // Поиск
System.users.getCurrentUser() // Получение текущего авторизованного пользователя
TUser.block()
TUser.unblock()
Добавлена работа с группами пользователей:
System.userGroups.search()
System.userGroups.create()
UserGroupItem.save()
UserGroupItem.delete()
Доступна возможность запуска бизнес-процесса:
await Application.processes.process_code.run({param: 1});
await Namespace.processes.process_code.run({param: 1});
await Global.ns._clients.app._leads.processes.process_code.run({param: 1});
await Global.ns._clients.processes.process_code.run({param: 1});
Теперь можно отправлять сообщения в ленту элемента приложения:
await ApplicationItem.sendMessage(title: string, message: string);
В клиентских сценариях виджета стала доступна глобальная константа `Server`. В объекте `Server` доступны для вызова методы из серверного сценария виджета:
await Server.rpc.doSomething()
где `doSomething()` - функция описанная в серверном сценарии виджета.
В клиентских и серверных сценариях виджета добавлена возможность кэширования каких-либо значений :
// Записать значение в серверный кэш
await Namespace.cache.setItem('item_key', 'item_value', 1000 * 3600);
// Получить значение из серверный кэша
const v: string | null = await Namespace.cache.getItem('item_key');
Для контекстных переменных типа "Приложение" появилась возможность указать фильтр при помощи методов:
Context.fields.myapplication.setFilter(filter); // задать фильтр
Context.fields.myapplication.clearFilter(); // очистить фильтр
Для контекстных переменных типа "Категория" добавлена возможность добавлять / удалять доступные значения:
Context.fields.category.data.variants.push(
code: 'item_new',
name: 'новое значение'
});