- Модуль: sender
- Путь к файлу: ~/bitrix/modules/sender/lib/integration/crm/connectors/helper.php
- Класс: Bitrix\Sender\Integration\Crm\Connectors\Helper
- Вызов: Helper::processRuntimeFilter
static function processRuntimeFilter(array &$filter, $entityTypeName = '')
{
foreach ($filter as $key => $item)
{
if (!($item instanceof Connector\Filter\RuntimeFilter))
{
continue;
}
unset($filter[$key]);
$filter[$item->getKey()] = $item->getValue();
if (empty(self::$runtimeByEntity[$entityTypeName]))
{
self::$runtimeByEntity[$entityTypeName] = [];
}
self::$runtimeByEntity[$entityTypeName] = array_merge(
self::$runtimeByEntity[$entityTypeName],
array_map(
function ($item) use ($entityTypeName)
{
$search = $entityTypeName ? $entityTypeName . '_' : '';
$runtimeName = $entityTypeName ? $entityTypeName . '.' : '';
$item['expression'] = str_replace(
$search,
$runtimeName,
$item['expression']
);
$item['buildFrom'] = array_map(
function ($from) use ($search, $runtimeName)
{
return str_replace($search, $runtimeName, $from);
},
$item['buildFrom']
);
return $item;
},
$item->getRuntime()
)
);
}
}