Почему после обновления 1С:Управление торговлей 11.5 не проводятся документы и как заполнить новый регистр «Запасы и потребности»?

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

При переходе на новые релизы конфигурации «Управление торговлей» версии 11.5 (начиная с 11.5.9 и выше, включая 11.5.17) многие технические специалисты сталкиваются с критической проблемой: документы отгрузки перестают проводиться. Система выдает стандартную, на первый взгляд, ошибку: «Для отгрузки/резервирования необособленного товара недостаточно свободного остатка» (в ряде случаев решить проблему помогает дополнительная проверка остатков при проведении). При этом отчеты по складу показывают наличие товара, а физически остатки никуда не исчезали.

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

Причина проблемы: переход на новый регистр «Запасы и потребности»

Начиная с ветки 11.5.9, разработчики компании «1С» радикально изменили механизм распределения запасов. Рассмотрим основные изменения в структуре метаданных:

  1. Был удален (или признан устаревшим) регистр накопления РаспределениеЗапасовДвижения.
  2. Перестал использоваться в оперативном учете регистр сведений РаспределениеЗапасов.
  3. Взамен был введен новый универсальный регистр накопления ЗапасыИПотребности.

Этот регистр объединяет информацию о фактических остатках на складах, резервах под заказы, ожидаемых поступлениях и потребностях. Проблема заключается в том, что при обновлении через несколько релизов (например, с 11.5.12 на 11.5.17) данные из старых регистров должны автоматически мигрировать в новый. Если этот процесс не завершен, регистр ЗапасыИПотребности остается пустым (подробнее о нюансах заполнения регистра «Запасы и потребности»). Поскольку система в новых релизах ищет свободные остатки именно в нем, она «считает», что товара на складе нет, и блокирует проведение документов.

Шаг 1: Проверка статуса отложенного обновления

Проанализируем типичную ошибку администраторов: завершение технического обновления конфигурации (наката cf-файла) ошибочно принимается за полное завершение обновления всей базы. На самом деле, основные процедуры трансформации данных выполняются в режиме «1С:Предприятие» в фоновом режиме.

Для проверки состояния процедур выполним следующие действия:

  1. Перейдем в раздел НСИ и администрированиеОбслуживание.
  2. Откроем пункт Результаты обновления программы.
  3. Обратим внимание на гиперссылку Информационные ссылки или сразу на список Дополнительные процедуры обработки данных.

Как показывает практика, часто из сотни процедур выполняется лишь одна, а остальные остаются в статусе «Ожидание» или «Выполняется». Пока процедура миграции данных в регистр ЗапасыИПотребности не получит статус «Выполнено», документы проводиться не будут.

Шаг 2: Принудительный запуск регламентных заданий

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

  1. Найдем регламентное задание ОтложенноеОбновлениеИБ.
  2. Убедимся, что оно включено.
  3. Нажмем кнопку Выполнить сейчас.

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

Шаг 3: Включение производительного режима записи

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

  1. Зайдем в настройки склада и отгрузки.
  2. Проверим состояние функциональной опции «Производительный режим записи...».
  3. Если она выключена — включим её. Это действие часто инициирует повторную регистрацию заданий на пересчет остатков в регистре ЗапасыИПотребности, состояние которого можно проанализировать через отчет по движениям товаров с резервами.

Шаг 4: Ручной пересчет распределения запасов

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

  1. Перейдем в НСИ и администрированиеОбслуживаниеКорректировка данных.
  2. Найдем ссылку Исправление ошибок в регистре сведений "Распределение запасов" (несмотря на название, в новых релизах она также инициирует обновление данных в связанных регистрах накопления, включая исправление аналитики и перепроведение документов).
  3. Запустим поиск ошибок. После завершения анализа нажмем Исправить ошибки.

Проанализируем ситуацию программно. Если нам необходимо вручную запустить обработчик обновления для конкретного объекта, мы можем воспользоваться встроенным кодом (через консоль кода), который инициирует процедуру для регистра:


// Пример логики вызова обработчика обновления (упрощенно)
ПроцедурыОбновления = ОбновлениеИнформационнойБазы.ЗаданияОбновления();
Для Каждого СтрокаПроцедуры Из ПроцедурыОбновления Цикл
    Если Найти(СтрокаПроцедуры.ИмяОбработчика, "ЗапасыИПотребности") > 0 Тогда
        // Запуск конкретного обработчика миграции
        ОбновлениеИнформационнойБазы.ВыполнитьОбработчикОбновления(СтрокаПроцедуры);
    КонецЕсли;
КонецЦикла;

Рекомендации по обновлению «через релизы»

Рассмотрим риски «прыжка» с версии 11.5.12 сразу на 11.5.17. Между этими выпусками находится большое количество промежуточных обновлений, в каждом из которых могли меняться алгоритмы работы с назначениями, направлениями деятельности и обособленным учетом.

Почему это важно: при быстром обновлении некоторые системные поля (например, пустые ссылки на Назначения) могут заполниться некорректно (значением NULL вместо пустой ссылки), что делает остаток «невидимым» для запроса проведения. Если после выполнения всех процедур отложенного обновления ошибка сохраняется, рекомендуем:

В самом крайнем случае, если база небольшая, помогает полное перепроведение документов за период (месяц или квартал) (удобно через обработка группового перепроведения документов), что принудительно перезапишет движения в новом регистре ЗапасыИПотребности. Однако начинать всегда следует именно с проверки Результатов обновления программы, так как в 90% случаев причина кроется именно в незавершенных фоновых процессах 1С.

← На главную