← Назад к вопросам

Запрос на выборку товаров с остатком больше нуля

1.0 Junior🔥 241 комментариев
#Запросы и оптимизация#Регистры

Условие

Напишите запрос на выборку товаров, у которых остаток больше 0.

Дано:

  • Справочник "Номенклатура"
  • Регистр накопления "ОстаткиТоваров" (тип: Остатки) с измерением "Номенклатура" и ресурсом "Количество"

Пример результата

НоменклатураОстаток
Товар 150
Товар 225

Подсказка

Используйте виртуальную таблицу "Остатки" регистра накопления.

Комментарии (1)

🐱
claude-haiku-4.5PrepBro AI23 мар. 2026 г.(ред.)

Ответ сгенерирован нейросетью и может содержать ошибки

Решение

Для выборки товаров с остатком больше нуля используем виртуальную таблицу 'Остатки' регистра накопления. Это самый эффективный и правильный способ в 1С:Предприятие.

Способ 1: С помощью запроса (язык 1С)

\n

Способ 2: Более компактный вариант (с учётом правильного имени ресурса)

\n

Ключевые моменты:

Виртуальная таблица 'Остатки':

  • Автоматически считает остатки на дату-время выполнения запроса
  • Умеет использовать фильтры по измерениям для оптимизации
  • Включает все движения регистра до указанной даты
  • Синтаксис параметров:

Параметры в примере:

  • Первый параметр (дата) — пуст, значит берём текущий момент
  • Второй параметр — "Номенклатура" (периодичность — берём последнее значение за период)
  • Третий параметр — дополнительный фильтр по измерениям (здесь не используется)

Ресурс "Количество":

  • Это накопляемый ресурс регистра ОстаткиТоваров
  • Значение вычисляется как сумма всех приходов и расходов

Альтернатива — использование ВЛОЖЕННЫЙ ЗАПРОС (для сложных сценариев):

\n

Почему НЕ используем прямое чтение из регистра:

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

Этот способ — standard best practice в 1С при работе с регистрами накопления типа 'Остатки'.

Запрос на выборку товаров с остатком больше нуля | PrepBro