• Модуль: sale
  • Путь к файлу: ~/bitrix/modules/sale/lib/compatible/ordercompatibility.php
  • Класс: BitrixSaleCompatibleOrderCompatibility
  • Вызов: OrderCompatibility::getDefaultPaySystemId
static function getDefaultPaySystemId($personTypeId)
{
	$personTypeId = intval($personTypeId);

	static $defaultPaySystemId = array();
	if (isset($defaultPaySystemId[$personTypeId]))
		return $defaultPaySystemId[$personTypeId];

	$defaultPaySystemId[$personTypeId] = intval(MainConfigOption::get('sale', '1C_IMPORT_DEFAULT_PS', 0));
	if (isset($defaultPaySystemId[$personTypeId]) && ($defaultPaySystemId[$personTypeId] > 0))
		return $defaultPaySystemId[$personTypeId];

	if ($personTypeId > 0)
	{
		$dbPaySystem = SalePaySystemManager::getList(
			array(
				'select' => array("ID"),
				'filter' => array(
					'=ACTIVE' => 'Y',
					'=PERSON_TYPE_ID' => $personTypeId,
					'=ENTITY_REGISTRY_TYPE' => static::getRegistryType()
				),
				'order' => array('SORT'),
				'limit' => 1
			)
		);
		if ($paySystem = $dbPaySystem->fetch())
			$defaultPaySystemId[$personTypeId] = intval($paySystem['ID']);

		if (isset($defaultPaySystemId[$personTypeId]) && ($defaultPaySystemId[$personTypeId] > 0))
			return $defaultPaySystemId[$personTypeId];
	}

	$dbPaySystem = SalePaySystemManager::getList(
		array(
			'select' => array("ID"),
			'filter' => array(
				'=ACTIVE' => 'Y',
				'=ENTITY_REGISTRY_TYPE' => static::getRegistryType()
			),
			'order' => array('SORT'),
			'limit' => 1
		)
	);
	if ($paySystem = $dbPaySystem->fetch())
		$defaultPaySystemId[$personTypeId] = intval($paySystem['ID']);

	return $defaultPaySystemId[$personTypeId];
}