• Модуль: iblock
  • Путь к файлу: ~/bitrix/modules/iblock/lib/inheritedproperty/sectionvalues.php
  • Класс: BitrixIblockInheritedPropertySectionValues
  • Вызов: SectionValues::clearValues
function clearValues()
{
	$connection = BitrixMainApplication::getConnection();
	$sectionList = BitrixIblockSectionTable::getList(array(
		"select" => array("LEFT_MARGIN", "RIGHT_MARGIN"),
		"filter" => array("=ID" => $this->sectionId),
	));
	$section = $sectionList->fetch();
	if ($section)
	{
		$connection->query("
			DELETE FROM b_iblock_element_iprop
			WHERE IBLOCK_ID = ".$this->iblockId."
			AND ELEMENT_ID in (
				SELECT BSE.IBLOCK_ELEMENT_ID
				FROM b_iblock_section_element BSE
				INNER JOIN b_iblock_section BS ON BSE.IBLOCK_SECTION_ID = BS.ID AND BSE.ADDITIONAL_PROPERTY_ID IS NULL
				WHERE BS.IBLOCK_ID = ".$this->iblockId."
				AND BS.LEFT_MARGIN <= ".$section["RIGHT_MARGIN"]."
				AND BS.RIGHT_MARGIN >= ".$section["LEFT_MARGIN"]."
			)
		");
		$connection->query("
			DELETE FROM b_iblock_section_iprop
			WHERE IBLOCK_ID = ".$this->iblockId."
			AND SECTION_ID in (
				SELECT BS.ID
				FROM b_iblock_section BS
				WHERE BS.IBLOCK_ID = ".$this->iblockId."
				AND BS.LEFT_MARGIN <= ".$section["RIGHT_MARGIN"]."
				AND BS.RIGHT_MARGIN >= ".$section["LEFT_MARGIN"]."
			)
		");
	}
	ValuesQueue::deleteAll();
}