Возможность запретить фронту изменять переданные из АПИ значения продолжительности и зоны доставки
[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 будут отредактированы - в них запишутся значения, которые вернул ГРИК.