ВидСравнения

Темы платформы · ComparisonType

Определяет набор видов сравнения, которые могут быть использованы в условиях отбора. Используется для определения свойства ВидСравнения.

Полное описание, параметры и ограничения

ВидСравнения (ComparisonType)

ВидСравнения (ComparisonType)

Доступен, начиная с версии 8.1.

Значения
Больше (Greater)
БольшеИлиРавно (GreaterOrEqual)
ВИерархии (InHierarchy)
ВСписке (InList)
ВСпискеПоИерархии (InListByHierarchy)
Интервал (Interval)
ИнтервалВключаяГраницы (IntervalIncludingBounds)
ИнтервалВключаяНачало (IntervalIncludingLowerBound)
ИнтервалВключаяОкончание (IntervalIncludingUpperBound)
Меньше (Less)
МеньшеИлиРавно (LessOrEqual)
НеВИерархии (NotInHierarchy)
НеВСписке (NotInList)
НеВСпискеПоИерархии (NotInListByHierarchy)
НеРавно (NotEqual)
НеСодержит (NotContains)
Равно (Equal)
Содержит (Contains)

Описание:

Определяет набор видов сравнения, которые могут быть использованы в условиях отбора. Используется для определения свойства ВидСравнения.

Доступность:

Тонкий клиент, веб-клиент, мобильный клиент, сервер, толстый клиент, внешнее соединение, мобильное приложение (клиент), мобильное приложение (сервер), мобильный автономный сервер.
Возможен обмен с сервером. Может использоваться в реквизитах управляемой формы. Данный объект может быть сериализован в/из XDTO. Тип XDTO, соответствующий данному объекту, определяется в пространстве имен {http://v8.1c.ru/8.1/data/enterprise}. Имя типа XDTO: ComparisonType.

См. также:
ЭлементОтбора, свойство ВидСравнения
СвойствоОбъектаАнализаДанных, свойство ВидСравнения

Использование в версии:

Доступен, начиная с версии 8.1.

Методическая информация

Практические примеры

Настроить отбор своего построителя: Больше

Конкретный оператор получает подходящее поле и аргумент. Интервал, список, строковая маска, заполненность и иерархия не подменяются одним универсальным значением.

Где и как запускать

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

Подготовка

  1. Создайте собственную учебную обработку с серверной процедурой ВыполнитьПример. Код без заголовка вставьте в её тело; каждый урок запускайте отдельно.

  2. Для обычного построителя поместите функцию ИсточникУчебногоОтбора из дополнительного блока отдельно в тот же серверный модуль. Она создаёт пять собственных строк с количеством 1–5.

Данные = ИсточникУчебногоОтбора();
Описание = Новый ОписаниеИсточникаДанных(Данные);
Для Каждого Колонка Из Описание.Колонки Цикл
    Колонка.Поле = Истина;
    Колонка.Отбор = Истина;
КонецЦикла;
Построитель = Новый ПостроительЗапроса;
Построитель.ИсточникДанных = Описание;
Условие = Построитель.Отбор.Добавить("Количество");
Условие.ВидСравнения = ВидСравнения.Больше;
Условие.Значение = 3;
Условие.Использование = Истина;
Сообщить("Настроен отбор Количество: " + Строка(Условие.ВидСравнения));
Сообщить("Это настройка; выполнение построителя или отчёта запускается отдельно");
Та же серверная форма или общий модуль: собственные пять строк
Функция ИсточникУчебногоОтбора()
    Данные = Новый ТаблицаЗначений;
    Данные.Колонки.Добавить("Наименование", Новый ОписаниеТипов("Строка"));
    Данные.Колонки.Добавить("Количество", Новый ОписаниеТипов("Число"));
    Для Номер = 1 По 5 Цикл
        СтрокаДанных = Данные.Добавить();
        СтрокаДанных.Наименование = ?(Номер <= 3, "Книга " + Строка(Номер), "Альбом " + Строка(Номер));
        СтрокаДанных.Количество = Номер;
    КонецЦикла;
    Возврат Данные;
КонецФункции

Разбор по шагам

  1. Элемент отбора получен из коллекции собственного построителя или созданных настроек СКД, а не передан неизвестным объектом.

  2. Поле Количество имеет подходящий тип. Для интервала используются ЗначениеС / ЗначениеПо; для списка — СписокЗначений; для заполненности правое значение не требуется.

  3. ВидСравнения задаёт ВидСравнения.Больше, а Использование = Истина включает условие. Пример показывает настройку, не утверждая, что отчёт уже выполнен.

Как проверить результат

  1. Сообщение показывает конкретное поле и оператор. Значения границ интервала 2 и 4 позволяют отдельно проверить включение / исключение границ при дальнейшем выполнении.

  2. Для Подобно маска Кн% использует %, а не символ *; для иерархии справа находится ссылка на свою группу, а не её наименование.

Ожидаемый результат

В собственном объекте создано осмысленное условие отбора с корректным типом поля и правого аргумента.

На что обратить внимание

  1. ВидСравнения и ВидСравненияКомпоновкиДанных — разные перечисления и разные классы элементов отбора; значения одного не присваиваются вместо другого.

  2. Интервалы не применяйте к ссылочным полям. Иерархические операторы применяются к соответствующим ссылкам, не к произвольной строке.

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

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

Не хотите разбираться сами?

Адаптируем это решение под вашу базу. Оценка бесплатно.

Оставить задачу

1С, 1С:Предприятие — товарные знаки ООО «1С». Сайт не является официальным представительством фирмы «1С» и не аффилирован с ней.