// идентификатор редактируемой записи
$message = null;
// сообщение об ошибке
$bVarsFromForm = false;
// флаг "Данные получены с формы", обозначающий, что выводимые данные получены с формы, а не из БД.
// ******************************************************************** //
//                ОБРАБОТКА ИЗМЕНЕНИЙ ФОРМЫ                             //
// ******************************************************************** //
if ($REQUEST_METHOD == "POST" && ($save != "" || $apply != "") && check_bitrix_sessid()) {
    // обработка данных формы
    $arFields = ["TITLE" => $TITLE, "SORT" => $SORT, "PROPERTY_ID" => $PROPERTY_ID];
    // сохранение данных
    if ($ID > 0) {
        $res = \Xpage\SeoFilter\PropertyTable::update($ID, $arFields);
    } else {
        $res = \Xpage\SeoFilter\PropertyTable::add($arFields);
    }
    if ($res->isSuccess()) {
        if (!$ID) {
            $ID = $res->getId();
        }
        if ($apply != "") {
            LocalRedirect("/bitrix/admin/seofilter_property_edit.php?ID=" . $ID . "&mess=ok");
        } else {
            LocalRedirect("/bitrix/admin/seofilter_property.php");
        }
    } else {
        foreach ($res->getErrorMessages() as $error_message) {
            $message = new CAdminMessage($error_message);
            break;
        }