# 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 | Строковое значение, представляющее идентификатор оцениваемого объекта. |

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

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

1. В режиме анализа щелкните правой кнопкой мыши визуализацию или лист, а затем нажмите the Поделиться icon &gt; the Встроить icon .

2. Скопируйте идентификатор объекта или листа.

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

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

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

| Функция | Взаимодействие |
| --- | --- |
| [if Функция скрипта и диаграммы](https://help.qlik.com/ru-RU/sense/May2026/Subsystems/Hub/Content/Sense_Hub/Scripting/ConditionalFunctions/if.htm) | Функции if и ObjectId можно использовать вместе для создания условных выражений. Например, на визуализации можно применять условные цвета, используя выражения с этими функциями. |
| [ObjectId — функция диаграммы](https://help.qlik.com/ru-RU/sense/May2026/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. На панели свойств щелкните Добавить меру.

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

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

   ```
   =InObject()
   ```

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

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

   `=InObject('1234-5678')`

7. Нажмите Применить.

Значение `-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 с двумя кнопками навигации![Sales 2022 sheet with two buttons, labelled 'Sales 2022' and 'Sales 2023' respectively. The buttons are arranged in a thin horizontal arrangement at hte top of the otherwise blank sheet.](https://help.qlik.com/ru-RU/sense/May2026/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. Щелкните Основной элемент кнопки Sales 2022 и выберите Изменить на панели свойств.

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

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

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

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

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

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

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

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

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

Кнопка Продажи 2022Продажи 2022 голубого цвета указывает, что в данный момент открыт лист «Продажи 2022» ![Analysis mode for Sales 2022 sheet with two buttons, labelled 'Sales 2022' and 'Sales 2023' respectively. The buttons are now configured to blue when open and light gray when not open .](https://help.qlik.com/ru-RU/sense/May2026/Subsystems/Hub/Content/Resources/Images/ObjectId_ConditionalColorButtonsSales2022.png)