Почему расходятся данные в отчетах «Остатки и доступность товаров» и «Ведомость по товарам на складах»?

Пользователь 1С v8.3 (Управляемые формы) 1С:Управление торговлей Управленческий учет Торговля и дистрибуция
← На главную

В процессе оперативного складского учета в программах 1С («1С:Управление торговлей», «1С:Комплексная автоматизация», «1С:ERP Управление предприятием») пользователи нередко сталкиваются с ситуацией, когда отчет «Остатки и доступность товаров» и отчет «Ведомость по товарам на складах» показывают совершенно разные цифры по одной и той же номенклатуре. Например, в наличии числится одно количество, в резерве другое, а физический остаток на складе по ведомости кардинально отличается. Разберем по шагам, почему возникает эта проблема, как устроены механизмы хранения остатков и какими способами можно восстановить корректные данные.

Анализ источников данных: почему отчеты показывают разное количество

Для понимания природы расхождений выясним причину их формирования на уровне архитектуры 1С. Эти два отчета обращаются к абсолютно разным регистрам накопления и решают разные учетные задачи:

  1. Отчет «Ведомость по товарам на складах» обращается к регистру накопления ТоварыНаСкладах. Данный регистр отражает фактическое физическое наличие номенклатуры на конкретных складах компании. Движения по нему формируются документами фактического движения (приходные и расходные накладные, либо складские ордера при включенной ордерной схеме). В этом отчете можно задать произвольный интервал дат и развернуть движения до документа-регистратора.
  2. Отчет «Остатки и доступность товаров» оперирует регистрами доступности (в зависимости от версии конфигурации это регистр накопления СвободныеОстатки или регистр сведений РаспределениеЗапасов, а также регистр ТоварыКОтгрузке). Этот отчет является оперативным: он всегда показывает состояние запасов на текущую дату и учитывает не только наличие, но и зарезервированные позиции, ожидаемые поступления и потребности заказов. Из-за этого развернуть начальный остаток по документу-регистратору прямо в этом отчете не удастся.

Основные причины расхождений между отчетами

Проанализируем распространенные ситуации, которые приводят к рассинхронизации данных между фактическим наличием и доступностью:

  1. Ручные корректировки регистров. Использование документа «Корректировка регистров» часто становится источником ошибок. Если бухгалтер или администратор вручную скорректировал остаток в регистре ТоварыНаСкладах, но забыл отразить соответствующие изменения в регистре СвободныеОстатки (или наоборот), система перестает сводить данные воедино.
  2. Ордерная схема документооборота. При использовании ордерного склада финансовые документы (например, РеализацияТоваровУслуг) списывают свободный остаток и формируют резерв к отгрузке, но физический остаток в регистре ТоварыНаСкладах списывается только после проведения складского документа РасходныйОрдерНаТовары. Если ордер завис в промежуточном статусе («К отбору» или «В процессе сборки»), между отчетами возникнет временный или постоянный разрыв.
  3. Сбои в асинхронном расчете распределения запасов. В современных версиях конфигураций расчет доступности может выполняться в фоновом режиме. Если регламентное задание РасчетРаспределенияЗапасов завершилось аварийно или отключено, данные о резервах и доступности перестают быть актуальными.
  4. Обособление под назначение и зависшие заказы. Товар может числиться на складе физически, но при этом быть зарезервирован под конкретный заказ клиента или направление деятельности. В ведомости остатков он виден в общей сумме, а в отчете доступности исключается из свободной продажи. Также некорректная отмена строк в заказах (без снятия обеспечения) оставляет фиктивные резервы.
  5. Повреждение таблиц итогов СУБД. В результате аварийного завершения сеансов или блокировок могут повредиться агрегированные таблицы итогов регистров накопления.

Пошаговый поиск и локализация проблемы

Рассмотрим порядок действий для обнаружения конкретного документа, вызвавшего сбой:

  1. Откроем универсальный отчет или напрямую регистры ТоварыНаСкладах и СвободныеОстатки через меню «Функции для технического специалиста».
  2. Установим отбор по проблемной номенклатуре и складу.
  3. Сопоставим движения по регистраторам: найдем документ, который сформировал движение только по одному из регистров либо изменил количество непропорционально. Особое внимание уделим документам вида «Корректировка регистров».
  4. Если расхождение вызвано ручной корректировкой, исправим движения документа так, чтобы изменения синхронно затронули оба регистра, либо отменим некорректную ручную запись.

Способы автоматического исправления расхождений

Разберем штатные инструменты системы, позволяющие устранить расхождения без ручной правки таблиц:

  1. Использование сервисных обработок. В типовых конфигурациях предусмотрена обработка «Исправление расхождений остатков товаров», расположенная в разделе администрирования. Она автоматически выявляет расхождения между оперативными регистрами и складскими остатками и создает корректирующие записи.
  2. Корректировка распределения запасов. Для систем с динамическим расчетом обеспечения запускаем обработку «Корректировка распределения запасов», которая принудительно пересчитывает резервы по открытым заказам.
  3. Проверка складских ордеров. Перейдем в рабочие места «Склад и доставка» – «Приемка» и «Отгрузка». Проверим, нет ли документов со статусами, отличными от финальных («Принят», «Отгружен»). Завершим оформление всех зависших ордеров.
  4. Пересчет итогов на уровне платформы. Если явных ошибок в документах не обнаружено, запустим базу в режиме «Конфигуратор», перейдем в меню Администрирование – Тестирование и исправление, выберем пункт «Пересчет итогов» и выполним процедуру. Это действие устранит возможные математические нестыковки в таблицах итогов СУБД.
← На главную