В процессе работы в программе 1С:Управление торговлей (редакция 11) пользователи часто сталкиваются с ситуацией, когда система позволяет оформить документ Возврат товаров поставщику или Корректировка приобретения на основании поступления, по которому товар уже фактически продан. Это создает путаницу в учете, так как юридически и физически мы возвращаем товар, которого нет на остатках именно по этой конкретной партии. Разберем подробно, почему так происходит, как работает механизмы контроля и какие последствия влечет за собой изменение настроек системы.
Проанализируем базовую логику конфигурации. Если в настройках системы отключен Партионный учет, программа ведет учет товаров по так называемому "котловому" методу или упрощенному ФИФО на уровне регистров накопления. Для системы в таком режиме остаток товара — это просто общее количество единиц на складе. Рассмотрим пример:
Приобретению №1.Реализации №1.Сборка товаров.В результате на складе числится 2 принтера. Если мы попытаемся сделать Возврат товаров поставщику на основании Приобретения №1, система увидит, что на складе есть 2 единицы товара, и позволит провести документ. Тот факт, что это "другие" принтеры (полученные в результате сборки, а не покупки), программа без партионного учета проигнорировать не сможет, так как связь конкретной единицы товара с конкретным документом поступления отсутствует.
Выясним причину, по которой контроль становится возможным только при включении партионного учета. В 1С:УТ 11 реализована архитектура Партионный учет 2.2. При ее активации каждое поступление товара образует отдельную "партию". Система начинает жестко отслеживать цепочку: Поступление -> Списание (продажа).
Разберем по шагам, как включить этот функционал:
После включения этой опции при попытке оформить возврат по документу, товары из которого уже списаны, система сравнит аналитику учета номенклатуры и партию. Если остаток по конкретной партии (документу приобретения) равен нулю, программа выдаст ошибку о недостаточности остатков именно по указанному источнику поступления.
Важно понимать разницу между возвратом и корректировкой. Документ Корректировка приобретения предназначен для исправления первичных документов поставщика (например, если в накладной была ошибка в цене или количестве). Проанализируем ситуацию: если мы делаем корректировку в сторону уменьшения количества, система также проверяет наличие товара. Однако, без включенного партионного учета, программа проверит только общий остаток на складе. Если на складе лежит аналогичный товар от другого поставщика или из другой закупки, корректировка будет проведена, что исказит себестоимость и историю закупок.
Посмотрим на риски, которые возникают при изменении учетной политики в уже работающей базе. Если вы решите включить партионный учет не с начала ведения учета, а в середине года, следует подготовиться к следующим последствиям:
Начало партионного учета, которая распределит текущие остатки товаров по документам поступления ретроспективно.Если включение полноценного партионного учета кажется слишком рискованным или сложным, рассмотрим альтернативные варианты контроля:
В настройках номенклатуры или склада можно включить Обособленный учет товаров по поставщикам. В этом случае товар на складе будет храниться в разрезе конкретного контрагента. При продаже система заставит пользователя указать, чей товар отгружается. Это позволит контролировать, чтобы возврат делался именно по тому поставщику, у которого товар закупался, хотя точность до конкретной накладной все равно может быть ниже, чем при партионном учете.
Если для критически важных товаров настроить политику учета серий Учет остатков серий, то при каждой операции (приход, расход, возврат) система будет требовать указания конкретной серии (например, номера партии или даты прихода). Это обеспечит 100% контроль: вы просто не сможете выбрать в документе возврата серию, которой нет в наличии на складе.
В случаях, когда типовой функционал не подходит, можно реализовать контроль через Расширение конфигурации. Рассмотрим логику проверки, которую можно внедрить в модуль проведения документа ВозвратТоваровПоставщику:
Процедура ПередЗаписью(Отказ, РежимЗаписи, РежимПроведения)
Если РежимПроведения = РежимПроведенияДанных.Проведение Тогда
// 1. Получаем документ-основание
// 2. Запросом к регистру "ЗапасыИЗакупки" или "ВыручкаИСебестоимостьПродаж"
// проверяем, сколько товара по этому поступлению было списано.
// 3. Сравниваем доступный остаток по партии с количеством в возврате.
// 4. Если ОстатокПартии < КоличествоВозврата, ставим Отказ = Истина.
КонецЕсли;
КонецПроцедуры
Такой подход позволит сохранить текущие настройки учета, но добавит жесткий запрет для пользователей на оформление некорректных документов.
Проанализировав ситуацию, мы видим, что стандартная логика 1С:Управление торговлей 11 без партионного учета опирается на общие остатки склада. Для обеспечения контроля возвратов рекомендуем либо внедрять Партионный учет 2.2 (желательно с начала нового отчетного периода), либо использовать механизмы Серийного учета для точной идентификации каждой поступившей единицы товара. Если данные меры неприменимы, следует рассмотреть административный контроль через специализированные отчеты, такие как Ведомость по товарам на складах с детализацией до регистратора, чтобы вручную отслеживать историю движения каждой позиции.