Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- \CModule::IncludeModule("crm");
- $res=CCrmLead::LoadProductRows($feald["LEAD_ID"]);
- if(!empty($res)) {
- foreach ($res as $product) {
- $products[] = array(
- 'PRODUCT_ID' => $product["PRODUCT_ID"],
- 'NAME' => $product["PRODUCT_NAME"],
- 'PRICE' => $product["PRICE"],
- 'CURRENCY' => "RUB",
- 'QUANTITY' => 1
- );
- }
- $basket = Bitrix\Sale\Basket::create(SITE_ID);
- foreach ($products as $product) {
- $item = $basket->createItem("catalog", $product["PRODUCT_ID"]);
- unset($product["PRODUCT_ID"]);
- $item->setFields($product);
- }
- //создадим объект корзины
- $order = Bitrix\Sale\Order::create(SITE_ID, 1);
- $order->setPersonTypeId(1);
- $order->setBasket($basket);
- //создадим сам заказ
- $shipmentCollection = $order->getShipmentCollection();
- $shipment = $shipmentCollection->createItem(
- Bitrix\Sale\Delivery\Services\Manager::getObjectById(1)
- );
- //создадим отгрузку
- $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(1)
- );
- $payment->setField("SUM", $order->getPrice());
- $payment->setField("CURRENCY", $order->getCurrency());
- //Привяжем к CRM сущности
- $communications = $order->getContactCompanyCollection();
- foreach ($communications as $communication) {
- $arCom = $communication->getFields()->getValues(); //с ключами ID, ORDER_ID, ENTITY_ID, ENTITY_TYPE_ID, SORT, ROLE_ID, IS_PRIMARY
- }
- //$itemCom = $communications->createCompany(); //компания
- $itemCom = $communications->createContact();//контакт
- $itemCom->setField('ENTITY_ID', $feald["ID"]); //ID контакта или компании
- $itemCom->setField('IS_PRIMARY', 'Y'); // необязательно
- $itemCom->getField('IS_PRIMARY');
- //сохраним заказ
- $result = $order->save();
- if (!$result->isSuccess()) {
- //$result->getErrors();
- }
Advertisement
Add Comment
Please, Sign In to add comment