0. Andry.Boris 55 03.10.11 09:35 Сейчас в теме

Создание скриншота для возможности отправки уведомления об ошибке программисту 1С

Ознакомившись с публикациями на тему «Отправка уведомления об ошибке программисту 1С с приложением скриншота» возник вопрос, а можно ли сделать процесс создания скриншота без поддержки ВК и универсальным по отношению к платформе…

Перейти к публикации

Комментарии
Избранное Подписка Сортировка: Древо
1. TrinitronOTV 03.10.11 11:26 Сейчас в теме
хорошая вещь - пригодиться
2. Andry.Boris 55 03.10.11 13:09 Сейчас в теме
(1) TrinitronOTV,
Не забываем ставить + мне очень приятно если пригодиться...
3. Misanets 336 03.10.11 16:35 Сейчас в теме
Из описания к публикации:

"из любой платформы 1С даем команду выполнить внешнюю команду с параметрами…"

Пример кода можно?
6. Misanets 336 05.10.11 16:32 Сейчас в теме
Ответ то будет на вопрос (3)?
10. Andry.Boris 55 06.10.11 14:35 Сейчас в теме
(3) Пример для 7.7 добавлен... см. статью.
4. Ichigo 04.10.11 01:41 Сейчас в теме
Прикольная и главное актуальная вещь! Спасибо.
5. Andry.Boris 55 04.10.11 12:12 Сейчас в теме
Спасибо.
Функционал можно развить, кому что нужно пишите...
допишем...
7. romansun 188 05.10.11 16:49 Сейчас в теме
(5)

Сделайте копирование скрина в буфер обмена. В 75% случаев это именно то, что нужно - вставить в письмо, в скайп, в документацию и пр.

я сам и заказчик на постоянной основе пользуемся getgreenshot.org
39. imax26 64 29.04.17 06:12 Сейчас в теме
(7)
Копирование в буфер обмена делается - сюрприз - клавишей PrintScreen
8. Анатолий50 05.10.11 18:14 Сейчас в теме
Не видел, но одобряю, идея очень хорошая. Еще бы и отправляла сама, или хотя бы собирала сведения, в каком месте остановилась программа. Поставил +
11. Andry.Boris 55 06.10.11 14:36 Сейчас в теме
(8) В следующей редакции добавлю отправку по почте через SSL...
для 7.7 думаю это тоже особо актуально...
9. oav 06.10.11 09:12 Сейчас в теме
Вещь хорошая. Надо попробовать... так ли все удобно???
12. Misanets 336 06.10.11 18:09 Сейчас в теме
Что-то не получается никак в 8.2.

Процедура ВыполнитьНажатие(Кнопка)
ПолноеИмяФайла = "C:\Скрин_"+ТекущаяДата();
Команда = "C:\ScreenShot.exe "+"path="""+ПолноеИмяФайла+""""+" & type=""bmp""";
ЗапуститьПриложение(Команда);
КонецПроцедуры

В результате вроде должен появиться файл скрина на диске С:\ (там же и эксешник лежит), но нет, ничего нет.
В чем беда?
13. pumbaE 627 06.10.11 18:19 Сейчас в теме
(12) Misanets, а просто так срабатывает? Не всегда ведь можно писать в корень диска С:, например в windows 7 нельзя по умолчанию.
15. Andry.Boris 55 06.10.11 18:26 Сейчас в теме
(13) Поэтому и использовал строку
>> Команда = КаталогИБ()+"ScreenShot.exe "+"path="""+ПолноеИмяФайла+""""+" & type=""bmp""";
Если из командной строки запустить:
100% работает...
ScreenShot.exe path="C:\Program Files\screenshot"&type="png"
Дальше транслируйте команду в формате 1С
14. Andry.Boris 55 06.10.11 18:22 Сейчас в теме
(12) Возможно в єтой строке проблема
>> ПолноеИмяФайла = "C:\Скрин_"+ТекущаяДата();
Формируется имя с большим содержанием точек.
Воспользуйтесь моим методом, где формируется имя без точек...
и отрегулируйте количество кавычек:
>> Команда = "C:\ScreenShot.exe "+"path="""+ПолноеИмяФайла+"""+" & type=""bmp""";
16. Misanets 336 07.10.11 15:53 Сейчас в теме
Andry.Boris пишет:

(12) Возможно в єтой строке проблема

>> ПолноеИмяФайла = "C:\Скрин_"+ТекущаяДата();

Формируется имя с большим содержанием точек.

Воспользуйтесь моим методом, где формируется имя без точек...

и отрегулируйте количество кавычек:

>> Команда = "C:\ScreenShot.exe "+"path="""+ПолноеИмяФайла+"""+" & type=""bmp""";
Показать

Спасибо, действительно проблема видимо в точках входящих в состав даты.
Решил файл хранить в темпе под простым именем типа
КаталогВременныхФайлов() + "screen"
и от туда брать его. Каждый раз файл будут перезаписан, если он существует.
17. gaglo 10.10.11 11:39 Сейчас в теме
Пробороздив просторы гугла, значит? Так рекомендую произведение неподражаемого Нира Софера -
NirCmd v2.65 ! Просто и быстро позволяет сделать из командной строки около сотни самых разных вещей; среди них и создание скриншота: в файл или в буфер обмена, возможно с задержкой, поддерживаются разные форматы графического файла, и если несколько мониторов подключено, то можно по желанию получать скриншоты со всех доступных или только с главного...
ЗЫ. А Microsoft Net Framework всех версий отсутствует приблизительно на 120 из 130 компьютеров нашей фирмы, потому, что он там никому не нужен...
20. Andry.Boris 55 10.10.11 14:04 Сейчас в теме
(17) gaglo,
Я и не претендую на первенство изобретения велосипеда...
Это мой взгляд на вопрос, можете пользоваться любыми обработками как Вам желается...
25. gaglo 11.10.11 15:38 Сейчас в теме
(20) Мне жаль (почему-то), что моё заявление вызвало именно такую реакцию.
Светлая сторона: Вы сами соорудили стороннюю утилиту под свои цели. И она работает. Похвально!
Тёмная сторона: Вы не нашли готовой утилиты, хотя могли и найти... (Непохвально?)
Мне лично не нравится в Ваших ответах лейтмотив "можете пользоваться любыми обработками как Вам желается...", "Пользоваться или нет Вам решать". Похоже, Вы все-таки обиделись даже на не самую резкую критику ;-[
Однако подождем следующую (см.11) редакцию велосипеда.
18. CheBurator 3395 10.10.11 12:24 Сейчас в теме
мегакруто:
а можно ли сделать процесс создания скриншота без поддержки ВК и универсальным по отношению к платформам 7.7 и 8.Х… Оказалось можно, но для этого нужно сделать скриншот сторонней системной утилитой

- суперподход! вк - нам не нравятся, сделаем стороннюю утилиту...
..мдя...
.
для 7.7 - с использованием сторонней утилиты - то есть ВК: http://infostart.ru/public/14659/
+ у абадонны в миракле есть такой функционал.
+ к этому реально можно обойтись безо всяких ВК и сторонних утилит - принтскрин клавишу еще нгикто не отменял...
21. Andry.Boris 55 10.10.11 15:12 Сейчас в теме
(18) CheBurator,
ВК - сидит в памяти, это и есть то что может не нравиться,
причем зачем держать ВК если Вам нужна функция из неё только при возникновении
ситуации... К тому же избыток ВК в работающей может приводить к сбоям...

Про сторонние разработки те что Вы описали я в курсе,...

К тому же данная вещь на любителя...

Утилита универсальна, запустить всегда можно и не сложно...
Пользоваться или нет Вам решать, вариантов решения вопроса можно разложить множество...

Спасибо за комментарий.
19. alexanderal 10.10.11 13:29 Сейчас в теме
а мне понравилось.... всяко с удаленщиками проще работать... эффект одной кнопки
22. CheBurator 3395 10.10.11 15:53 Сейчас в теме
ВК загружать имеет смысл те, которые во время работы используются регулярно...
загруженная ВК - будет работать... по идее... (?)
а вот запуск сторонней утилыта запросто может обломаться из-за политик безопасности - раз, из-за нехватки зависимостей/софта - два (впрочем как и ВК ;0-)
.
поэтому я не люблю ВК/утилты в виде комбайнов... - если мне что-то надо - то ради одной возможности тянуть огромноый хвост невостребованных - бяка.. ;-)
.
так что, при существенном хотении задачу скриншота экрана можно полностью решить встроенными штатными средствами 1С/виндов... или с минимальным привлечением сторонних ВК/утилит
23. pt_olga 62 10.10.11 21:58 Сейчас в теме
мы своих пользователей научили пользоваться Снагитом... на свою голову)))
удобней программки по скриншотам не видела
24. Andry.Boris 55 11.10.11 12:35 Сейчас в теме
(23) pt_olga,
Как альтернатива Снагита можете посмотреть в сторону Gadwin PrintScreen - умеет делать
много и размер очень мал... сидит в трее, реагирует на кнопочку "PrintScreen"
может и отправить по электронке... Но статья не о том...

Не каждый пользователь сообразит, что нужно нажать PrintScreen и сохранить ошибку для
админа... а в данном разрезе можно автоматизировать процесс отлова ошибок и пользователю будет
незаметно...
26. Nikola23 414 14.10.11 00:52 Сейчас в теме
Думаю, что будет сильно полезно при работе с множеством БД (соотв. с множеством пользователей).
Иногда из пользователей и пытками не вытянешь чо там за ошибка произошла, когда, при каких условиях.
А тут можно будет видеть не только работу с БД, но и попутно запущенные приложения.
27. warenic 104 17.10.11 17:44 Сейчас в теме
Почитал описание, глянул на комменты... Зачем все эти сложности? Alt+PrintScreen - копируем снимок экрана в буфер. Теперь его можно вставить хоть в Paint, хоть в Word. Да хоть куда! И никаких ВК и изменений в коде...
33. MishanyaMeepo 22.08.14 15:38 Сейчас в теме
(27) warenic, а если требуется автоматически при ошибках делать скрин и отправлять админам, без участия пользователя? А если нужно сделать большое количество снимков? Всяко легче написать обработку, а не нажимать много раз PrintScreen и вставлять в Paint.
28. Leannet 19.10.11 14:17 Сейчас в теме
29. milkers 2332 19.07.12 15:19 Сейчас в теме
Я бы с удовольствием воспользовался этим экзешником, если б смог проверить его на отсутствие закладок... Нужен исходный код.
30. NSerget 5 25.11.12 15:48 Сейчас в теме
Отличная вещь.

У себя немного поправил:

//// нужно дождаться появления файла
//Счетчик = 10000;
//Пока Счетчик>0 Цикл
// // Ждем отработки ScreenShot.exe
// Счетчик = Счетчик - 1;
//КонецЦикла;

Счетчик = 1000000;
Пока НЕ ПроверитьСуществованиеФайла(КаталогВременныхФайлов() + ИмяФайлаСкринфота + ".jpg") Цикл
Счетчик = Счетчик - 1;
Если Счетчик = 0 Тогда
Возврат Ложь; // Скриншот не был создан
КонецЕсли;
КонецЦикла;
31. EastGuy 53 12.08.13 11:11 Сейчас в теме
А вовремя открытого модального окна работает, можно сделать скрин?
32. the1 382 12.08.13 11:15 Сейчас в теме
полагаю, можно копнуть в сторону SendKeys + PrintScreen, а там уже вызывать или почту, или Пэйнт, или черта лысого. Но все равно плюс!
34. MishanyaMeepo 22.08.14 15:42 Сейчас в теме
И еще насчет задержки/ожидания/delay:
Делать цикл с счетчиком неправильно, т.к. задержка предполагает приостановку процесса выполнения программы.
Поэтому можно сделать такую функцию:
//Установить задержку
Procedure delay(t) export 
	
	cmdLine= "ping -n 1 -w " + Формат(1000*t, "ЧГ=0")+" 1.0.0.0";
	
	WshShell = Новый COMОбъект("WScript.Shell");
	
	WshShell.Run(cmdLine, 0, -1);
	
EndProcedure
Показать


35. stifano 3 27.02.15 19:49 Сейчас в теме
Вещь!!! Очень пригодилась. Спасибо.
36. Andry.Boris 55 28.02.15 17:49 Сейчас в теме
(35) stifano, На здоровья если помогло и не жалко + подкиньте мне пригодиться... ;)
37. DrZombi 07.04.15 14:07 Сейчас в теме
А где для 1С 8.2 УФ и Вэб клиента?
Где использование технологии Нативел:)
38. unichkin 1183 20.04.16 22:11 Сейчас в теме
(37) DrZombi, какой native :) Это же не ВК))) И в УФ работает прекрасно. Из винды ессно. Автору зачет)
ох, вот это я археолог))
Оставьте свое сообщение
Новые вопросы с вознаграждением
Автор темы объявил вознаграждение за найденный ответ, его получит тот, кто первый поможет автору.

Вакансии

Программист 1С
Владивосток
зарплата от 80 000 руб. до 120 000 руб.
Полный день

Автор новостных обзоров на тему 1С и бухучета
Санкт-Петербург
По совместительству

Руководитель проекта, аналитик, консультант
Санкт-Петербург
По совместительству

Программист 1С
Екатеринбург
зарплата от 120 000 руб. до 120 000 руб.
Полный день

Бизнес-аналитик 1С
Москва
зарплата от 140 000 руб. до 200 000 руб.
Полный день