Дабы увековечить данную информацию, решил записать ее у себя на страницах блога. Информация крайне ценная, пока мало встречающаяся в интернетах.
Есть следующая проблематика:
все мы знаем, что нельзя модифицировать ядро битрикса. Но так уж получается, что есть определенный класс людей, до которых данная информация доходит не сразу, и поэтому неизбежно возникают ситуации, когда ядро все-таки изменено.

Если вы участвуете в программе монитора качества, то вы неизбежно столкнетесь с проблемой восстановления целостности ядра битрикс, взяв новый проект на поддержку, например.

Существуют разные способы исправления ситуации для разных случаев. Иногда можно просто переустановить модуль (не забудьте про бекап таблиц модуля!). Иногда файлы модуля можно скопировать из самого инсталлятора этого модуля (из папочки install). Таким способом можно исправить файлы компонентов модуля, например, или стилей/js.

Но что делать в случае, если были изменены классы модуля? Ведь в инсталляторе этих файлов нет. Искать похожую версию битрикс с правильными файлами? Нафиг …. ведь битрикс же как-то проводит проверку на целостность файлов? Должна же быть возможность и сами файлы скачать.

И вы знаете - она есть 🙂

Битриксоиды любят скрывать какой-то функционал и не афишировать его публично, чтобы использовать для решения проблем. И тут есть небольшой лайфхак. Для его использования нужно зайти на страницу обновлений платформы (Marketplace -> Обновление платформы), и добавить в адресную строку параметр BX_SUPPORT_MODE=Y

В результате такой простой манипуляции на странице обновлений появится системная область, в которой будет перечислен список кодов всех модулей, доступных для вашей редакции. Достаточно перечислить в этом поле все те модули, которые нуждаются в перезаливке и нажать кнопку «Перезагрузить все файлы», и проблема будет решена!

Осталось дело за малым - добавить кнопку, как в заголовке поста.

Спасибо Саше и Диме за полезную информацию 🙂

UPD. Битриксоиды знают о том, что такая информация утекла в сеть. И они теперь периодически меняют название переменной. На момент написания этих строк актуальное название **BX_SUPPORT_PROTOCOL1. **В будущем может поменяться. Значение этой переменной задается в обфусцированном коде файла bitrix/modules/main/admin/update_system.php