# InObject — функция диаграммы

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

Эту функцию можно использовать для отображения иерархии объектов на листе: с объекта листа верхнего уровня до визуализаций, вложенных в другие визуализации. Эту функцию можно использовать вместе с функциями if и ObjectId для создания пользовательской навигации в приложениях.

[Creating a custom navigation in your app using InObject function](https://play.vidyard.com/yZ7ao42dELw6Yy3wiozUNF)

Синтаксис:

InObject(id\_str)

Возвращаемые типы данных: Булево значение

В Qlik Sense логическое значение «истина» представлено как -1, а «ложь» — как 0.

Аргументы

| Аргумент | Описание |
| --- | --- |
| id\_str | Строковое значение, представляющее идентификатор оцениваемого объекта. |

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

Выполните следующие действия.

1. В режиме анализа добавьте следующий текст в URL:

   /options/developer

2. Щелкните визуализацию правой кнопкой мыши и выберите the Разработчик icon .

3. В области Свойства найдите идентификатор объекта в заголовке диалогового окна и тип объекта в свойстве qType.

Ограничения:

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

Функция InObject() часто используется в сочетании со следующими функциями:

Связанные функции

| Функция | Взаимодействие |
| --- | --- |
| [if — функция скриптa и диаграммы](https://help.qlik.com/ru-RU/sense/November2025/Subsystems/Hub/Content/Sense_Hub/Scripting/ConditionalFunctions/if.htm) | Функции if и ObjectId можно использовать вместе для создания условных выражений. Например, на визуализации можно применять условные цвета, используя выражения с этими функциями. |
| [ObjectId — функция диаграммы](https://help.qlik.com/ru-RU/sense/November2025/Subsystems/Hub/Content/Sense_Hub/Scripting/SystemFunctions/ObjectId.htm) | Аналогично if, ObjectId также используется с функцией InObject для создания условных выражений. |

## Пример 1. Базовые функциональные возможности

[](https://help.qlik.com/en-US/sense/Subsystems/Hub/Content/Sense_Hub/Scripting/SystemFunctions/InObject.htm)

#### Выражение диаграммы и результаты

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

Выполните следующие действия.

1. Откройте новый лист и перетащите диаграмму Текст и изображение на лист.

2. На панели свойств щелкните Добавить меру.

3. Щелкните элемент the Выражение icon, чтобы открыть редактор выражения.

4. Вставьте следующее выражение в диалоговое окно:

   ```
   =InObject()
   ```

5. Измените выражение, чтобы включить идентификатор листа в виде строки, заключенной в круглые скобки.

   Например, для листа с идентификатором 1234-5678, будет использоваться следующее:

   `=InObject('1234-5678')`

6. Щелкните Применить.

Значение `-1` отображается на диаграмме, указывая на то, что оценка выражения дает результат true (истина).

## Пример 2. Объекты с условными цветами

[](https://help.qlik.com/en-US/sense/Subsystems/Hub/Content/Sense_Hub/Scripting/SystemFunctions/InObject.htm)

#### Выражение диаграммы и результаты

Обзор

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

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

Скрипт загрузки

```
Transactions: 

Load 
* 
Inline  
[ 
id,date,amount 
8188,'1/19/2022',37.23 
8189,'1/7/2022',17.17 
8190,'2/28/2022',88.27 
8191,'2/5/2022',57.42 
8192,'3/16/2022',53.80 
8193,'4/1/2022',82.06 
8194,'4/7/2022',40.39 
8195,'5/16/2022',87.21 
8196,'6/15/2022',95.93 
8197,'7/26/2022',45.89 
8198,'8/9/2022',36.23 
8199,'9/22/2022',25.66 
8200,'11/23/2022',82.77 
8201,'12/27/2022',69.98 
8202,'1/1/2023',76.11 
8203,'2/8/2022',25.12 
8204,'3/19/2022',46.23 
8205,'6/26/2022',84.21 
8206,'9/14/2022',96.24 
8207,'11/29/2022',67.67 
]; 
```

Создание визуализаций

Загрузите данные и создайте два новых листа. Назовите их Продажи 2022 и Продажи 2023 соответственно.

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

Выполните следующие действия.

1. Добавьте два объекта Кнопка на лист.

2. Выберите Вид &gt; Общие, задайте для параметра Метка каждой кнопки значение Продажи 2022 и Продажи 2023, соответственно.

3. Расположите кнопки, как показано ниже.

   Раскладка листа Продажи 2022 с двумя кнопками навигации

   Раскладка листа Продажи 2022 с двумя кнопками навигации

   Раскладка листа Продажи 2022Продажи 2022 с двумя кнопками навигации![Лист «Продажи 2022» с двумя кнопками, на которых отображаются метки «Продажи 2022» и «Продажи 2023» соответственно.](https://help.qlik.com/ru-RU/sense/November2025/Subsystems/Hub/Content/Resources/Images/ObjectId_ConditionalColorButtonsArrangement_Windows.png)

4. Нажмите кнопку Продажи 2022 и разверните меню Действия и навигация на панели свойств.

5. Нажмите кнопку Добавить действие и в области Навигация выберите Перейти к листу.

6. В списке Лист выберите Продажи 2022.

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

8. Преобразуйте кнопки в основные элементы, щелкнув их правой кнопкой и выбрав the Добавить к основным элементам icon .

Теперь можно копировать каждую кнопку и вставить ее на лист Продажи 2023, используя тот же размер и раскладку на листе.

Создание условных цветов

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

Выполните следующие действия.

1. Откройте лист Продажи 2022 и получите его идентификатор из URL-адреса. Оставьте лист Продажи 2022 открытым.

2. Щелкните основной элемент кнопки Продажи 2022 и выберите Изменить на панели свойств.

3. Выберите Вид &gt; Фон, затем выберите цвет, чтобы раскрасить кнопку По выражению.

4. В поле Выражение вставьте следующий текст:

   =if(InObject(''), Blue(), LightGray())

5. В приведенном выше выражении вставьте в скобках идентификатор листа Продажи 2022.

Настроенная кнопка станет голубой, когда открыт лист Продажи 2022, и светло-серой, когда открыт другой лист.

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

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

Кнопка Продажи 2022 голубого цвета указывает, что в данный момент открыт лист «Продажи 2022»

Кнопка Продажи 2022 голубого цвета указывает, что в данный момент открыт лист «Продажи 2022»

Кнопка Продажи 2022Продажи 2022 голубого цвета указывает, что в данный момент открыт лист «Продажи 2022» ![Режим анализа для листа «Продажи 2022» с двумя кнопками, на которых отображаются метки «Продажи 2022» и «Продажи 2023» соответственно.](https://help.qlik.com/ru-RU/sense/November2025/Subsystems/Hub/Content/Resources/Images/ObjectId_ConditionalColorButtonsSales2022.png)