- Модуль: bizproc
- Путь к файлу: ~/bitrix/modules/bizproc/lib/workflow/template/packer/robopackage.php
- Класс: BitrixBizprocWorkflowTemplatePackerRoboPackage
- Вызов: RoboPackage::unpack
public function unpack($data)
{
$result = new ResultUnpack();
$datumTmp = $this->uncompress($data);
if (is_string($datumTmp))
{
try
{
$datumTmp = MainWebJson::decode($data);
}
catch (MainArgumentException $e)
{
//do nothing
}
}
if (is_array($datumTmp) && is_array($datumTmp['ROBOTS']))
{
$robotTemplate = new AutomationEngineTemplate($datumTmp['DOCUMENT_TYPE']);
try
{
$robotTemplate->setRobots($datumTmp['ROBOTS']);
}
catch (MainArgumentException $e)
{
$result->addError(new MainError(Loc::getMessage("BIZPROC_WF_TEMPLATE_ROBOPACKAGE_WRONG_DATA")));
return $result;
}
/** @var Tpl $tpl */
$tpl = WorkflowTemplateTable::createObject();
$tpl->set('MODULE_ID', $datumTmp['DOCUMENT_TYPE'][0]);
$tpl->set('ENTITY', $datumTmp['DOCUMENT_TYPE'][1]);
$tpl->set('DOCUMENT_TYPE', $datumTmp['DOCUMENT_TYPE'][2]);
$tpl->set('DOCUMENT_STATUS', $datumTmp['DOCUMENT_STATUS']);
$tpl->set('NAME', $datumTmp['NAME']);
$tpl->set('DESCRIPTION', $datumTmp['DESCRIPTION']);
$tpl->set('TEMPLATE', $robotTemplate->getActivities());
$tpl->set('PARAMETERS', $datumTmp['PARAMETERS']);
$tpl->set('VARIABLES', $datumTmp['VARIABLES']);
$tpl->set('CONSTANTS', $datumTmp['CONSTANTS']);
$tpl->set('SYSTEM_CODE', $datumTmp['SYSTEM_CODE']);
$tpl->set('ORIGINATOR_ID', $datumTmp['ORIGINATOR_ID']);
$tpl->set('ORIGIN_ID', $datumTmp['ORIGIN_ID']);
return $result->setTpl($tpl)
->setDocumentFields($datumTmp['DOCUMENT_FIELDS'])
->setRequiredApplications($datumTmp['REQUIRED_APPLICATIONS']);
}
$result->addError(new MainError(Loc::getMessage("BIZPROC_WF_TEMPLATE_ROBOPACKAGE_WRONG_DATA")));
return $result;
}