• Модуль: crmmobile
  • Путь к файлу: ~/bitrix/modules/crmmobile/lib/Command/SaveEntityCommand.php
  • Класс: BitrixCrmMobileCommandSaveEntityCommand
  • Вызов: SaveEntityCommand::prepareFields
private function prepareFields(array &$fields): void
{
	foreach ($this->factory->getFieldsCollection() as $id => $field)
	{
		if (!isset($fields[$id]))
		{
			continue;
		}

		$fieldType = $field->getType();

		if ($field->isMultiple())
		{
			$this->prepareMultipleField($field, $fields[$id]);
		}

		if ($fieldType === Field::TYPE_DATE || $fieldType === Field::TYPE_DATETIME)
		{
			$this->prepareDatetimeField($field, $fields[$id]);
		}
		elseif ($fieldType === Field::TYPE_FILE)
		{
			$fields[$id] = $this->prepareFileField($field, $fields[$id]);
		}
		elseif ($fieldType === 'money')
		{
			$this->prepareMoneyUserField($field, $fields[$id]);
		}
		elseif ($fieldType === 'crm')
		{
			$this->prepareCrmField($field, $fields[$id]);
		}
		elseif (
			$fieldType === 'crm_entity'
			|| $fieldType === 'crm_lead'
			|| $fieldType === 'crm_deal'
			|| $fieldType === 'crm_quote'
			|| $fieldType === 'crm_invoice'
			// these fields render with client_light type
			// || $fieldType === 'crm_contact'
			// || $fieldType === 'crm_company'
		)
		{
			$this->prepareCrmEntityField($field, $fields[$id]);
		}
	}
}