Предложение
Table of Contents
С точки зрения системы коммерческое предложение - это элемент CRM с информацией о компании, товарах и услугах, а также предложением сотрудничества. Это следующая стадия работы с клиентом после создания сделки.
Подобно счетам предложение является уницифированной сущностью, но не основанной на механике смарт-процессов. Можно сказать что предложения реализуют те же интерфейсы и наследуются от тех же абстрактных классов что и другие сущности, но по большей части перекрывают их поведение.
Так как их поведение подчиняется тем же правилам работы с фабриками, описывать методы и механики не имеет смысла. Единственный заслуживающий внимания часто-используемый случай - создание предложения на основании сделки.
Создание на основании сделки
Предположим мы хотим конвертировать сделку в
<?php
use \Bitrix\Main,
\Bitrix\Crm,
\Bitrix\Crm\Conversion
;
/**
* Load default conversion config
*/
$config = Conversion\DealConversionConfig::load();
if($config === null)
{
$config = Conversion\DealConversionConfig::getDefault();
}
$wizard = Conversion\ConversionManager::getWizard(
\CCrmOwnerType::Deal,
$entityID,
$config
);
$wizard->setSliderEnabled(true);
$isAutomaticallyConverted = $wizard->execute();
if ( $isAutomaticallyConverted )
{
/**
* Is finished process? $wizard->isFinished() - true / false
* Quote link: $wizard->getRedirectUrl()
* note: link relative. E.g. "/crm/type/7/details/2/?IFRAME=Y&IFRAME_TYPE=SIDE_SLIDER"
*/
}
else
{
// Automatically convert failed
$redirectUrl = $wizard->getRedirectUrl();
if ( strlen($redirectUrl) > 0 )
{
/**
* Need to continues manually
* Redirect user to: $wizard->getRedirectUrl()
*/
}
else
{
/**
* Error. Get text from: $wizard->getErrorText()
*/
}
}