Расширенный поиск
Результаты поиска
Найдено 240 результатов
Настройка внутренних номеров пользователей
После того как подключение к станции установлено, необходимо произвести сопоставление SIP номеров пользователям ELMA365: После этого пользователи смогут совершать исходящие и принимать входящие звонки.
where для поля типа JSONB
Для получения записей по условию значения в поле JSONB нужно выполнить следующую конструкцию, например: SELECT * FROM dev8.widgets WHERE body->>'namespace' = 'ext_aca2d909-8a70-406f-9fc0-a5370fec83a1' ORDER BY id ASC где,body - поле типа JSONBnamеspace - ...
Утилитка сборки решений для стора
Для автоматизации сборки компонентов для стора можно использовать следующую утилиту (положить, например в каталог Dev): Для ELMA3 - ITino.ELMA.StoreGenerator3.exeДля ELMA4 - ITino.ELMA.StoreGenerator4.exe(Дополнительно ей потребуется библиотека CommandLine.dl...
Настройка приложений
Для того, чтобы у приложения появилась возможность учитывать время, в настройках модуля необходимо в таблице на вкладке Учет времени прописать его namespace и code: Указанные значения можно получить по ссылке доступа к приложению: В данном примере Namesp...
Демо запись учета времени
Установка и настройка решения
В настоящий момент решения является не официальным и не опубликовано в Store Актуальная версия для установки - rmg_dev_tools 20240223.e365 Поддержка решения осуществляется на добровольной основе в канале Telegram
Пример вызова в скрипте
Логирование поддерживается как в клиентских, так и серверных скриптах. На текущий момент нами был обнаружен единственный способ для решения данной задачи. Он не является изящным, но "на безрыбье и рак щука". Отдельное спасибо за идею Раису. Для того, чтобы в...
Сложный фильтр
const leads = await Global.ns._clients.app._leads.search() .where((f, g) => { let opperands: Filter[] = []; opperands.push(f.__deletedAt.eq(null)); opperands.push(f.__createdAt.gte(Context.data.start_date!)); ...
Ручка удаления процесса из списка
Если процесс не используется и его нужно удалить из списка в системе, можно воспользоваться "ручками" и следующим кодом: const processID = "0a46f3fc-d78a-4afb-af4b-cd6ab0fab711"; //id процесса const host = "http://elma36511.ru"; //Хост const lockResp = awa...
Фильтр для __parentCompany
При использовании виджета Иерархия, если указать в качестве материнской компании саму себя наступает бесконечная рекурсия (хоть виджет это и отлавливает - он не покажет нам иерархию). Чтобы решить данную проблему, при инициализации формы редактирования (при с...
Ожидание загрузки всех скриптов
$(function() { // Загрузка внешних скриптов const loadScript = url => new Promise(resolve => { const script = document.createElement('script') script.addEventListener('load', () => { resolve() }) scrip...
Функция удаления полей в данных JSONB
Если уже есть заполненные данные в body какого то Приложения и была правка метаданных в базе с удалением полей, при обновлении элемента приложения система будет ругаться. Чтобы почистить данные в body, необходимо в схеме создать функцию: -- head - название сх...
Запустить процесс и перейти в Задачи
Чтобы после запуска процесса, например по кнопке в виджете, а затем перескочить автоматически в список задач, необходимо реализовать следующий код в клиентском сценарии: declare const window: any; async function checkOutInvoices(): Promise<void> { awa...
Не публикуется процесс с таймером на стартовом событии
Внезапно перестали публиковаться такие процессы. Если запуск по расписанию убрать, то все нормально публикуется.В противном случае окно публикации версии не пропадает (хоть и проверка проходит успешно), в network internal error на PUT шаблона процесса. После ...
Логирование данных в обработчике событий
Для того, чтобы понять, какие данные приходят в обработчик событий в модуле, можно использовать следующий код: async function action(): Promise<void> { const message = 'Сообщение о записи входящего разговора'; const details = JSON.stringify((<any>C...
Пример вызова в скрипте через Imports и Namespace.action
Доступно с версии 2024.2 Вариант с использованием Imports: async function action(): Promise<void> { const message = `${Context.data.__item!.namespace}.${Context.data.__item!.code}.${Context.data.__item!.id}`; const details = JSON.stringify((<any>Co...
ListenerHelper
/// <summary> /// Проверка на возможность мягкого удаления /// </summary> /// <param name="event">Событие</param> /// <param name="action">Проверочное действие</param> /// <typeparam name="T">Тип</typeparam> public static void TrySoftDeleting<T>(PreUpdat...
Error: Kubernetes cluster unreachable: Get https://127.0.0.1:16443
После обновления сертификатов в кубике возможна неработоспособность helm - появляется ошибка или с неверным сертификатом или что то с портом. Необходимо обновить файл конфигурации кубика: microk8s.kubectl config view --raw > $HOME/.kube/config После этого h...
Клиент для Ubuntu
#Download the latest MinIO clientwget https://dl.min.io/client/mc/release/linux-amd64/mcli_20220611211036.0.0_amd64.deb#Installsudo dpkg -i mcli_20220611211036.0.0_amd64.deb #Enable autocompletion for your shellmcli --autocompletion#To enable autocompletion i...
Восстановление всех удаленных объектов
В случае если включено версионирование и были удалены объекты, то восстановить их можно с помощью следующей команды: minio-client undo --recursive --force --action "DELETE" <S3 server>/<bucket>