• Модуль: sale
  • Путь к файлу: ~/bitrix/modules/sale/lib/location/connector.php
  • Класс: BitrixSaleLocationConnector
  • Вызов: Connector::update
static function update($primary, array $data)
{
	$linkFld = static::getLinkField();

	if($primary && isset($data[$linkFld])) // it will break below, at parent::delete()
		$link = static::getByPrimary($primary)->fetch();

	$res = parent::update($primary, $data);
	if($res->isSuccess() && isset($data[$linkFld]) && $data[$linkFld] != $link[$linkFld]) // if switched from one entity to another
	{
		static::resetLinkUsage($link[static::getLinkField()]); // for donor entity we need to recalc link existence
		static::setLinkUsage($data[$linkFld], $data[static::getTypeField()], true); // we know there ARE links for retsepient entity
	}

	$GLOBALS['CACHE_MANAGER']->ClearByTag('sale-location-data');
	static::onAfterModifiy();

	return $res;
}