Работа с большими номенклатурными справочниками в часто превращается в головную боль: сотни позиций, дубликаты, устаревшие товары. Без грамотного отбора найти нужный товар среди этого хаоса — как искать иголку в стоге сена. Но что, если мы скажем, что 80% времени на поиск можно сэкономить, настроив правильные фильтры?

В этой статье разберём все возможные способы отбора по товарам в типовых конфигурациях 1С:Предприятие 8 — от базовых фильтров в формах до сложных запросов на встроенном языке. Вы узнаете, как отсеять ненужные позиции по артикулу, группе номенклатуры, остаткам на складе или даже по пользовательским реквизитам. А ещё — типичные ошибки, из-за которых отбор срабатывает некорректно, и лайфхаки для ускорения работы.

Материал актуален для конфигураций: 1С:Управление торговлей (УТ 11.5), 1С:ERP, 1С:Розница 2.3, 1С:Бухгалтерия 3.0 (с модулем торговли). Если вы работаете с другой версией — проверьте наличие описанных функций в вашей базе.

1. Базовый отбор в списках номенклатуры: 3 способа, которые должен знать каждый

Начнём с самого простого — встроенных инструментов отбора, доступных прямо в формах справочников и документов. Эти методы не требуют знания 1С-кода и подойдут даже начинающим пользователям.

Откройте справочник Номенклатура (Справочники → Товары и услуги → Номенклатура). В верхней части формы вы увидите панель с кнопкой Ещё → Отбор и сортировка. Здесь скрыты основные инструменты:

  • 🔍 Быстрый фильтр — поле вверху списка, где можно ввести часть названия, артикул или штрихкод. Работает по принципу"содержит", то есть ищет вхождения фразы в любом месте строки.
  • 📋 Расширенный отбор — открывается по кнопке Ещё → Отбор и сортировка. Позволяет добавлять несколько условий (например,"Группа ='Одежда' И Остаток > 0").
  • 🔄 Сохранённые настройки — если вы часто используете один и тот же фильтр, его можно сохранить и загружать в один клик.

Пример: вам нужно найти все товары из группы "Электроника", у которых остаток на складе Основной меньше 5 штук. Для этого:

  1. Откройте расширенный отбор (Ещё → Отбор и сортировка).
  2. Добавьте условие: Группа номенклатуры = Электроника.
  3. Добавьте второе условие: Остатки.Основной < 5.
  4. Установите связку между условиями: И.
💡

Если в расширенном отборе не отображаются поля Остатки или Цены, проверьте настройки видимости колонок в таблице. Часто эти данные скрыты по умолчанию.

Обратите внимание: в некоторых конфигурациях (например, 1С:Розница) поле Остатки может называться Количество или Свободный остаток. Если не находите нужное поле — воспользуйтесь кнопкой Добавить поле в окне отбора.

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

Что делать, если нужно отфильтровать товары по производителю, стране происхождения или гарантийному сроку, а этих полей нет в стандартном отборе? Здесь на помощь приходят дополнительные реквизиты и сведения.

Дополнительные реквизиты настраиваются в конфигураторе (раздел Администрирование → Дополнительные реквизиты и сведения). Если они уже добавлены, их можно использовать в отборе:

  1. Откройте расширенный отбор в справочнике Номенклатура.
  2. Нажмите Добавить поле и выберите раздел Дополнительные реквизиты.
  3. Выберите нужный реквизит (например, Производитель или Страна).
  4. Задайте условие (например, Производитель = Samsung).

Пример из практики: в магазине электроники нужно быстро найти все смартфоны Xiaomi с гарантией более 12 месяцев. Для этого:

  • 📱 Добавляем условие: Группа номенклатуры = Смартфоны.
  • 🏷️ Добавляем условие: Доп.реквизиты.Производитель = Xiaomi.
  • ⏳ Добавляем условие: Доп.реквизиты.Гарантия (мес.) > 12.
📊 Как часто вы используете дополнительные реквизиты в 1С?
Постоянно, без них не обойтись
Иногда, для специфических задач
Рядом, но не использую
Не знаю, что это такое

Важно: если дополнительные реквизиты не отображаются в отборе, проверьте:

⚠️ Внимание: Дополнительные реквизиты становятся доступны для отбора только после того, как хотя бы одному товару присвоено значение этого реквизита. Если поле пустое у всех позиций — оно не появится в списке для фильтрации.

3. Отбор по остаткам и ценам: как найти товары с нулевым запасом или убыточной ценой

Одна из самых востребованных задач — фильтрация товаров по остаткам на складах или текущим ценам. Это помогает выявить залежалый товар, дефицитные позиции или убыточные остатки.

Рассмотрим два сценария:

Сценарий 1: Товары с нулевым остатком на всех складах

Чтобы найти позиции, которых нет ни на одном складе:

  1. Откройте отчёт Ведомость по товарам на складах (Отчёты → Склад → Ведомость по товарам).
  2. В настройках отчёта добавьте отбор: Остаток = 0.
  3. Уберите группировку по складам, если она мешает.

Сценарий 2: Товары с ценой ниже себестоимости

Для анализа убыточных позиций:

  1. Откройте отчёт Анализ цен или Ведомость по товарам.
  2. Добавьте колонки: Цена продажи, Себестоимость.
  3. В отборе укажите: Цена продажи < Себестоимость.

Если нужны более гибкие условия (например,"остаток менее 10 штук ИЛИ цена ниже себестоимости на 20%"), используйте комбинированные отборы:

Условие Пример фильтра Когда применять
Остаток на конкретном складе Остатки.Склад1 > 0 И Остатки.Склад1 < 5 Поиск дефицитных позиций на определённом складе
Цена в диапазоне Цена продажи > 1000 И Цена продажи < 5000 Анализ товаров среднего ценового сегмента
Остаток с учётом резерва Свободный остаток > 0 (учитывает резервированные позиции) Проверка реально доступных товаров для продажи
Товары без движений за период Дата последнего движения < 01.01.2026 Поиск неликвидных или залежалых позиций

Критическая особенность: в отчётах 1С поле"Остаток" может показывать разные значения в зависимости от настроек учёта. Например, в 1С:УТ по умолчанию отображается"Свободный остаток" (без учёта резервов), а в 1С:ERP —"Фактический остаток". Всегда уточняйте, что именно вам нужно, в настройках отчёта.

4. Отбор по штрихкодам и артикулам: как избежать дублей и ошибок

Работа со штрихкодами и артикулами — отдельная боль многих пользователей 1С. Дубли, опечатки, разные форматы (с пробелами, дефисами) часто ведут к тому, что отбор срабатывает некорректно. Разберём, как сделать фильтрацию точной.

Способ 1: Поиск по точному совпадению артикула

Если артикул уникален и имеет строгий формат (например, ART-2026-001), используйте условие:

Артикул ="ART-2026-001"

Способ 2: Поиск по части артикула (если формат нестрогий)

Когда артикулы могут содержать опечатки или разные разделители, применяйте оператор ПОДОБНО:

Артикул ПОДОБНО"%2026%"

Этот запрос найдёт все артикулы, содержащие 2026, независимо от регистра и surrounding-символов.

Способ 3: Отбор по штрихкоду с учётом альтернативных кодов

Если у товара несколько штрихкодов (основной и дополнительные), стандартный отбор может не сработать. В этом случае:

  1. Откройте отчёт Ведомость по штрихкодам номенклатуры.
  2. В отборе укажите: Штрихкод ="4607001234567" или Штрихкод ПОДОБНО"%4567".
⚠️ Внимание: В конфигурациях 1С:Розница и 1С:УТ штрихкоды хранятся в отдельном справочнике Штрихкоды номенклатуры. Если отбор по штрихкоду не работает в основном справочнике, проверьте этот справочник.
Как найти дубли штрихкодов в 1С?

1. Откройте отчёт Ведомость по штрихкодам номенклатуры.

2. Сгруппируйте данные по полю Штрихкод.

3. Отсортируйте по убыванию количества строк в группе.

4. Дубли будут видны как штрихкоды с количеством строк > 1.

5. Отбор по датам: как найти товары без движений или с просроченными сертификатами

Фильтрация по датам помогает решать задачи типа:

  • 📅 Найти товары, которые не продавались больше 6 месяцев.
  • ⏰ Выявить позиции с просроченными сертификатами или лицензиями.
  • 📈 Проанализировать новинки, поступившие в текущем квартале.

Рассмотрим два практических примера.

Пример 1: Товары без продаж за последний год

Используем отчёт Ведомость по товарам с настройками:

  1. Добавьте поле Дата последней продажи (может называться Дата последнего движения).
  2. В отборе укажите: Дата последней продажи < ТекущаяДата - 365.
  3. Добавьте группировку по Номенклатуре.

Пример 2: Товары с истекающим сроком годности

Если в вашей базе ведётся учёт сроков годности (через дополнительные реквизиты или справочник Серии номенклатуры), используйте запрос:

Дата годности < ТекущаяДата + 30

Это покажет товары, у которых срок годности истекает в течение ближайшего месяца.

Для более сложных условий (например,"товары, которые поступили в прошлом квартале И ещё не продавались") комбинируйте даты с другими полями:

(Дата поступления >= НачалоКвартала(ТекущаяДата) И Дата поступления <= КонецКвартала(ТекущаяДата))

И

Дата последней продажи = NULL

Уточните формат хранения дат в вашей базе (в некоторых конфигурациях используется Момент времени вместо Дата)

Проверьте, ведётся ли история движений по товарам (в настройках учёта)

Убедитесь, что поле Дата последней продажи обновляется автоматически (иногда требуется перепроведение документов)

-->

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

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

  • 🔗 Связь с другими справочниками (например, отбор товаров определённого поставщика).
  • 📊 Агрегацию данных (например,"товары, суммарная продажа которых за месяц превысила 100 000 руб.").
  • 🔄 Сложную логику с вложенными запросами.

Пример 1: Товары с остатком на складе и ценой выше средней по группе

ВЫБРАТЬ

Номенклатура.Наименование,

Номенклатура.Артикул,

ОстаткиТоваров.КоличествоОстаток КАК Остаток,

ЦеныНоменклатуры.Цена КАК Цена

ИЗ

Справочник.Номенклатура КАК Номенклатура

ЛЕВОЕ СОЕДИНЕНИЕ РегистрНакопления.ОстаткиТоваров.Остатки(

&ДатаОстатков,

Склад = &Склад

) КАК ОстаткиТоваров

ПО Номенклатура.Ссылка = ОстаткиТоваров.Номенклатура

ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.ЦеныНоменклатуры.СрезПоследних(

&ДатаЦен,

ТипЦен = &ТипЦен

) КАК ЦеныНоменклатуры

ПО Номенклатура.Ссылка = ЦеныНоменклатуры.Номенклатура

ГДЕ

ОстаткиТоваров.КоличествоОстаток > 0

И ЦеныНоменклатуры.Цена > (

ВЫБРАТЬ

СРЕДНЕЕ(Цена) КАК СредняяЦена

ИЗ

РегистрСведений.ЦеныНоменклатуры.СрезПоследних(

&ДатаЦен,

ТипЦен = &ТипЦен

)

ГДЕ

Номенклатура.Родитель = &ГруппаТоваров

)

Пример 2: Товары, которые продавались вместе (ассоциативный анализ)

Этот запрос поможет найти товары, которые часто покупают в одном чеке (аналог"Клиенты, которые купили X, также покупали Y"):

ВЫБРАТЬ РАЗЛИЧНЫЕ

Чек1.Номенклатура КАК Товар1,

Чек2.Номенклатура КАК Товар2,

КОЛИЧЕСТВО(*) КАК Частота

ИЗ

Документ.ЧекККМ.Товары КАК Чек1

ВНУТРЕННЕЕ СОЕДИНЕНИЕ Документ.ЧекККМ.Товары КАК Чек2

ПО Чек1.Ссылка = Чек2.Ссылка

И Чек1.Номенклатура <> Чек2.Номенклатура

ГДЕ

Чек1.Номенклатура = &ОсновнойТовар

СГРУППИРОВАТЬ ПО

Товар1,

Товар2

УПОРЯДОЧИТЬ ПО

Частота УБЫВ

Чтобы выполнить такой запрос:

  1. Откройте Файл → Новый → Запрос.
  2. Вставьте текст запроса.
  3. Задайте параметры (например, &ДатаОстатков, &Склад).
  4. Нажмите Выполнить.
⚠️ Внимание: Сложные запросы с множеством соединений могут сильно нагружать базу. Тестируйте их на копии рабочей базы или в нерабочее время. Если запрос выполняется дольше 30 секунд — оптимизируйте его или разбейте на части.

7. Типичные ошибки при отборе и как их избежать

Даже опытные пользователи 1С сталкиваются с проблемами при фильтрации товаров. Вот TOP-5 ошибок и способы их решения:

Ошибка Причина Решение
Отбор не находит товары, которые точно есть в базе Не учтён регистр символов (например,"артикул" vs"АРТИКУЛ") Используйте оператор ПОДОБНО вместо = или функцию ВРЕГ для приведения к верхнему регистру
Фильтр по остаткам показывает неактуальные данные Не обновлены регистры остатков после проведения документов Выполните Оперативное закрытие месяца или перепроведите последние документы
В отборе не отображаются дополнительные реквизиты Реквизиты не заполнены ни у одного товара Заполните реквизит хотя бы для одной позиции, затем обновите форму отбора
Запрос выполняется слишком долго или зависает Слишком много соединений или не оптимизированные условия Разбейте запрос на части, используйте индексируемые поля в условиях ГДЕ
Отбор по штрихкоду не работает Штрихкод привязан не к товару, а к его упаковке или серии Проверьте справочник Штрихкоды номенклатуры на наличие дублей

Ещё одна распространённая проблема — несоответствие данных в отчётах и реальных остатках. Это происходит, если:

  • 📝 В базе есть непроведённые документы (например, приходные накладные в статусе"Не проведён").
  • 🔄 Не выполнено закрытие месяца1С:ERP или 1С:УТ).
  • 🗑️ Удалены документы, которые уже повлияли на остатки (нужно восстановить и перепровести).

1. Актуальность остатков (выполните тестовое проведение документа и проверьте, изменились ли данные).

2. Наличие прав на просмотр всех складов (иногда отбор не срабатывает из-за ограничений ролей).

3. Корректность заполнения дополнительных реквизитов (особенно если фильтр по ним не работает).-->

8. Автоматизация отборов: как сохранить фильтры и использовать их повторно

Если вы регулярно используете одни и те же фильтры, их можно сохранить и загружать в один клик. Это экономит время и ошибки при ручном вводе условий.

Способ 1: Сохранённые настройки отчётов

Во всех типовых отчётах 1С есть кнопка Сохранить настройки. Например, в Ведомости по товарам:

  1. Настройте нужные колонки и отборы.
  2. Нажмите Ещё → Сохранить настройки.
  3. Задайте имя (например, "Дефицитные товары - Основной склад").
  4. При следующем открытии отчёта выберите сохранённую настройку из списка.

Способ 2: Внешние обработки с предопределёнными отборами

Для часто используемых фильтров можно создать внешнюю обработку с заранее прописанными условиями. Пример:

  • 📄 Создайте обработку в конфигураторе или скачайте готовую (например, "Анализ остатков с отбором по группам").
  • 🔧 В модуле обработки пропишите стандартные условия отбора.
  • 💾 Сохраните обработку и подключите её в пользовательском режиме (Файл → Открыть).

Способ 3: Пользовательские отчёты в 1С:ERP или 1С:УТ

В этих конфигурациях есть механизм Пользовательские отчёты, где можно сохранить шаблоны с отборами:

  1. Создайте новый отчёт на базе Ведомости по товарам.
  2. Добавьте нужные поля и отборы.
  3. Сохраните отчёт в раздел Мои отчёты.

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

FAQ: Ответы на частые вопросы

Как сделать отбор по нескольким складам одновременно?

В расширенном отборе используйте условие с оператором В (например, Склад В (&Склад1, &Склад2)). Если нужны все склады кроме одного — примените НЕ: НЕ Склад = &ИсключаемыйСклад.

В запросах это будет выглядеть так:

ГДЕ ОстаткиТоваров.Склад В (&МассивСкладов)
Почему отбор по артикулу не находит товар, который точно есть в базе?

Причины могут быть следующими:

  1. В артикуле есть невидимые символы (пробелы, табуляции). Попробуйте скопировать артикул прямо из карточки товара.
  2. Артикул заполнен в дополнительном реквизите, а вы ищете в основном поле. Проверьте структуру справочника.
  3. Используется разный регистр. Замените = на ПОДОБНО или приведите к одному регистру функцией НРЕГ.
Можно ли сделать отбор по фотографии товара?

Прямого отбора по изображению в 1С нет, но есть обходные пути:

  • Если фотографии хранятся как дополнительные реквизиты типа"Хранилище значений", можно отфильтровать товары по наличию/отсутствию фотографии (условие Фото <> NULL).
  • Для поиска по содержимому изображения потребуется внешняя обработка с интеграцией систем компьютерного зрения (например, через API Yandex Vision).
Как экспортировать результаты отбора в Excel?

Способы экспорта:

  1. В любом отчёте или списке нажмите Ещё → Выгрузить и выберите формат Excel.
  2. Для больших данных используйте Универсальный отчёт с настройкой выгрузки.
  3. В запросах добавьте постобработку:
РЕЗУЛЬТАТ = Новый ТабличныйДокумент;

РЕЗУЛЬТАТ.Вывести(Выборка);

РЕЗУЛЬТАТ.Записать("C:\Отчёт.xlsx", ТипФайлаТабличногоДокумента.XLSX);

Как сделать отбор по товарам, которые есть на одном складе, но отсутствуют на другом?

Используйте запрос с подзапросами:

ВЫБРАТЬ

Остатки1.Номенклатура КАК Номенклатура

ИЗ

РегистрНакопления.ОстаткиТоваров.Остатки(&Дата, Склад = &Склад1) КАК Остатки1

ГДЕ

НЕ Существует(

ВЫБРАТЬ

1

ИЗ

РегистрНакопления.ОстаткиТоваров.Остатки(&Дата, Склад = &Склад2) КАК Остатки2

ГДЕ

Остатки2.Номенклатура = Остатки1.Номенклатура

)

Альтернативно — используйте отчёт Сравнение остатков по складам в 1С:УТ.