В файле
/bitrix/modules/sale/admin/delivery_ajax.php
Стоит явная проверка на родителя:
if(get_parent_class($className) != 'Bitrix\Sale\Delivery\Restrictions\Base') |
Что неверно. При создании ограничения сейчас ожидается, что ограничение это прям непосредственный потомок Base. Если же ограничение наследуется от другого ограничения, то будет выброшено исключение с ошибкой про неверное наследование.
Проверку нужно изменить на такую:
if(!is_subclass_of($className, 'Bitrix\Sale\Delivery\Restrictions\Base')) |
В этом случае наследование будет работать корректно и можно будет изменять типовые ограничения