BPMonline7 добавить MESSAGE для sandbox

Здравствуйте!

BPMonline 7

подскажите можна ли в схему представления карточки и в схему представления детали добавить свой MESSAGE чтобы делать публикацию/подписку с помощю sandbox?

Нравится

5 комментариев

Здравствуйте, Владимир.

Переадресовал обращение в департамент разработки. В ближайшее время ожидаем рекомендаций.

Владимир, ответ от разработки следующий:

На данный момент такое невозможно, поскольку у модулей есть список сообщений с которыми этот модуль работает (для детали они определяются не в схемах а в DetailModule, соответственно, доступны только сообщения которые выведены в нём).
1. Можно этот модуль переопределить, но при этом потеряется обновление исходного кода модуля и это не самый лучший вариант;
2. На стороне клиента динамически дописать в определение DetailModule нужное сообщение, но это не очень хороший вариант поскольку использует недокументированные возможности.

Максим, меня как раз интересует возможность дописать динамически нужное сообщение.

Как можно такое реализовать?

Сообщения с которыми работает модуль находятся в его описании, чтобы его изменить надо изменить описание таким образом (например в той схеме карточки или детали что хочет использовать новое сообщение)

//Получение существующего дескриптора модуля ViewModule
var description = core.getModuleDescriptor("ViewModule");
//Добавление нового широковещательно сообщения на подписку
description.messages.MyMessage = {direction: "subscribe", mode: "broadcast"}
//Установка  нового описания для модуля (тут можно положится на ссылочный тип переменной description, но лучше установить явно, чтобы не зависеть от реализации метода ядра getModuleDescriptor)
core.setModuleDescriptor("ViewModule", description)

спасибо, Максим!

все получилось :wink:

Показать все комментарии