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

Отчеты и Аналитика · 9 мин

Как в 1С сделать отбор по сумме

Как в 1С сделать отбор по сумме в списках документов, отчётах, СКД и динамических списках. Пошаговые инструкции, типичные ошибки и ответы на вопросы.

Отбор по сумме — одна из самых частых задач при работе с 1С: найти все документы крупнее определённой суммы, показать заказы в заданном диапазоне, выделить контрагентов с большой задолженностью. Способ зависит от того, где вы работаете: в обычном списке документов, в отчёте на СКД, в динамическом списке или в запросе. Ниже разобраны все основные сценарии с конкретными действиями.

Важно понимать ключевое ограничение: стандартный отбор в списке работает только по реквизитам, которые хранятся в объекте (шапке документа или справочника). Если сумма хранится в табличной части или вычисляется на лету, простым отбором обойтись не получится — понадобится отчёт или настройка запроса.

Отбор по сумме в списке документов

В управляемых формах (1С:Бухгалтерия 3.0, УТ 11, ERP, 1С:ЗУП и другие конфигурации на управляемом приложении) список документов настраивается единообразно. Откройте нужный журнал — например, «Продажи» → «Реализация (акты, накладные)».

Нажмите кнопку «Ещё» в командной панели списка и выберите пункт «Настроить список». В открывшемся окне на закладке «Отбор» нажмите «Добавить новый элемент» и в поле слева найдите реквизит «Сумма» (в некоторых документах он называется «Сумма документа» или «Сумма оплаты»). Затем выберите вид сравнения и укажите значение.

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

Для диапазона сумм удобнее вид сравнения «В диапазоне»: задаются обе границы за один шаг. Если нужно несколько несвязанных условий (например, сумма меньше 10 000 или больше 500 000), добавьте два элемента отбора и сгруппируйте их в «Группу ИЛИ» через контекстное меню.

Настроенный отбор можно сохранить как вариант списка («Ещё» → «Сохранить настройки»), чтобы не задавать условия заново. В некоторых конфигурациях быстрый отбор доступен и без окна настроек — через кнопку расширенного поиска или панель отборов над списком.

Отбор по сумме в отчётах на СКД

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

Принципиальная разница со списком: в СКД можно отбирать не только по реквизитам документа, но и по вычисляемым показателям — сумма продаж, сумма задолженности, сумма НДС. Например, в отчёте «Продажи» можно отобрать строки, где сумма выручки превышает заданный порог.

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

Отбор по сумме в запросе и динамическом списке

Если вы дорабатываете конфигурацию или пишете собственный отчёт, отбор по сумме задаётся в тексте запроса. Для отбора по реквизиту используется секция ГДЕ:

ВЫБРАТЬ Реализация.Ссылка, Реализация.СуммаДокумента

ИЗ Документ.РеализацияТоваровУслуг КАК Реализация

ГДЕ Реализация.СуммаДокумента > &МинимальнаяСумма

Когда сумма — это итог агрегирования (сумма по табличной части, сумма оборотов), условие пишется в секции ИМЕЮЩИЕ после группировки:

ВЫБРАТЬ Продажи.Контрагент, СУММА(Продажи.СуммаОборот) КАК Оборот

ИЗ РегистрНакопления.Продажи.Обороты КАК Продажи

СГРУППИРОВАТЬ ПО Продажи.Контрагент

ИМЕЮЩИЕ СУММА(Продажи.СуммаОборот) > &Порог

В динамических списках (произвольные запросы в формах списков) отбор добавляется либо в текст запроса, либо через свойство списка «Отбор» программно. Учтите: если в динамическом списке отключена произвольная настройка, пользовательский отбор по полю может быть недоступен — это ограничение платформы для оптимизации.

bsl
ЭлементОтбора = Список.Отбор.Элементы.Добавить(Тип("ЭлементОтбораКомпоновкиДанных"));
ЭлементОтбора.ЛевоеЗначение = Новый ПолеКомпоновкиДанных("СуммаДокумента");
ЭлементОтбора.ВидСравнения = ВидСравненияКомпоновкиДанных.БольшеИлиРавно;
ЭлементОтбора.ПравоеЗначение = 100000;
ЭлементОтбора.Использование = Истина;

Какой способ выбрать в разных ситуациях

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

Сравнение вариантов

Настройка списка

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

Отчёт на СКД

Подходит для анализа по вычисляемым суммам, оборотам, задолженности. Ограничение: отбор по итогам группировки требует расширенных настроек.

Запрос с ГДЕ / ИМЕЮЩИЕ

Подходит для доработок, обработок и нестандартных условий. Ограничение: требует прав разработчика и знания языка запросов.

Программный отбор

Подходит для автоматизации и внешних обработок. Ограничение: нужен доступ к конфигуратору или внешним обработкам.

Если суммы в документе вообще нет как реквизита (например, в некоторых накладных сумма считается по строкам товаров), самый быстрый обходной путь — построить отчёт по документам с суммой и применить отбор уже там.

Проверка результата и типичные ошибки

После применения отбора убедитесь, что результат соответствует ожиданиям. Самая частая ошибка — неверный вид сравнения: «Больше» исключает пограничное значение, тогда как «Больше или равно» включает его. Документ ровно на 100 000 при условии «Больше 100000» в список не попадёт.

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

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

Количество строк в списке
Норма

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

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

Список пуст либо не изменился — проверьте значение и вид сравнения

Пограничные значения
Норма

Документы ровно на границу есть или отсутствуют согласно выбранному сравнению

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

Граничные документы теряются — замените «Больше» на «Больше или равно»

Валюта суммы
Норма

Отбор идёт по сумме в валюте учёта или документа осознанно

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

Смешаны суммы в разных валютах — уточните, по какому полю строится отбор

Типичные ошибки
01
Отбор по полю «Сумма» вместо «Сумма документа» — в ряде документов это разные реквизиты, итог отличается
02
Ожидание отбора по сумме табличной части в списке — стандартный отбор таких полей не видит, нужен отчёт
03
Забытый старый отбор: предыдущее условие осталось активным и скрывает часть данных — проверьте панель отборов
04
Использование «Равно» вместо диапазона — из-за копеек в суммах точное совпадение почти никогда не срабатывает
05
Отбор по итогам группировки в обычном отборе СКД — условие применяется к строкам, а не к группам

Ещё одна ловушка — период. Список документов часто ограничен датой, и отбор по сумме работает только внутри этого периода. Если документов «не находится», сначала расширьте интервал дат, а потом проверяйте условие по сумме.

Ограничения и когда нужен разработчик

Пользовательскими средствами закрывается большинство задач, но есть границы. Нельзя настроить в списке отбор по сумме, которой нет в реквизитах объекта; нельзя без доработки строить сложные условия с вычислениями (например, «сумма больше средней по контрагенту»); в динамических списках с запретом произвольного запроса часть полей для отбора недоступна.

Обращение к разработчику оправдано, когда нужен постоянный инструмент: обработка подбора документов по сумме с массовыми операциями, отчёт с отбором по итогам группировок, автоматическая установка отборов при открытии формы. В типовых конфигурациях такие доработки делаются через расширения, что не нарушает поддержку обновлений.

FAQ

Почему в настройке списка нет поля «Сумма»?

Значит, сумма не является реквизитом шапки документа и хранится в табличной части или вычисляется. Откройте отчёт по этим документам и задайте отбор там, либо уточните у разработчика, какое поле содержит итоговую сумму.

Как отобрать документы с суммой в диапазоне, например от 50 000 до 200 000?

В настройке списка или отчёта добавьте отбор по полю суммы и выберите вид сравнения «В диапазоне», затем укажите обе границы. Альтернатива — два условия «Больше или равно» и «Меньше или равно», объединённые по умолчанию по «И».

Отбор по сумме работает, но часть документов не попадает в список. Что проверить?

Сначала снимите остальные отборы и расширьте период журнала. Затем проверьте вид сравнения на граничных значениях и убедитесь, что отбор идёт по нужному полю суммы, а не по сумме в другой валюте или без НДС.

Можно ли отобрать контрагентов с общей суммой продаж выше порога?

В списке — нет, это отбор по итогам группировки. Используйте отчёт «Продажи» или «Анализ продаж»: в расширенных настройках СКД задайте отбор на уровне группировки «Контрагент», либо поручите разработчику запрос с условием ИМЕЮЩИЕ.

Как сохранить настроенный отбор, чтобы не задавать его каждый раз?

В списке: «Ещё» → «Сохранить настройки» — вариант появится в списке настроек. В отчёте: кнопка «Сохранить вариант отчёта» — вариант будет доступен из панели отчётов всем или выбранным пользователям.

Отличается ли отбор по сумме в обычных формах (8.2, старые конфигурации)?

Да, там отбор задаётся через кнопку «Отбор и сортировка» на панели списка: выбирается реквизит, тип сравнения и значение. Логика та же, но интерфейс отличается, и сохранение настроек может отсутствовать.

Итог

Что важно запомнить

Простой отбор по сумме делается через «Ещё» → «Настроить список» с выбором поля, вида сравнения и значения. Для сумм из табличных частей и итогов группировок нужен отчёт на СКД или запрос с ИМЕЮЩИЕ. Всегда проверяйте вид сравнения на границах диапазона и снимайте лишние отборы перед диагностикой.