Саша Бизиков

Руководитель отдела дизайна в ФанБоксе

IBM Process Designer 8.5: чтение и запись данных в Coach View

В Coach View среды IBM Process Designer 8.5 взаимодействие с переменными происходит через JavaScript, который разделён на блоки.

Есть основной блок и блоки, код в которых выполняется по соответствующему действию:

Интерфейс IBM Process Designer 8.5

В данной заметке опишу работу с входящим бизнес объектом (далее БО) и входящими параметрами. Подключение происходит во вкладке «Переменные», в которых можно указать только один БО и сколько угодно параметров. В БО должны передаваться данные, которые в дальнейшем будем отображать в Coach View, а в параметры передаются данные, которые влияют на отображение информации из БО.

Работаем с чтением и записью данных в IBM Process Designer 8.5

Чтение данных из БО и параметров

Для чтения данных необходимо использовать метод .get(‘value’). Если в интерфейсе, в котором используется ваш Coach View не привязана переменная, которую вы собираетесь прочитать через этот метод, то произойдет ошибка, поэтому читать данные из переменных необходимо следующим образом:

// Чтение БО
var data = this.context.binding ? this.context.binding.get("value") : null;
if (data) {
 // ваш код
}
// Чтение параметра
var title = this.context.options.title ? this.context.options.title.get("value") : null;
 if (title) {
// ваш код
}

Если вы делаете интерактивный элемент, например таблицу, в которой можно менять значения, то может понадобиться сохранять измененные данные в БО или параметры. С записью данных в IBM Process Desinger всё немного хитрее.

В БО помимо самих данных содержатся свойства о выделенном элементе. Это может пригодиться, если данные отображаются в таблице, в которой можно выбрать строку. БО содержит для этого следующие свойства:

Для обновления значения выделенной строки можно использовать только свойство listAllSelectedIndices, остальные свойства доступны только для чтения.

Обновить значение можно следующим образом:

var data = this.context.binding ? this.context.binding.get("value") : null;
if (data) {
 var index = 0; // Номер выделенной строки
 data.set("listAllSelectedIndices" , [index]);
 // Обновляем БО
 this.context.binding.set("value", data);
}

Запись и обновление данных в БО

Например, необходимо изменить поле в БО. Для обновления данных в IBM Process Designer у сложных БО нужно использовать следующий способ:

var data = this.context.binding ? this.context.binding.get("value").items : null;

Обратите внимание, что при считывании переменной мы сразу обращаемся к массиву items, который содержит объекты с данными (если обратиться к массиву с данными после чтения через .get(‘value’), перезаписать его и обновить БО, то данные не обновятся). Теперь можем изменить значение в БО и сохранить значение:

data[0].name = 'Новое имя';
 this.context.binding.set("value", data);

Подробнее о работе с переменными можно прочитать в статье на IBM Knowledge Center: Binding data and configuration options.

P.S.: За время работы на проекте с IBM Process Designer у меня накопился опыт использования этой системы с не совсем очевидным её поведением. О чём и собираюсь писать в ближайших заметках.

Надеюсь информация была полезна для вас, если возникнут вопросы  по среде IBM Process Designer 8.5 или 7.5 — пишите в комментарии, постараюсь подробно на них ответить. До скорых встреч!

,

Веду аудиодневник с наблюдениями на темы дизайна, саморазвития и в целом, отношения к жизни.

В четвёртом сезоне экспериментирую с путешествиями во время пандемии и учусь на курсе графического дизайна. Подписывайтесь на подкаст, чтобы не пропустить новые выпуски.

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

Написать комментарий

Ещё заметки

Прошёл курс «iOS-программирование для дизайнеров»

С 4 по 13 июля я проходил «iOS-программирование для дизайнеров» — это курс для дизайнеров, которые хотят разобраться в том, из чего состоит разработка мобильного приложения для айфона. В заметке рассказываю, чему научился.

Правильный перенос сайта Вордпрес на новый домен

Рассказываю как правильно перенести сайт на WordPress на новый домен с помощью Search Replace DB.

Перенос записей в WordPress

В заметке рассмотрим как перенести большое количество записей в формате CSV на WordPress. Решение подойдёт даже для случая больше 100 000 записей.

Двухфакторная аутентификация в WordPress

Если у вас есть сайт или блог на WordPress, то его можно обезопасить от взлома. Один из таких способов повышения безопасности сайта — настройка двухфакторной аутентификации.

Что выбрать: Jekyll или WordPress?

Целый год мой блог работал на Jekyll и размещался на GitHub. Месяц назад вернулся обратно к WordPress и в заметке расскажу почему.

Показать скрытые файлы в Mac OS X

Системные файлы в Mac OS X скрыты от пользователей в целях безопасности. Это правильно, но иногда бывают ситуации, когда система принимает пользовательские файлы за системные и тоже скрывает их. Например, файл .htaccess, необходимый для настройки локального сервера, будет скрыт. Для того, чтобы показать системные файлы, необходимо выполнить в Терминале команду: defaults write com.apple.finder AppleShowAllFiles -bool

Как перевести тему WordPress на русский язык

В большинстве тем для WordPress присутствует папка languages, которая позволяет перевести на необходимый язык весь её интерфейс. Перевод заключается в редактировании .po-файла. В заметке рассказываю как перевести тему WordPress на русский язык.

Оптимизация сайта: включаем gzip-сжатие

У Google есть хороший сервис: PageSpeed Insights, который подскажет, что необходимо оптимизировать у вас на сайте. Одним из советов является включение gzip сжатия на хостинге (или сервере), где размещается ваш сайт. Описывать, зачем нужно ускорять загрузку своего сайта, думаю, нет необходимости. Для включения gzip сжатия необходимо иметь работающий сайт на php и хостинг или сервер,

Меняем фон верхней панели браузера

С выходом Android 5.0 мобильный браузер Chrome начал поддерживать метатег theme-color. Для примера сделаем верхнюю панель красной: <meta name=»theme-color» content=»red»> Мобильный браузер Firefox в Firefox OS, начиная с версии 2.1, тоже поддерживает этот метатег. С выходом альфа-версии Яндекс.Браузера появились новые возможности для манипулирования внешним видом браузера. Можно задавать свои стили для верхней и нижней панелей браузера

Страница в Sharepoint 2013 c областями для веб-частей

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

Эффективное использование mixin в LESS

Я люблю LESS. Правда. Это очень клевая штука, которая позволяет упростить написание CSS. В этой записи пойдет речь о Mixin.

Система сеток с использованием LESS

В этой заметке пойдет речь о примере использования LESS с целью упрощения верстки проектов.

Полезные ресурсы по Sharepoint

В этой заметке собирал ссылки на различные статьи, видео с конференций, тренинги и туториалы по брендингу Sharepoint.

Работаем с куками через JavaScript

Рассказываю как записывать и считывать значения из куки.

Что такое LESS и как его использовать

Коротко рассказываю о том, что такое LESS и как его использовать.

Бесплатный хостинг на Гитхаб

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

Перенос Вордпрес на новый домен

Описываю как правильно выполнить перенос сайта на WordPress.

Установка и настройка Git

Описываю по шагам как установить Git к себе на компьютер.

Отключить топик-ссылки и фотосеты в LiveStreet

При создании сайта на CMS LiveStreet часто приходится производить много настроек. Например, иногда полезно отключить некоторые виды постов. В заметке привожу пример кода, отключающий некоторые виды постов.

Настройка виртуального сервера для работы с LiveStreet

Мне необходимо было перейти на выделенный сервер, где будет работать сайт на LiveStreet. Настраивал сервер впервые, узнал много нового. В заметке опишу основные этапы настройки.

Настройка файла .htaccess после установки LiveStreet

Решение ошибки когда главная страница работает, а при переходе на любую другую — получаю 404 ошибку.