Из-за временных ограничений на территории РФ наблюдаются проблемы с оплатой. Если платёж не проходит, оставьте запрос в службу поддержки.Служба поддержки работает 24/7 — мы всегда на связи по вопросам хостинга и серверов.Открыт прием заявок на аренду выделенных серверов и размещение оборудования в дата-центре.Напоминаем: рекомендуем включить резервное копирование для дополнительной защиты данных.Доступна новая линейка VPS/VDS с NVMe-дисками и увеличенной производительностью.Технические работы на части серверов завершены. Все сервисы работают в штатном режиме.
Статья8 мин чтенияПросмотры2

Частичные отгрузки без путаницы в заказах и обмене с 1С

Пять товаров можно отправить двумя партиями, сохранив один заказ. На условном примере показано, как разделить план, факт отправки и оплату, а в обмене не потерять остаток и не создать повторную отгрузку.

Комментарии 0

Две коробки с керамическими чашками на упаковочном столе. Сгенерированная иллюстрация.
В этой статье

Из пяти заказанных чашек три можно отправить сегодня, а две будут готовы через неделю. Покупатель согласен получить заказ частями. Если магазин после первой посылки поставит всему заказу статус «Выполнен», оставшиеся чашки легко потерять из виду. Если создаст второй независимый заказ, появятся новые вопросы: куда отнести уже полученные деньги и не передаст ли обмен в 1С продажу повторно?

Рабочая модель сохраняет один заказ и отдельно описывает каждую отгрузку. При этом количество запланированных к отправке вещей, факт отправки и состояние оплаты учитываются независимо. В «1С-Битрикс: Управление сайтом» существуют отдельные документы отгрузок и оплат. Но наличие этих сущностей само по себе не доказывает, что конкретный модуль обмена передаёт их правильно.

Пять чашек остаются пятью

Продолжим условный пример с одной товарной позицией. В заказе пять одинаковых чашек. В первой отгрузке запланированы три, во второй — две. Состав заказа не уменьшается до трёх только потому, что сегодня склад готов отправить именно столько. Покупатель по-прежнему ждёт исполнения обязательства на пять единиц.

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

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

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

У заказа с несколькими товарами одна отгрузка может содержать часть каждой строки. Поэтому связь «одна строка заказа — один документ отгрузки» слишком узкая. Нужна возможность распределить количество строки между несколькими документами и увидеть нераспределённый остаток. Для проекта полезно записать проверку простыми словами: ни одна единица не должна одновременно числиться в двух действующих планах отправки.

Документ отгрузки и посылка не всегда совпадают

Одна отгрузка может ехать в нескольких коробках. И наоборот, служба доставки может предлагать собственную модель объединения отправлений. Нельзя считать количество коробок количеством отгрузок без проверки правил конкретного модуля. Идентификатор документа магазина, номер документа учётной системы и номер отслеживания перевозчика служат разным целям.

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

Официальный курс 1С-Битрикс описывает разделение ещё не начатой отгрузки на несколько документов без изменения состава заказа. Приведённая там процедура имеет условие: процесс отгрузки товаров ещё не начат. Переносить её на уже отправленный документ нельзя. Эта статья объясняет модель работы; удаление и пересоздание документов в действующем магазине здесь не предлагается.

Для внедрения нужно отдельно проверить редакцию продукта, версию модуля магазина, решение доставки и режим складского учёта. Внешний модуль может хранить заявку перевозчику у себя. Изменение документа на сайте не гарантирует отмену уже созданной заявки во внешней системе, даже если кнопка в интерфейсе отработала без ошибки.

Оплата не обязана повторять деление на партии

Покупатель мог оплатить все пять чашек заранее. Тогда после первой отправки заказ полностью оплачен, но исполнен только частично. В другой договорённости деньги поступают по партиям. Обе схемы требуют явных правил, а не автоматического копирования статуса отгрузки в статус оплаты.

Стоимость доставки тоже может измениться: два отправления часто имеют другую экономику, чем одно. До разделения следует определить, кто оплачивает дополнительную перевозку и какую сумму увидит покупатель. Сумма в заказе, расчёт перевозчика и фактический расход магазина могут различаться. Это различие нужно объяснить в процессе, а не скрывать ручной правкой одной цифры.

Не распределяйте платёж между документами пропорционально количеству вещей без согласованной модели. У товаров могут быть разные цены и скидки. Даже две одинаковые на вид партии способны иметь разную стоимость доставки. Требования к платёжным, учётным и кассовым документам ответственные специалисты проверяют для конкретной схемы продажи; общий пример с чашками не заменяет такой проверки.

У обмена должна быть память о каждой отгрузке

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

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

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

Отдельный сценарий — сообщения, пришедшие не по порядку. Подтверждение отправки не должно бесследно смениться более ранним планом комплектации. Разработчик выбирает подходящее правило версий, событий или приоритетов для конкретного обмена. Универсальное сравнение времени на двух серверах ненадёжно без согласованного формата и понимания источника времени.

Если покупатель отказался от оставшихся двух

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

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

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

Разговор с разработчиком начните с одного заказа

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

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

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

Обсуждение 0

Делись опытом и задавай вопросы. Комментарии без ссылок появляются после проверки редактором.

Пока никто не написал. Начни обсуждение.