В качестве примера рассмотрим приложение To Do. В нем есть две связанные таблицы Task и User. Каждая запись в Task связана с одной записью User.

Настроим бизнес-процесс, который при клике по записи в таблице user будет открывать все задачи, связанные с пользователем, на которого кликнули.

Настройка страницы для перехода

Создадим новую страницу и разместим ее в разделе App components. Зададим имя таблицы – Task_user и URL страницы – /taskuser/:id.

С помощью :id можно отслеживать, на какую запись кликнули.

Настройка перехода по клику

Теперь перейдем в Workflow таблицы User и настроим БП на триггер onRowClick.

Добавим блок Navigate. В поле Page установим URL – Task_user, а в поле Record ID передадим Record ID из триггера.

Таким образом, при клике на строку мы будем переходить на страницу Task_user, в URL которой всегда будет находиться id записи, по которой произошел клик.

Считывание ID из адреса

Теперь создадим БП, который будет получать ID из URL и отдавать его в формате integer.

Для этого нужно перейти на вкладку Business Processes и нажать Add Business Processes.

Используем блок Get Current Page. Он отдает Title и URL страницы в формате string.

Из всего URL будет нужен только ID, поэтому необходимо разбить строку с помощью блока Split String. Передадим в него значение URL из блока Get Current Page. ID в URL отделен символом “/”, поэтому укажем его в качестве Separator.

В результате получаем строковый массив, в котором содержатся все элементы URL, разделенные “/” и пронумерованные по порядку от 0.

ID находится между последним и предпоследним символом “/”, поэтому, чтобы получить его, нам нужно от размера массива отнять 2. Сделаем это с помощью блоков Array Size и Subtract.

Теперь у нас есть список элементов URL и номер элемента, в котором содержится ID.

ID можно получить с помощью блока Array Element. Передадим в него список из блока Split String и результат из блока Subtract. 

Поскольку ID нужен в формате integer, используем блок To integer и сохраним его результат как переменную блока END.

Теперь перейдем к Workflow таблицы на странице Task_user. Добавим в него полученные данные из БД, как в этой инструкции. Перед блоком GET вставим БП получения ID из URL.

Передадим значение из поля pageid в поле user.

При клике на строку в таблице User, мы увидим таблицу всех задач (task), связанных с этим пользователем (user).

Was this article helpful?

AppMaster.io 101 Полный курс

10 модулей
2 недели

Не знаете с чего начать? Начните с нашего ускоренного курса для начинающих и изучите AppMaster от А до Я.

Начать обучение
Development it’s so easy with AppMaster!

Остались вопросы?

Наши эксперты с радостью ответят на все ваши вопросы о платформе AppMaster и помогут вам в создании приложений.

headphones

Служба поддержки

Поделитесь своей проблемой с нашими специалистами.

message

Комьюнити AppMaster

Обсудите вопросы с другими пользователями в нашем чате.

Присоединиться