Как в 1С:Розница отобрать товары по дате последнего движения для инвентаризации

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

В процессе работы торгового предприятия часто возникает ситуация, когда на складах числятся остатки номенклатуры, которая фактически не продается и не перемещается уже долгое время. Чтобы привести учет в порядок и «обнулить» такие позиции через документ Пересчет товаров, необходимо эффективно отфильтровать список номенклатуры. В типовой конфигурации «1С:Розница 2.3» прямой фильтр по «Дате последнего движения» в самом документе пересчета отсутствует, однако мы можем решить эту задачу несколькими способами, используя возможности СКД и механизмы загрузки данных.

Метод 1. Использование типового отчета «Анализ оборачиваемости товаров»

Проанализируем возможности встроенных отчетов. В конфигурации «Розница 2.3» одним из самых мощных инструментов для работы с залежалым товаром является отчет АнализОборачиваемостиТоваров. Несмотря на то, что его основная цель — расчет KPI продаж, настройки Системы компоновки данных (СКД) позволяют извлечь из него нужную нам информацию.

  1. Откроем отчет и перейдем в меню Настройки, выбрав Расширенный режим.
  2. На вкладке Поля и сортировки найдем доступные поля. Нас интересуют поля, связанные с периодом хранения или датой последней продажи. В некоторых вариантах настройки можно вывести вычисляемое поле, показывающее количество дней с момента последнего движения.
  3. Установим отбор по складу и организации.
  4. Сформируем список товаров, у которых дата последней реализации меньше, например, 31.12.2022.

Полученный результат мы можем сохранить в файл для последующей загрузки в документ инвентаризации.

Метод 2. Использование «Ведомости по товарам» и выгрузки в Excel

Рассмотрим более универсальный способ, который не требует программирования и подходит большинству пользователей. Этот метод основан на комбинировании данных из отчета и стандартного механизма заполнения документов.

Шаг 1. Формирование списка в отчете

Сформируем отчет ВедомостьПоТоварамНаСкладах. В настройках отчета (СКД) добавим группировку по Номенклатуре. Чтобы увидеть «зависшие» товары, нам нужно убедиться, что по ним есть остаток, но не было оборотов за длительный период. Выберем период формирования отчета — весь 2023 и 2024 год. Если в колонках «Приход» и «Расход» стоят нули, значит, последнее движение было в 2022 году или ранее.

Шаг 2. Сохранение и подготовка файла

Сохраним сформированный отчет в формате Excel. В файле оставим только две колонки: Номенклатура (или её Артикул/Штрихкод) и Количество. Поскольку наша цель — обнулить остатки, в колонке фактического количества в Excel мы можем сразу проставить «0».

Шаг 3. Загрузка в документ Пересчет товаров

Выясним, как быстро перенести эти данные в документ:

  1. Создадим новый документ Пересчет товаров.
  2. Нажмем кнопку Заполнить — Загрузить из внешнего файла.
  3. Скопируем данные из нашего Excel-файла в открывшееся окно сопоставления. Система автоматически найдет номенклатуру по наименованию или коду и заполнит колонку «Факт» нулевыми значениями.

Метод 3. Техническая реализация через запрос (для программиста)

Если требуется регулярное выполнение такой операции, рассмотрим, как настроить отбор на уровне запроса в СКД. Основная сложность заключается в том, что «движение» товара фиксируется в регистре накопления ТоварыНаСкладах. Чтобы найти дату последнего движения, нам необходимо получить максимальный период по каждой позиции.

Проанализируем пример запроса, который можно использовать во внешней обработке или расширении:


ВЫБРАТЬ
    ТоварыНаСкладахОстатки.Номенклатура КАК Номенклатура,
    МАКСИМУМ(ТоварыНаСкладах.Период) КАК ДатаПоследнегоДвижения,
    ТоварыНаСкладахОстатки.КоличествоОстаток КАК ТекущийОстаток
ИЗ
    РегистрНакопления.ТоварыНаСкладах.Остатки КАК ТоварыНаСкладахОстатки
        ЛЕВОЕ СОЕДИНЕНИЕ РегистрНакопления.ТоварыНаСкладах КАК ТоварыНаСкладах
        ПО ТоварыНаСкладахОстатки.Номенклатура = ТоварыНаСкладах.Номенклатура
СГРУППИРОВАТЬ ПО
    ТоварыНаСкладахОстатки.Номенклатура,
    ТоварыНаСкладахОстатки.КоличествоОстаток
ИМЕЮЩИЕ
    МАКСИМУМ(ТоварыНаСкладах.Период) < &ДатаОтсечки

В данном запросе параметр &ДатаОтсечки будет равен, например, 01.01.2023. Функция МАКСИМУМ(Период) вернет нам время самого последнего документа, изменившего остаток. Если эта дата меньше нашей границы, значит, товар не двигался более года.

Метод 4. Обнуление остатков и завершение инвентаризации

Важно понимать методику работы документов инвентаризации в «1С:Розница». Документ Пересчет товаров сам по себе не изменяет остатки в регистре. Он лишь фиксирует разницу между учетными данными и фактическими.

Посмотрим на последовательность действий после заполнения списка «залежалых» товаров:

  1. В документе Пересчет товаров убеждаемся, что в колонке Учет стоит текущий остаток, а в колонке Факт — «0».
  2. Устанавливаем статус документа Выполнено и проводим его.
  3. На основании этого пересчета необходимо создать документ Списание товаров. Именно этот документ сформирует движения по регистру ТоварыНаСкладах и фактически обнулит остатки.
  4. Если позиций очень много (несколько тысяч), рекомендуем разбивать документы на части, чтобы не перегружать систему при проведении.

Важный нюанс: при использовании автоматического заполнения по отбору (через кнопку «Заполнить») в типовой Рознице 2.3, система предлагает стандартные фильтры (группа номенклатуры, наличие остатка). Чтобы внедрить туда фильтр по дате движения, потребуется создание небольшого Расширения, которое изменит запрос в процедуре заполнения. Если вы не являетесь программистом, наиболее надежным и быстрым способом остается Метод 2 (через Excel).

← На главную