• Модуль: rpa
  • Путь к файлу: ~/bitrix/modules/rpa/lib/model/stagetable.php
  • Класс: BitrixRpaModelStageTable
  • Вызов: StageTable::onBeforeDelete
static function onBeforeDelete(Event $event): ORMEventResult
{
	$result = new ORMEventResult();

	$id = $event->getParameter('id');
	if(is_array($id))
	{
		$id = $id['ID'];
	}
	$id = (int) $id;
	$stage = static::getById($id)->fetchObject();

	if (!$stage)
	{
		return $result;
	}

	static::getTemporaryStorage()->saveData($id, $stage->collectValues());
	$type = Driver::getInstance()->getType($stage->getTypeId());
	if(!$type)
	{
		return $result;
	}
	$itemsCount = $type->getItemsCount([
		'=STAGE_ID' => $stage->getId(),
	]);

	if($itemsCount > 0)
	{
		$result->addError(new ORMEntityError(Loc::getMessage('RPA_STAGE_TABLE_DELETE_ERROR_ITEMS')));
	}
	if($stage->isSuccess())
	{
		$result->addError(new ORMEntityError(Loc::getMessage('RPA_STAGE_TABLE_DELETE_ERROR_SUCCESS')));
	}

	return $result;
}