• Модуль: bizproc
  • Путь к файлу: ~/bitrix/modules/bizproc/lib/basetype/base.php
  • Класс: BitrixBizprocBaseTypeBase
  • Вызов: Base::extractValueMultiple
static function extractValueMultiple(FieldType $fieldType, array $field, array $request)
{
	static::cleanErrors();

	$name = $field['Field'];
	$value = isset($request[$name]) ? $request[$name] : [];

	if (!is_array($value) || is_array($value) && CBPHelper::isAssociativeArray($value))
	{
		$value = [$value];
	}

	foreach ($value as $k => $v)
	{
		$field['Index'] = $k;
		$result = static::extractValue($fieldType, $field, $request);
		if ($result === null || $result === '')
		{
			unset($value[$k]);
		}
		else
		{
			$value[$k] = $result;
		}
	}

	//append selector value
	$nameText = $field['Field'] . '_text';
	$text = isset($request[$nameText]) ? $request[$nameText] : null;
	if (CBPActivity::isExpression($text))
	{
		$value[] = $text;
	}

	return array_values($value);
}