Example #1
0
                $resultDeliveryTypeId = $resultDeliveryTypeId . ':' . $order['delivery']['service']['code'];
            }
        }

        // orderUpdate
        $arFields = ICrmOrderActions::clearArr(array(
            'PRICE_DELIVERY'   => $order['delivery']['cost'],
            'PRICE'            => $order['summ'] + (double) $order['delivery']['cost'],
            'DATE_MARKED'      => $order['markDatetime'],
            'USER_ID'          => $userId,
            'PAY_SYSTEM_ID'    => $optionsPayTypes[$order['paymentType']],
            'DELIVERY_ID'      => $resultDeliveryTypeId,
            'STATUS_ID'        => $optionsPayStatuses[$order['status']],
            'REASON_CANCELED'  => ICrmOrderActions::fromJSON($order['statusComment']),
            'USER_DESCRIPTION' => ICrmOrderActions::fromJSON($order['customerComment']),
            'COMMENTS'         => ICrmOrderActions::fromJSON($order['managerComment'])
        ));

        if (isset($order['discount'])) {
            $arFields['DISCOUNT_VALUE'] = $order['discount'];
            $arFields['PRICE'] -= $order['discount'];
        }

        if(!empty($arFields)) {
            CSaleOrder::Update($order['externalId'], $arFields);
        }

        if(isset($order['status']) && $order['status']) {
            if(isset($optionsPayStatuses[$order['status']]) && $optionsPayStatuses[$order['status']]) {
                // set STATUS_ID
                CSaleOrder::StatusOrder($order['externalId'], $optionsPayStatuses[$order['status']]);