В типовой конфигурации 1С:Управление нашей фирмой (УНФ) архитектура резервирования жестко привязана к конкретному складу. Это часто создает сложности для компаний, которые имеют распределенную сеть складов или торговых точек, но хотят видеть общую картину обеспечения заказов. Часто возникает ситуация: товар есть на одном складе, а отгрузка планируется с другого, и типовой Заказ покупателя не позволяет «забронировать» товар по всей компании сразу. Рассмотрим, как решить эту задачу, используя стандартный функционал системы.
Проанализируем стандартную ситуацию. Когда менеджер создает документ Заказ покупателя, он указывает склад отгрузки. Если на этом складе товара нет, система не позволит установить резерв, даже если на соседнем складе этого товара в избытке. Если же зарезервировать товар на «чужом» складе (указав его в табличной части), то при попытке сделать Перемещение запасов на склад отгрузки, система может выдать ошибку, так как товар заблокирован резервом. Разберем по шагам, как правильно выстроить бизнес-процесс, чтобы обойти эти ограничения.
Это самый корректный и надежный способ в УНФ. Основной секрет заключается в том, что резерв может «путешествовать» между складами, если документы оформлены в правильной последовательности и с указанием документов-оснований.
Рассмотрим алгоритм действий:
Заказ покупателя. В шапке указываем основной склад отгрузки (даже если там нулевой остаток). В табличной части для номенклатуры в колонке «Способ обеспечения» выбираем «Запас» (но не резервируем принудительно, если товара нет).Заказ на перемещение.Заказе на перемещение указываем «Склад-отправитель» (где товар есть) и «Склад-получатель» (откуда будет отгрузка). В колонке «Резерв» ставим галочку или указываем количество. В этот момент товар резервируется на складе-отправителе именно под наш заказ покупателя.Перемещение запасов.Важный технический момент: При проведении Перемещения запасов, созданного на основании заказа, резерв автоматически снимается со склада-отправителя и сразу устанавливается на складе-получателе. Связь с Заказом покупателя при этом сохраняется. Таким образом, мы получаем эффект «сквозного» резервирования по компании.
Чтобы не создавать перемещения вручную для каждого заказа, проанализируем возможности обработки Расчет потребностей. Это мощный пульт управления запасами в УНФ.
Выполним следующие шаги:
Заказы на перемещение. Система сама подставит документ-основание (заказ покупателя), что позволит сохранить цепочку резервирования, описанную в первом методе.Если специфика бизнеса позволяет, рассмотрим упрощенную схему с использованием «виртуального» склада. Этот метод часто используется в небольших компаниях, чтобы упростить работу менеджеров.
Суть метода:
Создается склад с названием, например, «Центральный резерв (виртуальный)». Весь товар при поступлении или по окончании рабочего дня перемещается на этот виртуальный склад. Менеджеры при оформлении Заказов покупателей всегда указывают этот склад и резервируют товар на нем. В момент фактической отгрузки, когда становится понятно, с какой точки поедет товар, оформляется Перемещение запасов с реального склада на виртуальный под конкретный заказ, и следом выписывается Расходная накладная.
Такой подход имитирует резервирование «по компании», так как менеджер видит общий остаток на виртуальной единице хранения.
Посмотрим на пример логики, которую можно реализовать с помощью небольшой доработки или расширения, если типовых средств недостаточно. Проанализируем программный подход к распределению резервов:
// Пример логики поиска свободного остатка на складах для автоматического резервирования
Запрос = Новый Запрос;
Запрос.Текст =
"ВЫБРАТЬ
| ЗапасыОстатки.Номенклатура,
| ЗапасыОстатки.Склад,
| ЗапасыОстатки.КоличествоОстаток КАК Остаток
|ИЗ
| РегистрНакопления.Запасы.Остатки(&МоментВремени, Номенклатура = &Номенклатура) КАК ЗапасыОстатки
|ГДЕ
| ЗапасыОстатки.КоличествоОстаток > 0";
Запрос.УстановитьПараметр("МоментВремени", ТекущаяДата());
Запрос.УстановитьПараметр("Номенклатура", ВыбранныйТовар);
Результат = Запрос.Выполнить().Выбрать();
Пока Результат.Следующий() Цикл
// Здесь может быть логика автоматического создания Заказа на перемещение
// со склада Результат.Склад на склад отгрузки
КонецЦикла;
Использование подобных алгоритмов позволяет системе автоматически «подтягивать» товар с тех складов, где он есть, обеспечивая единое пространство резервирования.
Выясним, какой путь выбрать именно вам. Если ваша компания только начинает работу в УНФ, настоятельно рекомендуем использовать Метод №1 (через Заказы на перемещение). Это наиболее «чистый» способ с точки зрения методологии 1С.
Основные преимущества этого подхода:
Запасы и Запасы к отгрузке.Разберем типичную ошибку новичков: попытку разрешить «списание в минус» или ручное удаление строк из документов резервирования. Это приводит к расхождению управленческого баланса и путанице в остатках. Лучше потратить время на освоение цепочки перемещений, чем на исправление отрицательных остатков в конце месяца.