- Модуль: bizproc
- Путь к файлу: ~/bitrix/modules/bizproc/lib/script/manager.php
- Класс: BitrixBizprocScriptManager
- Вызов: Manager::saveTemplateConfigs
static function saveTemplateConfigs(int $tplId, array $templateFields, $extractParameters = true)
{
$tpl = WorkflowTemplateTable::getById($tplId)->fetchObject();
if (!$tpl)
{
return false;
}
$constants = $templateFields['CONSTANTS'] ?? [];
$parameters = $templateFields['PARAMETERS'] ?? [];
$usages = $tpl->collectUsages();
$usedConstants = $usages->getValuesBySourceType(SourceType::Constant);
$usedParameters = $usages->getValuesBySourceType(SourceType::Parameter);
$constants = array_intersect_key($constants, array_fill_keys($usedConstants, true));
$parameters = array_intersect_key($parameters, array_fill_keys($usedParameters, true));
if ($extractParameters)
{
$constants = self::extractProperties($constants, $tpl->getDocumentComplexType());
$parameters = self::extractProperties($parameters, $tpl->getDocumentComplexType());
}
CBPWorkflowTemplateLoader::update(
$tplId,
['CONSTANTS' => $constants, 'PARAMETERS' => $parameters],
true
);
}