Как посмотреть отчет по товарам, которые не продавались за выбранный период в 1С:Управление торговлей?

Пользователь 1С v8.3 (Управляемые формы) 1С:Управление торговлей Управленческий учет Торговля и дистрибуция
← На главную

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

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

Почему стандартные отчеты по продажам не подходят?

Прежде всего, давайте выясним причину, по которой типовые отчеты по продажам, такие как "Валовая прибыль предприятия" или "Отчет по продажам", не позволяют увидеть товары, по которым не было продаж за выбранный период. Эти отчеты строятся на основе данных из регистров накопления, фиксирующих факты продаж (например, РегистрНакопления.ВыручкаИСебестоимостьПродаж или РегистрНакопления.Продажи). Принцип их работы заключается в выборке и агрегации записей, которые уже существуют в этих регистрах за указанный период.

Таким образом, если по какому-либо товару не было ни одной продажи в заданный интервал времени, соответствующая запись просто отсутствует в регистре. Отчет не может отобразить то, чего нет. Для того чтобы увидеть "отсутствие", нам требуется принципиально иной подход – мы должны сначала получить полный список товаров (например, из справочника Номенклатура), а затем сравнить его со списком проданных товаров за период, чтобы найти те позиции, которые остались без пары. Это как раз и вызывает трудности при использовании стандартных инструментов, разработанных для анализа существующих данных.

Решение 1: Настройка отчета "Ведомость по товарам на складах"

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

Давайте рассмотрим шаги по настройке:

  1. Перейдите в раздел "Склад".
  2. Выберите пункт "Отчеты по складу".
  3. Найдите и откройте отчет "Ведомость по товарам на складах".
  4. Установите необходимый период, за который вы хотите проанализировать продажи.
  5. Нажмите кнопку "Настройки" (или "Настроить") для перехода в режим настройки отчета.
  6. Если вы находитесь в "Простом" режиме, переключитесь на "Расширенный" режим настройки, чтобы получить доступ ко всем возможностям. Это обычно делается нажатием соответствующей кнопки или ссылки в окне настроек.
  7. В разделе "Отборы" добавьте новый отбор по полю КоличествоРасход (или Количество (Расход)).
  8. Установите для этого поля "Вид сравнения" как "Равно".
  9. В качестве значения для отбора укажите 0 (ноль).
  10. Также полезно добавить отбор по полю КоличествоКонечныйОстаток (или Количество (Конечный остаток)) с видом сравнения "Больше или равно" и значением 1, чтобы видеть только те товары, которые физически присутствовали на складе к концу периода. Либо, если мы хотим видеть товары, которые были на складе в течение периода, но не продавались, мы можем использовать поле КоличествоНачальныйОстаток (или Количество (Начальный остаток)) с условием "Больше или равно" 1.
  11. Нажмите кнопку "Сформировать".

Что покажет этот отчет? Отчет с такой настройкой покажет нам список товаров, которые имели остатки на складах в течение или на конец выбранного периода, но по которым не было движений в сторону расхода (списания) за этот период. Это позволяет выявить позиции, которые "лежат" на складе и не продаются.

Ограничения этого метода:

  1. Внутренние перемещения: Отбор по КоличествоРасход = 0 не делает различия между продажей и другими видами расхода (например, внутренними перемещениями между складами, списаниями на нужды предприятия и т.д.). Если товар перемещался, он будет иметь расход, и не попадет в отчет. Для более точного анализа вам может потребоваться исключить такие виды движения из регистра движения товаров или использовать более сложную логику.
  2. Отсутствие товаров на складе: Этот отчет не покажет товары, которых не было на складе в течение выбранного периода, но которые при этом тоже не продавались. "Ведомость по товарам на складах" оперирует только с фактическими остатками и их движениями. Если товара нет на складе, его не будет и в ведомости, даже если он числится в номенклатурном справочнике.

Решение 2: Использование ABC/XYZ классификации номенклатуры

ABC/XYZ классификация является мощным инструментом для анализа ассортимента и управления запасами. Хотя она не является прямым отчетом по "непродаваемым" товарам, она может косвенно помочь в их выявлении, группируя номенклатуру по объему продаж и стабильности спроса. Товары, которые попадают в категории с очень низкими или нулевыми продажами, будут выделены этой классификацией. Для оперативного отображения категорий в документах и подборе можно использовать расширение для вывода ABC/XYZ-анализа на формах.

Давайте разберем, как этот метод может быть полезен:

  1. Настройка классификации: В 1С:Управление торговлей функционал ABC/XYZ классификации обычно доступен через рабочее место "Управление запасами" или "Рабочее место ABC/XYZ классификация". Мы должны настроить параметры классификации:
    • Период анализа: Укажите период, за который будут анализироваться продажи (например, 3, 6 или 12 месяцев).
    • Метод классификации: Выберите, по каким показателям будет проводиться анализ (например, по объему продаж, по валовой прибыли и т.д.).
    • Критерии сегментации: Определите границы для категорий A, B, C и X, Y, Z.
  2. Выполнение классификации: Запустите процесс классификации. Система проанализирует историю продаж за заданный период и присвоит каждой позиции номенклатуры (или номенклатуры с характеристикой) соответствующую категорию (например, A, B, C и X, Y, Z).
  3. Анализ результатов: По результатам классификации мы получим отчет, который сгруппирует номенклатуру по категориям.
    • Категория C: В нее попадают товары с наименьшим объемом продаж. Среди них могут быть и те, по которым продажи были очень редкими или отсутствовали вовсе.
    • Категория Z: В нее попадают товары с нестабильным и непредсказуемым спросом. Если товар не продавался, он, скорее всего, будет отнесен к этой категории по показателю стабильности спроса.

Что покажет этот отчет? Мы сможем увидеть номенклатуру, которая по результатам анализа продаж попала в самые низкие категории (например, CZ, CY, CX), что косвенно указывает на ее низкую оборачиваемость или полное отсутствие продаж за анализируемый период.

Ограничения этого метода:

  1. Косвенный подход: ABC/XYZ классификация не является прямым отчетом по "непродаваемым" товарам. Она лишь помогает выявить категории товаров, которые продаются плохо или не продаются вообще, но не выдает точный список товаров с нулевыми продажами за выбранный период.
  2. Сложность настройки: Для корректной работы требуется первоначальная настройка и понимание принципов классификации.
  3. Детализация: Как правило, классификация производится в разрезе номенклатуры или номенклатуры с характеристиками. Если нам нужны более глубокие детали, возможно, потребуется дополнительная аналитика.

Решение 3: Разработка собственного отчета или использование внешних обработок

Для получения наиболее точного и гибкого отчета по товарам, которые не продавались за выбранный период, особенно если нам нужно учесть как товары на складе, так и товары, которых не было на складе, но которые числятся в справочнике, оптимальным решением часто является разработка собственного внешнего отчета или специализированной обработки. Такой подход позволяет нам объединить данные из разных регистров и справочников, используя сложную логику запросов. Чтобы не разрабатывать решение с нуля, можно использовать готовый отчет для выявления товаров без продаж и неликвидов.

Давайте рассмотрим основной принцип построения такого запроса, который ляжет в основу собственного отчета:

Концепция запроса:

  1. Исходный список: Мы начинаем с полного списка всех товаров, которые могут продаваться. Это можно получить из справочника Справочник.Номенклатура, исключая услуги и группы.
  2. Список проданных товаров: Затем мы получаем список товаров, которые фактически были проданы за выбранный период, используя, например, регистр РегистрНакопления.ВыручкаИСебестоимостьПродаж или РегистрНакопления.Продажи.
  3. Сопоставление: Мы сопоставляем полный список номенклатуры со списком проданных товаров. Для этого используется тип соединения ЛЕВОЕ СОЕДИНЕНИЕ (LEFT JOIN).
  4. Фильтрация: После сопоставления мы отбираем те записи из полного списка номенклатуры, для которых соответствующая запись о продажах отсутствует (то есть, результат соединения будет NULL для полей из регистра продаж).

Пример концептуального запроса (на СКД или языке запросов 1С):

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


ВЫБРАТЬ
    Номенклатура.Ссылка КАК НоменклатураСсылка,
    Номенклатура.Наименование КАК НоменклатураНаименование
ИЗ
    Справочник.Номенклатура КАК Номенклатура
ГДЕ
    Номенклатура.ЭтоГруппа = ЛОЖЬ
    И Номенклатура.ПометкаУдаления = ЛОЖЬ
    И Номенклатура.ВидНоменклатуры.ТипНоменклатуры <> ЗНАЧЕНИЕ(Перечисление.ТипыНоменклатуры.Услуга)

ЛЕВОЕ СОЕДИНЕНИЕ
    (ВЫБРАТЬ РАЗЛИЧНЫЕ
        ВыручкаИСебестоимостьПродажОбороты.Номенклатура КАК НоменклатураПродаж
    ИЗ
        РегистрНакопления.ВыручкаИСебестоимостьПродаж.Обороты(&НачалоПериода, &КонецПериода, , ) КАК ВыручкаИСебестоимостьПродажОбороты
    ГДЕ
        ВыручкаИСебестоимостьПродажОбороты.КоличествоОборот > 0) КАК ПродажиЗаПериод
ПО
    Номенклатура.Ссылка = ПродажиЗаПериод.НоменклатураПродаж

ГДЕ
    ПродажиЗаПериод.НоменклатураПродаж ЕСТЬ NULL
  1. Первая часть запроса (ВЫБРАТЬ...ИЗ Справочник.Номенклатура) формирует полный список всех активных, не удаленных, не являющихся группами и не услугами позиций номенклатуры. Мы получаем Ссылка и Наименование каждой позиции.
  2. Подзапрос (ВЫБРАТЬ РАЗЛИЧНЫЕ...ИЗ РегистрНакопления.ВыручкаИСебестоимостьПродаж.Обороты) выбирает все уникальные позиции номенклатуры, по которым были продажи (КоличествоОборот > 0) за указанный &НачалоПериода и &КонецПериода.
  3. ЛЕВОЕ СОЕДИНЕНИЕ (LEFT JOIN) объединяет полный список номенклатуры с результатом подзапроса по полю Номенклатура. Это означает, что для каждой позиции из справочника Номенклатура будет найдена соответствующая запись в списке ПродажиЗаПериод, если таковая имеется. Если продажи не было, поля из ПродажиЗаПериод будут иметь значение NULL.
  4. Финальное условие ГДЕ ПродажиЗаПериод.НоменклатураПродаж ЕСТЬ NULL отфильтровывает только те строки, для которых ЛЕВОЕ СОЕДИНЕНИЕ не нашло соответствия в списке проданных товаров. Именно эти товары и являются искомыми "не продававшимися".

Для создания такого отчета на базе 1С мы можем использовать механизм "Система компоновки данных" (СКД), который позволяет создавать сложные отчеты без написания кода, но с использованием запросов. В СКД вы сможете определить параметры (период, склад и т.д.), настроить поля, отборы и группировки.

Преимущества собственного отчета:

  1. Точность: Возможность учесть все необходимые условия, включая наличие на складе и отсутствие.
  2. Гибкость: Полный контроль над логикой отчета, возможность добавления любой аналитики (например, дата последнего поступления, текущий остаток и т.д.).
  3. Учет отсутствовавшей номенклатуры: Мы можем включить в анализ номенклатуру, которая числится в справочнике, но отсутствовала на складе в течение всего периода, и по ней не было продаж.

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

Резюме и рекомендации

Итак, мы рассмотрели несколько подходов к выявлению товаров, которые не продавались за выбранный период в 1С:Управление торговлей:

  1. "Ведомость по товарам на складах" с отбором КоличествоРасход = 0: Это самый простой и быстрый способ, но он имеет существенные ограничения, так как не учитывает все виды расхода и не показывает товары, отсутствовавшие на складе. Используйте его, если вам нужен экспресс-анализ только по товарам, находящимся на складе.
  2. ABC/XYZ классификация: Помогает косвенно выявить категории товаров с низкими или нулевыми продажами. Это инструмент для стратегического анализа, а не для получения точного списка непродаваемых позиций.
  3. Разработка собственного отчета (с использованием СКД или кода) / Внешние обработки: Это наиболее мощное и гибкое решение, которое позволяет получить точную информацию, учитывая все нюансы. Если стандартные средства не удовлетворяют вашим требованиям, этот путь будет наиболее эффективным.

Мы рекомендуем начать с настройки "Ведомости по товарам на складах". Если ее функционал окажется недостаточным из-за специфических требований (например, необходимость учета перемещений или товаров, отсутствовавших на складе), тогда переходите к рассмотрению разработки собственного отчета на СКД. Это позволит вам создать инструмент, максимально адаптированный под ваши бизнес-процессы и аналитические задачи.

← На главную