Show/Hide Toolbars

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

Операторы и функции

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

Под полем "Имя" расположена строка с набором доступных инструментов — операторов и функций. Отображаемый на ней набор инструментов зависит от выбранного атрибута и текущего редактируемого выражения.

Если вы знакомы с Entity SQL, есть возможность подставлять некоторые операторы этого языка для формирования нужной строки условий отбора (полный список операторов Entity SQL, доступен по адресу: Справочник по Entity SQL).

Операторы

в списке – оператор, проверяющий входит ли значение атрибута в список значений {a,b,c};

не в списке – оператор, проверяющий исключение значений атрибута из списка значений {a,b,c};

Функции

Строки

warning_icon  Строковые константы должны заключаться в одинарные кавычки, например:

smart_exp_operators_str

Функция

Описание

Атрибуты

Возвращаемое значение

Подстроки

БезПробеловСЛВ

Возвращает строку без начальных пробелов слева

Строка

Строка

БезПробеловСПР

Возвращает строку без конечных пробелов справа

Строка

Строка

БезПробелов

Возвращает строку без начальных и конечных пробелов

Строка

Строка

ВернутьСлева

Возвращает первые N символов строки

Строка

Целое число (количество символов, N)

Строка

ВернутьСправа

Возвращает последние N символов строки

Строка

Целое число (количество символов, N)

Строка

ИндексПодстроки

Возвращает позицию подстроки в строке

Подстрока

Строка

Целое число

Подстрока

Возвращает N символов строки начиная с позиции M

Строка

Целое число (начальная позиция, M)

Число (количество символов, N)

Строка

Преобразовать

DateConvert

Преобразование даты в строку по указанному формату (см. форматы)

Строка

Число

Строка

ВВерхРегистр

Преобразование всех символов строки в верхний регистр

Строка

Строка

ВНижРегистр

Преобразование всех символов строки в нижний регистр

Строка

Строка

ЗаменитьВСтроке

Замена всех вхождений подстроки1 на подстроку2

Строка (где менять)

Подстрока1 (что менять)

Подстрока2 (на что менять)

Строка

НачинаетсяС

Проверяет, начинается ли строка с подстроки

Строка

Подстрока

Логическое значение

ОбратитьСтроку

Переставляет все символы в строке в обратном порядке ("задом наперед")

Строка

Строка


+

Соединение строк.

Например: Категория.Описание = Категория.Название + '123'


Строка

IsNullString

Проверяет, является ли строка1 пустой. Если не является, то возвращает строку1; если является, то возвращает строку2

Строка 1 (проверяемая строка)

Строка 2 (возвращается, если строка1 пустая)

Строка

ВДробноеЧисло

Преобразует строку в десятичную дробь. Разделителем должна быть точка. Если строка не может быть преобразована, возвращает ошибку

Строка

Десятичная дробь

ВЦелоеЧисло

Преобразует строку в целое число. Если строка не может быть преобразована, возвращает ошибку

Строка

Целое число

ДлинаСтроки

Возвращает длину строки

Строка

Целое число

ЗаканчиваетсяНа

Проверяет, заканчивается ли строка подстрокой

Строка

Подстрока

Логическое значение

Конкатенация

Соединяет две строки

Строка 1

Строка 2

Строка

Перенос строки

Вставляет символ переноса строки

Строка

ПовторитьСтроку

Повторяет строку N раз

Строка

Целое число

Строка

ПоискВСтроке

Возвращает позицию первого вхождения подстроки в строке и 0 если вхождение не найдено.

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

Подстрока (что искать)

Строка (где искать)

Целое число (номер позиции, начиная с которой осуществляется поиск. Отсчет позиций начинается с 1. Если параметр равен 0, то поиск также ведется с начала строки)

 

Целое число

ПоискПоШаблону

Возвращает позицию первого вхождения шаблона в строке и  0 если вхождение не найдено.

Шаблон — это последовательность символов, которая может включать символы-шаблоны '%' и '_'. '%' обозначает любое количество символов (в том числе и отсутствие символов), а '_' заменяет один любой символ.

Как правило, шаблон ограничивается символами "%" слева и справа (за исключением случаев, когда необходимо найти только первые или только последние символы).

Строка (шаблон)

Строка

 

Целое число

ПробелыВASCII

Генерирует строку из N пробелов

Целое число

Строка

СтрокаНеПуста

Проверяет, есть ли в строке хотя бы один символ

Строка

Логическое значение

СтрокаПуста

Проверяет, является ли строка пустой

Строка

Логическое значение

СтрокаСодержит

Проверяет, содержит ли строка подстроку

Строка

Подстрока (что содержит)

Логическое значение

Числа

Функция

Описание

Атрибуты

Возвращаемое значение

-

*

/

+

<

<=

>

>=

Числовые операторы



IsNullDecimal

Проверяет, является ли число1 пустым значением. Если не является, то возвращает число1; если является, то возвращает число2.

Число1 (проверяемое число),

Число2 (возвращается, если число1 пустое).

Число в формате десятичной дроби с двумя знаками после запятой.

ВСтроку

Преобразует число в строку. Если число содержит десятичную дробную часть, должна быть точка. Если число не может быть преобразовано, возвращает ошибку.

Число

Строка

Дата и время

Функция

Описание

Атрибуты

Возвращаемое значение

Добавить

ДобавитьДней

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

Дата и время,

Целое число

Дата и время

ДобавитьЛет

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

Дата и время,

Целое число

Дата и время

ДобавитьМесяцев

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

Дата и время,

Целое число

Дата и время

ДобавитьМинут

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

Дата и время,

Целое число

Дата и время

ДобавитьРабочихДней

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

Дата и время,

Целое число

Дата и время

ДобавитьРабочихЛет

Добавляет к дате указанное количество рабочих лет. Количество может быть положительным и отрицательным

Дата и время,

Целое число

Дата и время

ДобавитьРабочихМесяцев

Добавляет к дате указанное количество рабочих месяцев. Количество может быть положительным и отрицательным

Дата и время,

Целое число

Дата и время

ДобавитьРабочихМинут

Добавляет к дате указанное количество рабочих минут. Количество может быть положительным и отрицательным.

warning_icon  Работа функции в течение дня опирается только на системный параметр Рабочее время (с... по...) в Общих настройках приложения и не учитывает параметр Рабочих часов в дне. В связи с чем вычислить точное время обеда в течение одного дня не представляется возможным.

Дата и время,

Целое число

Дата и время

 

ДобавитьРабочихЧасов

Добавляет к дате указанное количество рабочих часов. Количество может быть положительным и отрицательным.

warning_icon  Работа функции в течение дня опирается только на системный параметр Рабочее время (с... по...) в Общих настройках приложения и не учитывает параметр Рабочих часов в дне. В связи с чем вычислить точное время обеда в течение одного дня не представляется возможным.

Дата и время,

Целое число

Дата и время

ДобавитьЧасов

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

Дата и время,

Целое число

Дата и время

Разница

РазницаДней

Возвращает число целых дней между двумя датами. Если первая дата больше второй, то разница отрицательная

Дата и время 1,

Дата и время 2

Целое число

РазницаЛет

Возвращает число целых лет между двумя датами. Если первая дата больше второй, то разница отрицательная

Дата и время 1,

Дата и время 2

Целое число

РазницаМесяцев

Возвращает число целых месяцев между двумя датами. Если первая дата больше второй, то разница отрицательная

Дата и время 1,

Дата и время 2

Целое число

РазницаМинут

Возвращает число целых минут между двумя датами. Если первая дата больше второй, то разница отрицательная

Дата и время 1,

Дата и время 2

Целое число

РазницаРабочихДней

Возвращает число целых рабочих дней между двумя датами. Если первая дата больше второй, то разница отрицательная

Дата и время 1,

Дата и время 2

Целое число

РазницаРабочихМинут

Возвращает число целых рабочих минут между двумя датами. Если первая дата больше второй, то разница отрицательная

Дата и время 1,

Дата и время 2

Целое число

РазницаРабочихЧасов

Возвращает число целых рабочих часов между двумя датами. Если первая дата больше второй, то разница отрицательная

Дата и время 1,

Дата и время 2

Целое число

РазницаЧасов

Возвращает число целых часов между двумя датами. Если первая дата больше второй, то разница отрицательная

Дата и время 1,

Дата и время 2

Целое число

Округлить

УсечьВремя

Возвращает указанную дату со временем 0 часов 00 минут

Дата и время

Дата и время

ОкруглитьНачалоНедели

Возвращает первый день недели, содержащей указанную дату, со временем 0 часов 00 минут

Дата и время

Дата и время

ОкруглитьНачалоМесяца

Возвращает первый день месяца, содержащего указанную дату, со временем 0 часов 00 минут

Дата и время

Дата и время

ОкруглитьНачалоКвартала

Возвращает первый день квартала, содержащего указанную дату, со временем 0 часов 00 минут

Дата и время

Дата и время

ОкруглитьНачалоГода

Возвращает первый день года, содержащего указанную дату, со временем 0 часов 00 минут

Дата и время

Дата и время

ОкруглитьКонецДня

Возвращает указанную дату со временем 23 часа 59 минут

Дата и время

Дата и время

ОкруглитьКонецНедели

Возвращает последний день недели, содержащей указанную дату, со временем 23 часа 59 минут

Дата и время

Дата и время

ОкруглитьКонецМесяца

Возвращает последний день месяца, содержащего указанную дату, со временем 23 часа 59 минут

Дата и время

Дата и время

ОкруглитьКонецКвартала

Возвращает последний день квартала, содержащего указанную дату, со временем 23 часа 59 минут

Дата и время

Дата и время

ОкруглитьКонецГода

Возвращает последний день года, содержащего указанную дату, со временем 23 часа 59 минут

Дата и время

Дата и время

 

Год

Возвращает год для указанной даты

Дата и время

Целое число

День

Возвращает день для указанной даты

Дата и время

Целое число

ДеньГода

Возвращает порядковый день в году для указанной даты

Дата и время

Целое число

Месяц

Возвращает месяц для указанной даты

Дата и время

Целое число

Минута

Возвращает минуты для указанной даты

Дата и время

Целое число

НерабочийДень

Возвращает признак, является ли указанная дата нерабочим днем

Дата и время

Логическое значение

НовыеДатаВремя

Возвращает дату, сформированную из указанных параметров

Целое число (год),

Целое число (месяц),

Целое число (день),

Целое число (час),

Целое число (минуты),

Число формата double (секунды)

Дата и время

ОтформатироватьДату

Возвращает дату, отформатированную по указанному формату. Формат — строка вида 'dd.MM.yyyy HH:mi'

Дата и время,

Строка (формат)


ПеревестиВЧасовуюЗонуПользователя

Возвращает указанную дату и время, преобразованную в часовую зону пользователя с указанным ID

Дата и время,

Целое число (ID пользователя)

Дата и время

ТекущиеДатаВремя

Возвращает текущую дату и время

Дата и время

Час

Возвращает час для указанной даты

Дата и время

Целое число

ДеньНедели

Возвращает название дня недели для указанной даты

Дата и время

Строка

Логические

Функция

Описание

Атрибуты

Возвращаемое значение

есть значение

Возвращает "истина" (1) если в предыдущем атрибуте в поле смарт-выражения есть значение; возвращает "ложь" (0) если значения нет (пустое, null).

Пример: smart_logic_2

есть ложь

Возвращает "истина" (1) если значение предыдущего атрибута в поле смарт-выражения равно "ложь" (0); возвращает "ложь" (0) если оно равно "истина" (1).

Пример: smart_logic_1

И

Операция логического умножения.

ИЛИ

Операция логического сложения.

нет значения

Возвращает "истина" (1) если в предыдущем атрибуте в поле смарт-выражения нет значения (пустое, null); возвращает "ложь" (0) если значение есть.

Пример: smart_logic_3

Если ... то ... иначе ...

Вставить шаблон

Вставляет в поле смарт-выражения шаблон:

smart_logic_4

При обработке смарт-выражения шаблон преобразуется в SQL-конструкцию

case when... then... else... end

В случае

если

иначе

конец

то

Вставляет в поле смарт-выражения одну (выбранную) часть шаблона:

case

when

else

end

then

Агрегатные

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

Функция

Описание

Атрибуты

Возвращаемое значение

Максимум

Возвращает максимальный из элементов массива.

Пример: smart_agg_1

Массив чисел, строк или дат.

Соответствует типу элементов в массиве

Минимум

Возвращает минимальный из элементов массива.

Пример:

smart_agg_2

Массив чисел, строк или дат.

Соответствует типу элементов в массиве

СконкатенироватьВСтроку

Преобразует коллекцию атрибутов в строку.

Чтобы сформировать XML выборки данных, надо "обернуть" подвыражение в макрос EVALXML.

Важно, чтобы описание атрибута XML точно соответствовало названию колонки в таблице БД (в т.ч. с учетом регистра).

Пример:

smart-script-01

Строка1 (XML выборки данных),

Строка2 (атрибут XML, который надо сконкатенировать),

Строка3 (символ-разделитель конкатенации).

Строка

Среднее

Возвращает среднее арифметическое значений элементов массива.

Массив чисел

Число

Сумма

Возвращает сумму значений элементов массива.

Массив чисел

Число

Математические

Функция

Описание

Атрибуты

Возвращаемое значение

ПоМодулю

Возвращает абсолютное значение числа (модуль).

Число

Число

МинЦелоеНеМеньше

Возвращает ближайшее целое число, не меньшее указанного.

Например, МинЦелоеНеМеньше(12.3) = 13

Число

Целое число

МаксЦелоеНеБольше

Возвращает ближайшее целое число, не большее указанного.

Например, МаксЦелоеНеБольше(12.3) = 12

Число

Целое число

Степень

Возвращает число N, возведенное в степень M.

Число (основание степени, N),

Число (показатель степени, M).

Число

Округлить

Возвращает округленное число (дробная часть < 0.5 отбрасывается, >= 0.5 округляется в большую строну).

Число

Число

УрезатьДоЗнаков

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

Например, УрезатьДоЗнаков(123.456, 2) = 123.45

УрезатьДоЗнаков(123, 2) = 123

Число (урезаемое число),

Число (максимальное количество знаков после запятой).


СлучЗнач

Возвращает случайное десятичное значение от 0 до 1, подсчитанное на основе указанного числа.

Число

Число

ЗнакЧисла

Возвращает 1 для положительных значений, -1 для отрицательных, 0 для нуля.

Число

Целое число

Корень

Возвращает квадратный корень из указанного числа.

Число

Число