К статье
Практический материал

Разработка и Конфигурация · 10 мин

Как в 1С поставить знак «больше»

Как поставить знак «больше» в 1С: в формулах Excel-подобных отчётов, языке запросов, встроенном коде и СКД. Примеры операторов >, >=, <> и типичные ошибки.

Знак «больше» в 1С используется в нескольких разных контекстах: в выражениях встроенного языка, в тексте запросов, в формулах ресурсов СКД, в настройках отборов отчётов и даже в обычном вводе символа «>» в текстовые поля. Во всех случаях сам символ вводится с клавиатуры одинаково — Shift + точка на русской раскладке или клавиша «>» на английской, — но правила его применения и типичные ошибки различаются.

Чаще всего вопрос возникает у пользователей, которые настраивают отбор в отчёте, пишут условие в формуле или редактируют запрос, и у разработчиков, переносящих привычки из других языков. В 1С операторы сравнения имеют свои особенности: например, «не равно» записывается как <>, а не как !=, и это регулярно становится источником синтаксических ошибок.

Где в 1С вообще нужен знак «больше»

Прежде чем вводить символ, определите, в каком инструменте вы работаете, потому что синтаксис и способ ввода различаются. Всего есть пять типовых мест, где требуется сравнение «больше».

  • Встроенный язык 1С — условия Если ... Тогда в модуле объекта, формы или общем модуле.
  • Язык запросов — условия в секции ГДЕ, соединения таблиц, параметры виртуальных таблиц.
  • СКД (система компоновки данных) — выражения ресурсов, вычисляемые поля, отборы.
  • Отборы в отчётах и динамических списках — настройка пользователем без программирования.
  • Формулы в табличных документах — расчёты в ячейках макетов и табличных документов.

Во всех перечисленных случаях «больше» — это либо символ > в тексте выражения, либо выбранный из списка вид сравнения в настройках отбора. Ниже разобран каждый сценарий с примерами.

Знак «больше» во встроенном языке 1С

В модуле (формы, объекта, общем) сравнение «больше» записывается стандартным символом > между двумя значениями. Результат выражения — булево (Истина или Ложь), которое обычно используется в условии.

Если СуммаДокумента > 100000 Тогда

ТребуетсяСогласование = Истина;

КонецЕсли;

Для «больше или равно» символы пишутся слитно, без пробела: >=. Порядок важен — сначала знак «больше», потом «равно». Запись => вызовет синтаксическую ошибку, потому что такого оператора в языке нет.

Если Количество >= МинимальныйОстаток Тогда

// остаток в норме

КонецЕсли;

Обратите внимание на сравнение дат: для дат оператор > работает корректно, но сравнивать нужно именно значения типа «Дата», а не строки. Если дата хранится как строка «31.12.2026», сравнение строк даст результат по алфавиту, а не по календарю — это частая и трудно заметная ошибка.

Типичные ошибки во встроенном языке
01
Запись => вместо >= — синтаксическая ошибка, модуль не сохранится
02
Сравнение дат в виде строк — результат сравнивается по алфавиту, а не по календарю
03
Использование != вместо <> — в 1С оператор «не равно» записывается только как <>
04
Сравнение значения с NULL через > — результат всегда NULL, условие не сработает

Знак «больше» в языке запросов

В тексте запроса условия сравнения размещаются в секции ГДЕ, в соединениях таблиц и в параметрах виртуальных таблиц. Синтаксис операторов тот же: >, >=, <>.

ВЫБРАТЬ

Продажи.Номенклатура,

Продажи.СуммаОборот

ИЗ

РегистрНакопления.Продажи.Обороты(&НачалоПериода, &КонецПериода, , ) КАК Продажи

ГДЕ

Продажи.СуммаОборот > &МинимальнаяСумма

Вместо жёстко заданного значения почти всегда используйте параметр через & — это позволит передавать порог извне без изменения текста запроса. Параметр заполняется методом УстановитьПараметр объекта запроса.

Особый случай — сравнение с NULL, которое возникает при левых соединениях. Оператор > с NULL никогда не вернёт Истину: результат сравнения будет NULL, и условие не выполнится. Если нужно отобрать строки, где значение либо больше порога, либо отсутствует, добавляйте явную проверку ЕСТЬ NULL.

Как задать условие «больше» в отборе отчёта без программирования

Пользователю, который настраивает отчёт, вводить символ «>» вручную не нужно: вид сравнения выбирается из списка. Это самый безопасный способ, исключающий синтаксические ошибки.

Порядок настройки отбора в отчёте
  1. 1
    Откройте отчёт и перейдите в «Настройки» (или «Ещё → Изменить вариант» в типовых формах)
  2. 2
    На вкладке «Отбор» добавьте нужное поле, например «Сумма»
  3. 3
    В колонке «Вид сравнения» выберите из выпадающего списка «Больше» или «Больше или равно»
  4. 4
    В колонке «Значение» укажите пороговое число или дату
  5. 5
    Обновите отчёт и проверьте, что в результат попали только записи выше порога

Список видов сравнения содержит и другие варианты: «Равно», «Не равно», «В списке», «В группе», «Содержит» (для строк), «Заполнено» / «Не заполнено». Для чисел и дат доступны «Больше», «Больше или равно», «Меньше», «Меньше или равно». Для строковых полей сравнения «больше/меньше» обычно недоступны или бессмысленны, поскольку строки сравниваются по алфавиту.

Если нужного поля нет в списке отборов, оно может быть отключено в настройках варианта отчёта. В режиме расширенной настройки («Изменить вариант») проверьте, что поле присутствует в структуре СКД и доступно для отбора.

Знак «больше» в СКД: вычисляемые поля и выражения ресурсов

В схеме компоновки данных сравнения встречаются в вычисляемых полях, выражениях ресурсов и отборах на уровне схемы. Язык выражений СКД поддерживает те же операторы > и >=.

Пример вычисляемого поля, которое помечает крупные продажи:

ВЫБОР

КОГДА СуммаОборот > 500000

ТОГДА "Крупная"

ИНАЧЕ "Обычная"

КОНЕЦ

Обратите внимание: в языке выражений СКД условие оформляется конструкцией ВЫБОР КОГДА ... ТОГДА ... КОНЕЦ, а не Если ... Тогда из встроенного языка. Смешивать эти два синтаксиса нельзя — выражение с «Если» в поле СКД не пройдёт проверку.

В выражениях ресурсов операторы сравнения обычно используются внутри агрегатных функций. Например, посчитать количество строк, где сумма превысила порог, можно через СУММА(ВЫБОР КОГДА Сумма > 100000 ТОГДА 1 ИНАЧЕ 0 КОНЕЦ).

Сравнение операторов: «больше», «больше или равно», «не равно»

Ниже сведены все операторы сравнения, доступные во встроенном языке и языке запросов 1С. Они одинаковы в обоих языках, что упрощает запоминание.

ОператорЗначениеПример
>Больше (строго)Если А > 5 Тогда
>=Больше или равноЕсли А >= 5 Тогда
<Меньше (строго)Если А < 5 Тогда
<=Меньше или равноЕсли А <= 5 Тогда
=РавноЕсли А = 5 Тогда
<>Не равноЕсли А <> 5 Тогда

Ключевое отличие «строгого» и «нестрогого» сравнения — граничное значение. Условие Сумма > 1000 не включает сумму ровно 1000, а Сумма >= 1000 — включает. При настройке отборов в отчётах это частая причина «пропавшей» строки: пользователь ожидает увидеть запись с точным значением порога, а строгое сравнение её исключает.

Как ввести символ «>» в текстовое поле 1С

Если знак «больше» нужен не как оператор, а как обычный символ — в наименовании, комментарии, тексте письма из 1С — он вводится стандартно с клавиатуры. В русской раскладке это Shift + клавиша с точкой (рядом с правым Shift), в английской — Shift + клавиша с точкой в основном ряду.

Ограничений на ввод символа «>» в текстовых полях 1С нет. Однако учитывайте два нюанса. Во-первых, при выгрузке данных в XML или HTML символ «>» может быть преобразован в escape-последовательность &gt; — это нормальное поведение формата, а не ошибка. Во-вторых, в форматированных строках и шаблонах печатных форм угловые скобки иногда используются как разметка, поэтому в макетах проверяйте, не воспринимается ли символ как часть служебной конструкции.

Контрольные точки

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

Модуль с условием сохраняется
Норма

Конфигуратор не сообщает о синтаксических ошибках, оператор записан как > или >=

Тревожный признак

Ошибка «Оператор не распознан» — вероятно, написано => или !=

Запрос возвращает строки
Норма

В результат попали записи строго выше порога

Тревожный признак

Пропали строки с NULL или со значением, равным порогу

Отбор в отчёте
Норма

Вид сравнения «Больше», значение задано, отчёт обновлён

Тревожный признак

Отбор добавлен, но не отмечен галочкой использования — фильтр не применяется

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

Почему условие «Сумма > 0» не отбирает часть документов?

Наиболее вероятные причины: значение поля равно NULL (сравнение с NULL не даёт Истину), сумма хранится как строка и сравнивается по алфавиту, либо отбор применён к полю, которое в конкретной строке просто не заполнено. Проверьте тип поля и добавьте обработку NULL через ЕСТЬ NULL или функцию ЕСТЬNULL.

Можно ли в запросе написать != вместо <>?

Нет. Язык запросов и встроенный язык 1С поддерживают только оператор <> для «не равно». Запись != вызовет синтаксическую ошибку при проверке модуля или выполнении запроса.

Как сравнить даты на «больше» в запросе?

Тем же оператором >: например, ГДЕ Документ.Дата > &ДатаОтсчёта. Передавайте параметр именно как значение типа «Дата», а не строку. Если нужно сравнение по дню без учёта времени, используйте функции НАЧАЛОПЕРИОДА и КОНЕЦПЕРИОДА.

Почему в отборе отчёта нет вида сравнения «Больше»?

Вид сравнения «Больше» доступен для чисел, дат и других упорядоченных типов. Для строковых полей и ссылок он может отсутствовать или быть бессмысленным. Также проверьте, что поле вообще доступно для отбора в настройках варианта отчёта.

Чем отличается > в запросе от > во встроенном языке?

Синтаксис одинаковый, но контекст разный: в запросе сравнение выполняется на стороне СУБД при выборке данных, во встроенном языке — при выполнении кода над уже полученными значениями. В запросе дополнительно действуют правила работы с NULL, которых нет в обычном коде.

Как отобрать значения строго между двумя порогами?

Используйте два условия через И: ГДЕ Сумма > &Мин И Сумма < &Макс. Альтернатива — оператор МЕЖДУ, но учтите, что МЕЖДУ включает граничные значения (эквивалентно >= и <=), поэтому для строгих границ подходят только два отдельных сравнения.