• Модуль: bizproc
  • Путь к файлу: ~/bitrix/modules/bizproc/classes/general/activitycondition.php
  • Класс: CBPActivityCondition
  • Вызов: CBPActivityCondition::writeAutomationConditionLog
protected function writeAutomationConditionLog(array $conditions, array $results, bool $result, CBPActivity $ownerActivity): array
{
	$toLog = [];
	foreach ($conditions as $index => $condition)
	{
		/** @var BitrixBizprocFieldType $fieldType */
		$fieldType = $condition['fieldType'];

		if (in_array($condition['operator'], ['!empty', 'empty']))
		{
			$formattedValue = '';
		}
		else
		{
			$multiple = $fieldType->isMultiple();
			$fieldType->setMultiple(true);
			$formattedValue = $fieldType->formatValue($condition['value']);
			$fieldType->setMultiple($multiple);
		}

		$toLog[] = [
			'condition' => [
				'field' => $condition['fieldName'],
				'operator' => $condition['operator'],
				'value' => $formattedValue
			],
			'joiner' => $condition['joiner'] === static::CONDITION_JOINER_OR ? 'OR' : 'AND',
			'fieldValue' => $condition['valueToCheck'] ? $fieldType->formatValue($condition['valueToCheck']) : null,
			'result' => $results[$index] ? 'Y' : 'N',
		];
	}

	$toLog = array_merge(['result' => $result ? 'Y' : 'N'], $toLog);
	$title = $ownerActivity->isPropertyExists('Title') ? $ownerActivity->Title : '';

	$id = $this->writeDebugTrack(
		$ownerActivity->getWorkflowInstanceId(),
		$ownerActivity->getName(),
		$ownerActivity->executionStatus,
		$ownerActivity->executionResult,
		$title ?? '',
		$toLog,
		CBPTrackingType::DebugAutomation
	);

	return [$toLog, $id];
}