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