compaq, посмотрел на одном из разработанных мною проектов, как ведет себя CURRENT_STRUCTURE_ID в случае ошибки 404 когда магазин привязан к корню сайта.
Да, вы правы. В константе при этом - идентификатор корневого узла. (Возможно потому что INDEX_PAGE_IS_DEFAULT?)
А попробуйте в момент 404й ошибки проверить существование константы IS_ERROR_404
Например напишите в макете такую штуку:
У меня, на несуществующей странице этот код выдает 404, а на обычной - ok, даже если магазин привязан к корню.
Возможно, при этом надо, чтобы на сайте были настроены страницы ошибок, и чтобы настройки ТДС магазина (или ИС, если к корню привязана инфосистема) содержали код, процитированный модератором Ivanov вот здесь: (пост этот еще от 2008 года, и сейчас это кодв типовых есть по-умолчанию, но вдруг у вас проект давний)