Всем привет ещё раз!
Такая задача. Имеется автоматизированный обработчик доставки "Пункт выдачи".
Имеется источник данных (либо инфоблок, либо REST-данные) откуда будут браться пункты выдачи (по полученному в процессе оформления ID Кладра).
Количество релевантных пунктов выдачи зависит от стоимости товаров в заказе, габаритов, КЛАДРа и других свойств заказа - т.е. всё "намекает" на то, что "пунт выдачи == профиль доставки". Стоимость получения может разниться (будут отображаться разные пункты выдачи от разных курьерских служб).
Проблема: для одной автоматизировнной службы доставки невозможно создать произвольное количество профилей (а аутпостов как раз произвольное количество - в зависимости от регионов, стоимостей и т.д.); текущая реализация в Bitrix'е требует, чтобы их было предустановленное в Init'е количество. А ситуация такова, что даже в контексте одной службы доставки, может быть 3 разных стоимости по 3 разным подчинённым ей аутпостам.
Т.е., говоря грубо имеем такую схему:
Как архитектурно это решить или какой изящный костыль (+/- расширяемый) можно создать? Что-то надстроить сверху?
Как бы вы стали это решать.
Основная цель: сохранить поток информации о стоимости доставки "автоматизированная служба доставки --> заказ", т.е. никаким образом не касаться рублей вручную. Очень не хочется чтобы это потом разваливалось как карточный домик. Особенно учитывая, что это надо потом безболезненно (или хотя бы малой кровью) решать в Админке операторам.
Такая задача. Имеется автоматизированный обработчик доставки "Пункт выдачи".
Имеется источник данных (либо инфоблок, либо REST-данные) откуда будут браться пункты выдачи (по полученному в процессе оформления ID Кладра).
Количество релевантных пунктов выдачи зависит от стоимости товаров в заказе, габаритов, КЛАДРа и других свойств заказа - т.е. всё "намекает" на то, что "пунт выдачи == профиль доставки". Стоимость получения может разниться (будут отображаться разные пункты выдачи от разных курьерских служб).
Проблема: для одной автоматизировнной службы доставки невозможно создать произвольное количество профилей (а аутпостов как раз произвольное количество - в зависимости от регионов, стоимостей и т.д.); текущая реализация в Bitrix'е требует, чтобы их было предустановленное в Init'е количество. А ситуация такова, что даже в контексте одной службы доставки, может быть 3 разных стоимости по 3 разным подчинённым ей аутпостам.
Т.е., говоря грубо имеем такую схему:
- Пользователь делает выбор города / населённого пункта ("Мусохранск")
- Запрос кладр-кода на REST
- Получаем следующий пакет данных (пользователь может выбрать любой из пунктов - и это должно корректно уйти в заказ)
- StupidDelivery Outpost №101, ул. Цветочная, д. 15, 350 рублей
- StupidDelivery Outpost №103, бульвар Новаторов, д 14, оф. 12, 300 рублей
- TurboSnail Outpost №2, ул. Ленина, д.10, 265 рублей
- Доставка "Весёлый Пчёлкин" - центр выдачи №1, ул. Ленина д. 12, 150 рублей.
Как архитектурно это решить или какой изящный костыль (+/- расширяемый) можно создать? Что-то надстроить сверху?
Как бы вы стали это решать.
Основная цель: сохранить поток информации о стоимости доставки "автоматизированная служба доставки --> заказ", т.е. никаким образом не касаться рублей вручную. Очень не хочется чтобы это потом разваливалось как карточный домик. Особенно учитывая, что это надо потом безболезненно (или хотя бы малой кровью) решать в Админке операторам.