- Модуль: 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];
}