コード例 #1
0
ファイル: recurring.php プロジェクト: ASDAFF/bxApiDocs
	/**
	 * <p>Метод ищет подписки, которые пора продлить, и пытается осуществить продление. За раз осуществляется продление не более трех подписок. Этот метод можно вызывать из агентов или cron'а для автоматического продления подписки.</p>
	 *
	 *
	 *
	 *
	 * @return void <p>Метод не возвращает значений.</p><br><br>
	 *
	 * @static
	 * @link http://dev.1c-bitrix.ru/api_help/sale/classes/csalerecurring/csalerecurring.checkrecurring.php
	 * @author Bitrix
	 */
	public static function CheckRecurring()
	{
		if (defined("SALE_PROC_REC_NUM"))
			$processRecords = SALE_PROC_REC_NUM;
		else
			$processRecords = 3;

		$dbRecurring = CSaleRecurring::GetList(
				array(),
				array(
						"<=NEXT_DATE" => Date($GLOBALS["DB"]->DateFormatToPHP(CLang::GetDateFormat("FULL", SITE_ID))),
						"CANCELED" => "N",
						"!REMAINING_ATTEMPTS" => 0
					),
				false,
				array("nTopCount" => $processRecords),
				array("ID")
			);
		$cnt = 0;
		while ($arRecurring = $dbRecurring->Fetch())
		{
			CSaleRecurring::NextPayment($arRecurring["ID"]);
			$cnt++;
			if ($cnt >= $processRecords)
				break;
		}
	}