- Распечатать
Работа с приложением Time - Руководство
Понимание того, когда происходят события, не менее важно, чем понимание того, где они происходят. Tulip имеет надежные временные функции, позволяющие понять суть происходящего.
Цель
Настройка времени и взаимодействие с ним могут быть сложными в разных часовых поясах, форматах дат и желаемых форматах. Tulip позволяет приложениям соответствовать существующим стандартам, а понимание того, как работать со временем, должно быть в арсенале каждого разработчика приложений.
Как работает это приложение
Это одношаговое приложение демонстрирует большинство наиболее распространенных манипуляций с датами, которые могут понадобиться в вашем решении Tulip.
Встроенные таймеры
Некоторые таймеры автоматически встроены в ваше приложение. На эти таймеры можно ссылаться в триггерах, сохранять в таблицах и т.д.
Время, проведенное в приложении - это время, прошедшее с момента последнего перезапуска приложения или последнего завершения работы. Подробнее о завершении здесь Это значение может быть полезно для отслеживания среднего времени, необходимого для завершения процесса сборки или обучения.
Время, затраченное на шаг, отслеживает время, затраченное пользователем на определенный шаг. Эти данные можно отслеживать, чтобы понять, какая часть вашего процесса занимает больше всего времени оператора.
Текущее время отслеживает текущее время; это время можно использовать для настройки логики срабатывания для разных смен, отслеживания времени выполнения действий и т.д.
Простой таймер
Простой таймер показывает, как можно создавать свои собственные таймеры. Эта техника может быть полезна для расширения возможностей встроенных таймеров. Например, если вы хотите отслеживать время прохождения пользователями определенного набора шагов, а не одного шага или всего приложения.
Вся логика для этого таймера существует в соответствующих триггерах каждой кнопки. Подробнее о триггерах читайте в этой статье.
Кнопка START устанавливает текущее время в переменную start time, если она в данный момент пуста.
Кнопка STOP устанавливает текущее время в переменную End time, а также производит математический расчет прошедшего времени между временем начала и остановки. Это первый раз, когда вы видите выражение в триггере. Выражения расширяют возможности триггеров. Более подробную информацию о выражениях можно найти здесь
Кнопка RESET очищает переменные Start time, End time и Duration.
Триггеры на основе таймера
Периодический запуск логики еще больше расширяет возможности использования приложения Tulip. Триггеры на основе таймера запускаются каждые X секунд и могут выполнять любую логику триггера.
Триггеры на основе таймера запускаются на уровне шага. Это означает, что для создания/просмотра/редактирования таймерных триггеров необходимо выбрать вкладку STEP на слайде конфигурации.
В данном случае триггеры таймера просто добавляют 1 к существующему значению переменной.
Преобразование триггеров времени
Переформатирование отображения времени, сложение двух времен вместе и преобразование текста в переменные времени - все это ключевые приемы работы с временем в Tulip.
Сложение времени - простой и очень мощный метод. Например, вы хотите рассчитать дату выполнения заказа, основываясь на текущем времени и времени выполнения заказа, или вы хотите рассчитать, когда должен быть проведен аудит, основываясь на том, когда он был проведен в последний раз.
Времена даты могут только добавлять или вычитать другие времена или интервалы, поэтому в этом триггере нам нужно преобразовать число, введенное пользователем, в интервал, прежде чем добавить его к текущему времени. Мы выполним это преобразование с помощью функции SECONDS_TO_INTERVAL. Эта функция принимает введенное число и преобразует его в интервал. Нам нужно преобразовать время в днях, которое вводит пользователь, в секунды, для этого мы используем 60*60*24. Этот интервал добавляется к текущему времени и сохраняется в переменной.
Округление дат позволяет вам округлить текущее время до любого интервала, который имеет для вас значение. Возможно, вы хотите подсчитать, сколько времени прошло за смену, использование ROUNDDATETIME позволит вам округлить текущее время в меньшую сторону, чтобы получить начало дня.
Триггер ниже берет текущее время и округляет его вниз до ближайшего дня. День" в этом выражении может быть заменен на желаемый период времени. Более подробную информацию об этой функции можно найти здесь
Преобразование текста в дату очень эффективно при работе с существующими системами, имеющими свой собственный формат даты, который передается в Tulip в виде необработанного текста.
Функция TEXTTODATETIME принимает текст и формат этой даты и преобразует входной текст в объект времени даты. При передаче '2022-03-01' этой функции мы используем 'YYYY-MM-DD', чтобы сообщить функции TEXTTODATETIME, что месяц - 03, а день - 01, а не наоборот. В этом документе более подробно рассматриваются различные форматы дат.