В работе с 1С:Предприятие часто возникает задача быстро проверить количество товаров — будь то текущие остатки на складе, общий ассортимент номенклатуры или анализ движения за период. Ответ на вопрос «сколько позиций в базе?» может понадобиться для инвентаризации, формирования отчетности, контроля закупок или даже для технической оптимизации системы. Однако в зависимости от конфигурации (1С:Управление торговлей, 1С:ERP, 1С:Розница или 1С:Бухгалтерия) и версии платформы способы получения этой информации различаются.

В этой статье мы разберем 5 рабочих методов, как посмотреть количество товаров в 1С — от стандартных отчетов до SQL-запросов для опытных пользователей. Вы узнаете, как:

  • 📊 Использовать встроенные отчеты для анализа остатков и номенклатуры
  • 🔍 Применять расширенный фильтр и группировки
  • 💻 Выгружать данные в Excel для дальнейшей обработки
  • 🛠️ Писать простые запросы на языке 1С (для программистов)
  • 🔧 Настраивать автоматические дашборды с количеством товаров

Важно: некоторые методы требуют прав администратора или доступа к конфигуратору. Если вы работаете в облачной версии 1С (например, 1С:Fresh), часть функций может быть ограничена — уточняйте возможности у вашего провайдера.

📊 Какую конфигурацию 1С вы используете?
1С:Управление торговлей
1С:ERP
1С:Розница
1С:Бухгалтерия
Другая конфигурация

1. Стандартные отчеты: «Ведомость по товарам» и «Остатки товаров»

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

Для просмотра текущего количества товаров на складе:

  1. Перейдите в раздел Склад (или Запасы в 1С:ERP).
  2. Выберите пункт Отчеты по складуОстатки товаров.
  3. В настройках отчета укажите:
    • 📅 Период (если нужен анализ на определенную дату)
    • 🏠 Склад (если требуется разбивка по складам)
    • 📦 Номенклатуру (можно отфильтровать по группе или бренду)
  4. Нажмите Сформировать.
  5. В результате вы получите таблицу с колонкой Количество, где будет указано фактическое количество каждого товара на выбранном складе. Чтобы узнать общее количество уникальных позиций (а не сумму остатков), прокрутите отчет вниз — в подвале обычно указывается строка Итого с числом строк.

    💡

    Если нужно посчитать количество товаров с ненулевыми остатками, добавьте в отчет фильтр по колонке Количество с условием «> 0».

    Для анализа всей номенклатуры (включая товары с нулевыми остатками):

    • Используйте отчет Ведомость по товарам в разделе Номенклатура.
    • Снимите галочку Только с остатками в настройках.
    • В результатах будет колонка Кол-во позиций или аналогичная.
⚠️ Внимание: В конфигурациях до версии 1С:Предприятие 8.3.18 отчет «Ведомость по товарам» может отсутствовать. В этом случае используйте «Список номенклатуры» в разделе Справочники.

2. Отчет «Анализ номенклатуры»: детализация по характеристикам

Если вам нужно не просто количество товаров, а детализация по характеристикам (размеры, цвета, серийные номера), используйте отчет Анализ номенклатуры. Он доступен в 1С:УТ 11, 1С:ERP и 1С:Розница 2.3.

Как сформировать отчет:

  1. Перейдите в ОтчетыАнализ номенклатуры.
  2. На вкладке Настройки выберите:
    • 📌 Показывать характеристики (если нужна разбивка по размерам/цветам)
    • 📌 Группировать по номенклатуре (чтобы посчитать уникальные позиции)
  • Добавьте колонку Количество уникальных позиций через кнопку Добавить поле.
  • В результате вы получите таблицу, где каждая строка — это уникальный товар (с учетом характеристик), а в колонке Количество будет указано суммарное количество по всем складам. Чтобы посчитать общее число позиций, экспортируйте отчет в 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. Откройте Конфигуратор 1С (требуются права администратора).
    2. Перейдите в Сервис → Запросы → Консоль запросов.
    3. Вставьте код запроса, укажите параметры (например, &ТекущаяДата = ТекущаяДата(), &Склад = Справочники.Склады.ОсновнойСклад).
    4. Нажмите Выполнить (F5).
    Как сохранить результат запроса в табличный документ?

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

    1. После выполнения запроса нажмите Результаты → Сохранить.

    2. Выберите формат: Табличный документ (для дальнейшей работы в 1С) или Excel.

    3. Для автоматической обработки используйте метод Выгрузить() в коде:

    Результат = Запрос.Выполнить();
    

    Таблица = Результат.Выгрузить();

    Таблица.Записать("C:\Temp\ОстаткиТоваров.xlsx");

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

    ⚠️ Внимание: Запросы к регистрам накопления (например, ОстаткиТоваров) могут тормозить систему при большом объеме данных. Для баз с более чем 100 000 позиций номенклатуры используйте ИНДЕКСИРОВАТЬ ПО или разбивайте запрос по периодам.

    4. Экспорт в Excel и анализ данных

    Если вам нужно не только посмотреть количество товаров, но и провести дополнительный анализ (например, построить графики или сверить данные с другими источниками), удобнее выгрузить информацию в Excel.

    Как экспортировать данные:

    1. Сформируйте любой отчет из предыдущих разделов (например, Остатки товаров).
    2. В окне отчета нажмите Ещё → Выгрузить (или Excel).
    3. Выберите формат:
      • 📑 Excel (XLSX) — для дальнейшей обработки
      • 📑 OpenOffice (ODS) — если используете альтернативные редакторы
      • 📑 CSV — для импорта в другие системы
    4. В Excel вы можете:

      • 📈 Использовать СЧЁТЗ для подсчета уникальных строк (например, =СЧЁТЗ(A:A)-1, где A — колонка с номенклатурой).
      • 📊 Создать сводную таблицу для группировки по категориям, брендам или складам.
      • 🔍 Применить фильтр по колонке Количество, чтобы оставить только товары с остатками.

    Убедитесь, что в отчете включены колонки:

    Номенклатура (название товара)

    Количество

    Артикул (для сверки)

    Склад (если нужна разбивка)

    Цена (если нужен анализ стоимости)

    -->

    Для автоматизации экспорта можно использовать макрос в 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 это можно сделать через:

    1. Рабочий стол → Настройка рабочего стола.
    2. Добавьте виджет Отчет и выберите Остатки товаров.
    3. Настройте период обновления (например, Ежедневно в 9:00).
    4. Добавьте условие для уведомлений (например, если количество товаров в группе «Хит продаж» < 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С пользователи часто сталкиваются с типичными проблемами:

    1. Отчет показывает неактуальные данные:

      Проблема: В отчете Остатки товаров отображаются устаревшие цифры.

      Решение: Обновите регистры накопления через Администрирование → Обслуживание → Проверить и исправить или выполните регламентное задание Закрытие месяца.

    2. Не учитываются характеристики:

      Проблема: Отчет считает «Футболка (М)» и «Футболка (L)» как один товар.

      Решение: В настройках отчета включите опцию Показывать характеристики или используйте запрос с присоединением таблицы ХарактеристикиНоменклатуры.

    3. Долгая формирование отчета:

      Проблема: Отчет «висит» более 5 минут при большом объеме данных.

      Решение:

      • Разбейте отчет по складам или группам номенклатуры.
      • Используйте ИНДЕКСИРОВАТЬ ПО в запросах.
      • Очистите историю движений документов (если она не нужна).

    Критическая ошибка: Если после обновления 1С отчеты перестали показывать корректное количество товаров, проверьте совместимость расширений. В версиях 8.3.20+ изменилась структура некоторых регистров накопления, что может сломать старые обработки.

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

    Как посчитать количество товаров с остатками меньше минимального?

    Используйте отчет Остатки товаров с фильтром по колонке Количество (условие: «< МинимальныйОстаток»). В 1С:УТ минимальный остаток хранится в справочнике Номенклатура на вкладке Управление запасами.

    Альтернативно, напишите запрос:

    ВЫБРАТЬ
    

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

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

    Номенклатура.МинимальныйОстаток

    ИЗ

    РегистрНакопления.ОстаткиТоваров.Остатки(&ТекущаяДата) КАК ОстаткиТоваров

    ЛЕВОЕ СОЕДИНЕНИЕ Справочник.Номенклатура КАК Номенклатура

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

    ГДЕ

    ОстаткиТоваров.Количество < Номенклатура.МинимальныйОстаток

    И Номенклатура.МинимальныйОстаток > 0

    Можно ли посчитать количество товаров по нескольким складам?

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

    В запросе используйте:

    ВЫБРАТЬ
    

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

    СУММА(ОстаткиТоваров.Количество) КАК ОбщийОстаток

    ИЗ

    РегистрНакопления.ОстаткиТоваров.Остатки(&ТекущаяДата) КАК ОстаткиТоваров

    ГДЕ

    ОстаткиТоваров.Склад В ВЫБОРКЕ (&СписокСкладов)

    Как узнать количество товаров, которые не продавались больше 6 месяцев?

    Для этого нужен отчет по Продажам с фильтром по дате последней продажи. В 1С:УТ:

    1. Откройте Отчеты → Продажи → Анализ продаж.
    2. Добавьте колонку Дата последней продажи.
    3. Отфильтруйте по условию «Дата последней продажи < ТекущаяДата() - 180».

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

    ВЫБРАТЬ
    

    Продажи.Номенклатура КАК Товар,

    МАКСИМУМ(Продажи.Дата) КАК ПоследняяПродажа

    ИЗ

    Документ.РеализацияТоваровУслуг КАК Продажи

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

    Продажи.Номенклатура

    ИМЕЮЩИЕ

    МАКСИМУМ(Продажи.Дата) < ДобавитьМесяц(ТекущаяДата(), -6)

    Почему в отчете количество товаров не совпадает с фактическими остатками?

    Расхождения могут возникать по нескольким причинам:

    • 🔄 Непроведенные документы: Проверьте, все ли приходные/расходные накладные проведены.
    • 🗃️ Ошибки в регистрах: Выполните Проверить и исправить в разделе Администрирование.
    • 📦 Резервы: Если товар зарезервирован под заказ, он может не учитываться в «свободных остатках».
    • 🔧 Настройки учета: В некоторых конфигурациях включен учет по сериям или партиям — проверьте настройки справочника Номенклатура.
    • Для диагностики используйте отчет Движения документа по последним приходным/расходным накладным.

    Как посчитать количество товаров в определенной ценовой категории?

    Добавьте в отчет Остатки товаров колонку Цена (или Ценовая группа, если она используется). Затем:

    1. Отфильтруйте по нужному диапазону цен (например, «Цена > 1000 И Цена < 5000»).
    2. Используйте группировку по ценовым категориям, если они заданы в справочнике Номенклатура.

    В запросе:

    ВЫБРАТЬ
    

    СЧЕТ_RAZN(ОстаткиТоваров.Номенклатура) КАК КоличествоПозиций

    ИЗ

    РегистрНакопления.ОстаткиТоваров.Остатки(&ТекущаяДата) КАК ОстаткиТоваров

    ЛЕВОЕ СОЕДИНЕНИЕ Справочник.Номенклатура КАК Номенклатура

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

    ГДЕ

    Номенклатура.ЦенаМежду(1000, 5000)