Логика Работы Пунктов Назначения

И все-таки. Не появилось ли, наконец, описания логики работы функционала "ПУНКТ НАЗНАЧЕНИЯ"? Пришлось в очередной раз залезть в эти дебри, опять ломаю голову.

Создаю ПУНКТ НАЗНАЧЕНИЯ - "Города с доставкой", где указываю

Страна - пусто

Регион - перечень областей

Индекс - пусто

Города - * (иначе не работает)

Адрес - пусто.

Этот пункт включаю для "Доставка курьером"

Задаю в калькуляторе доставки Москва - Москва.

При этом перестает работать существующий ПУНКТ НАЗНАЧЕНИЯ "Москва" (то есть он прописан для одного из "положений магазина" для САМОВЫВОЗА, и самовывоз пропадает).

Страна - Россия

Регион - Москва

Индекс - пусто

Города - пусто

Адрес - пусто

До появления пункта "города с доставкой" это работало, так как для "Доставки" и "Самовывоза" был выбран один и тот же пункт.

Изменяю ПУНКТ НАЗНАЧЕНИЯ "Москва"

Страна - Россия

Регион - Москва

Индекс - пусто

Города - *

Адрес - пусто

Появляется САМОВЫВОЗ но пропадает "Доставка курьером".

Я в ступоре опять. Поиском искал, вроде бы были планы описать логику работы этих "пунктов"?

Еще задачка: делаю ПУНКТ НАЗНАЧЕНИЯ "Конкретные города"

Страна - пусто

Регион - пусто

Индекс - пусто

Города - Москва

Адрес - пусто

Задаю этот пункт для Курьерской доставки, ввожу адрес доставки Москва - Москва, вариант "Курьерская" пропадает.

Вот еще: есть два варианта "Курьер" и "За МКАД".

Для "За МКАД" включены пункты "За МКАД" и "Москва".

Для "Курьер" включены пункты "Города с доставкой".

Если выбрать в калькуляторе Регион = Москва, Город = без выбора, то есть доставка "За МКАД", но нет доставки "Курьер".

Если выбрать в калькуляторе Регион = Москва, Город = Москва, то есть доставка "Курьер" но нет доставки "За МКАД".

При этом пункты:

МОСКВА

Страна - Россия

Регион - Москва

Индекс - пусто

Города - пусто

Адрес - пусто

ЗА МКАД

Страна - Россия

Регион - Московская область

Индекс - пусто

Города - *

Адрес - пусто

ГОРОДА С ДОСТАВКОЙ

Страна - пусто

Регион - перечень областей

Индекс - пусто

Города - *

Адрес - пусто.

На форуме есть уже несколько тем, поиск по "пункты назначения" в помощь.

P.S. За каждое совпадение начисляются балы, срабатывает только один пункт, который набрал наибольшее количество баллов. Когда ставите звёздочку в городе, автоматически убиваете все остальные пункты, так как город будет срабатывать всегда и всегда будет срабатывать этот пункт.

P.S.S. Если не подходит логика, можно модифицировать, есть два варианта:

1. Функция выбора пункта назначения.

2. Разработка собственного оффлайн шипинга с собственной формулой.

На форуме есть уже несколько тем, поиск по "пункты назначения" в помощь.

P.S. За каждое совпадение начисляются балы, срабатывает только один пункт, который набрал наибольшее количество баллов. Когда ставите звёздочку в городе, автоматически убиваете все остальные пункты, так как город будет срабатывать всегда и всегда будет срабатывать этот пункт.

Искал, находил, ясности не внесло. Была надежда, что появилось описание. Надежда не сбылась... Получается что если есть ДВА пункта со звездочкой в городе, то срабатывает только один? Какой? по алфавиту?

1. Функция выбора пункта назначения.

А это что?

Искал, находил, ясности не внесло. Была надежда, что появилось описание. Надежда не сбылась... Получается что если есть ДВА пункта со звездочкой в городе, то срабатывает только один? Какой? по алфавиту?

А это что?

Выбирается пункт набравший наибольшее количество баллов, баллы за каждое совпадения поля:

Страна +1
Регион + 10
Город + 100

Причём, если например в поле город было два значения, то прибавится +50 , то есть делим на количество вариантов в поле.

Если два абсолютно одинаковые пункта назначения, то нужно посмотреть по какому принципу сортировка, может вообще в порядке создания.

Функция function fn_get_available_destination($location)

Занимается перебором пунктов назначения и выбора пункта который лучше всех подходит к адресу покупателя.

ОК. Тогда:

1. Поле "Город" проверяется даже если не совпал "Регион" или только если совпал "Регион"? Ибо если первое, то все грустно, получается * в город никогда нельзя ставить, ибо, даже если не совпал регион, ПУНКТ будет выбран тот, где в городе *.

2. Можно ли понизить вес поля "ГОРОД" если задать там 10 звездочек?

ОК. Тогда:

1. Поле "Город" проверяется даже если не совпал "Регион" или только если совпал "Регион"? Ибо если первое, то все грустно, получается * в город никогда нельзя ставить, ибо, даже если не совпал регион, ПУНКТ будет выбран тот, где в городе *.

2. Можно ли понизить вес поля "ГОРОД" если задать там 10 звездочек?

1 и 2 лучше попробовать, я не держу в голове все настройки и комбинации, и ситуация сейчас не подходящая что бы настраивать.

В итоге все равно не вяжется. Убил все лишнее, удалил все звездочки:

ГОРОДА С ДОСТАВКОЙ

Страна - пусто

Регион - перечень областей (вкл. Москву)

Индекс - пусто

Города - пусто

Адрес - пусто.

ОСТАЛЬНЫЕ СТРАНЫ

Страна - все, кроме Россия

Регион - пусто

Индекс - пусто

Города - пусто

Адрес - пусто.

Россия

Страна - Россия

Регион - пусто

Индекс - пусто

Города - пусто

Адрес - пусто.

ЗА КАД

Страна - пусто

Регион - леноблатсть

Индекс - пусто

Города - пусто

Адрес - пусто.

ЗА МКАД

Страна - пусто

Регион - МО

Индекс - пусто

Города - пусто

Адрес - пусто.

Удаленный регион

Страна -Россия

Регион - перечень регионов (Москва не входит)

Индекс - пусто

Города - пусто

Адрес - пусто.

В способе доставки КУРЬЕРОМ включен пункт ГОРОДА С ДОСТАВКОЙ.

Ввожу:

Регион Москва

Город Москва.

По описанной логике, пункт должен выбраться ГОРОДА С ДОСТАВКОЙ? Или баллы за РЕГИОН (10) поделились на количество регионов (25) и в итоге перевесила РОССИЯ? Сейчас проверю... Похоже начинает доходить...


Йес!

Информация про КОЛИЧЕСТВО баллов и, главное, про их ДЕЛЕНИЕ была решающей.

Страна везде нужна, это обязательное поле.