Почему мое событие IBM BPM Coach не запускает JavaScript?

Я пишу IBM BPM Coach с использованием выпуска 8.5.7 2017.06 и создаю обработчик событий, который выглядит следующим образом:

\\ Hide the dialog
${MyDialog}.setVisible(false);

\\ Execute the service
${MyService}.execue();

Однако когда происходит событие, ничего не выполняется?

2 ответа

Решение

Когда мы создаем сценарий, который выполняется в Coach, даже если запись Process Designer отображает несколько строк с помощником по содержимому, при сохранении и последующем выполнении сценария код "объединяется" в одну строку. Итак, код:

// Hide the dialog
${MyDialog}.setVisible(false);

// Execute the service
${MyService}.execute();

будет выглядеть так:

 // Hide the dialog ${MyDialog}.setVisible(false); // Execute the service ${MyService}.execute();

И в результате этого // становится началом комментария к строке, который в основном комментирует оставшуюся часть строки. Решение состоит в том, чтобы не использовать комментарии или использовать /* а также */ скобки для комментариев.

Редактор обработчика событий вводит в заблуждение, полагая, что это полноценный многострочный код JS. Как вы заметили, этот код оценивается как однострочный код. Это выглядит мне как недостаток редактора BPM. Если редактор событий может правильно внедрить \n символы для выражения передаются дальше new Function(expressionString) используемый BPM UI (SPARK toolkit) однострочный комментарий будет работать нормально. Также обратите внимание, что использование символа возврата каретки внутри кода обработчика события также неправильно обрабатывается, в данный момент необходимо поместить \\n иметь \n в исполняемом коде. Смотрите мои выводы здесь.

Другие вопросы по тегам