• Модуль: crm
  • Путь к файлу: ~/bitrix/modules/crm/lib/invoice/compatible/helper.php
  • Класс: Bitrix\Crm\Invoice\Compatible\Helper
  • Вызов: Helper::update
static function update($id, $fields, $changeDateUpdate = true)
{
	global $APPLICATION;

	$id = (int)$id;

	$fields1 = array();
	foreach ($fields as $key => $value)
	{
		if (mb_substr($key, 0, 1) == "=")
		{
			$fields1[mb_substr($key, 1)] = $value;
			unset($fields[$key]);
		}
	}

	if (!self::checkFields("UPDATE", $fields, $id))
		return false;

	if (!empty($fields1))
	{
		$fields1 = Invoice::backRawField(Invoice::ENTITY_ORDER, $fields1);
	}

	$result = Invoice::update($id, array_merge($fields, $fields1), $changeDateUpdate);
	if (!$result->isSuccess())
	{
		foreach($result->getErrorMessages() as $error)
		{
			$APPLICATION->ThrowException($error);
		}

		return false;
	}

	// TODO: ... [ORDER_CHANGE_001] - delete or replace
	/*$arOrderOldFields = array();

	$resultFields = $result->getData();
	if (!empty($resultFields['OLD_FIELDS']) && is_array($resultFields['OLD_FIELDS']))
	{
		$arOrderOldFields = $resultFields['OLD_FIELDS'];
	}

	\CSaleOrderChange::AddRecordsByFields($id, $arOrderOldFields, $fields);*/

	return $id;
}