...Человеческий поиск в разработке...
- Модуль: crm
- Путь к файлу: ~/bitrix/modules/crm/lib/webform/embed/user.php
- Класс: Bitrix\Crm\WebForm\Embed\User
- Вызов: User::getData
static function getData(Identificator\ComplexCollection $entities): array { $data = [ 'fields' => [], 'entities' => [], ]; $fieldsByType = []; $formId = (int)$entities->getIdByTypeId(-1); if ($formId > 0) { $form = new Crm\WebForm\Form($formId); if ($form->getId() && $form->isActive()) { foreach ($form->getFieldsMap() as $field) { $typeId = \CCrmOwnerType::resolveID($field['entity_name']); if (!isset($fieldsByType[$typeId])) { $fieldsByType[$typeId] = [ 'fields' => [], 'reqs' => [], 'map' => [], ]; } $name = $field['entity_field_name']; if ($name === 'RQ') { continue; } if (mb_substr($name, 0, 3) === 'RQ_') { $fieldsByType[$typeId]['reqs'][] = $name; continue; } else { $fieldsByType[$typeId]['fields'][] = $name; } $fieldsByType[$typeId]['map'][$name] = $field['name']; } } } self::$fieldsByType = $fieldsByType; foreach ($entities as $entity) { /** @var Identificator\Complex $entity */ if ($entity->getTypeId() <= 0) { continue; } $data['entities'][] = [ 'typeId' => $entity->getTypeId(), 'id' => $entity->getId(), ]; $data['fields'] = $data['fields'] + self::getEntityFields( $entity, isset($form) ? ($form->get()['FORM_SETTINGS']['REQUISITE_PRESET_ID'] ?? null) : null ); } self::$fieldsByType = []; return $data; }