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