Как правильно и эффективно загрузить резервы товаров в 1С:Управление торговлей 11

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

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

Особенности архитектуры резервирования в УТ 11

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

В отличие от версии 10.3, где резерв фиксировался простым движением по регистру ТоварыВРезервеНаСкладах, в актуальных версиях УТ 11 (2.4 и 2.5) за распределение запасов отвечает сложный программный механизм. Проанализируем основные принципы его работы:

  1. Связь с заказами: Любой резерв должен быть «привязан» к объекту-основанию. Чаще всего это Заказ клиента, Заказ на перемещение или Заказ на внутреннее потребление.
  2. Управление через «Действие»: Резервирование управляется не только статусом документа, но и значением в колонке Действие табличной части товаров.
  3. Регистр «Распределение запасов»: Это ключевой узел, где сводятся остатки, ожидаемые поступления и потребности.

Способ 1: Использование «Технических заказов» для загрузки резервов

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

Создадим документ Заказ клиента на фиктивного партнера (например, «Перенос резервов»). При загрузке данных из внешнего файла (Excel или XML) крайне важно правильно заполнить колонку Действие. Рассмотрим, какие варианты доступны:

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

Способ 2: Загрузка через «Корректировку назначения товаров»

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

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


// Пример заполнения строки корректировки назначения
НоваяСтрока = Объект.Товары.Добавить();
НоваяСтрока.Номенклатура = ВыбранныйТовар;
НоваяСтрока.Количество = ЗагружаемоеКоличество;
НоваяСтрока.Склад = СкладРезерва;
НоваяСтрока.ИсходноеНазначение = Справочники.Назначения.ПустаяСсылка(); // Из свободного остатка
НоваяСтрока.НовоеНазначение = СформированноеНазначениеПодЗаказ; 

Таким образом, мы можем гибко управлять резервами без необходимости перепроведения старых заказов клиентов.

Почему в Конфигураторе не видно движений по резервам?

Многие разработчики, открывая документ ЗаказКлиента в конфигураторе, удивляются, не обнаружив в списке движений регистра СвободныеОстатки или других ожидаемых регистров. Посмотрим на этот механизм изнутри.

В современных конфигурациях на базе 1С:ERP и УТ 11 используется механизм отложенного или фонового формирования движений. Запись в регистры обеспечения (такие как РаспределениеЗапасов) происходит не через стандартную подсистему проведения, а через вызов специализированных общих модулей (например, ЗапасыСервер).

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

Практические рекомендации по программной загрузке

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

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

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

← На главную