Делаем скриншот сеанса в 1С 8.3 программно
✍️ @odin1C_rus
&НаКлиенте
Процедура Скриншот_сеанса(Полный_путь_к_файлу = "") // доступна с версии 8.3.17
// Сохранение скриншота текущего сеанса пользователя (по переданному адресу)
// Установить в настройках БД: "Управление настройками обработки ошибок" -
// "Снимок окон приложения" = "Отправлять"
#Если НЕ ВебКлиент Тогда
// Получаем имя временного файла с типом: Строка
Временный_zip_файл = ПолучитьИмяВременногоФайла("zip");
// Регистрация (сохранение и отправки данных) ошибки
Отчет_об_ошибке = Новый ОтчетОбОшибке(ИнформацияОбОшибке());
Отчет_об_ошибке.Записать(Временный_zip_файл, Ложь);
// Получаем имя каталога временных файлов пользователя
Каталог_файлов = КаталогВременныхФайлов() + СтрЗаменить(Новый УникальныйИдентификатор, "-", "");
// Чтение файла ZIP
Архив_zip = Новый ЧтениеZipФайла(Временный_zip_файл);
Архив_zip.ИзвлечьВсе(Каталог_файлов, РежимВосстановленияПутейФайловZIP.НеВосстанавливать);
// Случайное число в диапазоне от 1 до 999999 для рандомного имени файла
ГенераторСлЧисел = Новый ГенераторСлучайныхЧисел();
СлучЧисло=ГенераторСлЧисел.СлучайноеЧисло(1,999999);
// Сохраняем скриншот 1С в папку
Путь_к_скриншоту = Каталог_файлов + "\screen"+СлучЧисло+".png";
КопироватьФайл(Путь_к_скриншоту, Полный_путь_к_файлу);
// Чистим мусор
УдалитьФайлы(Временный_zip_файл);
УдалитьФайлы(Каталог_файлов);
#КонецЕсли
КонецПроцедуры
✍️ @odin1C_rus