• Модуль: iblock
  • Путь к файлу: ~/bitrix/modules/iblock/classes/general/cml2.php
  • Класс: CIBlockCMLImport
  • Вызов: CIBlockCMLImport::ChangeOffersStatus
function ChangeOffersStatus($ELEMENT_ID, $STATUS = "Y", $bWF = true)
{
	if($this->arLinkedProps === false)
	{
		$this->arLinkedProps = array();
		$obProperty = new CIBlockProperty;
		$rsProperty = $obProperty->GetList(array(), array("LINK_IBLOCK_ID"=>$this->next_step["IBLOCK_ID"], "XML_ID"=>"CML2_LINK"));
		while($arProperty = $rsProperty->Fetch())
			$this->arLinkedProps[] = $arProperty;
	}
	$obElement = new CIBlockElement;
	$obElement->CancelWFSetMove();
	$elementFields = array("ACTIVE"=>$STATUS);
	if ((string)BitrixMainConfigOption::get('iblock', 'change_user_by_group_active_modify') === 'Y')
	{
		$elementFields['MODIFIED_BY'] = $this->currentUserId;
	}
	foreach($this->arLinkedProps as $arProperty)
	{
		$rsElements = $obElement->GetList(
			Array("ID"=>"asc"),
			Array(
				"PROPERTY_".$arProperty["ID"] => $ELEMENT_ID,
				"IBLOCK_ID" => $arProperty["IBLOCK_ID"],
				"ACTIVE" => $STATUS=="Y"? "N": "Y",
			),
			false, false,
			Array("ID", "TMP_ID")
		);
		while($arElement = $rsElements->Fetch())
			$obElement->Update($arElement["ID"], $elementFields, $bWF);
	}
}