партнер компании 1с-битрикс
сайт фрилансера Сергея Эстрина
Войти как пользователь
Вы можете войти на сайт, если вы зарегистрированы на одном из этих сервисов:
Простой адаптивный форум - модуль для битрикс
Страницы: 1
Ответить
RSS
Компонент "gkladr.ajax.selectzip" фильтрация по исключениям служб доставки
 
Здравствуйте.
Не могу понять как осуществить фильтрацию по полям исключения служб доставки в функции SKladrEntry::SearchZip.
В массив фильтра пробовал добавлять DELIVERY/DELIVERY_ID c EXC_TYPE "N"/"!N", не помогло.
Нужно в форме заказа с этим компонентом при выборе разных служб доставки удалять некоторые варианты выбора адреса.
В базе КЛАДР исключения добавлены, но компонент почему-то на них не реагирует.
ID службы доставки в компоненте sale.order.ajax передается в $arResult[DELIVERY] [0] [ID]
Что не так?
 
Здравствуйте!

Во-первых, исключения предназначены для убирания определенных платежных систем или служб доставки при выборе определенного адреса, а не наоборот. Отфильтровать записи КЛАДР на данный момент по этим исключениям нельзя средствами api, т.к. исключения хранятся в отдельных таблицах.

Во-вторых, что касается этих исключений, модулем предоставляется только административный интерфейс и api, рассчитанный на разные доработки, например, обработчиков доставки и шаблона формы заказа. см. описание функций, в частности класс SKladrExcludes.
 
Спасибо. Почему-то сразу подумалось именно про такую систему исключений.
Ладно, будем дорабатывать)
 
Вот, собственно, и решение. Может кому-то пригодится :)

Код
$cnt = 0;
foreach($arResult["CITY_LIST"]["REFERENCE_ID"] as $id_val){

   if(strlen($id_val) < 1) continue;
   
   $cnt++;
   
   $rs_exclude = SKladrExcludes::GetDeliveriesList($id_val);
   $ar_exclude = $rs_exclude->Fetch();
   
   if($ar_exclude["EXC_TYPE"] == "N" && $ar_exclude["DELIVERY_ID"] == $arResult["DELIVERY"][0][ID]){
      unset($arResult["CITY_LIST"]["REFERENCE_ID"][$cnt]);
      unset($arResult["CITY_LIST"]["REFERENCE"][$cnt]);
   }
}
 
Правда довольно ресурсоемкое, но времени дорабатывать нет.
Страницы: 1
Ответить
Читают тему (гостей: 1)
Форма ответов
Текст сообщения*
Ничего не найдено
Загрузить файлы
Отправить Отменить
 
Главная   ·   Модули для 1С-Битрикс   ·   Типовые услуги   ·   Форум   ·   Блог   ·   Контакты
Рейтинг@Mail.ru