- Модуль: crm
- Путь к файлу: ~/bitrix/modules/crm/lib/Service/Factory/Company.php
- Класс: Bitrix\Crm\Service\Factory\Company
- Вызов: Company::configureItem
protected function configureItem(Item $item, EntityObject $entityObject): void
{
parent::configureItem($item, $entityObject);
$fieldNameMap =
(new Item\FieldImplementation\Binding\FieldNameMap())
// it's not a mistake, company has no CONTACT_ID field
// ->setSingleId(Item::FIELD_NAME_CONTACT_ID)
->setMultipleIds(Item::FIELD_NAME_CONTACT_IDS)
->setBindings(Item::FIELD_NAME_CONTACT_BINDINGS)
->setBoundEntities(Item::FIELD_NAME_CONTACTS)
;
$implementation = new Item\FieldImplementation\Binding(
$entityObject,
\CCrmOwnerType::Contact,
$fieldNameMap,
ContactCompanyTable::getEntity(),
Container::getInstance()->getContactBroker(),
);
$implementation->configureUpdatingRefIdInBoundEntity(ContactTable::getEntity(), 'COMPANY_ID');
$item->addImplementation($implementation);
}