• Модуль: crm
  • Путь к файлу: ~/bitrix/modules/crm/lib/webform/form.php
  • Класс: Bitrix\Crm\WebForm\Form
  • Вызов: Form::getDependencies
public function getDependencies($opposites = true)
{
	$dependencyList = array();
	foreach($this->params['DEPENDENCIES'] as $dependency)
	{
		$dependencyList[$dependency['DO_FIELD_CODE']][] = array(
			'if' => array(
				'fieldname' => $dependency['IF_FIELD_CODE'],
				'action' => $dependency['IF_ACTION'],
				'value' => $dependency['IF_VALUE'],
			),
			'do' => array(
				'action' => $dependency['DO_ACTION'],
				'value' => $dependency['DO_VALUE'],
			),
		);

		if (!$opposites)
		{
			continue;
		}

		// add mirror dependency
		if($dependency['IF_ACTION'] != 'change')
		{
			continue;
		}

		if(!in_array($dependency['DO_ACTION'], array('show', 'hide')))
		{
			continue;
		}

		$mirror = $dependency['DO_ACTION'] == 'hide' ? 'show' : 'hide';
		$dependencyList[$dependency['DO_FIELD_CODE']][] = array(
			'if' => array(
				'fieldname' => $dependency['IF_FIELD_CODE'],
				'action' => $dependency['IF_ACTION'],
				'value' => $dependency['IF_VALUE'],
				'operation' => '!='
			),
			'do' => array(
				'action' => $mirror,
			),
		);
	}

	return $dependencyList;
}