Метод clearAllPositions. Удалить из заказа всю информацию по сборке

Метод удаляет из заказа всю информацию о сборке по всем позициям, включая данные по согласованным заменам и количествам. Заказ приводится в исходное состояние, как если бы он только что поступил из СМ и был переведён в состояние «В сборке». Возвращает обновлённое содержание заказа, включая строки (order.positions).

Алгоритм:

  • открывает транзакцию,
  • находит заказ по идентификатору подразделения и заказа, читает его с блокировкой (for update),
  • проверяет текущий статус заказа, должен быть «В сборке»
  • удаляет из заказа все дочерние строки с кодами маркировки,
  • удаляет из заказа все товарные строки, где заказанное количество равно 0,
  • прописывает во все оставшиеся товарные строки согласованное количество равное заказанному количеству, собранное количество равное 0, очищает ссылку на позицию- замену,
  • если любой из перечисленных выше шагов завершился с ошибкой, то выполняет откат транзакции
  • фиксирует транзакцию
  • возвращает обновлённое содержание заказа

Параметры

requestData : {

  storeId : <Идентификатор магазина СМ, обязательный, string>,

  orderId : <Идентификатор заказа СМ, обязательный, string>

}

Возвращаемый ответ

responseData : {

  order : {

      <Заказ в виде объекта типа order, включая строки (order.positions)>

  }

}