При переходе на 1С:Управление торговлей 11 (УТ 11) с более старых версий или сторонних систем многие специалисты сталкиваются с отсутствием привычного документа «Ввод остатков резервов». В новой архитектуре 1С механизмы резервирования претерпели значительные изменения. В этой статье мы подробно разберем, как устроена система резервов в УТ 11, какими инструментами пользоваться для их загрузки и почему в конфигураторе не всегда видны прямые движения документов.
Первое, что необходимо понять: в УТ 11 резерв не является самостоятельной сущностью, отделенной от потребности. Система построена на тесной связи между «Обеспечением» и «Заказами». Рассмотрим подробнее, почему не стоит искать универсальный «двигатель регистров» для прямой записи в таблицы остатков.
В отличие от версии 10.3, где резерв фиксировался простым движением по регистру ТоварыВРезервеНаСкладах, в актуальных версиях УТ 11 (2.4 и 2.5) за распределение запасов отвечает сложный программный механизм. Проанализируем основные принципы его работы:
Заказ клиента, Заказ на перемещение или Заказ на внутреннее потребление.Действие табличной части товаров.Если перед нами стоит задача загрузить начальные остатки резервов, а переносить всю историю заказов из старой системы нецелесообразно, мы можем применить методику «технических заказов». Разберем этот процесс по шагам:
Создадим документ Заказ клиента на фиктивного партнера (например, «Перенос резервов»). При загрузке данных из внешнего файла (Excel или XML) крайне важно правильно заполнить колонку Действие. Рассмотрим, какие варианты доступны:
Проанализируем ситуацию: если мы загружаем остатки и хотим, чтобы свободный остаток на складе уменьшился, а резерв увеличился, нам необходимо программно или вручную установить действие Резервировать на складе. Без этого документ не сделает нужных движений, даже будучи проведенным.
Бывают случаи, когда товар уже оприходован на склад как свободный остаток (через «Ввод остатков»), и нам нужно распределить его по конкретным назначениям. Для этого идеально подходит документ Корректировка назначения товаров. Выясним причину, почему этот способ удобен для автоматизации:
Этот документ позволяет «перебросить» товар из свободного остатка в резерв под конкретный заказ или, наоборот, снять резерв. При программном заполнении такого документа используется следующий подход:
// Пример заполнения строки корректировки назначения
НоваяСтрока = Объект.Товары.Добавить();
НоваяСтрока.Номенклатура = ВыбранныйТовар;
НоваяСтрока.Количество = ЗагружаемоеКоличество;
НоваяСтрока.Склад = СкладРезерва;
НоваяСтрока.ИсходноеНазначение = Справочники.Назначения.ПустаяСсылка(); // Из свободного остатка
НоваяСтрока.НовоеНазначение = СформированноеНазначениеПодЗаказ;
Таким образом, мы можем гибко управлять резервами без необходимости перепроведения старых заказов клиентов.
Многие разработчики, открывая документ ЗаказКлиента в конфигураторе, удивляются, не обнаружив в списке движений регистра СвободныеОстатки или других ожидаемых регистров. Посмотрим на этот механизм изнутри.
В современных конфигурациях на базе 1С:ERP и УТ 11 используется механизм отложенного или фонового формирования движений. Запись в регистры обеспечения (такие как РаспределениеЗапасов) происходит не через стандартную подсистему проведения, а через вызов специализированных общих модулей (например, ЗапасыСервер).
Это сделано для оптимизации производительности при многопользовательской работе. Чтобы увидеть реальные движения, необходимо использовать отчет «Движения документа» в режиме «1С:Предприятие» или анализировать регистр накопления Распределение запасов с отбором по регистратору.
Если вы пишете обработку для загрузки резервов, рассмотрите следующие важные моменты:
Заказ клиента начинает формировать резервы только в статусе К выполнению или Закрыт (частично). В статусе На согласовании движения по резервам обычно не формируются.Остатки и доступность товаров. Именно он показывает итоговую картину: сколько товара есть в наличии, сколько в резерве и сколько доступно для новых заказов.Подводя итог, можно сказать, что самым «ловким» способом загрузки резервов в УТ 11 является создание технических заказов клиентов с установленным действием «Резервировать на складе». Это полностью соответствует методологии системы и гарантирует корректную работу всех типовых отчетов и механизмов обеспечения в будущем.