Show/Hide Toolbars

Руководство администратора

Редактор TSQL-выражений

Ссылки Назад Вверх Вперед

Если стандартных возможностей SMART не достаточно для создания нужного выражения, можно напрямую использовать возможности TSQL.

Редактор TSQL смартов учитывает контекстные параметры смарт-выражения и позволяет протестировать созданное выражение на существующих задачах.

new_tsql_editor3_

Редактор TSQL смартов

Вы можете напрямую отредактировать текст запроса. Для этого в окне редактирования переключитесь в режим TSQL.

smart_edit_smart_tsql001-01

Переключение в режим TSQL

warning_icon  Возможность обратной конвертации из режима TSQL в SMART отсутствует

warning_icon  Сначала выполните тестирование, чтобы код конвертировался в TSQL. Иначе, после конвертирования, редактор кода будет пустым

warning_icon  Возможность работать с SQL напрямую из интерфейса системы по умолчанию отключена. Чтобы кнопка Конвертировать в режим TSQL была доступна в интерфейсе администратора, в файле web.config (appsettings.json) должна быть отключена опция disableSQLShell. См. Руководство по техподдержке.

При внесении изменений в код слева от кнопки Сохранить появляется текст "Отредактировано" до сохранения изменений.

smart_edit_sql04

Индикатор наличия несохраненных изменений

Действия с выражением

По кнопке с изображением многоточия открывается список доступных действий со смарт-выражением.

smart_edit_sql-0003

Действия с выражением

Действие

Описание

Настройки

Название

Смена названия TSQL-выражения

smart_edit_sql-004

Окно настроек

Доступен в смарт поиске

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

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

selection

Отборы в пользовательском интерфейсе

Как и обычные смарт-фильтры, фильтры для отбора должны возвращать значение true/false.

warning_icon Недопустимо использование сортировки значений с помощью команды ORDER BY в скрипте отбора

В настройках Смарт все настроенные отборы находятся во вкладке Доступен в смарт поиске.

Дублировать

При выборе пункта откроется окно редактирования копии текущего смарт-выражения.

Для создания дубля название выражения должно быть непустой строкой не более 500 символов.

Удалить

Удаление TSQL-выражения

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

IntelliSense

Функция IntelliSense помогает ускорить процесс написания запросов, предоставляя подсказки, автозаполнение, и дополнительную информацию.

Начните вводить название категории и система предложит вам доступные варианты:

IntelliSense1

Предложенные варианты объектов БД

Справа от названия выделенного объекта в списке отображается кнопка информации — нажатие на нее отображает название категории с указанием ее ID.

IntelliSense2

Результат нажатия на кнопку Информация

Используйте стрелки вверх/вниз, чтобы выбрать нужный вариант из списка. Выберите вариант кликом мыши или нажмите Enter, чтобы вставить выбранный вариант в запрос.

Добавление точки после названия категории автоматически раскроет список всех доступных параметров в ней.

IntelliSense4

Список параметров в категории

Справа от названия дополнительного параметра в списке отображается кнопка информации — нажатие на нее отображает название параметра с указанием его ID. Кнопка информации не отображается для системных параметров.

IntelliSense3

Результат нажатия на кнопку Информация

Используйте стрелки вверх/вниз, чтобы выбрать нужный параметр из списка, для добавления параметра в запрос выберите вариант кликом мыши или нажмите Enter.

Пример написания запроса

warning_icon  Функция Intellisense учитывает особенности синтаксиса PostgreSQL

История версий

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

show_ver_sql

Кнопка "Просмотр версий"

Версии создаются при каждом сохранении изменений. Если код еще не редактировался, на экране будет написано "Нет истории версий".

show_ver_sql3

Нет истории версий

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

show_ver_sql2

Просмотр версии

Если вы решили восстановить выбранную неактуальную версию, нажмите на кнопку Восстановить версию. Эта кнопка станет доступной, когда вы выберете версию, отличную от текущей.

После того как вы закончили просмотр и восстановление версий, вы можете закрыть интерфейс истории версий, вернувшись к редактированию скрипта по кнопке Выйти из просмотра.

Тестирование

В блоке Тестирование можно проверить TSQL выражение.

Быстрое тестирование

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

fast_test_tsql

Быстрое тестирование

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

Сценарии тестирования

Во вкладке Сценарии тестирования вы можете создать создать свой сценарий или выбрать из добавленных ранее кейсов.

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

Создать новый сценарий можно по кнопке add_test_case_tsql — в открывшемся окне введите название нового сценария, после его создания заполните параметры и нажмите на кнопку Создать сценарий.

Для выполнения сценария нажмите на кнопку Тест.

Для отмены выбора сценария с очисткой контекстных параметров в поле "Сценарий" нажмите на крестик.

test_case_tsql

Сценарии тестирования

Выполнение фрагмента кода

В редакторе поддерживается возможность выполнения выделенного фрагмента кода. Для этого нужно выделить нужную часть выражения и нажать кнопку Тест. При выполнении учитываются значения контекстных параметров.

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

code_fragment

Выполнение фрагмента

Результат тестирования

Результат выполнения смарт-выражения отображается в специальном блоке в нижней части экрана. Блок содержит две вкладки: TSQL-скрипт и сообщение с результатом. Если смарт-выражение является фильтром, в окне результатов будет отображаться "Смарт фильтр вернул значение: true/false". Если смарт-выражение не является фильтром, в окне результатов будет отображаться таблица возвращаемых запросом данных. По кнопке tsql_copy_button результат можно скопировать в буфер обмена. Вы можете закрыть вкладку нажатием на крестик слева от ее названия или скрыть блок целиком по кнопке Очистить результаты в блоке Тестирование.

smart_edit_sql02

Сообщение с результатом тестирования

При тестировании автоматизации в блоке результата отображается время выполнения запроса в миллисекундах. Индикаторы рядом с временем классифицируют скорость выполнения:

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

Желтый индикатор указывает на среднее значение: от 50 до 200 миллисекунд.

Красный индикатор сигнализирует о большом значении времени выполнения: от 200 миллисекунд и более.

smart_edit_sql002

Время выполнения запроса

В случае timeout отображается текст "Время ожидания ответа истекло".

Строка подключения (ConnectionString)

По умолчанию для выполнения SQL запросов в качестве строки подключения (ConnectionString) используется "TCConnectionString".

В системе есть возможность указать отдельную учетную запись для выполнения TSQL-выражений. В системном файле приложения appsettings.json / web.config для этого предназначен ключ SmartConnectionString. Если значение указано в ключе, то TSQL-выражения будут выполняться под заданной строкой подключения.

Полезные ссылки