public static function getSectionIdByCode(string $code)
{
$result = SectionTable::query()
->addSelect('ID')
->addFilter('CODE', $code)
//->where('IBLOCK_ID', <id_iblock>) // опционально
->fetch();
if (!$result['ID']) {
throw new Exception('Указанная секция - ' . $code . ' по коду не найдена');
}
return $result['ID'];
}
$section = self::getSectionIdByCode('<code_section>'); // тут указываем код секции
$object = ElementStructureTable::createObject()
->setXmlId(uniqid())
->setName('Главная страница')
->setCode('index')
->setIblockSectionId($section) // Указываем ID секции, в данном примере я получаю его по коду секции
->setInSections(true); // Без этого параметра работать не будет
$result = $object->save();
if (!$result->isSuccess()) {
throw new Exception(current($result->getErrorMessages()));
}