• Модуль: bizproc
  • Путь к файлу: ~/bitrix/modules/bizproc/classes/general/stateservice.php
  • Класс: CBPStateService
  • Вызов: CBPStateService::deleteCompletedStates
static function deleteCompletedStates(array $documentId)
{
	$connection = MainApplication::getConnection();
	$helper = $connection->getSqlHelper();

	list($moduleId, $entity, $docId) = CBPHelper::ParseDocumentId($documentId);

	$connection->queryExecute(sprintf('DELETE P FROM b_bp_workflow_permissions P '
		.'INNER JOIN b_bp_workflow_state S ON (P.WORKFLOW_ID = S.ID) '
		.'LEFT JOIN b_bp_workflow_instance I ON (S.ID = I.ID)'
		.'WHERE I.ID IS NULL AND S.MODULE_ID = '%s' AND S.ENTITY = '%s' AND S.DOCUMENT_ID = '%s'',
		$helper->forSql($moduleId),
		$helper->forSql($entity),
		$helper->forSql($docId)
	));

	$connection->queryExecute(sprintf('DELETE S FROM b_bp_workflow_state S LEFT JOIN b_bp_workflow_instance I '
		.'ON (S.ID = I.ID) '
		.'WHERE I.ID IS NULL AND S.MODULE_ID = '%s' AND S.ENTITY = '%s' AND S.DOCUMENT_ID = '%s'',
		$helper->forSql($moduleId),
		$helper->forSql($entity),
		$helper->forSql($docId)
	));
}