- Модуль: crm
- Путь к файлу: ~/bitrix/modules/crm/lib/webform/options/integration.php
- Класс: Bitrix\Crm\WebForm\Options\Integration
- Вызов: Integration::load
public function load() : array
{
$linkDb = AdsFormLinkTable::query()
->setSelect(
array(
'ID',
'LINK_DIRECTION',
'ADS_FORM_NAME',
'ADS_FORM_ID',
'ADS_ACCOUNT_NAME',
'ADS_ACCOUNT_ID',
'DATE_INSERT',
'ADS_TYPE'
)
)
->where('WEBFORM_ID', $this->getForm()->getId())
->setCacheTtl(300)
->addOrder('DATE_INSERT','DESC')
->exec();
$linkDb->addFetchDataModifier(
static function (array $raw): array {
$raw['ADS_FORM_NAME'] = $raw['ADS_FORM_NAME'] ?? $raw['ADS_FORM_ID'];
$raw['ADS_ACCOUNT_NAME'] = $raw['ADS_ACCOUNT_NAME'] ?? $raw['ADS_ACCOUNT_ID'];
$raw['LINK_DIRECTION'] = (int) $raw['LINK_DIRECTION'];
/*INTEGRATION MAPPING*/
if (AdsFormLinkTable::LINK_DIRECTION_IMPORT === $raw["LINK_DIRECTION"])
{
$raw['FIELDS_MAPPING'] = FormFieldMappingTable::query()
->setSelect(['CRM_FIELD_KEY', 'ADS_FIELD_KEY', 'ITEMS'])
->where("FORM_LINK_ID", $raw["ID"])
->exec()
->fetchAll();
}
return $raw;
}
);
return $linkDb->fetchAll();
}