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

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

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

//    CCrmEntityBindingProxy::deleteItems()
//    /bitrix/modules/crm/classes/general/restservice.php:10445

    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, или иной формат общения, но проще всего воспользоваться штатным инструментом:

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