• Модуль: sale
  • Путь к файлу: ~/bitrix/modules/sale/lib/controller/property.php
  • Класс: BitrixSaleControllerProperty
  • Вызов: Property::addAction
public function addAction($fields)
{
	$fields = self::prepareFields($fields);
	if (isset($fields['SETTINGS']) && is_array($fields['SETTINGS']))
	{
		$fields = array_merge($fields, $fields['SETTINGS']);
		unset($fields['SETTINGS']);
	}

	$r = $this->checkFileds($fields);

	if(!isset($fields['PERSON_TYPE_ID']) || trim($fields['PERSON_TYPE_ID'])=='')
		$r->addError(new Error('person type id is empty', 200850000005));

	if($r->isSuccess())
	{
		$this->personTypeId = $fields['PERSON_TYPE_ID'];

		$this->property = $fields;
		$this->initializePropertySettings();
		if ($this->validateProperty())
		{
			$this->saveProperty();
		}

		foreach ($this->errors as $error)
		{
			$r->addError(new Error($error, 200850000006));
		}
	}

	if(!$r->isSuccess())
	{
		$this->addErrors($r->getErrors());
		return null;
	}
	else
	{
		return ['PROPERTY'=>$this->get($this->property['ID'])];
	}
}