- Модуль: bizproc
- Путь к файлу: ~/bitrix/modules/bizproc/lib/automation/engine/template.php
- Класс: BitrixBizprocAutomationEngineTemplate
- Вызов: Template::unConvertTemplate
protected function unConvertTemplate()
{
$documentType = $this->getDocumentType();
$this->template = [
'ID' => $this->getId(),
'MODULE_ID' => $documentType[0],
'ENTITY' => $documentType[1],
'DOCUMENT_TYPE' => $documentType[2],
'DOCUMENT_STATUS' => $this->template['DOCUMENT_STATUS'],
'NAME' => $this->template['NAME'] ?? $this->makeTemplateName(),
'AUTO_EXECUTE' => $this->autoExecuteType,
'TEMPLATE' => [[
'Type' => 'SequentialWorkflowActivity',
'Name' => 'Template',
'Properties' => ['Title' => 'Bizproc Automation template'],
'Children' => [],
]],
'PARAMETERS' => $this->template['PARAMETERS'],
'CONSTANTS' => $this->template['CONSTANTS'],
'SYSTEM_CODE' => 'bitrix_bizproc_automation',
];
if ($this->robots)
{
$parallelActivity = $this->createParallelActivity();
$sequence = $this->createSequenceActivity();
foreach ($this->robots as $i => $robot)
{
if ($i !== 0 && !$robot->isExecuteAfterPrevious())
{
$parallelActivity['Children'][] = $sequence;
$sequence = $this->convertRobotToSequenceActivity($robot);
}
else
{
$sequence['Children'] = array_merge(
$sequence['Children'],
$this->convertRobotToSequenceActivity($robot)['Children']
);
}
}
$parallelActivity['Children'][] = $sequence;
if (count($parallelActivity['Children']) < 2)
{
$parallelActivity['Children'][] = $this->createSequenceActivity();
}
$this->template['TEMPLATE'][0]['Children'][] = $parallelActivity;
}
$this->robots = null;
$this->isConverted = false;
}