Предложение

С точки зрения системы коммерческое предложение - это элемент 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()
		 */
	}
}