Сразу скажу, что имею дело с 1С-Битрикс: Управление сайтом 25.575.0. © Битрикс, 2002-2025.
Был оптовый сайт, интеграция с 1С, был один тип цен BASE, который приходил из 1С, он был базовый, всё прекрасно работало в плане правила работы с корзиной, применение промокодов.
Стала задача создать отдельный интернет магазин розничной торговли, решили создать при помощи функционала многосайтовости. По итогу, получили ещё один сайт, на другом поддомене. Всё настроено, из 1С приходит новый тип цен RETAIL_BASE. И вот начинается магия, в компонентах(параметрах), используется тип цен RETAIL_BASE. В правилах работы с корзиной используется, второй сайт. Но при этом если в каталоге на уровне движка цены всё таки расчитываются исходя из цены RETAIL_BASE, и даже применяются скидки. То когда создаётся корзина, то система скидок не видит, хотя во всех параметрах передаётся идентификатор второго сайта и нужные типы цен. Раскопал в компоненте каталога, как у товара посмотреть цены со скидками используя метод \CIBlockPriceTools::GetItemPrices, но при этом, чтоб добавить в корзину эти цены, необходимо использовать параметр CUSTOM_PRICE, всё добавляется, вроде как даже работает, но столкнулся с проблемой, что теперь не могу добавить промокод к такой корзине, т.е. заказ ещё не создан, промокод, создаю для нужного сайта, ошибок не выдаёт, в клиентской части не применяется, самое интересное, что и в админской части, когда уже создан заказ система его находит, применяет, но цены не меняются, я так думаю, что это из-за CUSTOM_PRICE.
Вопрос: как можно это победить. И честно говоря, какой, то костыльный метод работы получается в многосайтовости с разными типами цен, к сожалению нельзя для разных сайтов задать разные типы цен как базовые.
Был оптовый сайт, интеграция с 1С, был один тип цен BASE, который приходил из 1С, он был базовый, всё прекрасно работало в плане правила работы с корзиной, применение промокодов.
Стала задача создать отдельный интернет магазин розничной торговли, решили создать при помощи функционала многосайтовости. По итогу, получили ещё один сайт, на другом поддомене. Всё настроено, из 1С приходит новый тип цен RETAIL_BASE. И вот начинается магия, в компонентах(параметрах), используется тип цен RETAIL_BASE. В правилах работы с корзиной используется, второй сайт. Но при этом если в каталоге на уровне движка цены всё таки расчитываются исходя из цены RETAIL_BASE, и даже применяются скидки. То когда создаётся корзина, то система скидок не видит, хотя во всех параметрах передаётся идентификатор второго сайта и нужные типы цен. Раскопал в компоненте каталога, как у товара посмотреть цены со скидками используя метод \CIBlockPriceTools::GetItemPrices, но при этом, чтоб добавить в корзину эти цены, необходимо использовать параметр CUSTOM_PRICE, всё добавляется, вроде как даже работает, но столкнулся с проблемой, что теперь не могу добавить промокод к такой корзине, т.е. заказ ещё не создан, промокод, создаю для нужного сайта, ошибок не выдаёт, в клиентской части не применяется, самое интересное, что и в админской части, когда уже создан заказ система его находит, применяет, но цены не меняются, я так думаю, что это из-за CUSTOM_PRICE.
Вопрос: как можно это победить. И честно говоря, какой, то костыльный метод работы получается в многосайтовости с разными типами цен, к сожалению нельзя для разных сайтов задать разные типы цен как базовые.