> 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/generirovanie-i-proverka-js-zaprosov-v-blokakh.md).

# Генерирование и проверка JS запросов в блоках

## Генерация кода JS кода

<figure><img src="https://1141222632-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FvdtSkqUDuO5XM96AcLMV%2Fuploads%2Fpx9agQGCOj2YhvSyZM9I%2Fimage.png?alt=media&amp;token=ab87a47c-8ec2-4ff4-9147-409d19dc3083" alt=""><figcaption></figcaption></figure>

<figure><img src="https://1141222632-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FvdtSkqUDuO5XM96AcLMV%2Fuploads%2FudxYYy9pWT2tpYUwxZra%2Fimage.png?alt=media&amp;token=b5c8480f-a783-4da8-a3f9-339c00f034b0" alt=""><figcaption></figcaption></figure>

#### Инструкция по написанию кода в данном блоке

1. **Открытие блока:**
   * Перейдите к блоку, где необходимо написать код, и нажмите на него, чтобы открыть окно редактирования.
2. **Ввод кода:**
   * В поле ввода под заголовком "Код" введите свой JavaScript-код.
   * **Например:**

     <pre class="language-javascript" data-overflow="wrap"><code class="lang-javascript">javascript
     this.messages &#x26;&#x26; this.messages.length > 0 
         ? '' 
         : 'Здравствуйте! Пожалуйста, введите номер вашего телефона в формате 79999999999.'
     </code></pre>
3. **Описание логики:**
   * Убедитесь, что ваш код соответствует задаче. \
     **Например:**
     * Используйте тернарные операторы для выбора значений.
     * Применяйте методы массива, объектов и строки для обработки данных.
4. **Пример использования:**
   * Если вы хотите сгенерировать текст на основе данных, ваш код может выглядеть так:

     <pre class="language-javascript" data-overflow="wrap"><code class="lang-javascript">javascript
     'Мы успешно отменили запись на занятие ' + 
     this.removeEmoji(this.filteredResult[0].service.title) + 
     ', которое будет проходить ' + 
     this.moment(this.filteredResult[0].start_date).format('DD.MM.YYYY в HH:mm') + '.'
     </code></pre>
5. **Применение кода:**
   * Если вы довольны результатом, нажмите кнопку **"Применить код"**, чтобы сохранить изменения и использовать их в вашем сценарии.

#### Важные моменты:

* Убедитесь, что используете правильные переменные, доступные в контексте сценария.
* Избегайте сложных и длинных конструкций — лучше разделить логику на несколько простых операций.
* **Всегда проверяйте код перед применением.**

<figure><img src="https://1141222632-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FvdtSkqUDuO5XM96AcLMV%2Fuploads%2FCAaJufR4TffcWyBQb8B4%2Fimage.png?alt=media&amp;token=df3c40b8-6429-4afc-9e9a-cc42e237eadc" alt=""><figcaption></figcaption></figure>

## Проверка кода JS кода

<figure><img src="https://1141222632-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FvdtSkqUDuO5XM96AcLMV%2Fuploads%2FIHy8yT3CtIr0Ul0gnPpj%2Fimage.png?alt=media&amp;token=994710a5-daf5-4492-8562-f57761920089" alt=""><figcaption></figcaption></figure>

Блок проверки кода предназначен для анализа пользовательского JavaScript-кода. Он автоматически проверяет синтаксис, выявляет ошибки, предлагает оптимизации, а также позволяет увидеть корректные результаты перед применением.

**Как работает:**

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

   <figure><img src="https://1141222632-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FvdtSkqUDuO5XM96AcLMV%2Fuploads%2F9EZsAhc5lRMRUPF5bfYJ%2Fimage.png?alt=media&amp;token=129ff194-dd12-4ff5-87ce-c6c2577fb1f7" alt=""><figcaption></figcaption></figure>
2. **Запуск проверки**: Нажимаете кнопку "Проверить". Система запускает анализ кода, используя GPT-модель.
3. **Процесс анализа**: Процесс может занять до 30 секунд, так как система:

   * Проверяет синтаксис.
   * Ищет потенциальные ошибки.
   * Оценивает возможности оптимизации.

   <br>

   <figure><img src="https://1141222632-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FvdtSkqUDuO5XM96AcLMV%2Fuploads%2FGCDLskHplTToDfzQsp53%2Fimage.png?alt=media&amp;token=2c085c6e-d516-4232-ba14-67e3086afdd8" alt=""><figcaption></figcaption></figure>
4. **Результат анализа**:

   \
   **Если ошибок нет**, система подтверждает корректность кода.

<figure><img src="https://1141222632-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FvdtSkqUDuO5XM96AcLMV%2Fuploads%2Fm01etBS6r3a7iE9gBjQ7%2Fimage.png?alt=media&amp;token=d401ad76-5571-4c2d-8982-7e9d2669b1f8" alt=""><figcaption></figcaption></figure>

* **Если ошибки есть**, система их подсвечивает, дает пояснение и предлагает исправленный вариант.

<figure><img src="https://1141222632-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FvdtSkqUDuO5XM96AcLMV%2Fuploads%2Fj1c3vosMhje2jlE1sIRy%2Fimage.png?alt=media&amp;token=c237bb00-0f23-47d1-bcb8-92e040d5e290" alt=""><figcaption></figcaption></figure>

* В поле **"Оптимизированный код"** можно увидеть улучшенную версию вашего кода, если оптимизация возможна.
* **Применение исправлений**: Если код корректен или оптимизирован, вы можете нажать "Применить код", чтобы сохранить изменения.

***

**Рекомендации:**

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