Поддержка серверов

CCrmEntityBindingProxy::deleteItems: метод Битрикс

Постоянная ссылка: http://bxapi.ru/src/?id=370463

<?php 
//    /bitrix/modules/crm/classes/general/restservice.phpCCrmEntityBindingProxy::deleteItems()
//    10166:

    
public function deleteItems($ownerEntityID)
    {
        
$ownerEntityID = (int)$ownerEntityID;
        if(
$ownerEntityID <= 0)
        {
            throw new 
RestException('The parameter ownerEntityID is invalid or not defined.');
        }

        
$userPermissions CCrmPerms::GetCurrentUserPermissions();
        if(
$this->ownerEntityTypeID === CCrmOwnerType::Deal
            
&& $this->entityTypeID === CCrmOwnerType::Contact)
        {
            
$categoryID CCrmDeal::GetCategoryID($ownerEntityID);
            if(
$categoryID 0)
            {
                throw new 
RestException(
                    !
CCrmDeal::CheckReadPermission(0$userPermissions) ? 'Access denied' 'Not found'
                
);
            }
            elseif(!
CCrmDeal::CheckReadPermission($ownerEntityID$userPermissions$categoryID))
            {
                throw new 
AccessException();
            }

            
DealContactTable::unbindAllContacts($ownerEntityID);
            return 
true;
        }
        elseif(
$this->ownerEntityTypeID === CCrmOwnerType::Quote
            
&& $this->entityTypeID === CCrmOwnerType::Contact)
        {
            if(!
CCrmQuote::CheckReadPermission($ownerEntityID$userPermissions))
            {
                throw new 
AccessException();
            }

            
QuoteContactTable::unbindAllContacts($ownerEntityID);
            return 
true;
        }
        elseif(
$this->ownerEntityTypeID === CCrmOwnerType::Contact
            
&& $this->entityTypeID === CCrmOwnerType::Company)
        {
            if(!
CCrmContact::CheckReadPermission($ownerEntityID$userPermissions))
            {
                throw new 
AccessException();
            }

            
ContactCompanyTable::unbindAllCompanies($ownerEntityID);
            return 
true;
        }
        elseif(
$this->ownerEntityTypeID === CCrmOwnerType::Company
            
&& $this->entityTypeID === CCrmOwnerType::Contact)
        {
            if(!
CCrmCompany::CheckReadPermission($ownerEntityID$userPermissions))
            {
                throw new 
AccessException();
            }

            
ContactCompanyTable::unbindAllContacts($ownerEntityID);
            return 
true;
        }

        
$ownerEntityTypeName CCrmOwnerType::ResolveName($this->ownerEntityTypeID);
        
$entityTypeName CCrmOwnerType::ResolveName($this->entityTypeID);
        throw new 
RestException("The binding type '{$ownerEntityTypeName} - {$entityTypeName}' is not supported in current context.");
    }

Блог разработчика

9 Августа 2016 ResizeImageGet и простой водяной знак налету

Сегодня поговорим о том как проще всего воткнуть водяной знак на картинки в Битрикс. Например, на все изображения каталога.

21 Июля 2016 Добавление вкладки в CRM коробки Битрикс24

В этом посте я покажу, как легко и просто добавить вкладку в сущность CRM. И не просто добавить, а вывести там свой контент.

21 Июля 2016 Как просто обращаться из коробки Битрикс24 на сайт на базе Битрикс

К примеру вам хочется внутренним скриптом дернуть с сайта-магазина информацию, которая там, в свою очередь, закрыта некоторыми правами. Например, админскими. Можно конечно мутить свой REST, или иной формат общения, но проще всего воспользоваться штатным инструментом:

Текст сообщения*
Загрузить изображение