В работе с 1С:Предприятие часто возникает задача быстро проверить количество товаров — будь то текущие остатки на складе, общий ассортимент номенклатуры или анализ движения за период. Ответ на вопрос «сколько позиций в базе?» может понадобиться для инвентаризации, формирования отчетности, контроля закупок или даже для технической оптимизации системы. Однако в зависимости от конфигурации (1С:Управление торговлей, 1С:ERP, 1С:Розница или 1С:Бухгалтерия) и версии платформы способы получения этой информации различаются.
В этой статье мы разберем 5 рабочих методов, как посмотреть количество товаров в 1С — от стандартных отчетов до SQL-запросов для опытных пользователей. Вы узнаете, как:
- 📊 Использовать встроенные отчеты для анализа остатков и номенклатуры
- 🔍 Применять расширенный фильтр и группировки
- 💻 Выгружать данные в Excel для дальнейшей обработки
- 🛠️ Писать простые запросы на языке 1С (для программистов)
- 🔧 Настраивать автоматические дашборды с количеством товаров
Важно: некоторые методы требуют прав администратора или доступа к конфигуратору. Если вы работаете в облачной версии 1С (например, 1С:Fresh), часть функций может быть ограничена — уточняйте возможности у вашего провайдера.
1. Стандартные отчеты: «Ведомость по товарам» и «Остатки товаров»
Самый простой способ — воспользоваться готовыми отчетами, которые есть в любой торговой конфигурации 1С. Они не требуют специальных знаний и доступны даже пользователям с минимальными правами.
Для просмотра текущего количества товаров на складе:
- Перейдите в раздел
Склад(илиЗапасыв 1С:ERP). - Выберите пункт
Отчеты по складу→Остатки товаров. - В настройках отчета укажите:
- 📅 Период (если нужен анализ на определенную дату)
- 🏠 Склад (если требуется разбивка по складам)
- 📦 Номенклатуру (можно отфильтровать по группе или бренду)
- Нажмите
Сформировать. - Используйте отчет
Ведомость по товарамв разделеНоменклатура. - Снимите галочку
Только с остаткамив настройках. - В результатах будет колонка
Кол-во позицийили аналогичная.
В результате вы получите таблицу с колонкой Количество, где будет указано фактическое количество каждого товара на выбранном складе. Чтобы узнать общее количество уникальных позиций (а не сумму остатков), прокрутите отчет вниз — в подвале обычно указывается строка Итого с числом строк.
Если нужно посчитать количество товаров с ненулевыми остатками, добавьте в отчет фильтр по колонке Количество с условием «> 0».
Для анализа всей номенклатуры (включая товары с нулевыми остатками):
⚠️ Внимание: В конфигурациях до версии 1С:Предприятие 8.3.18 отчет «Ведомость по товарам» может отсутствовать. В этом случае используйте «Список номенклатуры» в разделе Справочники.
2. Отчет «Анализ номенклатуры»: детализация по характеристикам
Если вам нужно не просто количество товаров, а детализация по характеристикам (размеры, цвета, серийные номера), используйте отчет Анализ номенклатуры. Он доступен в 1С:УТ 11, 1С:ERP и 1С:Розница 2.3.
Как сформировать отчет:
- Перейдите в
Отчеты→Анализ номенклатуры. - На вкладке
Настройкивыберите:- 📌
Показывать характеристики(если нужна разбивка по размерам/цветам) - 📌
Группировать по номенклатуре(чтобы посчитать уникальные позиции)
- 📌
Количество уникальных позиций через кнопку Добавить поле.В результате вы получите таблицу, где каждая строка — это уникальный товар (с учетом характеристик), а в колонке Количество будет указано суммарное количество по всем складам. Чтобы посчитать общее число позиций, экспортируйте отчет в Excel и используйте функцию СЧЁТЗ (counta).
| Конфигурация 1С | Название отчета | Путь к отчету | Показывает ли ненулевые остатки? |
|---|---|---|---|
| 1С:Управление торговлей 11 | Остатки товаров | Склад → Отчеты по складу |
Да (настраивается) |
| 1С:ERP 2.5 | Анализ номенклатуры | Отчеты → Анализ номенклатуры |
Да |
| 1С:Розница 2.3 | Ведомость по товарам | Товары → Отчеты |
Нет (показывает все) |
| 1С:Бухгалтерия 3.0 | Карточка счета 41.01 | Отчеты → Карточка счета |
Да |
⚠️ Внимание: В 1С:Бухгалтерия нет специализированных отчетов по товарам — используйтеКарточку счета 41.01(«Товары на складах») илиОборотно-сальдовую ведомостьс фильтром по счетам учета товаров.
3. Использование запросов (для программистов и администраторов)
Если стандартные отчеты не дают нужной информации или требуется автоматизация, можно написать запрос на языке 1С. Этот метод подходит для опытных пользователей или разработчиков.
Пример запроса для подсчета уникальных позиций номенклатуры (включая товары с нулевыми остатками):
ВЫБРАТЬ
СЧЕТ_RAZN(Номенклатура.Ссылка) КАК КоличествоПозиций
ИЗ
Справочник.Номенклатура КАК Номенклатура
ГДЕ
Номенклатура.ЭтоГруппа = ЛОЖЬ
И Номенклатура.ПометкаУдаления = ЛОЖЬ
Для подсчета товаров с ненулевыми остатками на конкретном складе:
ВЫБРАТЬ
СЧЕТ_RAZN(ОстаткиТоваров.Номенклатура) КАК КоличествоПозицийСОстатками
ИЗ
РегистрНакопления.ОстаткиТоваров.Остатки(&ТекущаяДата, , Склад = &Склад) КАК ОстаткиТоваров
ГДЕ
ОстаткиТоваров.Количество > 0
Как выполнить запрос:
- Откройте
Конфигуратор 1С(требуются права администратора). - Перейдите в
Сервис → Запросы → Консоль запросов. - Вставьте код запроса, укажите параметры (например,
&ТекущаяДата = ТекущаяДата(),&Склад = Справочники.Склады.ОсновнойСклад). - Нажмите
Выполнить(F5).
Как сохранить результат запроса в табличный документ?
Чтобы экспортировать данные из консоли запросов:
1. После выполнения запроса нажмите Результаты → Сохранить.
2. Выберите формат: Табличный документ (для дальнейшей работы в 1С) или Excel.
3. Для автоматической обработки используйте метод Выгрузить() в коде:
Результат = Запрос.Выполнить();
Таблица = Результат.Выгрузить();
Таблица.Записать("C:\Temp\ОстаткиТоваров.xlsx");
Для регулярного мониторинга можно создать внешнюю обработку с этим запросом и добавить её в панель отчетов. Это позволит пользователям без доступа к конфигуратору получать актуальные данные.
⚠️ Внимание: Запросы к регистрам накопления (например,ОстаткиТоваров) могут тормозить систему при большом объеме данных. Для баз с более чем 100 000 позиций номенклатуры используйтеИНДЕКСИРОВАТЬ ПОили разбивайте запрос по периодам.
4. Экспорт в Excel и анализ данных
Если вам нужно не только посмотреть количество товаров, но и провести дополнительный анализ (например, построить графики или сверить данные с другими источниками), удобнее выгрузить информацию в Excel.
Как экспортировать данные:
- Сформируйте любой отчет из предыдущих разделов (например,
Остатки товаров). - В окне отчета нажмите
Ещё → Выгрузить(илиExcel). - Выберите формат:
- 📑
Excel (XLSX)— для дальнейшей обработки - 📑
OpenOffice (ODS)— если используете альтернативные редакторы - 📑
CSV— для импорта в другие системы
- 📑
- 📈 Использовать
СЧЁТЗдля подсчета уникальных строк (например,=СЧЁТЗ(A:A)-1, где A — колонка с номенклатурой). - 📊 Создать сводную таблицу для группировки по категориям, брендам или складам.
- 🔍 Применить фильтр по колонке
Количество, чтобы оставить только товары с остатками.
В Excel вы можете:
Убедитесь, что в отчете включены колонки:
Номенклатура (название товара)
Количество
Артикул (для сверки)
Склад (если нужна разбивка)
Цена (если нужен анализ стоимости)
-->
Для автоматизации экспорта можно использовать макрос в Excel, который будет подтягивать данные из 1С по расписанию. Например, с помощью 1С:Предприятие + Power Query:
= ОДБЦ.ИзИсточников({[ИмяИсточника="1C", АдресСервера="http://localhost/1c_base", ИмяБазы="Trade", Пользователь="Admin", Пароль=""]})
let
Источник = 1C.Данные([ИмяКонфигурации="УправлениеТорговлей", Версия="8.3"]){[ИмяОтчета="ОстаткиТоваров"]}[Данные]
in
Источник
⚠️ Внимание: При экспорте больших объемов данных (более 50 000 строк) Excel может тормозить. В этом случае используйте CSV или разбивайте отчет по группам номенклатуры.
5. Настройка дашбордов и автоматических уведомлений
Если количество товаров нужно отслеживать регулярно (например, для контроля ассортимента или предупреждения о дефиците), настройте дашборды или автоматические отчеты.
В 1С:ERP и 1С:УТ 11 это можно сделать через:
Рабочий стол → Настройка рабочего стола.- Добавьте виджет
Отчети выберитеОстатки товаров. - Настройте период обновления (например,
Ежедневно в 9:00). - Добавьте условие для уведомлений (например, если количество товаров в группе «Хит продаж» < 10).
Для отправки отчетов по email:
- 📧 Используйте
Рассылки отчетовв 1С:ERP (разделАдминистрирование). - 📧 В 1С:УТ настройте
Регламентные заданияс экспортом в Excel и отправкой на почту.
Пример настройки регламентного задания для отправки количества товаров:
Процедура ОтправитьОтчетООстатках()
Отчет = Отчеты.ОстаткиТоваров.Создать();
Отчет.Период = ТекущаяДата();
Отчет.Склад = Справочники.Склады.ОсновнойСклад;
Таблица = Отчет.Сформировать();
ПутьКФайлу = КаталогВременныхФайлов() + "Остатки_" + Формат(ТекущаяДата(), "ДФ=ddMMyyyy") + ".xlsx";
Таблица.Записать(ПутьКФайлу);
ПочтовоеСообщение = Новый ПочтовоеСообщение;
ПочтовоеСообщение.Текст = "Отчет по остаткам товаров на " + ТекущаяДата();
ПочтовоеСообщение.Тема = "Остатки товаров";
ПочтовоеСообщение.Вложения.Добавить(ПутьКФайлу);
ПочтовоеСообщение.Получатели.Добавить("logist@company.ru");
ПочтовыйПрофиль = ПолучатьПочтовыйПрофильПользователя();
ОтправитьПочту(ПочтовоеСообщение, ПочтовыйПрофиль);
КонецПроцедуры
Автоматические отчеты экономят до 30% времени на рутинных проверках остатков. Настройте их для критичных групп товаров (хиты продаж, скоропортящиеся, дефицитные).
6. Альтернативные методы: SQL-запросы и внешние инструменты
Для крупных баз данных (более 50 000 позиций номенклатуры) или если требуется интеграция с другими системами, можно использовать прямые SQL-запросы к базе 1С. Этот метод подходит только для администраторов или разработчиков с доступом к серверу.
Пример SQL-запроса для Microsoft SQL Server (если 1С работает на этой СУБД):
SELECT COUNT(DISTINCT t._Reference70_RRef) AS QuantityOfItems
FROM _Reference70 t -- Справочник.Номенклатура
WHERE t._Marked = 0 -- Не помечен на удаление
AND t._IsFolder = 0 -- Не группа
Для PostgreSQL (используется в 1С:Fresh и некоторых облачных решениях):
SELECT COUNT(DISTINCT "Номенклатура"."Ссылка")
FROM "_Reference70" AS "Номенклатура"
WHERE "Номенклатура"."ПометкаУдаления" = FALSE
AND "Номенклатура"."ЭтоГруппа" = FALSE;
Внешние инструменты для анализа:
- 📊 Power BI — для создания интерактивных дашбордов с данными из 1С.
- 📊 Tableau — для визуализации ассортимента и остатков.
- 🤖 1С:Аналитика — встроенный инструмент для глубокого анализа данных.
⚠️ Внимание: Прямые SQL-запросы к базе 1С могут нарушить целостность данных при некорректных изменениях. Используйте их только для чтения (SELECT) и предварительно сделайте резервную копию.
Частые ошибки и как их избежать
При работе с количеством товаров в 1С пользователи часто сталкиваются с типичными проблемами:
- Отчет показывает неактуальные данные:
Проблема: В отчете
Остатки товаровотображаются устаревшие цифры.Решение: Обновите регистры накопления через
Администрирование → Обслуживание → Проверить и исправитьили выполните регламентное заданиеЗакрытие месяца. - Не учитываются характеристики:
Проблема: Отчет считает «Футболка (М)» и «Футболка (L)» как один товар.
Решение: В настройках отчета включите опцию
Показывать характеристикиили используйте запрос с присоединением таблицыХарактеристикиНоменклатуры. - Долгая формирование отчета:
Проблема: Отчет «висит» более 5 минут при большом объеме данных.
Решение:
- Разбейте отчет по складам или группам номенклатуры.
- Используйте
ИНДЕКСИРОВАТЬ ПОв запросах. - Очистите историю движений документов (если она не нужна).
Критическая ошибка: Если после обновления 1С отчеты перестали показывать корректное количество товаров, проверьте совместимость расширений. В версиях 8.3.20+ изменилась структура некоторых регистров накопления, что может сломать старые обработки.
FAQ: Ответы на частые вопросы
Как посчитать количество товаров с остатками меньше минимального?
Используйте отчет Остатки товаров с фильтром по колонке Количество (условие: «< МинимальныйОстаток»). В 1С:УТ минимальный остаток хранится в справочнике Номенклатура на вкладке Управление запасами.
Альтернативно, напишите запрос:
ВЫБРАТЬ
Номенклатура.Наименование,
ОстаткиТоваров.Количество КАК ТекущийОстаток,
Номенклатура.МинимальныйОстаток
ИЗ
РегистрНакопления.ОстаткиТоваров.Остатки(&ТекущаяДата) КАК ОстаткиТоваров
ЛЕВОЕ СОЕДИНЕНИЕ Справочник.Номенклатура КАК Номенклатура
ПО ОстаткиТоваров.Номенклатура = Номенклатура.Ссылка
ГДЕ
ОстаткиТоваров.Количество < Номенклатура.МинимальныйОстаток
И Номенклатура.МинимальныйОстаток > 0
Можно ли посчитать количество товаров по нескольким складам?
Да, в отчете Остатки товаров на вкладке Настройки выберите нужные склады в фильтре Склад (можно отметить несколько галочками). Если требуется суммарное количество по всем складам, снимите группировку по складам в настройках отчета.
В запросе используйте:
ВЫБРАТЬ
Номенклатура.Наименование,
СУММА(ОстаткиТоваров.Количество) КАК ОбщийОстаток
ИЗ
РегистрНакопления.ОстаткиТоваров.Остатки(&ТекущаяДата) КАК ОстаткиТоваров
ГДЕ
ОстаткиТоваров.Склад В ВЫБОРКЕ (&СписокСкладов)
Как узнать количество товаров, которые не продавались больше 6 месяцев?
Для этого нужен отчет по Продажам с фильтром по дате последней продажи. В 1С:УТ:
- Откройте
Отчеты → Продажи → Анализ продаж. - Добавьте колонку
Дата последней продажи. - Отфильтруйте по условию «Дата последней продажи < ТекущаяДата() - 180».
Или используйте запрос:
ВЫБРАТЬ
Продажи.Номенклатура КАК Товар,
МАКСИМУМ(Продажи.Дата) КАК ПоследняяПродажа
ИЗ
Документ.РеализацияТоваровУслуг КАК Продажи
СГРУППИРОВАТЬ ПО
Продажи.Номенклатура
ИМЕЮЩИЕ
МАКСИМУМ(Продажи.Дата) < ДобавитьМесяц(ТекущаяДата(), -6)
Почему в отчете количество товаров не совпадает с фактическими остатками?
Расхождения могут возникать по нескольким причинам:
- 🔄 Непроведенные документы: Проверьте, все ли приходные/расходные накладные проведены.
- 🗃️ Ошибки в регистрах: Выполните
Проверить и исправитьв разделеАдминистрирование. - 📦 Резервы: Если товар зарезервирован под заказ, он может не учитываться в «свободных остатках».
- 🔧 Настройки учета: В некоторых конфигурациях включен учет по сериям или партиям — проверьте настройки справочника
Номенклатура.
Для диагностики используйте отчет Движения документа по последним приходным/расходным накладным.
Как посчитать количество товаров в определенной ценовой категории?
Добавьте в отчет Остатки товаров колонку Цена (или Ценовая группа, если она используется). Затем:
- Отфильтруйте по нужному диапазону цен (например, «Цена > 1000 И Цена < 5000»).
- Используйте группировку по ценовым категориям, если они заданы в справочнике
Номенклатура.
В запросе:
ВЫБРАТЬ
СЧЕТ_RAZN(ОстаткиТоваров.Номенклатура) КАК КоличествоПозиций
ИЗ
РегистрНакопления.ОстаткиТоваров.Остатки(&ТекущаяДата) КАК ОстаткиТоваров
ЛЕВОЕ СОЕДИНЕНИЕ Справочник.Номенклатура КАК Номенклатура
ПО ОстаткиТоваров.Номенклатура = Номенклатура.Ссылка
ГДЕ
Номенклатура.ЦенаМежду(1000, 5000)