Как привязать номенклатуру к определенному складу по умолчанию в 1С:Управление торговлей 11?

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

При работе в программах линейки 1С часто возникает задача закрепить за конкретной номенклатурной позицией определенный склад. Например, когда скоропортящиеся продукты должны по умолчанию приходить на холодильный склад, а строительные материалы — на открытую площадку. В этом материале мы подробно разберем, как устроена логика работы со складами в 1С:Управление торговлей (редакции 11.4 и 11.5), какие штатные механизмы можно использовать и как реализовать автоподстановку склада при ручном вводе документов.

Анализ проблемы: есть ли в карточке номенклатуры поле «Склад по умолчанию»?

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

Тем не менее, в системе предусмотрено несколько механизмов, позволяющих автоматизировать подстановку склада при формировании документов. Проанализируем эти варианты подробно.

Вариант 1. Использование схем обеспечения потребностей (Штатный механизм)

Если задача заключается в том, чтобы система сама определяла склад при автоматическом расчете и формировании заказов поставщикам, воспользуемся функционалом подсистемы поддержания запасов и обеспечения потребностей.

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

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

Как это работает: При запуске обработки Формирование заказов по потребностям программа анализирует остатки, минимальные/максимальные запасы и установленные схемы обеспечения. В результате автоматический Заказ поставщику будет сформирован именно на тот склад, который зафиксирован в схеме обеспечения.

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

Вариант 2. Привязка склада через соглашения с поставщиками

Выясним, как подставлять склад на уровне документа с помощью коммерческих условий работы с контрагентами.

Если определенная номенклатурная группа поставляется конкретным контрагентом на выделенный склад, мы можем зафиксировать это в соглашении:

  1. Откроем справочник Соглашения с поставщиками.
  2. В карточке соглашения на вкладке Условия закупок заполним реквизит Склад.
  3. При оформлении документов закупки и выборе данного соглашения склад в шапке документа подставится автоматически.

Ограничение метода: Склад из соглашения заполняет шапку документа. Если в одном документе от одного поставщика поступают товары, предназначенные для разных складов, разделить их по строкам табличной части в автоматическом режиме штатно не получится.

Вариант 3. Настройка подстановки при ручном вводе (Дополнительный реквизит + Расширение)

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

Для реализации этого сценария без снятия базы с поддержки выполним два простых шага.

Шаг 1. Создание дополнительного реквизита номенклатуры

  1. Перейдем в раздел НСИ и администрирование > Администрирование > Общие настройки > Дополнительные реквизиты и сведения.
  2. Откроем Дополнительные реквизиты для справочника Номенклатура.
  3. Добавим новый реквизит с наименованием «Основной склад закупки» и типом значения Склады.
  4. В карточках необходимых товаров заполним целевой склад.

Шаг 2. Подключение расширения конфигурации

Для автоматической подстановки значения из созданного дополнительного реквизита программист 1С может добавить небольшое расширение конфигурации. Разберем пример кода, обрабатывающего событие изменения номенклатуры в табличной части документа:


&НаКлиенте
Процедура Расш1_ТоварыНоменклатураПриИзмененииПосле(Элемент)
    
    СтрокаТЧ = Элементы.Товары.ТекущиеДанные;
    Если СтрокаТЧ = Неопределено Тогда
        Возврат;
    КонецЕсли;
    
    Если ЗначениеЗаполнено(СтрокаТЧ.Номенклатура) Тогда
        ЦелевойСклад = ПолучитьОсновнойСкладНоменклатуры(СтрокаТЧ.Номенклатура);
        Если ЗначениеЗаполнено(ЦелевойСклад) Тогда
            СтрокаТЧ.Склад = ЦелевойСклад;
        КонецЕсли;
    КонецЕсли;

КонецПроцедуры

&НаСервереБезКонтекста
Функция ПолучитьОсновнойСкладНоменклатуры(СсылкаНоменклатура)
    
    // Имя свойства доп. реквизита
    ИмяСвойства = "ОсновнойСкладЗакупки"; 
    
    СкладЗначение = Справочники.Склады.ПустаяСсылка();
    
    // Получение значения дополнительного реквизита
    Запрос = Новый Запрос;
    Запрос.Текст = 
        "ВЫБРАТЬ
        |	НоменклатураДополнительныеРеквизиты.Значение КАК Склад
        |ИЗ
        |	Справочник.Номенклатура.ДополнительныеРеквизиты КАК НоменклатураДополнительныеРеквизиты
        |ГДЕ
        |	НоменклатураДополнительныеРеквизиты.Ссылка = &Ссылка
        |	И НоменклатураДополнительныеРеквизиты.Свойство.Имя = &ИмяСвойства";
        
    Запрос.УстановитьПараметр("Ссылка", СсылкаНоменклатура);
    Запрос.УстановитьПараметр("ИмяСвойства", ИмяСвойства);
    
    Выборка = Запрос.Выполнить().Выбрать();
    Если Выборка.Следующий() Тогда
        СкладЗначение = Выборка.Склад;
    КонецЕсли;
    
    Возврат СкладЗначение;
    
КонецФункции

Подведем итоги

Мы проанализировали существующие подходы к привязке номенклатуры к складу в 1С:Управление торговлей 11:

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