Рейтинг:0

Синхронизация состояния заказа и доставки

флаг br

В Drupal 9 я определил следующий рабочий процесс заказа для Drupal Commerce:

miss_pomela_fulfillment_processing:
  идентификатор: miss_pomela_fulfillment_processing
  группа: commerce_order
  этикетка: «Мисс Помела Выполнение, с обработкой»
  состояния:
    черновой вариант:
      этикетка: Черновик
    в ожидании:
      метка: В ожидании
    обработка:
      лейбл: En preparación
    упаковано:
      этикетка: Готов к отправке
    выполнение:
      этикетка: отправлено
    завершенный:
      метка: Завершено
    отменено:
      метка: Отменено
  переходы:
    место:
      label: 'Создать заказ'
      от: [черновик]
      до: в ожидании
    процесс:
      label: 'Обработать заказ'
      от: [в ожидании]
      к: обработка
    выполнить:
      label: 'Отметить как готовый к отправке'
      от: [обработка]
      в: упаковано
    судно:
      этикетка: "Корабль"
      от: [упаковано]
      к: выполнение
    полный:
      label: 'Отметить как выполненное'
      from: [обработка, ожидание, упаковка, выполнение]
      до: завершено
    Отмена:
      label: 'Отменить заказ'
      from: [черновик, обработка, выполнение, ожидание, завершение]
      до: отменено

Я пытаюсь понять, как синхронизировать состояние заказа с состоянием доставки так, как мне нужно.

Прямо сейчас, с этим рабочим процессом, состояние доставки автоматически изменяется на «Отправлено», когда установлено состояние упакованного заказа, поэтому происходит переход «Выполнение». Но то, что я хочу иметь, это состояние доставки «Готово», когда государственный заказ упакован, и отправлен, когда государственный заказ выполнен.

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

Любые идеи?

Рейтинг:0
флаг it

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

Ответить или комментировать

Большинство людей не понимают, что склонность к познанию нового открывает путь к обучению и улучшает межличностные связи. В исследованиях Элисон, например, хотя люди могли точно вспомнить, сколько вопросов было задано в их разговорах, они не чувствовали интуитивно связи между вопросами и симпатиями. В четырех исследованиях, в которых участники сами участвовали в разговорах или читали стенограммы чужих разговоров, люди, как правило, не осознавали, что задаваемый вопрос повлияет — или повлиял — на уровень дружбы между собеседниками.