| Цитата |
|---|
| Игорь Мендыбаев написал: Это решение не раскрывает такие блоки как: bx-soa-paysystem и bx-soa-delivery |
Silence!
I kill you!!!
I kill you!!!
Silence!
I kill you!!! |
|||
|
|
|
Silence!
I kill you!!! |
|||
|
|
|
Silence!
I kill you!!! |
|||
|
|
|
Silence!
I kill you!!! |
|||
|
|
|
.
Silence!
I kill you!!! |
|||||
|
|
|
|
"Это не баг, это фича" (С) Советы по эффективному маркетингу.
Версия 17.5.4 "main" и 17.0.32 "sale". В дефолтном компоненте sale.order.ajax есть . Для тех, кто не открывает левые ссылки при чтении основной статьи: настройка "Когда рассчитывать доставки с внешними системами расчёта". Настройка имеет селект-поле выбора с 3 вариантами выбора:
Модуль же ipol.sdek, который на скриншоте у , написан в соответствии с В новом варианте описания обработчиков есть метод isCalculatePriceImmediately():bool, который как раз и используется при отмеченной опции "Учитывать настройки доставки". Ещё подробности для новой системы: 1) Если рассчитываемая внешними сервисами доставка стоит первой в списке, то в самом начале метод рассчёта (calculateConcrete()) будет вызван трижды: при initDelivery(), для recalculatePayment() и из calculateDeliveries(). Поэтому в дополнительных рекомендациях к у и есть непрозрачно-однозначный намёк на организацию кэширования. Также это повод переместить нерассчитываемые внешне службы, вроде самовывоза и статического рассчёта, в списке в самый верх. 2) Помимо написания непосредственно обработчика доставки можно написать к нему профили и дополнительные услуги. Как пример - СПСР. Комментариев в коде кот наплакал, но они уже есть! 3) Метод проверки совместимости isCompatible() вызывается до calculateConcrete(), что логично. Но если, например, нужно рассчитывать совместимость, исходя из полей ответа внешнего сервиса, то всегда можно вызвать в переопределяемом методе тот, что нужен. В некоторых случаях этим можно даже заменить ограничения служб доставки, связанные с внешними факторами.
Silence!
I kill you!!! |
|||
|
|
|
|
Ладно, не буду томить себя ожиданием ответа. Предложу себе такое решение:
В методе buildIblockDependedParameters() инструкцию
Вопрос к разработчикам: нативный компонент работает правильно? Может чего-то не увидел при настройке. Нужно было подарки из другого инфоблока подавать.
Silence!
I kill you!!! |
|||||
|
|
|
|
Компонент sale.gift.basket классовый.
Есть "". В "документации" параметр SHOW_PRODUCTS_<ID_каталога>. В методе CSaleGiftBasketComponent::onPrepareComponentParams() этот параметр разбивается вызовом родительского метода в массив $arParams["SHOW_PRODUCTS"]. Если указывается, к примеру, параметр SHOW_PRODUCTS_13 = 'Y', это означает, что подарки нужно будет извлекать из инфоблока с ID 13. Параметров SHOW_PRODUCTS_<ID_каталога> может быть несколько. Зачем в методе buildIblockDependedParameters() переопределяется $this->arParams['SHOW_PRODUCTS']? Притом в параметре остаётся только один идентификатор инфоблока.
Silence!
I kill you!!! |
|
|
|
|
Всё, теперь я понял, где дорабатывать нужно. Не подскажите, как в типовом обмене реализована функция поиска товара? Через GUID?
Silence!
I kill you!!! |
|||
|
|
|
Назвали это аналогами. Эти товары лежали рядом со своими аналогами в каталогах.
Silence!
I kill you!!! |
|||
|
|
|
На сайте, где-нибудь в каталоге /upload, создаёте свой каталог, например, 1c_files. Туда по FTP помещаете результат выгрузки(xml и папка с картинками). Лучше с предварительной архивацией. На месте деархивируете. Затем переходите в панели управления БУС Контент\Инфоблоки\Импорт\XML. В поле "Файл для загрузки" ваш .xml. Если всё же проблема не в скорости соединения сервера 1С с хостинг-сервером БУС, прироста в скорости точно не будет. У вас при загрузке картинок не стоит какая-либо своя предобработка?
Silence!
I kill you!!! |
|||
|
|
|
Всем спасибо.
Silence!
I kill you!!! |
|||
|
|
|
Silence!
I kill you!!! |
|||
|
|
|
|
Значит, самый оптимальный вариант - настроить печать через 1С? Тогда такой вопрос: можно ли настроить интеграцию таким образом, чтобы не загружать каталог товаров, а пользоваться только функцией выгрузки заказов? То есть товары создаются вручную, а заказы нужно обработать в 1С.
Silence!
I kill you!!! |
|
|
|
|
Silence!
I kill you!!! |
|||||
|
|
|