И еще вопрос - а вообще отсортировать по наличию-отсутствию скидки (правила корзины) - возможно???
29.09.2017 01:19:21
Доброй ночи!
Есть оформление заказа на D7, но в админку в заказ не передаются поля с телефоном пользователя, названием организации, адресом и дополнительным полем с ИНН организации (типа UF_*). Как мне принудительно записать в заказ данные пользователя, чтобы они отображались в этом заказе в админке? Рабочий код такой: <? require_once($_SERVER["DOCUMENT_ROOT"]."/bitrix/modules/main/include/prolog_before.php"); global $USER; $ID=$USER->GetID(); use \Bitrix\Main, \Bitrix\Main\Localization\Loc as Loc, Bitrix\Main\Loader, Bitrix\Main\Config\Option, Bitrix\Sale\Delivery, Bitrix\Sale\PaySystem, Bitrix\Sale, Bitrix\Sale\Order, Bitrix\Sale\DiscountCouponsManager, Bitrix\Main\Context; $basket = \Bitrix\Sale\Basket::loadItemsForFUser(\Bitrix\Sale\Fuser::getId(),s2); $order = Bitrix\Sale\Order::create(s2,$ID); $order->setPersonTypeId(4); $order->setBasket($basket); $shipmentCollection = $order->getShipmentCollection(); $shipment = $shipmentCollection->createItem( Bitrix\Sale\Delivery\Services\Manager::getObjectById(24) ); $shipmentItemCollection = $shipment->getShipmentItemCollection(); foreach ($basket as $basketItem) { $item = $shipmentItemCollection->createItem($basketItem); $item->setQuantity($basketItem->getQuantity()); } $paymentCollection = $order->getPaymentCollection(); $payment = $paymentCollection->createItem( Bitrix\Sale\PaySystem\Manager::getObjectById(12) ); $payment->setField("SUM", $order->getPrice()); $payment->setField("CURRENCY", $order->getCurrency()); $result = $order->save(); $sendorder=$order->getId(); echo $sendorder; ?> |
|
|
26.09.2017 22:40:25
"MODULE" => "catalog",
"PRODUCT_PROVIDER_CLASS" => "CCatalogProductProvider", это, наверное, поможет, но тогда у меня цены сразу начинает неправильно отображать. Использую CSaleBasket::Add именно из-за проблем с ценами в Add2BasketByProductID, не тащит цену по группе пользователя. Есть другие варианты НДС передать? |
|
|
23.09.2017 01:57:19
Добрый вечер!
На сайте есть 4 группы юзеров имеющих доступ к 4 типам цен (у каждого своя) + соответственно создано 4 типа цены + простой товар (только он, ску нет) на вкладке Торговый каталог -> Цены имеет 4 типа цен с проставленными ценами. При добавлении в корзину через Add2BasketByProductID всегда тянется ТОЛЬКО базовый тип цены, несмотря на то, что юзеру доступна в группе другая цена. CCatalogProduct::GetOptimalPrice тоже видит только базовую цену. Как мне сделать, чтобы Add2BasketByProductID увидел нужную цену? |
|
|
25.08.2017 03:17:37
Добрый день!
Пользователь может подписываться на разные рассылки, нужна возможность подключить и отключить выбранные им подписки. Пользователь уже есть в подписчиках (его ID в списке 41941), он подписан на рассылку с ID 3 и ему нужно подключить рассылку с ID 4. Я так понимаю нужно использовать CSubscription::Update. Что в описании есть ID - Идентификатор подписки ID подписчика или ID конкретной рассылки???? Перепробовал много вариантов, типа:
|
|||
|
22.08.2017 04:28:58
По обеим ссылкам не нашел информации.
Мне не нового пользователя нужно создать и не изменить существующего, нужно создать профиль покупателя, по которому можно совершать покупки, у пользователя таких профилей может быть много - ИП, ЮрЛицо, ФизЛицо - нужно событие, которое срабатывает при создании такого профиля. Думал, что подойдет |
|
|
15.08.2017 14:45:18
Такой код в init.php:
Оформляю заказ, вручную проставляю из админки, что оплачено, статус становится Оплачено, но не меняется на нужный мне "DN". Статус не будет меняться если вручную оплату проставлять??? На тестовой страничке этот же код меняет статус, если руками прописать номер заказа, проставить оплату, обновить тестовую страничку. |
|||
|
15.08.2017 13:10:49
Мне подсказали решение, примерно такое: Внутри компонента, который нужно перезагрузить, в шаблоне пишем
код
и в аякс скрипте, который отвечает за полет товара в сторону корзины, пишем на возврате:
|
|||||
|