В старых версиях программы 1С:Управление торговлей (в частности, в УТ 11.1) существовал удобный и понятный пользователям отчет «Остатки товаров по владельцам и продавцам». Однако, начиная с версий УТ 11.3, 11.4 и далее в 11.5, разработчики изменили архитектуру партионного учета и распределили функции этого отчета по различным регистрам финансового учета. В результате пользователи и аналитики часто сталкиваются с проблемой: товар на складе лежит, но быстро понять, от какого именно поставщика поступили конкретные остатки, стандартными складскими отчетами не получается.
В этой статье мы подробно разберем, почему так произошло, изучим логику работы конфигурации 1С:УТ 11 и рассмотрим все возможные способы решения этой задачи для различных учетных политик предприятия — как для метода оценки ФИФО, так и для метода «по средней».
---
Для начала разберем важный методологический нюанс. Оперативный складской учет в 1С оперирует только физическими показателями: номенклатура, характеристика, серия, склад и количество. Склад не знает и не должен знать, сколько стоит товар и у кого конкретно он был куплен. Задача кладовщика — принять коробку и отгрузить коробку.
Информация о поставщике и стоимости — это прерогатива финансового учета (учета себестоимости). Поэтому любые попытки найти «поставщика» в чисто складских регистрах, таких как ТоварыНаСкладах, обречены на неудачу (если только вы не используете серийный учет, но об этом ниже).
Возможность детализации остатков по поставщикам напрямую зависит от того, какой метод оценки стоимости товаров выбран в вашей учетной политике.
---
Если на вашем предприятии используется метод оценки стоимости ФИФО (крайне желательно версии 2.2), то система детально отслеживает каждую партию закупки. В этом случае у нас есть штатная возможность увидеть остатки по поставщикам, но не на складе, а в отчетах раздела финансового результата.
Для решения нашей задачи мы воспользуемся типовым отчетом «Ведомость по партиям товаров предприятия». Выполним настройку по шагам:
Номенклатура (или Партия, в зависимости от стандартного шаблона) и добавим в группировку новое поле. Для этого нажмем кнопку «Добавить» и в выпадающем списке полей найдем реквизит Поставщик (он же может называться Партнер или Контрагент в зависимости от того, берем мы его из документа партии или напрямую из аналитики учета номенклатуры). Если этого поля нет в быстром списке, развернем поле Документ поступления (Партия) через плюс и выберем оттуда реквизит Поставщик (или Партнер).Важный момент: Данный отчет показывает остатки в стоимостном выражении (в ценах закупки) и в количестве. Он будет абсолютно точен только в том случае, если в базе выполнено регламентное задание «Распределение партий» и успешно проведена процедура закрытия месяца.
---
В настройках системы 1С:УТ 11 предусмотрен механизм обособленного учета запасов. Рассмотрим, как его задействовать:
Анализ эффективности метода: На первый взгляд, это идеальное решение. Система должна автоматически делить все товары на складе по видам запасов под каждого поставщика. Однако на практике в версиях УТ 11.4 и 11.5 этот механизм имеет жесткие ограничения:
---
Если согласно учетной политике вашего предприятия себестоимость рассчитывается «по средней за месяц», задача усложняется. При таком методе система при списании товара (в документах реализации, списания, сборки) не определяет, какую именно партию она списывает. Она просто уменьшает общее количество товара на складе и в конце месяца усредняет стоимость.
Формальная логика подсказывает: если мы не отслеживаем конкретную партию при списании, то мы физически не можем знать, какой именно товар (от какого поставщика) остался лежать на полке. Однако управленческая потребность в этих данных все равно существует. Рассмотрим три обходных пути решения этой проблемы.
Если вы хотите иметь гарантированно точные количественные остатки по поставщикам в реальном времени при методе «по средней», вам поможет серийный учет:
Плюсы: Абсолютно точный складской учет. В любом стандартном отчете (например, «Ведомость по товарам на складах») достаточно сделать группировку по сериям, и мы мгновенно увидим актуальные остатки в разрезе поставщиков.
Минусы: Резко возрастает нагрузка на персонал склада. Каждую операцию отгрузки придется сопровождать физическим выбором и сканированием конкретной серии.
Если включать реальный партионный учет в базе не хочется из-за высокой нагрузки на сервер при закрытии месяца, а вести учет серий физически невозможно, задачу можно решить математическим моделированием. Для этого пишется внешний отчет на СКД.
Проанализируем алгоритм, который закладывается в такой отчет:
ТоварыНаСкладах). Например, мы выяснили, что товара «Кабель электрический» на складе осталось ровно 15 метров.Закупки или документам закупки ПриобретениеТоваровУслуг по этой номенклатуре.Такой подход дает очень высокую степень достоверности для целей управленческого анализа и не требует перенастройки всей информационной базы.
Ниже представлен пример структуры запроса для создания подобного отчета. Этот код можно использовать как основу при разработке в конструкторе схемы компоновки данных (СКД):
ВЫБРАТЬ
ТоварыНаСкладахОстатки.Номенклатура КАК Номенклатура,
ТоварыНаСкладахОстатки.ВНаличииОстаток КАК ОстатокНаСкладе
ПОМЕСТИТЬ ВТ_Остатки
ИЗ
РегистрНакопления.ТоварыНаСкладах.Остатки(&КонецПериода, ) КАК ТоварыНаСкладахОстатки
;
////////////////////////////////////////////////////////////////////////////////
ВЫБРАТЬ
ПриобретениеТоваровУслуг.Ссылка.Партнер КАК Поставщик,
ПриобретениеТоваровУслуг.Номенклатура КАК Номенклатура,
ПриобретениеТоваровУслуг.Ссылка.Дата КАК ДатаПоставки,
ПриобретениеТоваровУслуг.Количество КАК КоличествоВПоставке
ПОМЕСТИТЬ ВТ_Закупки
ИЗ
Документ.ПриобретениеТоваровУслуг.Товары КАК ПриобретениеТоваровУслуг
ГДЕ
ПриобретениеТоваровУслуг.Ссылка.Проведен = ИСТИНА
И ПриобретениеТоваровУслуг.Ссылка.Дата <= &КонецПериода
;
////////////////////////////////////////////////////////////////////////////////
ВЫБРАТЬ
ВТ_Остатки.Номенклатура КАК Номенклатура,
ВТ_Остатки.ОстатокНаСкладе КАК ОстатокНаСкладе,
ВТ_Закупки.Поставщик КАК Поставщик,
ВТ_Закупки.ДатаПоставки КАК ДатаПоставки,
ВТ_Закупки.КоличествоВПоставке КАК КоличествоВПоставке
ИЗ
ВТ_Остатки КАК ВТ_Остатки
ВНУТРЕННЕЕ СОЕДИНЕНИЕ ВТ_Закупки КАК ВТ_Закупки
ПО ВТ_Остатки.Номенклатура = ВТ_Закупки.Номенклатура
ОБЪЕДИНИТЬ ВСЕ
УПОРЯДОЧИТЬ ПО
Номенклатура,
ДатаПоставки УБЫВ
При дальнейшей обработке этой таблицы в СКД (например, с помощью вычисляемых полей или программного обхода выборки) вы сможете последовательно распределить текущий остаток по последним датам поставок, получив необходимую аналитику.
Если в вашей организации (даже при методе оценки «по средней») включен раздельный учет НДС, система обязана вести учет партий для целей налогообложения. Все эти данные записываются в специализированный регистр накопления ДетализацияПартийТоваровДляНДСиУСН.
Вы можете написать отчет (или настроить универсальный отчет), источником данных для которого послужит этот регистр. В нем хранятся сведения о поставщиках и документах поступления.
Важное предупреждение: Данный метод является неофициальным обходным путем. Регистр НДС предназначен исключительно для целей налогового учета. Управленческие перемещения между складами, внутренние списания, сборки или пересортица могут отражаться в нем специфическим образом или вовсе игнорироваться до момента закрытия месяца. Использование этого регистра для оперативного контроля складских остатков может приводить к расхождениям с реальными данными складского учета.
---
Мы проанализировали архитектуру 1С:УТ 11 и выяснили, как решить задачу получения остатков по поставщикам: