• Модуль: sale
  • Путь к файлу: ~/bitrix/modules/sale/lib/orderbase.php
  • Класс: BitrixSaleOrderBase
  • Вызов: OrderBase::update
protected function update()
{
	$result = new Result();

	$fields = $this->fields->getChangedValues();

	if ($this->isChanged())
	{
		if (array_key_exists('DATE_UPDATE', $fields) && $fields['DATE_UPDATE'] === null)
		{
			unset($fields['DATE_UPDATE']);
		}

		$fields['VERSION'] = intval($this->getField('VERSION')) + 1;
		$this->setFieldNoDemand('VERSION', $fields['VERSION']);

		if (array_key_exists('REASON_MARKED', $fields) && mb_strlen($fields['REASON_MARKED']) > 255)
		{
			$fields['REASON_MARKED'] = mb_substr($fields['REASON_MARKED'], 0, 255);
		}

		$r = static::updateInternal($this->getId(), $fields);

		if (!$r->isSuccess())
		{
			return $result->addErrors($r->getErrors());
		}

		if ($resultData = $r->getData())
		{
			$result->setData($resultData);
		}
	}

	return $result;
}