Разрыв связи «заказ клиента — заказ поставщику» в 1С:Управление торговлей 11: что менять, в каком порядке и как проверить
Содержание
Чтобы отвязать заказ поставщику
от заказа клиента в 1С УТ 11, начинайте с заказа клиента: в строках товара смените вариант обеспечения Обособленно на Резервировать на складе, Резервировать к дате или Не обеспечивать и перепроведите документ. Затем откройте заказ поставщику, очистите в строках ссылку на заказ клиента
и тоже перепроведите. Порядок важен: если начать с заказа поставщику, программа при следующем обеспечении снова «подтянет» связь.
Отвязка нужна, когда клиент отказался от товара, а поставка уже в пути, или когда закупку хотят пустить на свободный остаток склада. Ошибочная связь тоже мешает: товар лежит на складе, но продать его другому покупателю нельзя, пока резерв не снят.
Откуда берётся связь между заказами и когда её рвать
В Управлении торговлей 11 заказ поставщику оказывается привязан к заказу клиента в двух типичных ситуациях:
- 🔗 заказ поставщику создан на основании заказа клиента (кнопка
Создать на основании); - 🔗 закупка сформирована через рабочее место обеспечения потребностей (
Закупки → Обеспечение потребностей), а в строках заказа клиента стоял вариантОбособленно.
При варианте Обособленно товар закупается именно под этого покупателя. Пришедшая поставка не попадает в свободный остаток: она ждёт отгрузки по конкретному заказу клиента. Для других менеджеров такой товар «невидим».
Связь стоит разрывать в таких случаях:
- 🚫 Клиент отменил заказ или уменьшил количество, а поставщику заказ уже отправлен.
- 🔄 Товар нужен срочно другому покупателю, а первый готов подождать следующую поставку.
- 📦 Компания решила держать позицию в складском запасе, а не под заказ.
- 🧩 Связь появилась по ошибке: заказ поставщику ввели на основании не того заказа клиента.
Если клиент отменил заказ целиком, часто проще закрыть заказ клиента (статус Закрыт или отмена строк с причиной), а заказ поставщику оставить как есть, но без привязки. Так история сделки сохраняется для анализа отказов.
Когда отвязывать не нужно
Если поступление по заказу поставщику уже оформлено и товар отгружен клиенту, отвязка ничего не даст: движения закрыты. Исправлять в этом случае нужно уже документы поступления и реализации, а не заказы.
Перед началом: что проверить в заказах
Пять минут подготовки избавят от путаницы с остатками.
| Что проверить | Где смотреть | Зачем |
|---|---|---|
| Статус заказа клиента | шапка документа, поле Статус | закрытый заказ сначала нужно открыть, иначе правка недоступна |
| Статус заказа поставщику | шапка документа | при статусе Закрыт строки не редактируются |
| Есть ли поступление | кнопка Структура подчиненности (связанные документы) | после поступления меняется логика отвязки |
| Есть ли отгрузка клиенту | там же, в заказе клиента | частично отгруженные строки требуют отдельного подхода |
| Кто ещё работает с заказами | менеджеры по продажам и закупкам | чтобы никто параллельно не перезаписал документ |
Не правьте заказы в закрытом периоде без согласования с главным бухгалтером — изменения статусов не влияют на проводки, но могут изменить отчёты по обеспечению за прошлые даты.
Способ 1. Отвязать заказ поставщику вручную через формы документов
Это штатный и самый безопасный путь. Подходит, когда нужно поправить один-два документа и несколько строк.
Шаг 1. Меняем вариант обеспечения в заказе клиента
- Откройте заказ клиента:
Продажи → Заказы клиентов. - На вкладке
Товарынайдите колонкуВариант обеспечения(илиОбеспечение). Если её не видно, включите черезЕщё → Изменить форму. - Выделите строки, которые закупались под клиента. В них стоит
Обособленно. - Смените вариант:
Резервировать на складе— если товар уже есть на складе и его нужно отдать клиенту из общего остатка;Резервировать к дате— если клиент подождёт любую ближайшую поставку;Не обеспечивать— если строка больше не нужна, но заказ ещё не закрыт.
- Нажмите
Провести и закрыть.
Шаг 2. Убираем ссылку в заказе поставщику
- Откройте заказ поставщику:
Закупки → Заказы поставщикам. - На вкладке
Товарынайдите колонку со ссылкой на заказ клиента. В разных релизах она называетсяЗаказ клиентаилиНазначение; если колонки нет, включите её в настройке формы. - Очистите значение в нужных строках (кнопка с крестиком в поле или
Shift+F4). - Проведите документ.
Если в заказе поставщику несколько строк с разными заказами клиентов, очищайте только нужные. Массовое выделение всех строк и очистка колонки отвяжут сразу всех покупателей.
Шаг 3. Отмена строки вместо очистки
Если товар у поставщика больше не нужен совсем, не очищайте ссылку, а отмените строку. В табличной части заказов УТ 11 есть флажок Отменено и поле причины отмены. Отменённая строка перестаёт ожидаться к поступлению и не держит обеспечение заказа клиента.
Способ 2. Перепровести или пересоздать заказ поставщику
Когда заказ поставщику создан на основании «не того» заказа клиента и в нём много строк, иногда быстрее сделать новый документ.
- Скопируйте заказ поставщику (
F9в списке) — копия создаётся с теми же строками. - В копии очистите колонку с заказом клиента во всех строках и проведите.
- В исходном заказе снимите проведение (
Отменить проведениев менюЕщёили в списке) и пометьте его на удаление. - Если поставщику уже отправлен номер исходного заказа, сообщите ему новый номер или вместо удаления отмените все строки исходного документа.
Пока проведены оба документа — старый и копия, — товар числится к поступлению дважды. Обеспечение и потребность к закупке в этот момент искажены. Снимайте проведение со старого заказа сразу после проведения копии.
Сравнение первых двух способов:
| Способ | Когда подходит | Риски |
|---|---|---|
| Ручная очистка строк | 1–10 строк, заказ уже согласован с поставщиком | минимальные, номер заказа не меняется |
| Отмена строк | товар у поставщика не нужен | строки остаются в документе, это нормально |
| Копия + удаление исходного | много строк, ошибочная основа | двойное поступление, если забыть про исходник; новый номер для поставщика |
Способ 3. Почему «Поиск и замена значений» — плохая идея
Универсальная обработка «Поиск и замена значений» заменяет одну ссылку на другую во всей базе. Если заменить заказ клиента на пустое значение, ссылка пропадёт не только из заказа поставщику, но и из реализаций, счетов на оплату, платёжных документов, заданий на доставку.
Результат — разрушенные взаиморасчёты с клиентом по заказу и «висящие» оплаты. Поэтому для отвязки одного документа обработку использовать нельзя.
Применять её допустимо только в узком случае:
- 🧪 предварительно отработано на копии базы;
- 🎯 нужно заменить один заказ клиента другим (например, ошибочный дубль заказа на правильный), а не очистить ссылку;
- 💾 перед запуском сделана резервная копия, и пользователи предупреждены.
Если задача — отвязать десятки заказов поставщикам массово, правильный инструмент — групповая обработка с отбором по конкретному документу (способ 4), а не глобальная замена.
Способ 4. Программная отвязка для программиста 1С
Подходит, когда нужно отвязать много документов одинаково: например, все заказы поставщику по закрытым заказам клиентов за квартал.
Принцип такой же, как в ручном способе: сначала заказ клиента, потом заказ поставщику. Ниже — пример для внешней обработки, которая очищает ссылку на один заказ клиента в табличной части Товары заказа поставщику. Имя реквизита строки проверьте в Конфигураторе: в примере оно вынесено в переменную.
&НаСервере
Процедура ОтвязатьНаСервере(СсылкаЗаказПоставщику, СсылкаЗаказКлиента)
ИмяРеквизита = "ЗаказКлиента"; // проверьте имя в метаданных вашего релиза
Объект = СсылкаЗаказПоставщику.ПолучитьОбъект();
МетаТЧ = Объект.Метаданные().ТабличныеЧасти.Товары;
Если МетаТЧ.Реквизиты.Найти(ИмяРеквизита) = Неопределено Тогда
ВызватьИсключение "В табличной части Товары нет реквизита " + ИмяРеквизита;
КонецЕсли;
Изменено = Ложь;
Для Каждого Строка Из Объект.Товары Цикл
Если Строка[ИмяРеквизита] = СсылкаЗаказКлиента Тогда
Строка[ИмяРеквизита] = Неопределено;
Изменено = Истина;
КонецЕсли;
КонецЦикла;
Если Изменено Тогда
Объект.Записать(РежимЗаписиДокумента.Проведение);
КонецЕсли;
КонецПроцедуры
Что важно в этом коде:
- ✅ проверка реквизита через метаданные защищает от ошибки в другом релизе;
- ✅ запись с режимом
Проведениепересчитывает движения по регистрам заказов и обеспечения; - ✅ документ перезаписывается только если что-то реально изменилось.
Если реквизит в вашей конфигурации имеет составной тип, присваивайте не Неопределено, а пустую ссылку нужного типа. Иначе проверка заполнения при проведении может не пропустить документ.
Перед программной правкой в рабочей базе:
- Сделайте резервную копию (выгрузка
.dtили бэкап СУБД). - Прогоните обработку на копии и сравните остатки обеспечения до и после.
- Запускайте в рабочей базе вне часов активной работы менеджеров: документ, открытый у пользователя, может быть перезаписан им поверх ваших изменений.
Не меняйте движения регистров напрямую через запись наборов записей. Это быстро, но при следующем перепроведении документа «ручные» движения перезапишутся, а расхождения между документом и регистром останутся до того момента.
Частые ошибки при разрыве связи заказов
Отдельно о частично выполненных заказах. Если по заказу поставщику пришла часть товара, отвязывать можно только оставшееся количество. Поступившая часть уже легла под заказ клиента; её перераспределяют не правкой заказа, а изменением варианта обеспечения в заказе клиента и, при необходимости, перемещением или резервированием.
Как проверить, что заказ поставщику отвязан от заказа клиента
Проверяйте с двух сторон — со стороны покупателя и со стороны закупки.
Со стороны заказа клиента
- Откройте заказ клиента и нажмите
Структура подчиненности. Отвязанный заказ поставщику в дереве больше не должен висеть как подчинённый, если он не создавался на основании этого заказа клиента. - Посмотрите колонку обеспечения: в отвязанных строках вариант больше не
Обособленно. - Откройте
Продажи → Заказы клиентови проверьте состояние обеспечения заказа: если выбран резерв к дате, статус обеспечения будет ждать ближайшую свободную поставку.
Со стороны закупки и регистров
- В заказе поставщику откройте движения документа (
Ещё → Движения документа, доступно пользователю с соответствующими правами). - В регистрах заказов поставщикам и обеспечения строки по отвязанному товару не должны содержать ссылку на заказ клиента.
- Откройте рабочее место
Закупки → Обеспечение потребностейи убедитесь, что товар из этого заказа поставщику теперь виден как свободный источник для других заказов.
Частые вопросы
Можно ли отвязать заказ, если по нему уже есть поступление товаров?
Отвязка меняет проводки или себестоимость?
Нужно ли сообщать поставщику об отвязке?
Как запретить менеджерам ставить вариант «Обособленно»?
Почему после отвязки в заказе клиента появилось «к закупке»?
Не обеспечивать, если товар клиенту уже не нужен.