> For the complete documentation index, see [llms.txt](https://docs.intellectdialog.com/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.intellectdialog.com/integration.intellectdialog/blok-sokhranenie.md).

# Блок: Сохранение

<figure><img src="https://1141222632-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FvdtSkqUDuO5XM96AcLMV%2Fuploads%2FWOgFzxc9D7QZeJI3ARWt%2Fimage.png?alt=media&amp;token=769f172b-dab9-40ac-b439-cffc45a7cf04" alt=""><figcaption></figcaption></figure>

Блок **"Сохранение"** используется для сохранения данных, полученных в процессе выполнения сценария, с целью их последующего использования в дальнейших шагах, например в блоке "Результат" для итогового ответа пользователю. Данный блок позволяет сохранить значения в переменные, в зависимости от поставленных задач.

#### Основные параметры:

1. **Глобальное сохранение (чекбокс "Глоб. сейв")**:
   * Если включено, то значение сохраняется в глобальной переменной.
   * Если выключено, значение сохраняется только в пределах текущего сценария.
2. **Исходное значение**:
   * Поле, в котором указывается переменная или данные, которые нужно сохранить.
   * Пример: `this.result`, `variables.carList`.
3. **Значение для сохранения**:
   * Поле, где указывается название переменной, в которую сохраняются данные для дальнейшего использования.
   * Пример: `finalResult`, `filteredCars`.

### Примеры

<figure><img src="https://1141222632-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FvdtSkqUDuO5XM96AcLMV%2Fuploads%2FAfoMXkzj9NRBBp4prsrR%2Fimage.png?alt=media&amp;token=24c08659-7564-4889-a8dd-45d74a2a3463" alt=""><figcaption></figcaption></figure>

* В предыдущем блоке **"ИИ запрос"**:

  <figure><img src="https://1141222632-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FvdtSkqUDuO5XM96AcLMV%2Fuploads%2FKiqkKxreXrLNE9jO8AvH%2Fimage.png?alt=media&amp;token=54f64161-2934-4e79-b90f-d322a7bb6a9c" alt=""><figcaption></figcaption></figure>
* Формируется системный запрос к модели GPT с заданными параметрами, такими как список машин (цвет, модель, локация) и инструкции по фильтрации.
* Результат запроса возвращается в формате JSON, включающем массивы данных, таких как подходящие цвета, модели и локации, на основе пользовательских параметров.
* Ответ сохраняется в переменную `gptResult`.

**Пример данных из блока "ИИ запрос"**:

```json
json
{
  "colors": ["красный", "синий"],
  "models": ["Toyota Camry", "Ford Focus"],
  "locations": ["Москва", "Санкт-Петербург"]
}
```

**В данном кейсе блок "Сохранение" используется для:**

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

  <figure><img src="https://1141222632-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FvdtSkqUDuO5XM96AcLMV%2Fuploads%2Fxzjdto46tA8gaEM1uU5k%2Fimage.png?alt=media&amp;token=dfca8d39-2cc5-4f69-bc19-6c62276799fd" alt=""><figcaption></figcaption></figure>

Настройка параметров

**1. Значение №1**

* **Исходное значение:**

  ```javascript
  javascript
  JSON.parse(this.gptResult)
  ```

  Декодирует строку JSON, полученную из переменной `gptResult`, в объект JavaScript.
* **Назначение для сохранения:**\
  `gptResult`\
  Результат сохраняется в глобальной переменной `gptResult` для последующего использования.

**2. Значение №2**

* **Исходное значение:**

  ```javascript
  javascript
  this.location
  ```

  Переменная `this.location` содержит текущую локацию, предоставленную пользователем на предыдущих этапах.
* **Назначение для сохранения:**\
  `location`\
  Локация сохраняется в глобальной переменной `location`.

***

#### Пример работы&#x20;

**Входные данные из блока "ИИ запрос":**

```json
json
{
  "colors": ["белый", "черный"],
  "models": ["Honda Accord", "Hyundai Solaris"],
  "locations": ["Новосибирск", "Екатеринбург"]
}
```

**Настройка блока "Сохранение результата":**

1. Переменная `gptResult`:\
   Сохраняется весь JSON-объект с цветами, моделями и локациями.
2. Переменная `location`:\
   Сохраняется пользовательская локация, например, `"Москва"`.

**Результат работы:**

* В глобальной переменной `gptResult` будет сохранен распарсенный JSON с массивами цветов, моделей и локаций.
* В переменной `location` будет сохранена текущая локация пользователя.

***

#### Использование в следующих блоках

После выполнения блока **"Сохранение результата"**, данные из сохраненных переменных можно использовать:

1. Для фильтрации (например, фильтрация машин по цвету или модели).
2. Для проверки условий (например, проверка, есть ли данные в массиве `gptResult`).
3. Для формирования пользовательского ответа (например, вывод списка доступных моделей машин).
