Справочники и Данные · 8 мин
Как сделать выборку по контрагенту в 1С
Как сделать выборку по контрагенту в 1С: отбор в списках документов, отчётах, через СКД и запросы. Пошаговые инструкции, ошибки и ответы на вопросы.
Выборка по контрагенту — одна из самых частых задач в 1С: нужно быстро найти все документы конкретного поставщика, проверить взаиморасчёты с покупателем или выгрузить данные по одной организации. Способ зависит от того, где вы работаете: в списке документов, в отчёте, в справочнике или в коде запроса.
В типовых конфигурациях (Бухгалтерия, Управление торговлей, ERP) механизмы отбора устроены одинаково, но расположение кнопок немного отличается. Ниже разобраны все основные сценарии: от простого фильтра в журнале документов до программной выборки запросом.
Отбор по контрагенту в списке документов
Самый простой сценарий — показать в журнале только документы по одному контрагенту. Откройте нужный журнал (например, «Покупки → Поступления (акты, накладные)») и нажмите кнопку «Ещё → Настроить список» (в некоторых версиях — значок воронки или «Отбор»).
В окне настройки добавьте условие: поле «Контрагент», вид сравнения «Равно», значение — выберите нужного контрагента из справочника. После нажатия «ОК» в списке останутся только документы с этим контрагентом. Чтобы снять фильтр, снова откройте настройку списка и удалите условие или нажмите «Сбросить».
Ещё быстрее работает поиск: нажмите Ctrl+F или кнопку «Найти», введите название контрагента и выберите поиск по колонке «Контрагент». Минус этого способа — ищется точное совпадение текста, и при похожих наименованиях можно захватить лишнее или не найти нужное.
- 1Откройте журнал документов (например, «Поступления» или «Реализации»)
- 2Нажмите «Ещё → Настроить список»
- 3Добавьте условие: Контрагент — Равно — выберите контрагента
- 4Нажмите «ОК» и проверьте, что в списке остались только нужные документы
- 5После работы сбросьте отбор, чтобы не потерять остальные документы
Выборка по контрагенту в отчётах
В отчётах (ОСВ по счёту, Анализ субконто, Взаиморасчёты, Продажи) отбор настраивается через кнопку «Настройки» или «Показать настройки». Добавьте отбор по полю «Контрагенты» (или «Контрагент»), укажите вид сравнения и значение, затем нажмите «Сформировать».
Обратите внимание на виды сравнения: «Равно» подходит для одного контрагента, «В списке» — для нескольких, «В группе» — для папки справочника, «Не равно» — чтобы исключить контрагента из выборки. Если контрагент входит в группу (папку) справочника, условие «В группе» выберет всех контрагентов из неё.
В бухгалтерских отчётах есть нюанс: чтобы отбор по контрагенту работал на счёте, у счёта должна быть включена аналитика «Контрагенты» (субконто). Для счетов 60, 62, 76 это настроено по умолчанию, но для самодельных счетов проверьте план счетов.
Отбор в справочнике «Контрагенты»
В самом справочнике контрагентов выборка обычно нужна для поиска дублей или фильтра по реквизитам: ИНН, КПП, группе, признаку «Покупатель/Поставщик». Используйте строку поиска вверху списка — она ищет по наименованию и ИНН одновременно.
Для отбора по реквизитам откройте «Ещё → Настроить список» и добавьте условие, например «ИНН — Равно — 7707…». Это удобно, когда наименование контрагента изменилось, а ИНН известен из первичного документа. Отбор по группе («В группе») покажет контрагентов только из выбранной папки.
Отбор через «Все функции» и динамические списки
Если стандартных журналов не хватает, откройте «Все функции» (меню с круглой стрелкой или через Shift при клике на меню) и выберите нужный регистр или документ. Любой открытый список поддерживает ту же настройку отбора через «Ещё → Настроить список».
Этот способ полезен для регистров сведений и накопления: например, открыть регистр «Взаиморасчёты с контрагентами» и отфильтровать записи по конкретному контрагенту, чтобы увидеть каждое движение, а не только итоги. Учтите, что режим «Все функции» доступен пользователям с соответствующими правами.
Программная выборка запросом
Для разработчиков и при создании обработок выборка по контрагенту делается запросом с параметром. Типовой шаблон выглядит так:
Запрос = Новый Запрос;
Запрос.Текст =
"ВЫБРАТЬ
| РеализацияТоваровУслуг.Ссылка,
| РеализацияТоваровУслуг.Дата,
| РеализацияТоваровУслуг.СуммаДокумента
|ИЗ
| Документ.РеализацияТоваровУслуг КАК РеализацияТоваровУслуг
|ГДЕ
| РеализацияТоваровУслуг.Контрагент = &Контрагент
| И РеализацияТоваровУслуг.Проведен";
Запрос.УстановитьПараметр("Контрагент", ВыбранныйКонтрагент);
Результат = Запрос.Выполнить().Выбрать();
Ключевые моменты: параметр передаётся через «УстановитьПараметр» — никогда не подставляйте значение прямо в текст строкой, это небезопасно и ломается на типах данных. Условие «Проведен» отсекает черновики. Обход результата делается через «Выбрать()» с циклом «Пока Выборка.Следующий()» или через «Выгрузить()» в таблицу значений.
Для отбора по группе контрагентов используйте оператор «В ИЕРАРХИИ(&Группа)», а для списка контрагентов — «В (&СписокКонтрагентов)» с параметром типа массив или список значений.
Запрос.УстановитьПараметр("Контрагент", Справочники.Контрагенты.НайтиПоНаименованию("ООО Ромашка"));Проверка результата и типичные ошибки
После любой выборки убедитесь, что результат полный и корректный. Сверьте количество документов с ожидаемым, проверьте пару документов вручную — контрагент в шапке должен совпадать с условием отбора. Если выборка пустая, хотя документы точно есть, чаще всего дело в одной из типичных ошибок.
Как проверить результат
Совпадает с ожидаемым по первичке или оборотке
Меньше ожидаемого — ищите дубли контрагента или скрытые условия отбора
Во всех документах один и тот же элемент справочника
Попались похожие наименования — отбор был по тексту, а не по ссылке
Суммы совпадают с оборотно-сальдовой ведомостью
Расхождения — проверьте проведённость документов и период отчёта
Часто задаваемые вопросы
Как выбрать документы сразу по нескольким контрагентам?
В настройке списка или отчёта используйте вид сравнения «В списке» и добавьте нужных контрагентов в список значений. В запросе применяйте условие «Контрагент В (&Список)», передав параметром массив или список значений со ссылками.
Почему отбор по контрагенту ничего не находит, хотя документы есть?
Чаще всего в справочнике два контрагента с одинаковым названием, и документы оформлены на другой элемент. Проверьте ИНН в карточке и в документе. Также убедитесь, что не осталось других активных условий отбора (по дате, организации), которые скрывают часть данных.
Как найти всех контрагентов, по которым не было движений?
Используйте отчёт по взаиморасчётам или ОСВ по счетам 60/62 с группировкой по контрагентам: кто не попал в отчёт за выбранный период, тот не имел движений. Программно это делается левым соединением справочника с оборотами регистра и условием на NULL.
Можно ли сохранить настроенный отбор, чтобы не настраивать заново?
Да, в отчётах на СКД настройки сохраняются как вариант отчёта («Ещё → Сохранить вариант»). В динамических списках часть конфигураций запоминает последний отбор автоматически, но надёжнее сохранить настройку через «Ещё → Сохранить настройки», если такой пункт доступен.
Как отобрать документы по контрагенту вместе с его договорами?
Добавьте второе условие отбора по полю «Договор» (или «Договор контрагента»). В запросе аналогично: два условия «Контрагент = &Контрагент И Договор = &Договор». Если нужны все договоры контрагента, достаточно одного условия по контрагенту.
Что важно запомнить
Отбор по контрагенту делается через «Настроить список» в журналах, отбор в настройках отчётов или запрос с параметром. Всегда отбирайте по ссылке из справочника, а не по тексту наименования, проверяйте дубли контрагентов и после работы сбрасывайте фильтры.