Отчеты и Аналитика · 9 мин
Как в 1С сделать отбор по сумме
Как в 1С сделать отбор по сумме в списках документов, отчётах, СКД и динамических списках. Пошаговые инструкции, типичные ошибки и ответы на вопросы.
Отбор по сумме — одна из самых частых задач при работе с 1С: найти все документы крупнее определённой суммы, показать заказы в заданном диапазоне, выделить контрагентов с большой задолженностью. Способ зависит от того, где вы работаете: в обычном списке документов, в отчёте на СКД, в динамическом списке или в запросе. Ниже разобраны все основные сценарии с конкретными действиями.
Важно понимать ключевое ограничение: стандартный отбор в списке работает только по реквизитам, которые хранятся в объекте (шапке документа или справочника). Если сумма хранится в табличной части или вычисляется на лету, простым отбором обойтись не получится — понадобится отчёт или настройка запроса.
Отбор по сумме в списке документов
В управляемых формах (1С:Бухгалтерия 3.0, УТ 11, ERP, 1С:ЗУП и другие конфигурации на управляемом приложении) список документов настраивается единообразно. Откройте нужный журнал — например, «Продажи» → «Реализация (акты, накладные)».
Нажмите кнопку «Ещё» в командной панели списка и выберите пункт «Настроить список». В открывшемся окне на закладке «Отбор» нажмите «Добавить новый элемент» и в поле слева найдите реквизит «Сумма» (в некоторых документах он называется «Сумма документа» или «Сумма оплаты»). Затем выберите вид сравнения и укажите значение.
- 1Откройте журнал документов и нажмите «Ещё» → «Настроить список»
- 2На закладке «Отбор» добавьте элемент и выберите поле «Сумма»
- 3Укажите вид сравнения: «Больше», «Больше или равно», «Меньше» или «В диапазоне»
- 4Введите значение суммы и нажмите «Завершить редактирование»
- 5Проверьте, что в списке остались только подходящие документы
Для диапазона сумм удобнее вид сравнения «В диапазоне»: задаются обе границы за один шаг. Если нужно несколько несвязанных условий (например, сумма меньше 10 000 или больше 500 000), добавьте два элемента отбора и сгруппируйте их в «Группу ИЛИ» через контекстное меню.
Настроенный отбор можно сохранить как вариант списка («Ещё» → «Сохранить настройки»), чтобы не задавать условия заново. В некоторых конфигурациях быстрый отбор доступен и без окна настроек — через кнопку расширенного поиска или панель отборов над списком.
Отбор по сумме в отчётах на СКД
Практически все типовые отчёты в современных конфигурациях построены на системе компоновки данных (СКД). Отбор в них задаётся через кнопку «Настройки» (или «Показать настройки») в шапке отчёта. На закладке «Отбор» добавьте поле «Сумма», вид сравнения и значение, затем нажмите «Сформировать».
Принципиальная разница со списком: в СКД можно отбирать не только по реквизитам документа, но и по вычисляемым показателям — сумма продаж, сумма задолженности, сумма НДС. Например, в отчёте «Продажи» можно отобрать строки, где сумма выручки превышает заданный порог.
Для отбора по итогам группировки откройте расширенные настройки СКД (режим «Расширенный» в окне настроек), выберите нужную группировку в структуре отчёта и задайте отбор именно для неё. В этом случае условие будет применяться к сгруппированным значениям.
Отбор по сумме в запросе и динамическом списке
Если вы дорабатываете конфигурацию или пишете собственный отчёт, отбор по сумме задаётся в тексте запроса. Для отбора по реквизиту используется секция ГДЕ:
ВЫБРАТЬ Реализация.Ссылка, Реализация.СуммаДокумента
ИЗ Документ.РеализацияТоваровУслуг КАК Реализация
ГДЕ Реализация.СуммаДокумента > &МинимальнаяСумма
Когда сумма — это итог агрегирования (сумма по табличной части, сумма оборотов), условие пишется в секции ИМЕЮЩИЕ после группировки:
ВЫБРАТЬ Продажи.Контрагент, СУММА(Продажи.СуммаОборот) КАК Оборот
ИЗ РегистрНакопления.Продажи.Обороты КАК Продажи
СГРУППИРОВАТЬ ПО Продажи.Контрагент
ИМЕЮЩИЕ СУММА(Продажи.СуммаОборот) > &Порог
В динамических списках (произвольные запросы в формах списков) отбор добавляется либо в текст запроса, либо через свойство списка «Отбор» программно. Учтите: если в динамическом списке отключена произвольная настройка, пользовательский отбор по полю может быть недоступен — это ограничение платформы для оптимизации.
ЭлементОтбора = Список.Отбор.Элементы.Добавить(Тип("ЭлементОтбораКомпоновкиДанных"));
ЭлементОтбора.ЛевоеЗначение = Новый ПолеКомпоновкиДанных("СуммаДокумента");
ЭлементОтбора.ВидСравнения = ВидСравненияКомпоновкиДанных.БольшеИлиРавно;
ЭлементОтбора.ПравоеЗначение = 100000;
ЭлементОтбора.Использование = Истина;Какой способ выбрать в разных ситуациях
Выбор инструмента зависит от того, где хранится сумма и что нужно получить на выходе. Разовая задача «найти крупные документы» решается настройкой списка за пару минут. Регулярный анализ по оборотам и задолженности удобнее вести отчётом с сохранёнными настройками.
Сравнение вариантов
Подходит для отбора по сумме документа как реквизиту. Ограничение: нельзя отобрать по сумме табличной части или итогам.
Подходит для анализа по вычисляемым суммам, оборотам, задолженности. Ограничение: отбор по итогам группировки требует расширенных настроек.
Подходит для доработок, обработок и нестандартных условий. Ограничение: требует прав разработчика и знания языка запросов.
Подходит для автоматизации и внешних обработок. Ограничение: нужен доступ к конфигуратору или внешним обработкам.
Если суммы в документе вообще нет как реквизита (например, в некоторых накладных сумма считается по строкам товаров), самый быстрый обходной путь — построить отчёт по документам с суммой и применить отбор уже там.
Проверка результата и типичные ошибки
После применения отбора убедитесь, что результат соответствует ожиданиям. Самая частая ошибка — неверный вид сравнения: «Больше» исключает пограничное значение, тогда как «Больше или равно» включает его. Документ ровно на 100 000 при условии «Больше 100000» в список не попадёт.
Как проверить результат
Список сократился, видны только документы в нужном диапазоне
Список пуст либо не изменился — проверьте значение и вид сравнения
Документы ровно на границу есть или отсутствуют согласно выбранному сравнению
Граничные документы теряются — замените «Больше» на «Больше или равно»
Отбор идёт по сумме в валюте учёта или документа осознанно
Смешаны суммы в разных валютах — уточните, по какому полю строится отбор
Ещё одна ловушка — период. Список документов часто ограничен датой, и отбор по сумме работает только внутри этого периода. Если документов «не находится», сначала расширьте интервал дат, а потом проверяйте условие по сумме.
Ограничения и когда нужен разработчик
Пользовательскими средствами закрывается большинство задач, но есть границы. Нельзя настроить в списке отбор по сумме, которой нет в реквизитах объекта; нельзя без доработки строить сложные условия с вычислениями (например, «сумма больше средней по контрагенту»); в динамических списках с запретом произвольного запроса часть полей для отбора недоступна.
Обращение к разработчику оправдано, когда нужен постоянный инструмент: обработка подбора документов по сумме с массовыми операциями, отчёт с отбором по итогам группировок, автоматическая установка отборов при открытии формы. В типовых конфигурациях такие доработки делаются через расширения, что не нарушает поддержку обновлений.
FAQ
Почему в настройке списка нет поля «Сумма»?
Значит, сумма не является реквизитом шапки документа и хранится в табличной части или вычисляется. Откройте отчёт по этим документам и задайте отбор там, либо уточните у разработчика, какое поле содержит итоговую сумму.
Как отобрать документы с суммой в диапазоне, например от 50 000 до 200 000?
В настройке списка или отчёта добавьте отбор по полю суммы и выберите вид сравнения «В диапазоне», затем укажите обе границы. Альтернатива — два условия «Больше или равно» и «Меньше или равно», объединённые по умолчанию по «И».
Отбор по сумме работает, но часть документов не попадает в список. Что проверить?
Сначала снимите остальные отборы и расширьте период журнала. Затем проверьте вид сравнения на граничных значениях и убедитесь, что отбор идёт по нужному полю суммы, а не по сумме в другой валюте или без НДС.
Можно ли отобрать контрагентов с общей суммой продаж выше порога?
В списке — нет, это отбор по итогам группировки. Используйте отчёт «Продажи» или «Анализ продаж»: в расширенных настройках СКД задайте отбор на уровне группировки «Контрагент», либо поручите разработчику запрос с условием ИМЕЮЩИЕ.
Как сохранить настроенный отбор, чтобы не задавать его каждый раз?
В списке: «Ещё» → «Сохранить настройки» — вариант появится в списке настроек. В отчёте: кнопка «Сохранить вариант отчёта» — вариант будет доступен из панели отчётов всем или выбранным пользователям.
Отличается ли отбор по сумме в обычных формах (8.2, старые конфигурации)?
Да, там отбор задаётся через кнопку «Отбор и сортировка» на панели списка: выбирается реквизит, тип сравнения и значение. Логика та же, но интерфейс отличается, и сохранение настроек может отсутствовать.
Что важно запомнить
Простой отбор по сумме делается через «Ещё» → «Настроить список» с выбором поля, вида сравнения и значения. Для сумм из табличных частей и итогов группировок нужен отчёт на СКД или запрос с ИМЕЮЩИЕ. Всегда проверяйте вид сравнения на границах диапазона и снимайте лишние отборы перед диагностикой.