• Модуль: crm
  • Путь к файлу: ~/bitrix/modules/crm/lib/requisite/conversion/psrequisiteconverter.php
  • Класс: Bitrix\Crm\Requisite\Conversion\PSRequisiteConverter
  • Вызов: PSRequisiteConverter::convert
static function convert()
{
	if(!Main\Loader::includeModule('crm'))
		throw new Main\SystemException('Could not include crm module.');

	if(!Main\Loader::includeModule('sale'))
		throw new Main\SystemException('Could not include sale module.');

	$progressData = self::getProgressData();

	if (!isset($progressData['INIT']) || $progressData['INIT'] !== 'Y')
	{
		self::initialize();
		self::updateProgressData(array('INIT' => 'Y', 'INIT_TIME' => time()));
	}

	if (!isset($progressData['PRESETS']) || $progressData['PRESETS'] !== 'Y')
	{
		self::parsePaySystemData();
		self::makeConvPresets();
		self::updateProgressData(array('PRESETS' => 'Y'));
		return;
	}

	if (!isset($progressData['REQUISITE']) || $progressData['REQUISITE'] !== 'Y')
	{
		self::parsePaySystemData();
		self::prepareConvFieldSets();
		self::preparePaySystemConvData();
		self::prepareEntityTree();
		self::saveEntities();
		self::updatePSParams();
		self::updateProgressData(array('REQUISITE' => 'Y'));
		return;
	}

	if (!isset($progressData['INVOICES']) || $progressData['INVOICES'] !== 'Y')
	{
		self::loadPSEntityTreeMap();
		self::$startTime = time();
		while (self::$stepTime >= (time() - self::$startTime))
		{
			if (self::updateInvoices())
			{
				self::updateProgressData(array('PS_COMPLETE' => 'Y'));
				break;
			}
		}
	}

	return;
}