- Модуль: crm
- Путь к файлу: ~/bitrix/modules/crm/lib/integration/catalog/contractor/provider.php
- Класс: Bitrix\Crm\Integration\Catalog\Contractor\Provider
- Вызов: Provider::bindEntitiesToDocument
static function bindEntitiesToDocument(int $documentId, array $bindings): void
{
foreach ($bindings as $entityTypeId => $entityIds)
{
if (is_null($entityIds))
{
continue;
}
foreach ($entityIds as $entityId)
{
$existingBinding = static::getTableName()::query()
->where(static::getDocumentPrimaryField(), $documentId)
->where('ENTITY_ID', $entityId)
->where('ENTITY_TYPE_ID', $entityTypeId)
->exec()
->fetch()
;
if (!$existingBinding)
{
static::getTableName()::add([
static::getDocumentPrimaryField() => $documentId,
'ENTITY_ID' => $entityId,
'ENTITY_TYPE_ID' => $entityTypeId,
]);
}
}
static::getTableName()::deleteBindings($documentId, $entityTypeId, $entityIds);
}
}