При работе с системой 1С часто возникает необходимость оперативно получить информацию об остатках товарно-материальных ценностей (ТМЦ). Это может быть нужно для инвентаризации, анализа складских запасов, выявления неликвидов или просто для контроля наличия товаров. Рассмотрим различные подходы и инструменты, которые помогут нам решить эту задачу.
Мы вместе разберем, как использовать стандартные отчеты, как настроить их для получения нужной детализации, и даже как подойти к задаче программно, чтобы выявить товары, которые давно не продавались. Давайте выясним, какие методы будут наиболее эффективными в вашей ситуации.
Начнем с самых простых и доступных инструментов – стандартных отчетов 1С. Они предоставляют обширные возможности для анализа остатков и движения товаров.
Ведомость по товарам на складах (или Ведомость товаров по складам)
Этот отчет является одним из основных для просмотра количественных остатков ТМЦ. Он позволяет увидеть приход, расход и конечный остаток товаров на каждом складе за выбранный период. Мы можем использовать его для быстрого анализа складских запасов без учета себестоимости.
Для его формирования обычно достаточно выбрать период и, при необходимости, склад. Отчет покажет, сколько товара поступило, сколько выбыло, и сколько осталось на конец периода. Обратите внимание, что детализацию можно настроить по номенклатуре, характеристикам и сериям.
Отчет по движению товаров (или Движение товаров и материалов)
Если нам нужна более полная картина, включающая не только остатки, но и все движения товаров, этот отчет будет незаменим. Он дает детальное представление о том, сколько товаров поступило, было продано, списано или перемещено, и сколько осталось в остатке. Мы можем сформировать его с детализацией:
Это позволяет нам проследить всю историю жизни каждого товара на складе.
Оборотно-сальдовая ведомость по счету (ОСВ)
Для бухгалтера ОСВ является ключевым отчетом. Она позволяет просмотреть остатки на счетах учета ТМЦ, таких как 10 "Материалы", 41 "Товары", 43 "Готовая продукция". В ОСВ мы увидим сальдо на начало периода, обороты по дебету и кредиту (приход и расход), а также остатки на конец периода.
Важный момент: для детализации по складам нам необходимо убедиться, что в настройках параметров учета 1С включен складской учет по складам и местам хранения.
Ведомость по партиям ТМЦ
Если в вашей конфигурации 1С ведется партионный учет, то отчет Ведомость по партиям ТМЦ станет мощным инструментом. Он покажет остатки в разрезе конкретных партий поступления. Мы можем установить детализацию по поступлению/партии и товару, чтобы увидеть, когда и по какому документу поступила та или иная партия товара.
Это особенно полезно для анализа "старого" товара, который мог залежаться на складе. Мы можем посмотреть остаток партий с датой ранее какой-либо заданной даты или даты ввода начальных остатков.
Просто посмотреть остатки часто недостаточно. Наша задача может заключаться в выявлении товаров, которые плохо продаются, или, как мы говорим, являются "мертвым грузом". Рассмотрим несколько подходов к решению этой проблемы.
"Тупо в лоб" – программный подход для выявления давно не продававшихся товаров
Один из форумчан предложил интересный алгоритм для решения разовой задачи: найти товары на остатке, которые не продавались за последние, скажем, 5 лет. Давайте проанализируем этот подход. Мы будем работать с регистрами накопления ОстаткиТМЦ и Продажи.
Шаги алгоритма:
ОстаткиТМЦ на определенную дату.Продажи. Выборку инициируем в обратном порядке (от самых свежих продаж к более старым).После прохождения всего цикла, исходный список будет содержать только те товары, которые остались на остатке и либо вообще не продавались, либо продавались более 5 лет назад. Этот подход требует написания кода, но он очень гибок.
Посмотрим на примерный код, который реализует эту логику:
Функция ПолучитьНеликвидыПоДатеПродаж(ДатаГраницыПродаж) Экспорт
// ДатаГраницыПродаж - например, ТекущаяДата() - 5 * 365
ЗапросОстатки = Новый Запрос;
ЗапросОстатки.Текст =
"ВЫБРАТЬ
| ОстаткиТоваровОстатки.Номенклатура КАК Номенклатура,
| ОстаткиТоваровОстатки.КоличествоОстаток КАК Количество
|ИЗ
| РегистрНакопления.ОстаткиТоваров.Остатки(,<?УсловиеНоменклатура>) КАК ОстаткиТоваровОстатки
|ГДЕ
| ОстаткиТоваровОстатки.КоличествоОстаток > 0";
// Заполняем параметры запроса, если нужно
// ЗапросОстатки.УстановитьПараметр("УсловиеНоменклатура", ...);
РезультатОстатки = ЗапросОстатки.Выполнить().Выгрузить();
СписокНеликвидов = Новый СписокЗначений;
Для Каждого СтрокаОстатка Из РезультатОстатки Цикл
СписокНеликвидов.Добавить(СтрокаОстатка.Номенклатура, СтрокаОстатка.Номенклатура.Наименование);
КонецЦикла;
// Теперь для каждого товара из списка остатков ищем последние продажи
Для Каждого ЭлементСписка Из СписокНеликвидов Цикл
НоменклатураТекущая = ЭлементСписка.Значение;
ЗапросПродажи = Новый Запрос;
ЗапросПродажи.Текст =
"ВЫБРАТЬ ПЕРВЫЕ 1
| ПродажиОбороты.Период КАК ДатаПродажи
|ИЗ
| РегистрНакопления.Продажи.Обороты(,,День, Номенклатура = &Номенклатура) КАК ПродажиОбороты
|ГДЕ
| ПродажиОбороты.Номенклатура = &Номенклатура
|УПОРЯДОЧИТЬ ПО
| ДатаПродажи УБЫВ"; // Ищем самую последнюю продажу
ЗапросПродажи.УстановитьПараметр("Номенклатура", НоменклатураТекущая);
РезультатПродажи = ЗапросПродажи.Выполнить().Выбрать();
Если РезультатПродажи.Следующий() Тогда
Если РезультатПродажи.ДатаПродажи >= ДатаГраницыПродаж Тогда
// Товар продавался недавно, удаляем из списка неликвидов
СписокНеликвидов.Удалить(ЭлементСписка.Значение);
КонецЕсли;
Иначе
// Товара нет в продажах вообще, оставляем как потенциальный неликвид
КонецЕсли;
КонецЦикла;
Возврат СписокНеликвидов;
КонецФункции
Обратите внимание, что это упрощенный пример. В реальной системе РегистрНакопления.Продажи может называться иначе (например, ВыручкаИСебестоимостьПродаж), и для получения даты последней продажи может потребоваться более сложный запрос или использование агрегатных функций. Кроме того, нам следует учесть, что Расход может быть не только Продано, но и Списано. Это важно для более точного анализа.
Определение неликвидов через выгрузку в Excel
Для разового анализа можно использовать более простой, но трудоемкий метод. Мы можем сформировать отчет по движению товаров без группировок за выбранный период (например, с начала года или за несколько лет), выгрузить его в Excel и там провести анализ.
Шаги:
НачальныйОстаток - Расход.Этот метод позволяет быстро получить результат, особенно если в 1С нет готового отчета по неликвидам.
Отчеты по неликвидным товарам (внешние или доработанные)
В некоторых типовых конфигурациях 1С может не быть встроенных отчетов типа "Отчет о товарах без продаж" или "Анализ ликвидности товаров". Однако, такие отчеты часто разрабатываются как внешние или встраиваются в конфигурацию программистами.
Эти отчеты анализируют данные о продажах за период и остатках на складах, вычисляя оборачиваемость товаров в днях. Товар может быть отнесен к неликвидным, если его оборачиваемость превышает заданный срок (например, 90 дней) или если с момента последней продажи прошло слишком много дней. Мы можем использовать такие критерии, как "дней без движения" или "предполагаемое количество дней на распродажу остатков".
Для корректного получения информации об остатках ТМЦ и их анализе нам необходимо учитывать следующие аспекты:
Настройка складского учета: Мы должны убедиться, что в настройках программы включен складской учет (по количеству, или по количеству и сумме). Без этого детализация по складам будет недоступна.
Регистры накопления: В основе всех отчетов по остаткам ТМЦ лежат РегистрыНакопления типа "Остатки". Эти регистры хранят информацию о приходах и расходах, а также содержат таблицы итогов, позволяющие быстро получать текущие остатки. Понимание принципов работы с регистрами поможет нам при программной разработке отчетов.
Контроль отрицательных остатков: В 1С существует функционал для контроля отрицательных остатков. Мы можем настроить его так, чтобы система запрещала проведение документов, если на складе нет достаточного количества товара. Для контроля уже возникших отрицательных остатков можем использовать специализированный отчет "Контроль отрицательных остатков".
Детализация и фильтры: Помните, что большинство отчетов в 1С позволяют нам настраивать детализацию (например, по номенклатуре, складу, характеристикам, партиям, документам-регистраторам) и применять различные фильтры и группировки. Мы должны активно использовать эти возможности для получения максимально точной и полезной информации.
Ввод начальных остатков: При начале работы в новой базе или восстановлении учета, остатки ТМЦ вводятся специальными документами. Мы должны убедиться, что эти данные корректны, так как они являются основой для всех последующих отчетов.
Как мы видим, существует множество способов просмотреть остатки ТМЦ и провести их анализ в 1С. Выбор конкретного метода зависит от вашей задачи, уровня детализации и наличия соответствующих инструментов в вашей конфигурации. Мы рекомендуем начать со стандартных отчетов, а затем, при необходимости, переходить к более сложным или программным решениям.
← К списку