Если стандартных возможностей SMART не достаточно для создания нужного выражения, можно напрямую использовать возможности TSQL.
Редактор TSQL смартов учитывает контекстные параметры смарт-выражения и позволяет протестировать созданное выражение на существующих задачах.
Редактор TSQL смартов
Вы можете напрямую отредактировать текст запроса. Для этого в окне редактирования переключитесь в режим TSQL.
Переключение в режим TSQL
Возможность обратной конвертации из режима TSQL в SMART отсутствует |
---|
Сначала выполните тестирование, чтобы код конвертировался в TSQL. Иначе, после конвертирования, редактор кода будет пустым |
---|
Возможность работать с SQL напрямую из интерфейса системы по умолчанию отключена. Чтобы кнопка Конвертировать в режим TSQL была доступна в интерфейсе администратора, в файле web.config (appsettings.json) должна быть отключена опция disableSQLShell. См. Руководство по техподдержке. |
---|
При внесении изменений в код слева от кнопки Сохранить появляется текст "Отредактировано" до сохранения изменений.
Индикатор наличия несохраненных изменений
Действия с выражением
По кнопке с изображением многоточия открывается список доступных действий со смарт-выражением.
Действия с выражением
Действие |
Описание |
|
---|---|---|
Настройки |
Название |
Смена названия TSQL-выражения Окно настроек |
Доступен в смарт поиске |
Фильтры поддерживают опцию Доступен в смарт поиске, позволяющую добавить фильтр в число отборов. Чтобы пользователи могли быстро отбирать в категориях задачи по нескольким сложным условиям, удобно использовать готовые, заранее настроенные TSQL-фильтры. В отличие от обычной фильтрации по столбцу, отбор с помощью фильтров позволяет реализовывать сложные условия, в том числе проверять задачи из других категорий. Отборы в пользовательском интерфейсе Как и обычные смарт-фильтры, фильтры для отбора должны возвращать значение true/false.
В настройках Смарт все настроенные отборы находятся во вкладке Доступен в смарт поиске. |
|
Дублировать |
При выборе пункта откроется окно редактирования копии текущего смарт-выражения. Для создания дубля название выражения должно быть непустой строкой не более 500 символов. |
IntelliSense
Функция IntelliSense помогает ускорить процесс написания запросов, предоставляя подсказки, автозаполнение, и дополнительную информацию.
Начните вводить название категории и система предложит вам доступные варианты:
Предложенные варианты объектов БД
Справа от названия выделенного объекта в списке отображается кнопка информации — нажатие на нее отображает название категории с указанием ее ID.
Результат нажатия на кнопку Информация
Используйте стрелки вверх/вниз, чтобы выбрать нужный вариант из списка. Выберите вариант кликом мыши или нажмите Enter, чтобы вставить выбранный вариант в запрос.
Добавление точки после названия категории автоматически раскроет список всех доступных параметров в ней.
Список параметров в категории
Справа от названия дополнительного параметра в списке отображается кнопка информации — нажатие на нее отображает название параметра с указанием его ID. Кнопка информации не отображается для системных параметров.
Результат нажатия на кнопку Информация
Используйте стрелки вверх/вниз, чтобы выбрать нужный параметр из списка, для добавления параметра в запрос выберите вариант кликом мыши или нажмите Enter.
Функция Intellisense учитывает особенности синтаксиса PostgreSQL |
---|
История версий
История версий позволяет администраторам отслеживать изменения в коде и восстанавливать предыдущие версии по необходимости. История доступна по кнопке Просмотр версий в панели инструментов редактора.
Кнопка "Просмотр версий"
Версии создаются при каждом сохранении изменений. Если код еще не редактировался, на экране будет написано "Нет истории версий".
Нет истории версий
Если в код ранее были внесены изменения, то при переходе в историю открывается список версий с указанием пользователя и времени изменения.
Просмотр версии
Если вы решили восстановить выбранную неактуальную версию, нажмите на кнопку Восстановить версию. Эта кнопка станет доступной, когда вы выберете версию, отличную от текущей.
После того как вы закончили просмотр и восстановление версий, вы можете закрыть интерфейс истории версий, вернувшись к редактированию скрипта по кнопке Выйти из просмотра.
Тестирование
В блоке Тестирование можно проверить TSQL выражение.
Быстрое тестирование
Во вкладке Быстрое тестирование вы можете быстро проверить созданное выражение, для этого введите контекстные параметры и нажмите кнопку Тест.
Быстрое тестирование
Сценарии тестирования
Во вкладке Сценарии тестирования вы можете создать создать свой сценарий или выбрать из добавленных ранее кейсов.
При выборе значения из выпадающего списка в поле Сценарий настроенные для данного выражения контекстные параметры заполняются автоматически. По кнопке действий вы можете отредактировать название сценария или удалить его.
Создать новый сценарий можно по кнопке — в открывшемся окне введите название нового сценария, после его создания заполните параметры и нажмите на кнопку Создать сценарий.
Для выполнения сценария нажмите на кнопку Тест.
Для отмены выбора сценария с очисткой контекстных параметров в поле "Сценарий" нажмите на крестик.
Сценарии тестирования
Выполнение фрагмента кода
В редакторе поддерживается возможность выполнения выделенного фрагмента кода. Для этого нужно выделить нужную часть выражения и нажать кнопку Тест. При выполнении учитываются значения контекстных параметров.
При выделении части кода в блоке тестирования появляется индикатор "Выполнение фрагмента", который сигнализирует о том, что при тестировании будет выполнен не весь заданный код, а только его часть.
Выполнение фрагмента
Результат тестирования
Результат выполнения смарт-выражения отображается в специальном блоке в нижней части экрана. Блок содержит две вкладки: TSQL-скрипт и сообщение с результатом. Если смарт-выражение является фильтром, в окне результатов будет отображаться "Смарт фильтр вернул значение: true/false". Если смарт-выражение не является фильтром, в окне результатов будет отображаться таблица возвращаемых запросом данных. По кнопке результат можно скопировать в буфер обмена. Вы можете закрыть вкладку нажатием на крестик слева от ее названия или скрыть блок целиком по кнопке Очистить результаты в блоке Тестирование.
Сообщение с результатом тестирования
При тестировании автоматизации в блоке результата отображается время выполнения запроса в миллисекундах. Индикаторы рядом с временем классифицируют скорость выполнения:
•Зеленый индикатор сигнализирует о нормальном значении времени выполнения: до 50 миллисекунд.
•Желтый индикатор указывает на среднее значение: от 50 до 200 миллисекунд.
•Красный индикатор сигнализирует о большом значении времени выполнения: от 200 миллисекунд и более.
Время выполнения запроса
В случае timeout отображается текст "Время ожидания ответа истекло".
Полезные ссылки