• Модуль: crm
  • Путь к файлу: ~/bitrix/modules/crm/lib/FieldSet/Factory.php
  • Класс: Bitrix\Crm\FieldSet\Factory
  • Вызов: Factory::setDefaultFieldsForItems
private function setDefaultFieldsForItems(\Closure $prepareFieldsToInsert, int $typeId, Item $item): void
{
	$presetFields = EntityFieldProvider::getFields([], $item->getRequisitePresetId());
	$defaultItemFields = array_map(
		$prepareFieldsToInsert,
		$this->getDefaultItemFieldMap()[$typeId]
	);
	
	$fields = [];
	$fieldCounter = 0;
	foreach ($presetFields as $presetField) {
		if (mb_strpos($presetField['entity_field_name'], 'RQ_') === false
			|| !in_array($presetField['type'], ['string', 'typed_string'])
			|| $fieldCounter >= self::MAX_REQUISITES_FIELDS_COUNT
		) {
			continue;
		}
		
		$fieldCounter++;
		$fields[] = $presetField;
	}
	
	$fields = array_merge($fields, $defaultItemFields ?? []);
	$item->setFields($fields);
}