Случайно обнаружил, что для Курска покупатель не видит способов доставки, которые рассчитываются через eDost. Начал разбираться, заглянул в БД и обнаружил там несоответствия с данными eDost.
Город Курск Курской области (id_city=8200) отсутствует в таблице “_rus_edost_cities_link”, хотя разумеется у eDost он имеется с кодом 88. Зато имеется запись со связкой id_city=8199 и edost_code=88. Это означает, что другой город Курск в Красноярском крае CS-Cart запрашивает у eDost как Курск в Курской области.
Исправил ручками этот город и стоимость доставки туда стала отображаться корректно.
UPDATE cscart_rus_edost_cities_link
SET city_id
= ‘8200’ WHERE cscart_rus_edost_cities_link
.city_id
= 8199;
Так же я обнаружил, в таблице “_rus_edost_cities_link” отсутствуют следующие города и добавил их:
Сокол Вологодской области
INSERT INTO cscart_rus_edost_cities_link
(city_id
, edost_code
) VALUES (‘14907’, ‘284’);
Сальск (Ростовская область)
INSERT INTO cscart_rus_edost_cities_link
(city_id
, edost_code
) VALUES (‘14120’, ‘528’);
Байконур
INSERT INTO cscart_rus_edost_cities_link
(city_id
, edost_code
) VALUES (‘19025’, ‘2281’);
Для следующих городов указан некорректный код eDost:
Абинск (Краснодарский край)
Нужно 422, указано 442
UPDATE cscart_rus_edost_cities_link
SET edost_code
= ‘422’ WHERE cscart_rus_edost_cities_link
.city_id
= 38;
Хабаровск (Хабаровский край)
Нужно 990, указано 991
UPDATE cscart_rus_edost_cities_link
SET edost_code
= ‘990’ WHERE cscart_rus_edost_cities_link
.city_id
= 17258;
Я сделал по-быстрому сопоставление данных в CS-Cart с данными eDost только по коду города. По-хорошему, нужно сопоставить и названия населенных пунктов, чтобы проверить, что нет проблем как с Курском.
Вот такие дела.