![]() |
![]() |
![]() |
|
Как создать скриншот в 1с в коде | ☑ | ||
---|---|---|---|---|
0
Ravil45
23.06.25
✎
14:05
|
Как создать скриншот в 1с программно, хочу сделать скрин когда код выполнится и на экране выйдет карта, после этого должен выполниться скриншот и сохраниться в нужной мне папке?
|
|||
1
timurhv
23.06.25
✎
14:07
|
ПолеHTML?
|
|||
2
formista2000
23.06.25
✎
14:09
|
Как только с sendkeys не извращались...
|
|||
3
PR
23.06.25
✎
14:27
|
||||
4
Волшебник
23.06.25
✎
14:58
|
VanessaExt - библиотека внешних компонент 1С
https://github.com/lintest/VanessaExt/blob/develop/README.md WindowsControl - внешняя компонента для управления окнами и процессами Захват изображения экрана: ПолучитьСнимокЭкрана (TakeScreenshot) ПолучитьСнимокОбласти (CaptureRegion) ПолучитьСнимокОкна (CaptureWindow) ПолучитьСнимокПроцесса (CaptureProcess) https://github.com/lintest/VanessaExt/blob/develop/Docs/WindowsControl.md |
|||
5
Ravil45
23.06.25
✎
16:10
|
(1) карта формируется в поле html, приближаю карту и делаю скрин, потом его засуну в отчет
|
|||
6
timurhv
23.06.25
✎
16:25
|
(5) Можно использовать JS скрипт html2canvas, но если используется сторонняя картинка на карте и у нее CORS политика запрещена, то картинка не будет сохранена в веб-клиенте.
Платформа 1С это игнорирует (тонкий клиент), но в будущем с обновлением могут пофиксить и тоже не выводить. |
|||
7
timurhv
23.06.25
✎
16:30
|
(6) Так подложки карты, значки могут не выводиться при сохранении картинки.
|
|||
8
Гений 1С
гуру
23.06.25
✎
16:33
|
(0) можно попробовать использовать описание ошибки (дамп), как вариант.
|
|||
9
r_p
23.06.25
✎
17:58
|
Код// Процедура сохраняет скриншот текущего сеанса пользователя по переданному адресу // Работает начиная с версии 8.3.17. // // Параметры: // ПолныйПуть - Строка - Полный путь к файлу // &НаКлиенте Процедура СохранитьСкриншотСеанса(ПолныйПуть = "") #Если НЕ ВебКлиент Тогда ВременныйФайл = ПолучитьИмяВременногоФайла(".zip"); ОтчетОбОшибке = Новый ОтчетОбОшибке(ИнформацияОбОшибке()); ОтчетОбОшибке.Записать(ВременныйФайл, Ложь); КаталогФайлов = КаталогВременныхФайлов() + СтрЗаменить(Новый УникальныйИдентификатор, "-", ""); ЧтениеАрхива = Новый ЧтениеZipФайла(ВременныйФайл); ЧтениеАрхива.ИзвлечьВсе(КаталогФайлов, РежимВосстановленияПутейФайловZIP.НеВосстанавливать); ПутьСкриншота = КаталогФайлов + "\screenshot.png"; КопироватьФайл(ПутьСкриншота, ПолныйПуть); УдалитьФайлы(ВременныйФайл); УдалитьФайлы(КаталогФайлов); #КонецЕсли КонецПроцедуры |
|||
10
Волшебник
23.06.25
✎
20:38
|
(9) Вы только добавьте, что это всё внутри Исключение...КонецПопытки
|
|||
11
Pprog151713
24.06.25
✎
09:46
|
(4) Огонь компонента.
|
|||
12
strange2007
24.06.25
✎
10:12
|
(0) Не проще ли ВК написать? Вопрос для меня новый, поэтому просто предположение
|
|||
13
arsik
гуру
24.06.25
✎
10:36
|
(12) Так в (4) все уже написано.
|
|||
14
strange2007
24.06.25
✎
11:49
|
(13) Точно!!! И ничего не надо изобретать
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |