FieldSynchronizer::replacePostFields

  1. Bitrix24 API (v. 23.675.0)
  2. crm
  3. FieldSynchronizer
  4. replacePostFields
  • Модуль: crm
  • Путь к файлу: ~/bitrix/modules/crm/lib/webform/fieldsynchronizer.php
  • Класс: Bitrix\Crm\WebForm\FieldSynchronizer
  • Вызов: FieldSynchronizer::replacePostFields
public function replacePostFields($schemeId, &$fields, &$dependencies, $invoicePayerEntityName = null)
{
	$this->isCreateMode = true;

	$srcFieldCodes = array_keys($fields);
	$srcFieldMap = $this->getFieldMap($schemeId, $srcFieldCodes);

	foreach($srcFieldMap as $entityTypeName => $entityFields)
	{
		foreach($entityFields as $fieldName => $entityField)
		{
			$oldFieldCode = $entityField['OLD_FIELD_CODE'];
			$newFieldCode = $entityField['NEW_FIELD_CODE'];

			if($oldFieldCode == $newFieldCode)
			{
				continue;
			}

			// replace field
			$this->replaceField($fields, $entityField);

			// replace dependencies
			$this->replaceFieldDependencies($dependencies, $entityField);

			unset($fields[$entityField['OLD_FIELD_CODE']]);
		}
	}
}

Добавить комментарий