- Модуль: bizproc
- Путь к файлу: ~/bitrix/modules/bizproc/lib/restservice.php
- Класс: BitrixBizprocRestService
- Вызов: RestService::upsertAppPlacement
static function upsertAppPlacement(int $appId, string $code, string $handler)
{
$filter = [
'=APP_ID' => $appId,
'=ADDITIONAL' => $code,
'=PLACEMENT' => static::PLACEMENT_ACTIVITY_PROPERTIES_DIALOG,
];
$dbRes = PlacementTable::getList(array(
'filter' => $filter
));
$placementHandler = $dbRes->fetch();
if ($placementHandler)
{
$result = PlacementTable::update($placementHandler['ID'], ['PLACEMENT_HANDLER' => $handler]);
}
else
{
$placementBind = array(
'APP_ID' => $appId,
'ADDITIONAL' => $code,
'PLACEMENT' => static::PLACEMENT_ACTIVITY_PROPERTIES_DIALOG,
'PLACEMENT_HANDLER' => $handler,
);
$result = PlacementTable::add($placementBind);
}
if(!$result->isSuccess())
{
$errorMessage = $result->getErrorMessages();
throw new RestException(
'Unable to set placement handler: '.implode(', ', $errorMessage),
RestException::ERROR_CORE
);
}
}