Skip to content

Instantly share code, notes, and snippets.

@mborodov
Last active July 13, 2023 13:25
Show Gist options
  • Save mborodov/1f57071a505ab4932900cdc20dd571d1 to your computer and use it in GitHub Desktop.
Save mborodov/1f57071a505ab4932900cdc20dd571d1 to your computer and use it in GitHub Desktop.
<?php
/**
* Код для поиска шаблона Бп по некоторому PHP коду(активити).
* Выполнить код в Командной строке PHP Админки Битрикс24
*/
// Зададим строку для поиска
$findString = 'echo 1';
// Подключим модуь бизнесс процессов
use Bitrix\Main\Loader;
Loader::includeModule('bizproc');
// Достанем все шаблоны Бп
$tplResult = CAllBPWorkflowTemplateLoader::GetList(
['ID' => 'DESC'],
[],
false,
false,
[]
);
// Найдем шаблоны Бп с нужнымы кодами
$tpls = [];
while ($row = $tplResult->GetNext()) {
// Будем проверять каждую активити типа CodeActivity шаблона на наличие нужного кода
$findedTemplate = false;
foreach($row['TEMPLATE'][0]['Children'] as $activity) {
if ('CodeActivity' !== $activity['Type']) {
continue;
}
if (strpos($activity['Properties']['ExecuteCode'], $findString) !== false) {
$findedTemplate = true;
}
}
if ($findedTemplate) {
$tpls[] = [
'ID шаблона' => $row['ID'],
'Модуль' => $row['MODULE_ID'],
'Название шаблона' => $row['NAME'],
'Описание шаблона' => $row['DESCRIPTION'],
'Сущность БП' => $row['ENTITY'],
];
}
}
echo 'По коду "' . $findString . '" найдены следующие шаблоны:';
var_dump($tpls);
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment