Возможность запретить фронту изменять переданные из АПИ значения продолжительности и зоны доставки
[v9preview1
v9
]
Начиная с V9Preview1 появилась возможность запретить фронту менять рассчитанные внешним ГРиКом и переданные из АПИ значения продолжительности и зоны доставки.
В доставочный заказ IDeliveryOrder
добавлено новое поле FixedRestrictions
, с помощью которого можно или разрешать фронту заменять значения продолжительности доставки Duration
и зоны Zone
на те, которые фронт получает из “своего” ГРиК, или, наоборот, не давать редактировать поля Duration
и Zone
, оставив в них полученные из АПИ данные.
Для того, чтобы воспользоваться новым функционалом, нужно при создании доставки из АПИ в аргументах метода IEditSession.CreateDeliveryOrder
передать не пустое значение продолжительности доставки в параметре TimeSpan? duration
и в параметре bool fixedRestrictions
передать true
. Если при этом нужно передать и зафиксировать зону доставки, в параметре string zone
также должно быть не пустое значение. При IDeliveryOrder.FixedRestrictions = true
фронт не вызывает проверку ГРиК для данной доставки и, таким образом, оставляет значения продолжительности и зоны доставки неизменными.
Значение IDeliveryOrder.FixedRestrictions
автоматически сбрасывается фронтом на false
только при смене режима обслуживания IOrderType
.
Изменить значение поля IDeliveryOrder.FixedRestrictions
можно с помощью нового метода IEditSession.ChangeDeliveryFixedRestrictions
.
При вызове методов редактирования доставочного заказа - изменения продолжительности доставки IEditSession.ChangeDeliveryDuration
или зоны IEditSession.ChangeDeliveryZone
- фронт применит новые параметры, оставив IDeliveryOrder.FixedRestrictions без изменения.
Если доставка с IDeliveryOrder.FixedRestrictions = true
дошла до (старого) Call Center и ее изменили так, что вызвался ГРиК, флаг IDeliveryOrder.FixedRestrictions
сбрасывается в false
, а поля IDeliveryOrder.Duration
и IDeliveryOrder.Zone
будут отредактированы - в них запишутся значения, которые вернул ГРИК.