Есть у меня вредная привычка, периодически сохранять странички интернета с интересной и полезной информацией, к себе на компьютер в виде локальных файлов, чтобы потом в тишине и покое, в удобное время их изучить, а возможно даже и пересохранить частично в файл MS Word, или в свой любимый блокнот Mars Notebook.
И для этого часто использую такой плагин браузера, как SingleFile.
Но вот незадача, SingleFile изображения некоторых форматов сохранить не может, хотя при этом ссылки на сайт - источник в атрибут href записывает вполне корректные.
К тому же моя версия MS Word, равно как и Mars Notebook, ни в какую не соглашаются отображать base64.
Пробовал перекидывать через онлайн - сервисы для чтения word'овских файлов, но это долго, к тому же не решает проблемы с не полностью сохраненными данными.
Посему создал данную обработку.
Что делает: копирует html на сервер, далее процесс идет через объект ЧтениеТекста.
Локально сохраняемые картинки временно помещаются в подкаталог временных файлов.
Находит все теги <img> с атрибутом src в формате base64, конвертирует и заменяет на сформированные локальные файлы (например так <img src="image.png">).
Также загружает и подставляет изображения по ссылкам https.
Если поставить галочку Заменить гиперссылки на изображения, то в тегах <a> также заменяет данные в <img> (актуально для SingleFile).
В конце 1С создает zip - архив со всеми файлами, спрашивает каталог для сохранения.
Используется функция СтрНайтиВсеПоРегулярномуВыражению, которая доступна начиная с версии 1С 8.3.23
Признаюсь честно, я не особый специалист как по регулярным выражениям, так и по формату html, и регулярку сделал с помощью ChatGPT, но вроде работает.
После этого копипаст в MS Word, другие программы etc, получается нормально.
Повторюсь, эта обработка скорее вспомогательная, чем серьезный инструмент, и за ее полную корректность не ручаюсь, но с данной задачей она справляется.
К конфигурации не привязана, можно вызвать через Файл - Открыть, либо подключить в Печатные формы, отчеты и обработки - Дополнительные отчеты и обработки.
Работает на управляемых формах, на версиях 1С 8.3.23 и старше.