Агент для деактивации пустых разделов в 1С-Битрикс

/*
 * Снятие активности если в разделе нет товаров
*/
class DeactivateNullSections
{
    const IBLOCK_ID = 1; // Указываем свой
	public static function Execute()
	{
		$arNewVal = [];

        $bs = new \CIBlockSection;

		$resSect = \CIBlockSection::GetList(
			[],
			["IBLOCK_ID"=> self::IBLOCK_ID, "ACTIVE" => "Y", "ELEMENT_SUBSECTIONS" => "Y"],
            true,
            ["ID", "IBLOCK_ID", "NAME", "TIMESTAMP_X"]         
		);
		while($obSect = $resSect->Fetch()) {
            if($obSect["ELEMENT_CNT"] == 0) {
                $bs->Update($obSect["ID"], ["ACTIVE" => "N"]);
            }            
		}

		return __CLASS__.'::'.__FUNCTION__.'();';
	}
}

И добавляем этот метод в Агенты битрикса.


Возврат к списку