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

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

Каждый практикующий пользователь или администратор системы «1С:Розница» (а также смежных конфигураций, таких как «1С:Управление торговлей» или «1С:УНФ») рано или поздно сталкивается с классической проблемой при проведении инвентаризации. Вы физически пересчитываете товар в магазине, вносите данные в программу, проводите списание и оприходование, но в отчетах по складу всё равно продолжают «висеть» старые остатки позиций, которых уже давно нет в наличии.

Выясним причину этой проблемы. Почему стандартная инвентаризация игнорирует эти товары? Дело в том, что когда мы создаем документ Пересчет товаров, мы часто используем отборы — по товарной группе, по конкретному стеллажу, бренду или только по тем позициям, которые фактически отсканировали. Если старого «зависшего» товара нет в табличной части документа Пересчет товаров, система считает, что по этой позиции инвентаризация вообще не проводилась. В результате программа оставляет учетные остатки по таким товарам без изменений.

В этой статье мы подробно разберем, как исправить эту ситуацию, и рассмотрим пять практических способов полной очистки базы от «виртуальных» остатков.

Способ 1. Проведение полной инвентаризации без отборов (Классический метод)

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

  1. Перейдем в раздел складских документов и создадим новый документ Приказ на пересчет товаров.
  2. Важно: в настройках и отборах приказа не устанавливаем никаких ограничений по номенклатуре или группам. Нам нужен абсолютно весь склад.
  3. На основании этого приказа создадим документ Пересчет товаров.
  4. В созданном документе перейдем на вкладку «Товары» и нажмем кнопку «Заполнить по остаткам на складе». В табличную часть попадет абсолютно вся номенклатура, по которой в программе числится хоть какой-то остаток (даже отрицательный или копеечный).
  5. Теперь нам необходимо правильно заполнить колонку «Количество (Факт)»:
    • Для тех товаров, которые реально присутствуют в магазине, мы вводим их фактическое количество (вручную или с помощью сканера штрихкодов / ТСД).
    • Для всех старых, «зависших» позиций, которых физически нет, мы оставляем фактическое количество равным 0.
  6. Установим статус документа Пересчет товаров в положение «Выполнено» и проведем его.
  7. На основании этого пересчета создадим документ Списание товаров. Система автоматически заполнит его всеми позициями, у которых учетный остаток был больше нуля, а фактический равен нулю. После проведения этого документа остатки старых товаров полностью обнулятся.

Способ 2. Радикальное обнуление склада перед вводом реальных остатков

Если учет в вашей базе данных не велся долгое время и накопленный объем ошибок слишком велик, проще всего «начать с чистого листа», не прибегая к созданию новой пустой информационной базы. Рассмотрим, как быстро очистить склад.

  1. Создадим новый документ Списание товаров напрямую, без привязки к какому-либо приказу или пересчету.
  2. В табличной части нажмем кнопку заполнения и выберем пункт «Заполнить по остаткам на складе». Программа внесет в документ абсолютно все позиции, имеющие положительный остаток на выбранном складе.
  3. Проведем документ. С этого момента остатки абсолютно всех товаров на данном складе в системе равны нулю.
  4. Теперь нам нужно внести реальные остатки. Создадим документ Оприходование товаров и внесем в него только те позиции и в том количестве, которые мы реально пересчитали в магазине. Это можно сделать как вручную, так и путем загрузки данных из терминала сбора данных (ТСД) или внешнего файла.

Способ 3. Выявление расхождений и точечное списание через Excel

Что делать, если база данных огромная, товаров десятки тысяч, и стандартное заполнение документа пересчета по всем остаткам вызывает зависание программы? В такой ситуации мы можем сопоставить списки вручную при помощи табличного редактора Excel.

  1. Сформируем в 1С отчет Остатки на складах на дату проведения ревизии. Сохраним полученный отчет в формате Excel (назовем его «Учет»).
  2. Выгрузим в другой файл Excel список товаров из наших документов фактического пересчета (то, что мы реально нашли и посчитали в магазине). Назовем его «Факт».
  3. Откроем файл «Учет» и с помощью стандартной формулы ВПР (VLOOKUP) сопоставим данные с файлом «Факт». Наша цель — найти те позиции, которые присутствуют в учетных остатках, но полностью отсутствуют в списке фактического пересчета.
  4. Отфильтруем полученную таблицу, оставив только те строки, по которым формула выдала ошибку (значит, товара физически нет). Скопируем эти позиции вместе с их учетным количеством.
  5. В программе 1С создадим новый документ Списание товаров, нажмем кнопку «Загрузить из внешнего файла» и вставим скопированные данные из буфера обмена. После проведения документа все «виртуальные» остатки будут списаны.

Способ 4. Использование программных механизмов и запросов (для разработчиков)

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

Проанализируем структуру запроса, который позволяет выбрать номенклатуру, присутствующую на остатках регистра ТоварыНаСкладах, но не вошедшую в конкретный документ Пересчет товаров:


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

Этот запрос вернет нам список «зависших» товаров. На основании полученной таблицы значений мы можем программно создать и заполнить документ Списание товаров, установив количество к списанию равным значению переменной КоличествоУчет.

Способ 5. Решение проблемы с «суммовыми» остатками (себестоимостью)

Иногда возникает специфическая ситуация: количественный остаток товара на складе равен нулю, но в отчетах (например, по оценке склада в ценах закупки) продолжают отображаться старые «суммовые» остатки. Это происходит из-за ошибок в партионном учете или при расчете себестоимости.

Обычные складские документы списания здесь не помогут, так как программа откажется списывать нулевое количество. В данном случае нам необходимо скорректировать стоимостные показатели в регистрах накопления:

Выбор конкретного метода зависит от объема вашей базы данных и степени запущенности складского учета. Использование этих подходов позволит вам поддерживать актуальность данных в 1С и избежать расхождений между реальным положением дел в магазине и отчетами в системе.

← На главную