Работа с таблицами из приложения
  • 31 Oct 2023
  • 6 Минуты для чтения
  • Авторы

Работа с таблицами из приложения


Вводный текст

Как изменять таблицы в редакторе приложений

Здесь описано, как читать и записывать данные в таблицы из приложений для фронтальных операций.

В этом руководстве вы узнаете...

  • Как читать существующие записи таблицы в приложении
  • Как обновлять существующие записи таблицы в приложении
  • Как создавать новые записи в таблице в приложении
  • Как анализировать данные в таблицах на основе завершений приложения

В редакторе приложений можно читать, редактировать и создавать отдельные записи таблиц. Поскольку таблицы не требуют никакого кода, вы можете запускать свои приложения в Player и наблюдать за обновлением таблиц в реальном времени.

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

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

Переменные лучше подходят для данных, относящихся к индивидуальному использованию конкретного приложения. Таблицы лучше подходят для данных, которые должны быть доступны нескольким приложениям.

Таблицы часто используются для отслеживания таких понятий, как:

  • рабочие заказы
  • отдельные SKU продуктов
  • спецификация материалов (BOM)
  • матрица навыков
  • ...и многое другое

Прежде чем читать эту статью, следует ознакомиться с"Обзором таблиц ", чтобы получить полное представление о возможностях таблиц.

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

Чтобы прочитать или обновить любую запись таблицы, необходимо выполнить три шага:

1- Создать "Record Placeholder", чтобы дать имя конкретной записи таблицы в приложении.

2- Загрузить (или создать) запись в триггерном действии.

3a- Если вы хотите написать логику вокруг значений в записи таблицы, то включите запись таблицы в оператор "If".

3b- Если вы хотите обновить отдельные поля записи, включите табличную запись в оператор "Then".

Создание держателя записи

Прежде всего, необходимо создать "Record Placeholder" в приложении, в котором будет осуществляться доступ к записи таблицы. Это держатели для записей, которые впоследствии будут динамически загружаться в логику триггера.

Например, если вы хотите отредактировать запись из таблицы "Work Orders" в приложении, у вас может быть Record Placeholder под названием "Active Work Order". Впоследствии запись будет загружаться динамически на основе данных оператора, но она всегда будет упоминаться как "Активный заказ".

Чтобы настроить эти держатели, перейдите на вкладку Records рядом со списком Steps List.

[

Затем выберите "Добавить таблицу". Затем нажмите кнопку добавления "Record Placeholder". Вы сможете дать имя записи, которая будет загружаться динамически из триггера (т.е. "Active Work Order").

How To Modify Tables Within the App Editor_321466239.png

Обратите внимание на наличие параметра "Сохранить для анализа". При выборе этого параметра запись таблицы, загруженная в этот Record Placeholder, будет сохранена в записи завершения приложения. В данных завершения появится ссылка на эту запись.

Удаление держателей записей

Чтобы удалить держатель записи, выберите его в списке записей в левой части экрана. В приведенном ниже примере выбрано "Test Record Name".

Затем в следующем меню выберите пункт "Удалить".

:::(Warning) (Обратите внимание: сначала необходимо удалить заполнитель записи из всех триггеров, на которые он ссылается. Вы можете использовать список "Steps where used" для поиска шагов с триггерами, которые необходимо изменить.

:::

Теперь вы готовы к использованию редактора триггеров для динамического выбора записей.

Доступ к записям в редакторе триггеров

После созданияRecord Placeholder можно написать логику для динамической загрузки или создания записей на основе ввода оператора.

Для этого можно использовать триггерные действия "Записи в таблице" и "Манипуляция данными". Вот как это можно сделать.

Операции

С помощью нескольких типов триггерных операций можно считывать или изменять записи таблицы. Вот краткое описание.

Записи таблицы/Загрузка записи: Загрузка записи с определенным идентификатором

Table Records/ Create Record: Создание новой записи с определенным идентификатором

Table Records/ Create or Load Record: Если запись с определенным идентификатором не существует, создайте ее. В противном случае загрузите запись с определенным идентификатором.

Загрузка существующих записей

Для того чтобы прочитать или отредактировать запись, необходимо сначала загрузить ее в приложение и присвоить ей имя-заполнитель. Часто это происходит при открытии шага или нажатии кнопки.

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

Для этого используется оператор "Записи таблицы" "Загрузить запись".

How To Modify Tables Within the App Editor_112436109.png{height="" width=""}
* "Загрузить запись" * По ID: "text" - 0146 * В держатель "active_wo".

В данном примере запись с идентификатором "0146" уже существует в таблице заказов.

Поскольку поле "ID" в каждой таблице является текстовым, то для доступа к отдельным записям необходимо использовать текст. Для выбора идентификатора можно использовать все типичные варианты:

  • Запись таблицы
  • Выражение
  • Статическое значение
  • Информация приложения
  • Переменная

Приведем пример, в котором используется переменная:

How To Modify Tables Within the App Editor_136240424.png

  • "Table Records" "Load Record" by ID: "Variable" "text_wo_id" into: "Active Work Order"

Скорее всего, вам понадобится использовать переменную, когда вводимые данные являются динамическими, например, когда они привязаны к вводу оператора в текстовом виджете на шаге формы.

Создание новых записей

Для создания новой записи в таблице необходимо использовать опцию "Создать" или "Создать или загрузить".

Если используется опция "Создать", то необходимо создать новую запись с идентификатором, которого еще нет в таблице. Если запись уже существует в таблице, то приложение выдаст ошибку.

Если использовать "Create or Load", то запись с определенным ID будет загружена, если она уже существует, или создана, если ID не существует в таблице.

В данном случае мы используем идентификатор "newID" для создания новой записи.

  • "Записи таблицы" "Создать запись"
  • по ID: "Static Value" "text" "newID"
  • into: "active_wo"

Обычно в этом поле необходимо использовать динамическое значение, например переменную, поскольку каждый раз, когда оператор использует приложение, необходимо создавать новое значение.

Редактирование записей в редакторе триггеров

Для редактирования записи используется действие "Манипуляция данными", затем "Сохранить", чтобы изменить или обновить значение в записи.

Для редактирования записи необходимо, чтобы она уже была загружена в качестве держателя записи через "Table Records" "Load" или "Table Records" "Create".

Приведем пример, в котором необходимо обновить поле "статус" записи, загруженной как "active_wo".

How To Modify Tables Within the App Editor_112437653.png

How To Modify Tables Within the App Editor_112437653.png

  • "Манипуляция данными"
  • "Хранить".
  • "Текст": "Пройдено"
  • "Запись таблицы" "active_wo"
  • Поле: "status"

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

Можно также увеличивать значение из записи таблицы. О том, как это сделать, читайте в этом руководстве по таблицам инвентаризации

Использование условной логики с записями таблицы

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

Для этого необходимо убедиться, что запись уже загружена. Затем выберите поле из записи и используйте ту же логику, что и в любом другом операторе "if".

Запись таблицы: Проверка наличия определенного значения в поле загруженной записи таблицы.

How To Modify Tables Within the App Editor_122051530.png

  • "Запись таблицы" "TestImg" "ID" "Contains" ...
  • Таблица:* Проверка, существует ли уже в таблице запись с определенным идентификатором.

How To Modify Tables Within the App Editor_122052009.png

  • "Таблица" "workorders" "есть запись с id" "Static Value" "text" "001"

Приведем пример. В данном случае мы будем проверять, содержит ли поле "статус" какой-либо другой текст.

How To Modify Tables Within the App Editor_112438525.png{height="" width=""}
* "Table Record" "active_wo" "status" * "Contains" * "Static Value" "text" "Passed"

Можно также использовать оператор "If" для проверки того, существует ли уже запись с заданным идентификатором, и затем, например, выбросить определенное сообщение об ошибке.

Вот как можно создать сообщение об ошибке, предлагающее оператору ввести другой номер заказа.

How To Modify Tables Within the App Editor_122058202.png

IF

  • "Таблица" "Workorders" "есть запись с id"
  • "Static Value" "text" "024dfg45"

ТО

  • "Show Error" "Static Value" "text" "Этот наряд уже существует, введите новый".

Отображение записей таблицы на шагах

Чтобы добавить эту запись на шаг, выберите опцию "Запись таблицы" под кнопкой "Текст" в меню виджета.

[

На вкладке "Виджет" контекстной панели выберите в опциях рядом с "Записью" Placeholder вашей записи, чтобы увидеть ее в проигрывателе.

[

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

Это также полезно, когда вы создаете приложения и не уверены в значениях в конкретной записи таблицы.

Чтобы изменить порядок отображения/удаления отдельных полей, нажмите кнопку x или символ сетки на свойстве в контекстной панели.

Чтобы изменить количество столбцов, воспользуйтесь опцией Columns в контекстной панели.

Чтобы изменить отображение меток и значений, настройте цвет и размер шрифта в контекстной панели.

Чтобы увидеть, как эти данные будут показаны оператору, запустите приложение в Player, и вы сможете увидеть всю запись таблицы. Значения будут включены при первой загрузке записи.

Очистка держателей записей

Иногда возникает необходимость очистить держатель записи, чтобы в приложение не загружалась конкретная запись под этим держателем.

Вот как это сделать:

  • "Table Records" "Clear Record Placeholder".

Отображение пользователей и их полей

Вы также можете создать Record Placeholder для пользователей и связанных с ними полей, а затем загрузить конкретного пользователя с помощью встроенной таблицы. Более подробная информация приведена в отдельном руководстве по пользовательским полям.

Дальнейшее чтение


Вы нашли то, что искали?

Вы также можете зайти на community.tulip.co, чтобы задать свой вопрос или узнать, сталкивались ли другие с подобным вопросом!


Была ли эта статья полезной?