• Модуль: sale
  • Путь к файлу: ~/bitrix/modules/sale/lib/controller/statuslang.php
  • Класс: BitrixSaleControllerStatusLang
  • Вызов: StatusLang::addAction
public function addAction(array $fields)
{
	$r = new Result();

	$res = $this->existsByFilter([
		'STATUS_ID'=>$fields['STATUS_ID'],
		'LID'=>$fields['LID']
	]);

	if($res->isSuccess() == false)
	{
		$r = $this->validate($fields);
		if($r->isSuccess())
		{
			$r = $this->getEntityTable()::add($fields);
		}
	}
	else
	{
		$r->addError(new Error('Duplicate entry for key [statusId, lid]', 201750000003));
	}

	if(!$r->isSuccess())
	{
		$this->addErrors($r->getErrors());
		return null;
	}
	else
	{
		return [
			'STATUS_LANG'=>
				$this->getEntityTable()::getList([
					'filter'=>[
						'STATUS_ID'=>$fields['STATUS_ID'],
						'LID'=>$fields['LID']
					]
				])->fetchAll()[0]
		];
	}
}