• Модуль: sender
  • Путь к файлу: ~/bitrix/modules/sender/lib/integration/crm/connectors/personalize/factorybased.php
  • Класс: Bitrix\Sender\Integration\Crm\Connectors\Personalize\FactoryBased
  • Вызов: FactoryBased::getEntityFields
static function getEntityFields($entityType): array
{
	$factory = static::getFactory($entityType);
	if (!$factory)
	{
		return [];
	}

	$entityFields = [];
	$fieldsCollection = $factory->getFieldsCollection();
	foreach ($fieldsCollection as $field)
	{
		$type = static::getFieldType($field->getType());
		if (
			!$type
			|| !$field->isDisplayed()
			|| $field->isHidden()
		)
		{
			continue;
		}
		$fieldName = $field->getName();

		$entityFields[$fieldName] = [
			'Name' => $field->getTitle(),
			'Type' => $type,
			'Filterable' => !$field->isUserField(),
			'Editable' => \CCrmFieldInfoAttr::isFieldHasAttribute($field->getSettings(), \CCrmFieldInfoAttr::ReadOnly),
			'Required' => $field->isRequired(),
			// 'personalizeCode' => $field->getName(),
		];
	}

	return $entityFields + static::getAssignedByFields();
}