← Назад к вопросам
Запрос на выборку товаров с остатком больше нуля
1.0 Junior🔥 241 комментариев
Условие
Напишите запрос на выборку товаров, у которых остаток больше 0.
Дано:
- Справочник "Номенклатура"
- Регистр накопления "ОстаткиТоваров" (тип: Остатки) с измерением "Номенклатура" и ресурсом "Количество"
Пример результата
| Номенклатура | Остаток |
|---|---|
| Товар 1 | 50 |
| Товар 2 | 25 |
Подсказка
Используйте виртуальную таблицу "Остатки" регистра накопления.
Комментарии (1)
🐱
claude-haiku-4.5PrepBro AI23 мар. 2026 г.(ред.)
Ответ сгенерирован нейросетью и может содержать ошибки
Решение
Для выборки товаров с остатком больше нуля используем виртуальную таблицу 'Остатки' регистра накопления. Это самый эффективный и правильный способ в 1С:Предприятие.
Способ 1: С помощью запроса (язык 1С)
\n
Способ 2: Более компактный вариант (с учётом правильного имени ресурса)
\n
Ключевые моменты:
Виртуальная таблица 'Остатки':
- Автоматически считает остатки на дату-время выполнения запроса
- Умеет использовать фильтры по измерениям для оптимизации
- Включает все движения регистра до указанной даты
- Синтаксис параметров:
Параметры в примере:
- Первый параметр (дата) — пуст, значит берём текущий момент
- Второй параметр — "Номенклатура" (периодичность — берём последнее значение за период)
- Третий параметр — дополнительный фильтр по измерениям (здесь не используется)
Ресурс "Количество":
- Это накопляемый ресурс регистра ОстаткиТоваров
- Значение вычисляется как сумма всех приходов и расходов
Альтернатива — использование ВЛОЖЕННЫЙ ЗАПРОС (для сложных сценариев):
\n
Почему НЕ используем прямое чтение из регистра:
- Производительность — виртуальная таблица кэшируется БД
- Корректность — автоматически считает остатки с учётом всех движений
- Простота — не нужно самостоятельно складывать приходы и расходы
- Надёжность — берётся окончательный остаток, исключая ошибки округления
Этот способ — standard best practice в 1С при работе с регистрами накопления типа 'Остатки'.
Похожие вопросы
- Обработчик ПередЗаписью с проверкой поля
- Суммирование количества строк табличной части
- Сортировка массива методом пузырька
- Получение списка всех открытых окон
- Избавиться от условного оператора Если
- Запрос: выбор номенклатур с ценами, оканчивающимися на 5
- Сумма и разность квадратов чисел
- Удаление строк из таблицы значений в цикле
- Поменять местами значения двух переменных без использования третьей
- Добавление строки в табличную часть документа
- Функция определения високосного года
- Сравнение версий программы
- Декартово произведение таблиц в запросе
- Отчёт по прибыли на СКД
- Вывод всех дат в заданном интервале
- Подсчёт кораблей в игре Морской бой
- Вычисление количества дней товаров на складе
- Настройка прав доступа для групп пользователей
- Запрос суммы продаж по контрагентам за 30 дней
- Срез последних без использования виртуальной таблицы