Прочие операторы

Предыдущая страницаВ началоСледующая страница

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

Конвертировать, используя единицу измерения. Преобразует число в длительность, используя единицу измерения времени.

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

В приведённом ниже примере, длительность, соответствующая значению 126 часов, составит: "5.06:00:00" (5 дней, 6 часов, 0 минут, 0 секунд).

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

В настройках аргументов оператора указываются: исходная длительность (5 дней, 6 часов, 30 минут, 0 секунд), единица измерения, в которой нужно получить значение, а также вариант получения числового значения: только часть длительности, в соответствии с выбранной единицей измерения (значение "Да", в приведённом примере – 6 часов), либо полная длительность (значение "Нет", в приведённом примере – 126,5 часов).

Макрос. Позволяет использовать формулу для обработки значений.

В настройках оператора задаются: текст макроса, ограничения на тип элементов, передаваемых на вход макроса и получаемых на его выходе, а также аргументы макроса. В колонке Тип аргументов макроса задаётся ограничение на тип элементов, приходящих как аргумент. Флаг Множественное значение указывает, что аргумент может возвращать произвольное число значений.

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

Функция даты и времени. Выполняет операции над значениями типов, связанных со временем:

"Начало недели". Возвращает 00:00 первого дня недели аргумента.

"Начало месяца". Возвращает 00:00 первого дня месяца аргумента.

"Начало квартала". Возвращает 00:00 первого дня квартала аргумента.

"Начало года". Возвращает 00:00 первого дня года аргумента.

"Конец недели". Возвращает последнюю секунду последнего дня недели аргумента.

"Конец месяца". Возвращает последнюю секунду последнего дня месяца аргумента.

"Конец квартала". Возвращает последнюю секунду последнего дня квартала аргумента.

"Конец года". Возвращает последнюю секунду последнего дня года аргумента.

"Смещение". Позволяет сместить дату\время на заданную длительность.

"Длительность". Вычисляет длительность между двумя значениями даты\времени; "Понедельник первой недели года". Возвращает 00:00 понедельника первой недели года.

"Начало дня". Возвращает 00:00 дня аргумента.

"Год". Возвращает номер года аргумента.

"Месяц". Возвращает номер месяца аргумента.

"День". Возвращает номер дня аргумента.

"День недели". Возвращает в виде целого числа номер дня в неделе, вычисленный по дате аргумента (0 – воскресенье, 1 - понедельник, 2 – вторник и т.д.).  

Набор аргументов оператора Функция даты и времени зависит от выбранной операции.

Форматированная строка. Генерирует текст на базе шаблона и значений аргументов.

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

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

В колонке Тип аргументов задаётся тип значений, которые будут форматироваться в аргументе. Флаг Множественное значение указывает, что аргумент может возвращать произвольное число значений, которые будут конкатенироваться с использованием значения параметра "Разделитель". В колонке Формат задаётся формат вывода значения аргумента. В колонке Шаблон элемента задаётся шаблон, в который будет подставлено отформатированное значение (может быть пустым). В колонке Разделитель задаётся разделитель, подставляемый между несколькими значениями аргумента.

После задания аргументов форматированной строки, следует выполнить их настройку с помощью элементов универсального пути.

Форматировать по параметру. Позволяет преобразовать значение параметра в строку на основе возможных форматов для данного параметра типа объектов справочника.

Описание свойств параметров типа содержится в главе "Управление параметрами типа" раздела "Управление структурой данных" документа "T-FLEX DOCs – Руководство администратора".

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

Рабочее время. Получает интервалы рабочего либо нерабочего времени из объекта системного справочника "Календари" с заданным округлением.  

В настройках оператора указываются следующие аргументы:

Интервалы. Интервалы времени, за которые нужно получить данные.

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

Округление. Длительность, задающая шаг, по которому нужно округлить полученные данные.

Режим. Режим, определяющий какие интервалы и с каким округлением нужно вернуть.

Логика работы округления:

"Без округления". Интервалы вернутся напрямую из календаря как есть.

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

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

Например, задан обычный календарь с рабочим временем с 9 до 17 часов. Шаг округления равен одному дню. Запрошены интервалы рабочего времени за один рабочий день 01.10.2024.

Тогда, в зависимости от выбора режима, будут получены следующие результаты:

1."Рабочее без округления". Будет получен интервал рабочего времени "01.10.2024 9:00; 01.10.2024 17:00".

2."Рабочее с округлением в рабочее". Будет получен интервал рабочего времени "01.10.2024 00:00; 02.10.2024 00:00". То есть весь день будет считаться рабочим, так как в нём есть отрезки рабочего времени.

3."Рабочее с округлением в нерабочее". На выходе будет пусто. Весь день будет считаться нерабочим, так как в нём есть отрезки нерабочего времени.