Как сделать скрин в 1с
Возникла потребность создания документа в 1С для регистрации ошибок работы программ у пользователей.
На первый взгляд задача тривиальная, сделать документ, с красивым полем форматированного документа, ответственным, датой обращения, темой и все такое.
Камнем преткновения стала возможность работы с буфером обмена. Как оказалось, штатных способов работы с буфером и нет.
А ведь было бы прикольно, нажать ctrl+prtscr (alt+prtscr), и вставлять содержимое из буфера в нужную позицию документа, где находится курсор.
После изучения определенного количества неплохих, но достаточно старых публикаций, сделал вывод что штатная вставка ctrl+v для картинов не работает,
работают только с текстом,
варианты с подключением к эксель, копипастом в него, и сохранением в файл - ресурсоемки, да и не везде эксель доступен.
Остались варианты с внешними компонентами.
компонент тоже немного, давным давно (в 2009), пользователь gudun_ku выложил компоненту clipboard.dll для этой цели.
на основе которой, было сделано некоторое количество обработок к разным конфигурациям..
Но несмотря на все усилия, мне не удалось все это запустить уже на современной конфигурации, под win7. Все попытки подключения компоненты, приводят к исключению.
когда, уже почти опустились руки, - решил покопаться в типовых. И к радости обнаружил что фирма 1С уже позаботилась об этом, и в конфигурации Документооборот уже присутствует такая компонента, и данный функционал всего-лишь необходимо использовать.
Собственно этими знаниями и решил поделится, дабы облегчить жизнь тем, кто столкнется с подобной задачей.
Сама компонента находится в общих макетах, макет называется - ОбщиеМакеты.КомпонентаПолученияКартинкиИзБуфера
Далее нам понадобится модуль
там всего несколько процедур и функций, по установке, и инициализации компоненты.
Также нужно не забыть про глобальную переменную
которая объявлена в модуле управляемого приложения
Собственно, это и все что нам нужно для работы.
Далее рисуем наш документ, размещаем на форме форматированный документ, и не забываем про реквизит типа "ХранилищеЗначений", для того чтобы нам картинки в базе хранить.
Делаем команду, вставка из буфера, и прописываем код
Так как метод вставки картинки доступен только на сервере, то там и выполняем
Результат достигнут, все работает.
Лишний раз убедился, что для успешной работы нет нужды каждый раз изобретать велосипед, а необходимо регулярно изучать имеющиеся подсистемы, и пользоваться по максимуму ими.
То, что вы попали на эту страницу означает, что программисту, который пытается решить вашу проблему, нужен снимок экрана (принтскрин) в момент возникновения ошибки или другой проблемы в 1С.
Ниже в картинках я описываю как этот снимок сделать и вставить в письмо.
Снимаем
1. Откройте в 1С нужный документ, справочник . и добейтесь возникновения проблемной ситуации.
2. Найдите и нажмите на клавиатуре клавишу "Print Screen".
Вставляем и отправляем
Вставка сделанного снимка возможна двумя способами: через редактор Paint (наиболее желательный вариант), либо через Word (этот вариант наименее предпочтителен, так как его не удобно открывать и просматривать).
Через редактор Paint
3. Нажмите на пустом месте рабочего стола правой кнопкой мыши и в открывшемся меню выберите "Создать" - "точечный рисунок":
4. Нажмите на созданном файле правой кнопкой и выберите пункт "Изменить":
5. Откроется редактор картинок. Находясь в нём нажмите на клавиатуре сочетание клавиш Ctrl + V для вставки сделанного снимка экрана в редактор.
6. В редактор вставилась картинка. Теперь закройте редактор, согласившись на сохранение изменений, и прикрепите созданный файл с картинкой к письму для программиста как вы обычно прикрепляете документы.
Через редактор Word
3. Нажмите на пустом месте рабочего стола правой кнопкой мыши и в открывшемся меню выберите "Создать" - "Документ Microsoft Office Word".
4. Откройте это документ и измените ориентацию страницы на альбомную.
5. Нажмите на пустом месте документа правой кнопкой мыши и выберите пункт "Вставить".
6. В документ вставилась картинка. Теперь сохраните и закройте его, а затем прикрепите к письму для программиста как вы обычно прикрепляете документы.
С уважением, Владимир Милькин (преподаватель школы 1С программистов и разработчик обновлятора).
Как помочь сайту: расскажите (кнопки поделиться ниже) о нём своим друзьям и коллегам. Сделайте это один раз и вы внесете существенный вклад в развитие сайта. На сайте нет рекламы, но чем больше людей им пользуются, тем больше сил у меня для его поддержки.
С помощью COM Объекта "WScript.Shell" производится запуск MS PowerShell. При запуске PowerShell параметром передаётся скрипт выполнения снимка экрана. Снимок сохраняется во временный каталог, отображается на экране и далее удаляется.
Автоматизация сбора ошибок от пользователей. Не все пользователи занают, что можно снимок экрана сделать. Из тех, кто знает, не каждый может его к письму, и/или запросу в сервис деск приложить.
Во вложении обработка-пример для обычного приложения.
Скрипт PowerShell (строка 1С):
Текст = """& + "$size = [Windows.Forms.SystemInformation]::VirtualScreen;"
+ "$bitmap = new-object Drawing.Bitmap $size.width, $size.height;"
+ "$graphics = [Drawing.Graphics]::FromImage($bitmap);"
+ "$graphics.CopyFromScreen($size.location,[Drawing.Point]::Empty, $size.size);"
+ "$graphics.Dispose();"
+ "$bitmap.Save('"+ИмяФайла+"');"
+ "$bitmap.Dispose()>""";
Специальные предложения
По поводу использования в УФ, могу сказать, что точно так же сделать не получится. В виду того, что согласно синтаксис-помощнику, если картинка задается программно, то может быть установлена либо пустая картинка, либо или картинка из библиотеки. Конечно можно выкрутиться и всё равно, его (скриншот) отобразить, например с помощью HTML.
Сейчас добавлю пример для УФ. (2) а с помощью этого скрипта можем сделать скриншот определенной области? А вообще, можно ли как нибудь табличный документ сконвертировать в картинку другим способом?
+ "$size = [System.Windows.Forms.Screen]::PrimaryScreen.Bounds;"
//+ "$size = [Windows.Forms.SystemInformation]::VirtualScreen;"
Всё таки очевидный плюс моего решения, заключается в отсутствии необходимости использования сторонних ВК. Добрый день!
Тема весьма актуальная.
Было бы здорово организовать скриншот распакованной формы обработки (в формате внутренней строки).
Пример:
" <"ru","(вер 1.1)">
>,0,0,1,1,1,0,0,0,
,
,1,
,0,0,1,
,0>
>,9,"ФормаКоманднаяПанель",
,
,0,1,0,0,0,2,2,
>"
П.С.: Цель автоматическая генерация документации файла внешней обработки или отчета, парсер кода есть.
С уважением Интересна только идея, за это звезда.
Но с практической стороны, вроде бы и бесполезная фигня. Везде где работал, у пользователей куча разношерстных баз, и типовых и нетиповых. А скриншоты в основном нужны, например когда база крашится, или вываливает ошибку, где нужно еще нажать "подробно". и смысл наворотов вроде как бесполезен в зоопарке. Тут внешняя среда исполнения нужна, в винде. (12)По большей части Вы правы.
Но нашёл применение на практике.
Есть одна большая база (овер 1000 продаж в день, 150+ юзверей бъют копытцами по клавиатуе весь день). Сделал пул самых опасных и прикрутил к парсеру нагрузки сервера отправку на клиент команды для лепки скриншота после чего грохаю сеанс. Потом админ с вещ. доком идёт бить по лицу.
Просмотры 26489
Загрузки 125
Рейтинг 71
Создание 07.05.15 15:37
Обновление 07.05.15 15:37
№ Публикации 353853
Конфигурация Конфигурации 1cv8
Операционная система Windows
Вид учета Не имеет значения
Доступ к файлу Абонемент ($m)
Код открыт Не указано
См. также
Конвертация любых адресов, написанных в свободной форме, к ФИАС Промо
Допустим у нас есть база с адресами клиентов, и написаны они могут быть как душе угодно. С опечатками, без индексов, без разделителей, в совершенно любом формате. Вот было бы здорово иметь функцию, которая одним нажатием кнопки преобразует любую белиберду к строгому представлению адреса по ФИАС? Восстановит индекс, исправит опечатки и вернёт на 100% валидный адрес. Для всех, кто мечтательно сказал "ДА!", выкладываю данную обработку.
2 стартмани
30.06.2020 7681 68 XilDen 15
Управление платформенными обработками (расширение для типовых)
Расширение использует недокументированную возможность для управления платформенными обработками. Например, чтобы подменить "Активные пользователи" или доработать "Конструктор запросов".
1 стартмани
07.10.2021 3375 5 SeiOkami 23
Работа с картами в 1С на примере бесплатной библиотеки Leaflet
Разработка функционала отображения и выбора пунктов доставки на карте прямо в 1С с помощью бесплатной библиотеки Leaflet. Тестирование производилось на платформе 8.3.15.1534 на тонком клиенте.
1 стартмани
31.03.2021 10483 31 Parsec1C 11
Универсальная обработка переноса данных из основной конфигурации в расширение
Обработка предназначена для разработчиков, для тех случаев, когда ранее дописанный функционал, перенесен в расширение и появляется необходимость перенести данные из объектов основной конфигурации в объекты расширения. Перенос осуществляется настройкой соответствия объектов основной конфигурации объектам расширения.
5 стартмани
05.10.2020 10394 65 biz-intel 71
Удаление и/или копирование сохраненных в 1С настроек (например настроек печати табличных форм) Промо
Иногда нужно удалить сохраненную в 1С "покореженную" настройку или скопировать "удачную" другому пользователю.
1 стартмани
01.09.2012 66876 1378 AnryMc 46
Улучшенная обработка универсального обмена данными в формате XML (УФ)
Улучшенная обработка "Универсальный обмен данными" с полноценными возможностями СКД для выборки данных (не только для отборов).
1 стартмани
23.06.2020 12959 135 Lem0n 1
Панель команд текущего объекта (документа, справочника и т.д.) со следующим возможностями: Редактор реквизитов, таблиц и движений текущего объекта, Анализ прав доступа к текущему объекту, Поиск ссылок на объект с отборами, Сторно движений документа, Выгрузка/загрузка текущего объекта между базами. Реализована всплывающей панелью в форме объекта. Подключается как расширение конфигурации (*.cfe) либо отдельными обработками.
1 стартмани
01.05.2020 15298 112 sapervodichka 1
Работа с файлами (обычная и управляемая форма)
Нужно загрузить файл с клиента на сервер или же, наоборот, файл загрузить с сервера на клиент, а впридачу все это на web-клиенте, да еще и асинхронно? Нет ничего проще, читай далее, как это сделать!
1 стартмани
10.06.2019 41615 222 Xershi 77
Групповая корректировка записей регистров (Управляемое приложение) v 2.1 Промо
Обработка предназначена для групповой корректировки записей регистров Накопления, Сведений и Бухгалтерии. Разработана специально для Управляемого приложения.
3 стартмани
06.09.2013 68806 321 kser87 59
Электронная таблица средствами 1С (Версия 2.0)
Функционал электронной таблицы для программ на платформе 1С реализован на основе табличных документов. Функционал реализован в виде обработки. Большую часть формы обработки занимают листы (закладки) с табличными документами, которые выполняет роль электронной таблицы. Листы могут быть добавлены, удалены или переименованы. Ограничение по количеству листов определяется возможностью платформы. В формулах электронной таблицы можно использовать любые языковые конструкции, процедуры и функции 1С, ссылки на другие ячейки электронной таблицы расположенные в том числе и на других листах. Допустимо обращаться к ячейкам электронной таблицы по имени именованной области. В случае использования в формулах электронной таблицы данных из самой таблицы пересчет зависимых ячеек с формулами производится автоматически. Электронную таблицу можно сохранить в файл.
1 стартмани
23.04.2019 23803 78 user706545_kseg1971 40
Удобная консоль регламентных и фоновых заданий
1 стартмани
06.02.2019 22194 211 Alxby 20
Редактор объектов информационной базы 8.3
Универсальная внешняя обработка для редактирования реквизитов и табличных частей объектов информационной базы, редактирование движений документов. Доступ ко всем реквизитам объектов, есть возможность выгрузки и загрузки данных (объекты и движения документов) через XML. Платформа 8.3, управляемые формы. Версия 1.1.0.57 от 09.10.2021
2 стартмани
23.01.2019 43310 486 ROL32 50
Установка предопределенных элементов: просмотр, исправление и поиск ошибок (задвоенных и отсутствующих) Промо
Простая обработка для просмотра и установки значений предопределенных элементов. Позволяет заменить значение предопределенного элемента с одного элемента справочника на другой, удалить предопределенный элемент (снять пометку предопределенности), установить пометку переопределенного элемента. Проверяет предопределенные данные на наличие задвоений и отсутствующих. Работает со справочниками, планами счетов, планами видов характеристик, планами видов расчетов.
Читайте также: