• Модуль: sale
  • Путь к файлу: ~/bitrix/modules/sale/lib/helpers/admin/product.php
  • Класс: BitrixSaleHelpersAdminProduct
  • Вызов: Product::fillPropsData
private function fillPropsData()
{
	if(empty($this->resultData))
		return;

	foreach($this->groupByIblock as $iblockId => $elIds)
	{
		$exists = false;
		foreach ($elIds as $oneId)
		{
			if (isset($this->resultData[$oneId]))
			{
				$exists = true;
				break;
			}
		}
		if ($exists)
		{
			$basketProperties = CatalogProductPropertyCatalogFeature::getBasketPropertyCodes($iblockId);
			if (empty($basketProperties))
				continue;
			CIBlockElement::GetPropertyValuesArray(
				$this->resultData,
				$iblockId,
				array(
					'ID' => $elIds,
					'IBLOCK_ID' => $iblockId
				),
				array(
					'ID' => $basketProperties
				),
				array(
					'PROPERTY_FIELDS' => array(
						'ID', 'IBLOCK_ID', 'NAME', 'CODE', 'PROPERTY_TYPE',
						'MULTIPLE', 'LINK_IBLOCK_ID',
						'USER_TYPE', 'USER_TYPE_SETTINGS',
						'LIST_TYPE',
					)
				)
			);
		}
	}

	foreach($this->resultData as $elId => $elData)
	{
		if(isset($elData['PROPERTIES']))
		{
			$props = $this->formatProps($elData['PROPERTIES']);
			unset($this->resultData[$elId]['PROPERTIES']);

			if($elData["CATALOG_XML_ID"] <> '')
			{
				$props[] = array(
					"ID" => 0,
					"NAME" => "Catalog XML_ID",
					"CODE" => "CATALOG.XML_ID",
					"VALUE" => $elData['CATALOG_XML_ID']
				);
			}

			if($elData["PRODUCT_XML_ID"] <> '')
			{
				$props[] = array(
					"ID" => 0,
					"NAME" => "Product XML_ID",
					"CODE" => "PRODUCT.XML_ID",
					"VALUE" => $elData["PRODUCT_XML_ID"]
				);
			}

			if(empty($props))
				continue;

			$this->resultData[$elId]['PROPS'] = $props;
		}
	}
}