Как исправить расхождение остатков в регистре «Распределение запасов» после перехода с УТ 11.4 на 11.5?

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

Переход с конфигурации «Управление торговлей» версии 11.4 на версию 11.5 — это не просто очередное обновление, а полноценная смена архитектуры учета запасов. Одной из самых частых проблем, с которой сталкиваются специалисты, является внезапное расхождение остатков: отчеты показывают наличие товара, но программа не дает его зарезервировать, либо доступный остаток отображается некорректно. В этой статье мы подробно разберем, почему возникают такие ситуации и как привести данные в порядок.

Почему это происходит: смена архитектуры распределения

Проанализируем ключевое изменение. В версии 11.4 данные об остатках и резервах собирались «на лету» из нескольких регистров накопления (преимущественно ТоварыНаСкладах и ЗаказыНаОтгрузку). В версии 11.5 разработчики внедрили вспомогательный регистр сведений РаспределениеЗапасов. Он выполняет роль «витрины» — предварительно рассчитанных данных о том, сколько товара есть в наличии, сколько зарезервировано и сколько ожидается к поступлению.

Если этот регистр заполнен неверно или не синхронизирован с первичными регистрами накопления, пользователь видит в отчетах хаос. Основная причина поломки этой «витрины» при переходе — нарушение технологического процесса обновления.

Правильная последовательность перехода (цепочка релизов)

Выясним, как должен выглядеть корректный путь обновления. Пропуск промежуточных версий или игнорирование отложенных обработок данных — прямой путь к потере информации. Рассмотрим рекомендованную схему перехода:

  1. Переход с 11.4.14.181 на промежуточную сборку 11.5.8.443.
  2. Переход на 11.5.12.270.
  3. И только затем обновление до актуальных релизов ветки 11.5.17.

Важный момент: на каждом из этих этапов необходимо заходить в режим «1С:Предприятие» и дожидаться завершения всех процедур отложенного обновления. Если вы обновили конфигурацию «пачкой» через конфигуратор и только в конце запустили предприятие, скрипты миграции данных могут отработать некорректно, так как алгоритмы последней версии могут не учитывать специфику данных, пришедших напрямую из старой архитектуры 11.4.

Шаг 1. Проверка завершения отложенных обновлений

Прежде чем приступать к правкам, убедимся, что сама система не находится в процессе трансформации данных. Перейдем в раздел Администрирование — Обслуживание — Обновление программы и откроем гиперссылку Результаты обновления и дополнительные процедуры. Если в списке есть незавершенные задачи, особенно касающиеся регистров накопления и запасов, необходимо дождаться их окончания. Если процедуры завершены с ошибками, их нужно устранить в первую очередь.

Шаг 2. Использование скрытой обработки «Исправление распределения запасов»

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

  1. Включим режим «Функции для технического специалиста» (через главное меню «Настройки»).
  2. В окне поиска введем «Исправление распределения запасов».
  3. Запустим одноименную обработку.

Проанализируем ситуацию: эта обработка позволяет найти расхождения между регистрами накопления ТоварыНаСкладах, ЗапасыИПотребности и регистром сведений РаспределениеЗапасов. Рекомендуется выбирать режим «Полное переформирование» для проблемных складов. Это заставит систему очистить записи в «витрине» и перезаполнить их на основании фактических движений документов.

Шаг 3. Анализ регистра «Запасы и потребности»

Если обработка исправления не помогла, стоит заглянуть глубже. В 11.5 регистр накопления ЗапасыИПотребности является фундаментом. Расхождения часто возникают из-за «зависших» движений по закрытым заказам. Посмотрим на пример: заказ клиента был закрыт в версии 11.4 с отменой неотгруженных строк, но в регистре ЗапасыИПотребности после миграции остались записи о потребности.

В такой ситуации помогает временное открытие заказа, перевод его в статус «К выполнению», повторное проведение и последующее корректное закрытие с использованием обработки «Закрытие заказов». Это принудительно очищает остатки по регистрам обеспечения.

Шаг 4. Исправление отрицательных остатков

Распределение запасов в 11.5 крайне чувствительно к «минусам» по организациям. Проанализируем отчет «Контроль остатков товаров организаций». Если в базе есть ситуации, когда товар продан по одной организации, а числится на другой, механизм распределения может блокировать доступный остаток. Необходимо устранить все отрицательные значения в регистре ТоварыОрганизаций (например, с помощью документа «Передача товаров между организациями»).

Шаг 5. Радикальный метод: программная очистка регистра

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


НаборЗаписей = РегистрыСведений.РаспределениеЗапасов.СоздатьНаборЗаписей();
// Если нужно очистить только по конкретному складу, добавляем отбор:
// НаборЗаписей.Отбор.Склад.Установить(ВыбранныйСклад);
НаборЗаписей.Записать();

После очистки необходимо запустить процедуру актуализации. Это можно сделать, просто перепроведя документы за период или воспользовавшись регламентным заданием «Распределение запасов». Система автоматически увидит отсутствие записей в регистре и начнет их создавать на основе текущих остатков и актуальных заказов.

Рекомендации по оперативной работе

Чтобы проблема не вернулась, проверим настройки системы. Перейдем в НСИ и администрирование — Склад и доставка. Обратим внимание на настройку «Распределять запасы»:

Если после обновления вы видите «плавающие» остатки, попробуйте переключить этот режим в положение «При проведении документов». Это исключит влияние очереди фоновых заданий на достоверность данных в отчетах.

Резюмируем: исправление остатков в 11.5 требует комплексного подхода. Сначала мы завершаем все отложенные процедуры, затем исправляем первичные данные (минусы и закрытые заказы) и в последнюю очередь пересчитываем «витрину» распределения с помощью специализированных инструментов или полной перезаписи регистра.

← На главную