• Модуль: sale
  • Путь к файлу: ~/bitrix/modules/sale/lib/paysystem/manager.php
  • Класс: Bitrix\Sale\PaySystem\Manager
  • Вызов: Manager::update
static function update($primary, array $data): \Bitrix\Main\ORM\Data\UpdateResult
{
	$oldFields = PaySystemActionTable::getByPrimary($primary)->fetch();
	if ($oldFields)
	{
		$newFields = array_merge($oldFields, $data);
		$data['PS_CLIENT_TYPE'] = (new Service($newFields))->getClientTypeFromHandler();
	}

	$updateResult = PaySystemActionTable::update($primary, $data);
	if ($oldFields && $updateResult->isSuccess())
	{
		$oldFields = array_intersect_key($oldFields, $data);
		$eventParams = [
			'PAY_SYSTEM_ID' => $primary,
			'OLD_FIELDS' => $oldFields,
			'NEW_FIELDS' => $data,
		];
		$event = new Event('sale', self::EVENT_ON_PAYSYSTEM_UPDATE, $eventParams);
		$event->send();
	}

	return $updateResult;
}