Вышла обновленная версия ELMA365 2020.11.1

Low-code платформа ELMA365 ставит на быстрое развитие, поэтому мы решили выпускать релиз каждые 2 недели. И первый релиз новой версии ELMA365 не заставил себя долго ждать. В ELMA365 2020.11.1 появилось создание документов по шаблону, возможность смотреть версии документов, появился сервис генерации PDF и еще несколько других особенностей.

Создание документов по шаблону

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

Создание документов по шаблону Создание документов по шаблону Создание документов по шаблону

Версии документов

Также появилась возможность видеть историю изменений текста, кто и когда менял, что в свою очередь помогает быстрее принимать решения по документам. Когда потребуется поменять текст документа, можно сделать это как раньше, и в системе появится соответствующая запись на панели "Версии" в документе.

Создание документов по шаблону Создание документов по шаблону

Cервис генерации PDF

Существенно улучшился и ускорился сервис для генерации файлов PDF в процессе. Это позволило снизить размер дистрибутива и уменьшить время установки ELMA365 OnPremise.

Ленты сообщений

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

Создание документов по шаблону

Динамические формы приложений и задач: зависимые поля

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

Создание документов по шаблону Создание документов по шаблону

Приложения и виджеты 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( <TEnum<string>{
code: 'item_new',
name: 'новое значение'
});