Как в d7 bitrix24 коробка получить связи контактов и заказов?

Чтобы получить связи контактов и заказов в D7 Bitrix24, вы можете использовать методы класса BitrixCRMBindingEntityBindingTable.

1. Получение связей контактов с заказами:

use BitrixCrmBindingEntityBindingTable;

$contactId = "ID_контакта";

$bindings = EntityBindingTable::getList(array(
    'filter' => array(
        '=ENTITY_TYPE_ID' => CCrmOwnerType::Contact,
        '=ENTITY_ID' => $contactId,
        '=BINDING_TYPE_ID' => CCrmOwnerType::Order
    )
));

while ($binding = $bindings->fetch()) {
    $orderId = $binding['OWNER_ID'];
    // Дальнейшая обработка полученного ID заказа
}

В данном примере мы используем фильтры для поиска связей только с контактом и только с заказами. Для каждой найденной связи мы можем получить ID заказа.

2. Получение связей заказов с контактами:

use BitrixCrmBindingEntityBindingTable;

$orderId = "ID_заказа";

$bindings = EntityBindingTable::getList(array(
    'filter' => array(
        '=ENTITY_TYPE_ID' => CCrmOwnerType::Order,
        '=ENTITY_ID' => $orderId,
        '=BINDING_TYPE_ID' => CCrmOwnerType::Contact
    )
));

while ($binding = $bindings->fetch()) {
    $contactId = $binding['OWNER_ID'];
    // Дальнейшая обработка полученного ID контакта
}

В этом примере мы ищем связи заказа только с контактами. Для каждой найденной связи мы можем получить ID контакта.

Оба примера используют метод getList класса EntityBindingTable, который принимает массив фильтров и возвращает объект Result, содержащий найденные связи. Мы затем используем fetch для получения каждой связи и обработки необходимых данных.

Имейте в виду, что для использования D7 Bitrix24 вам необходимо подключить модуль CRM в вашем проекте.