Каждый практикующий пользователь или администратор системы «1С:Розница» (а также смежных конфигураций, таких как «1С:Управление торговлей» или «1С:УНФ») рано или поздно сталкивается с классической проблемой при проведении инвентаризации. Вы физически пересчитываете товар в магазине, вносите данные в программу, проводите списание и оприходование, но в отчетах по складу всё равно продолжают «висеть» старые остатки позиций, которых уже давно нет в наличии.
Выясним причину этой проблемы. Почему стандартная инвентаризация игнорирует эти товары? Дело в том, что когда мы создаем документ Пересчет товаров, мы часто используем отборы — по товарной группе, по конкретному стеллажу, бренду или только по тем позициям, которые фактически отсканировали. Если старого «зависшего» товара нет в табличной части документа Пересчет товаров, система считает, что по этой позиции инвентаризация вообще не проводилась. В результате программа оставляет учетные остатки по таким товарам без изменений.
В этой статье мы подробно разберем, как исправить эту ситуацию, и рассмотрим пять практических способов полной очистки базы от «виртуальных» остатков.
Для того чтобы система автоматически списала все старые остатки, нам необходимо заставить её сопоставить учетные данные с нулевым фактическим остатком. Проанализируем, как сделать это штатными средствами программы.
Приказ на пересчет товаров.Пересчет товаров.Пересчет товаров в положение «Выполнено» и проведем его.Списание товаров. Система автоматически заполнит его всеми позициями, у которых учетный остаток был больше нуля, а фактический равен нулю. После проведения этого документа остатки старых товаров полностью обнулятся.Если учет в вашей базе данных не велся долгое время и накопленный объем ошибок слишком велик, проще всего «начать с чистого листа», не прибегая к созданию новой пустой информационной базы. Рассмотрим, как быстро очистить склад.
Списание товаров напрямую, без привязки к какому-либо приказу или пересчету.Оприходование товаров и внесем в него только те позиции и в том количестве, которые мы реально пересчитали в магазине. Это можно сделать как вручную, так и путем загрузки данных из терминала сбора данных (ТСД) или внешнего файла.Что делать, если база данных огромная, товаров десятки тысяч, и стандартное заполнение документа пересчета по всем остаткам вызывает зависание программы? В такой ситуации мы можем сопоставить списки вручную при помощи табличного редактора Excel.
Остатки на складах на дату проведения ревизии. Сохраним полученный отчет в формате Excel (назовем его «Учет»).ВПР (VLOOKUP) сопоставим данные с файлом «Факт». Наша цель — найти те позиции, которые присутствуют в учетных остатках, но полностью отсутствуют в списке фактического пересчета.Списание товаров, нажмем кнопку «Загрузить из внешнего файла» и вставим скопированные данные из буфера обмена. После проведения документа все «виртуальные» остатки будут списаны.Если вы являетесь программистом или администратором 1С, вы можете автоматизировать этот процесс. Для этого можно написать небольшую внешнюю обработку, которая будет находить разницу между остатками в регистре и фактическим наполнением документов пересчета.
Проанализируем структуру запроса, который позволяет выбрать номенклатуру, присутствующую на остатках регистра ТоварыНаСкладах, но не вошедшую в конкретный документ Пересчет товаров:
ВЫБРАТЬ
Остатки.Номенклатура КАК Номенклатура,
Остатки.Характеристика КАК Характеристика,
Остатки.ВНаличииОстаток КАК КоличествоУчет
ИЗ
РегистрНакопления.ТоварыНаСкладах.Остатки(&Период, Склад = &Склад) КАК Остатки
ГДЕ
НЕ Остатки.Номенклатура В
(ВЫБРАТЬ РАЗЛИЧНЫЕ
Пересчет.Номенклатура
ИЗ
Документ.ПересчетТоваров.Товары КАК Пересчет
ГДЕ
Пересчет.Ссылка = &СсылкаНаПересчет)
Этот запрос вернет нам список «зависших» товаров. На основании полученной таблицы значений мы можем программно создать и заполнить документ Списание товаров, установив количество к списанию равным значению переменной КоличествоУчет.
Иногда возникает специфическая ситуация: количественный остаток товара на складе равен нулю, но в отчетах (например, по оценке склада в ценах закупки) продолжают отображаться старые «суммовые» остатки. Это происходит из-за ошибок в партионном учете или при расчете себестоимости.
Обычные складские документы списания здесь не помогут, так как программа откажется списывать нулевое количество. В данном случае нам необходимо скорректировать стоимостные показатели в регистрах накопления:
Корректировка записей регистров (доступен в режиме технического специалиста).Себестоимость товаров (или аналогичный регистр, отвечающий за партионный учет в вашей конфигурации).Выбор конкретного метода зависит от объема вашей базы данных и степени запущенности складского учета. Использование этих подходов позволит вам поддерживать актуальность данных в 1С и избежать расхождений между реальным положением дел в магазине и отчетами в системе.