}
    } else {
        foreach ($res->getErrorMessages() as $error_message) {
            $message = new CAdminMessage($error_message);
            break;
        }
        $bVarsFromForm = true;
    }
}
// ******************************************************************** //
//                ВЫБОРКА И ПОДГОТОВКА ДАННЫХ ФОРМЫ                     //
// ******************************************************************** //
$allProperties = [];
// выборка данных
if ($ID > 0) {
    $seoProperty = \Xpage\SeoFilter\PropertyTable::getById($ID)->fetch();
    $APPLICATION->SetTitle("Edit {$seoProperty['ID']}");
}
$obProperties = \Bitrix\Iblock\PropertyTable::getList(['select' => ['ID', 'NAME'], 'filter' => ['IBLOCK_ID' => \Bitrix\Main\Config\Option::get('xpage.seofilter', 'IBLOCK', 1), 'SECTION_PROPERTY.SMART_FILTER' => 'Y', 'PROPERTY_TYPE' => \Bitrix\Iblock\PropertyTable::TYPE_LIST], 'runtime' => [new Bitrix\Main\Entity\ReferenceField('SECTION_PROPERTY', 'Bitrix\\Iblock\\SectionProperty', ['this.ID' => 'ref.PROPERTY_ID'], ['join_type' => 'LEFT'])]]);
while ($arProperty = $obProperties->fetch()) {
    $allProperties[] = $arProperty;
}
// ******************************************************************** //
//                ВЫВОД ФОРМЫ                                           //
// ******************************************************************** //
// не забудем разделить подготовку данных и вывод
require $_SERVER["DOCUMENT_ROOT"] . "/bitrix/modules/main/include/prolog_admin_after.php";
// конфигурация административного меню
$aMenu = [["TEXT" => "Список", "TITLE" => "Список", "LINK" => "seofilter_property.php", "ICON" => "btn_list"], ["TEXT" => "Удалить", "TITLE" => "Удалить", "LINK" => "javascript:if(confirm('" . "Да, прошу вас" . "')) window.location='/bitrix/admin/seofilter_property.php?ID=" . $ID . "&action=delete&lang=" . LANGUAGE_ID . "&" . bitrix_sessid_get() . "';", "ICON" => "btn_delete"]];
// создание экземпляра класса административного меню
$context = new CAdminContextMenu($aMenu);