Как отключить или обойти поле «Склад» в документе «Заказ поставщику» в 1С?

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

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

Анализ проблемы: почему 1С требует указания склада

Для начала проанализируем ситуацию, почему это поле является критически важным для системы. В современных конфигурациях 1С документ Заказ поставщику отвечает не только за фиксацию намерений закупить товар, но и за планирование обеспечения. Когда мы проводим заказ, система делает записи в регистры накопления (например, ЗаказыПоставщикам и ЗапасыИПотребности). Без привязки к конкретному складу алгоритмы MRP (планирование потребностей) не смогут понять, на какую именно точку ожидается приход товара, и не учтут его при автоматическом формировании других заказов.

Однако бизнес-процессы часто диктуют свои правила: товар может быть заказан у поставщика «в пути», а решение о том, на какой конкретно склад (оптовый, розничный или склад брака) он ляжет, принимается уже в момент прибытия фуры. Рассмотрим по шагам, как настроить программу под такие требования.

Способ 1. Глобальное отключение использования нескольких складов

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

  1. Перейдем в раздел НСИ и администрирование.
  2. Выберем пункт Настройка НСИ и разделов — Склад и доставка.
  3. Найдем флаг Несколько складов и снимем его.

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

Способ 2. Использование настройки «Склады в табличной части»

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

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

Способ 3. Метод «Виртуального склада» (Рекомендуемое решение)

Выясним, как опытные специалисты решают проблему без изменения программного кода. Самый эффективный способ — создание логического (транзитного) склада.

Алгоритм действий:

  1. Создадим в справочнике Склады новый элемент с названием, например, «Склад в пути (распределительный)».
  2. В документе Заказ поставщику всегда указываем этот виртуальный склад. Таким образом, заказ будет проведен, и финансовые условия зафиксированы.
  3. В момент фактического поступления товара создаем документ Приобретение товаров и услуг.
  4. В «Приобретении» (ПТиУ) меняем склад на реальный, на который пришел товар.

Программа 1С позволяет в документе-основании (Заказе) указывать один склад, а в документе-факте (Приобретении) — другой. При этом связь между документами не теряется, а заказ будет считаться исполненным. Это наиболее «чистый» метод с точки зрения методологии учета. Для контроля фактического закрытия таких заказов можно использовать отчет для сверки заказов поставщикам и поступлений.

Способ 4. Ордерная схема документооборота

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

  1. Менеджер оформляет Заказ поставщику на некий основной склад (возможно, тот же виртуальный).
  2. Бухгалтер или менеджер оформляет Приобретение товаров и услуг (финансовый документ).
  3. Кладовщик, используя рабочее место Приемка товаров, создает документ Приходный ордер на товары именно на тот склад, куда по факту выгрузили машину.

В этой схеме «Заказ» — это лишь предварительная договоренность, а фактическое местоположение товара определяется именно «Ордером». Это позволяет не переделывать заказы, если логистика изменилась в последний момент. Для контроля сходимости объемов при такой схеме можно использовать расширение для запрета превышения количества в ордерах над поступлениями.

Способ 5. Техническое решение через «Расширение конфигурации»

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

С помощью расширения программист может за 15-20 минут выполнить следующие действия:

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

Пример программного изменения свойства через расширение (условно):


&НаСервере
Процедура ПриСозданииНаСервереПосле(Отказ, СтандартнаяОбработка)
    // Убираем обязательность заполнения склада на форме
    Элементы.Склад.АвтоОтметкаНезаполненного = Ложь;
    Элементы.Склад.ПроверкаЗаполнения = ПроверкаЗаполнения.НеПроверять;
КонецПроцедуры

Предупреждение: При таком подходе вы должны осознавать, что типовые отчеты (например, «Остатки и доступность товаров») могут показывать некорректные данные, так как пустой склад для системы — это тоже своего рода значение (null или пустая ссылка), которое не учитывается в разрезе реальных мест хранения.

Способ 6. Использование документа «Соглашение с поставщиком»

Посмотрим на ситуацию под другим углом. Если вам нужно просто зафиксировать цены и условия закупки без привязки к складу, рассмотрите возможность использования справочника Соглашения с поставщиками. В соглашении можно прописать все условия, при этом склад там не является обязательным жестким параметром. Позже, когда склад станет известен, вы создадите Заказ или Приобретение на основании этого соглашения.

Итоги и рекомендации

Проанализировав все варианты, мы приходим к следующим выводам:

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

← На главную