Простой редактор изображений без внешних компонент или WIA-селые картинки.

05.03.13

Задачи пользователя - Корректировка данных

Набор инструментов для простых манипуляций с изображениями из 1С. Включает поворот, обрезку, масштабирование и наложение одного изображения на другое. Не богатый, но полезный арсенал, и это как раз то чего 1С до сих пор не умеет делать самостоятельно. К тому же абсолютно не требует внешних компонент - то есть из серии "всегда под рукой".

Файлы

ВНИМАНИЕ: Файлы из Базы знаний - это исходный код разработки. Это примеры решения задач, шаблоны, заготовки, "строительные материалы" для учетной системы. Файлы ориентированы на специалистов 1С, которые могут разобраться в коде и оптимизировать программу для запуска в базе данных. Гарантии работоспособности нет. Возврата нет. Технической поддержки нет.

Наименование Скачано Купить файл
WIAeditor_v8
.epf 9,52Kb
343 1 850 руб. Купить
WIAeditor_v77
.ert 14,00Kb
27 1 850 руб. Купить

Подписка PRO — скачивайте любые файлы со скидкой до 85% из Базы знаний

Оформите подписку на компанию для решения рабочих задач

Оформить подписку и скачать решение со скидкой

     Исследовать WIA меня заставила потребность автоматизции получения, обработки и размещения фотографий в 1С. Работа с изображениями, конечно, лежит вне принципиальных и важных задач системы автоматизации учета, но тем не менее желание научить 1С не только загружать/сохранять картинки, но и помочь пользователю с их обработкой рано или поздно приходит к большинству разработчиков.

     Интересно то, что 1С не поддерживает даже самых простых средств обработки графических файлов, и восьмерка при всех ее новшествах отнюдь не стала графически более продвинутой по сравнению с клюшкой. Все те же загрузить - выгрузить и минимальные средства управления отображением на форме. Очевидно в эволюции от 7.7 до 8 потребность более сложной работы с графикой не являлась движущим фактором...

     Традиционный путь преодоления врожденных ограничений 1С - использование внешних компонент. До сих пор вопрос о ВК дискуссионный, то есть разброс мнений от принципиально нет любым внешним модулям, до принципиально да на любой потребный чих разработчика. Я лично с осторожностью отношусь к непроверенным ВК с закрытым кодом и тем более никогда не посоветую использовать такую компоненту клиенту. Предпочитаю стабильные, заслужившие уважение коллег ВК-шки с мощным функционалом,  ставшие уже определенным общепризнанным стандартным дополнением основной среды разработки.

     Короче, не утомляя читателя и не собираясь с пеной у рта доказывать правильность моих взглядов на ВК, предлагаю к использованию набор из 5 инструментов для работы с графическими файлами.

1. Получение характеристик изображения (длина, ширина, расширение);

2. Обрезка изображения;

3. Поворот изображения;

4. Масштабирование изображения;

5. Наложение одного изображения на другое;

     Все эти средства используют стандартную Windows библиотеку Windows Image Acquisition и требуют для работы собственно наличия данной операционной системы. Изначально писал инструменты под 8-ку, но так как семерка мной все еще любима и не менее ограничена в работе с графикой сделал перевод:)

     Сами функции для обработки графики находятся во внешних обработках, которые демонстрируют примеры их работы. Обработки для 7.7 и 8.х абсолютно равнозначны по функционалу и даже типы файлов, которые можно редактировать и размещать на форме у них одинаковы (то есть 7.7 через WIA также умеет работать с png, tiff и другими форматами графических файлов).

     Так как обработки предназначены для разработчиков (но если честно то в лом было) не писал практически никакой защиты от дураков, то есть при обрезке, превышающей размеры исходного изображения или повороте на угол не кратный 90 никаких предупреждений нет, просто позаботился о том чтобы процесс не обрывался при попытке выполнить невозможные действия. Думаю, что по месту применения разработчик сам встоит необходимые механизмы проверки адекватности параметров преобразования.

Ну вот, собственно, и все! Спасибо за вниманиеWink

Вступайте в нашу телеграмм-группу Инфостарт

См. также

Закрытие периода Инструменты администратора БД Корректировка данных Бухгалтер Пользователь 1С:Предприятие 8 1С:Бухгалтерия 3.0 Россия Бухгалтерский учет Платные (руб)

Расширение «Оперативное проведение» в 4 раза уменьшает время проведения документов и закрытия месяца. Является комплексным решением проблем 62 и 60 счетов. Оптимизирует проведение при включенной функциональной опции «Раздельный учет НДС». Используется в более 10 организациях уже 2 года. Совместимо с конфигурацией Бухгалтерия 3.0 (+КОРП).

14400 руб.

29.04.2020    41372    124    152    

85

Корректировка данных Программист Пользователь 1С:Предприятие 8 1С:Управление торговлей 10 1С:Розница 2 1С:Управление производственным предприятием 1С:Управление нашей фирмой 1.6 1С:ERP Управление предприятием 2 1С:Бухгалтерия 3.0 1С:Управление торговлей 11 1С:Комплексная автоматизация 2.х 1С:Зарплата и Управление Персоналом 3.x 1С:Управление нашей фирмой 3.0 1С:Розница 3.0 Управленческий учет Платные (руб)

Представьте, что есть система QR - кодирования, которая НЕ ТРЕБУЕТ изменения конфигурации, НЕ ТРЕБУЕТ изменения ни одной печатной формы для добавления QR-кода, включая внешние, НЕ ХРАНИТ данные штрихкодов и их связь, от чего база не "пухнет", ИМЕЕТ возможность закодировать в QR-коде произвольные данные параметров для последующей обработки полученных данных, УМЕЕТ прикреплять сканы, УМЕЕТ обработать считанный QR-код как ВЫ захотите. А также ХРАНИТ историю операций в обход базы для каждого пользователя в отдельности и УМЕЕТ работать с 2D - сканерами. А также автоматически распознавать отсканированные печатные формы (картинки или pdf-файлы) и выполнять заданные произвольные алгоритмы, в том числе прикрепление их к документам! Обновление 3.3 от 24.06.2025!

26400 руб.

26.08.2018    55130    18    65    

56

Корректировка данных Системный администратор Программист 1С:Предприятие 8 1С:ERP Управление предприятием 2 1С:Управление торговлей 11 1С:Комплексная автоматизация 2.х Платные (руб)

Незаменимая обработка для сопровождения конфигураций: ERP, УТ, КА. Позволяет вычистить многие ошибки в ключах аналитики, в ключевых справочниках конфигурации.

3600 руб.

10.02.2017    118166    707    176    

747

Закрытие периода Корректировка данных Программист Пользователь 1С:Предприятие 8 1С:Розница 2 1С:Управление нашей фирмой 1.6 1С:ERP Управление предприятием 2 1С:Управление торговлей 11 1С:Управление нашей фирмой 3.0 1С:Розница 3.0 Управленческий учет Платные (руб)

Внешняя обработка, позволяющая произвольным образом заполнять документ "Корректировка регистров" Предназначена для использования в конфигурациях "Управление торговлей 11", "Управление небольшой фирмой", "ERP Управление предприятием", а также в других конфигурациях, в состав которых входит библиотека стандартных подсистем (БСП) версии 2.2+ и указанный выше документ.

5000 руб.

13.07.2015    53780    184    29    

136

Ценообразование, анализ цен Корректировка данных 1С:Предприятие 8 1С:Управление торговлей 11 Платные (руб)

Подключаемая внешняя обработка с простой настройкой - позволяет автоматически рассчитывать в документах продажи скидку процентом на каждый второй, третий и т.д. товар с наименьшей ценой из выбранного сегмента. Ничего лишнего для удобного использования!

5000 руб.

07.05.2025    1415    1    0    

2

Печатные формы Корректировка данных Учет документов 1С:Предприятие 8 1C:Бухгалтерия 1С:Управление нашей фирмой 3.0

Данная обработка позволяет работать со справками об оплате медицинских услуг в любой конфигурации 1С 8.3 Решение выполнено в виде внешней обработки, поэтому будет работать так же на базовых версиях конфигураций 1С, где нет возможности добавить расширение.

3600 руб.

28.01.2025    1867    0    0    

3
Комментарии
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
1. CheBurator 3232 07.03.13 04:25 Сейчас в теме
Спасибо!
а можно прикрутить к 7примеру еще примерчик двигания изображения? то есть показ в мастабе 1-1, но по частям.. и двигать видимую часть изображения в любую сторону..?
3. dusha0020 1124 11.03.13 10:53 Сейчас в теме
(1) CheBurator, С двиганием изображения в 7-ке очень хлопотно. Теоретически можно резать файл под размер элемента картинки на форме и вставлять при прокрутке специальными кнопками, но скорость такой прокрутки будет просто аут:)
Здесьесть способ нужной работы с картинкой на форме, но через активекс. Думаю, что в данном случае этот вариант предпочтительнее.
2. USER--1C 60 09.03.13 21:18 Сейчас в теме
Спасибо.
Тоже решал задачу отображения графических файлов и их взаимное расположение в 1С.
Экспериментировал с графическими файлами в объекте Графическая схема. Спасибо сайту, взял много интересных решений, т.к. очень мало документации по Графической схеме. В результате - загрузка графических файлов, перемещение, размещение друг над другом, смена порядка слоев, отключение видимости слоя (графического объекта), сохранение на диск в формате графической схемы. И все только штатными механизмами, но в извращённом исполнении - разбор и изменение структуры Графической схемы через выгрузку-загрузку на диске.
Может 1С разработает нормальные штатные механизмы для примитивной работы с графическими файлами?
4. dusha0020 1124 11.03.13 10:57 Сейчас в теме
(2) USER--1C, Может и разработает:)
Вы правильно заметили, что документации по графической схеме маловато, и Ваш опыт был бы интересен. Не хотите оформить его публикацией?
5. free-lancer-2018 245 26.04.13 11:37 Сейчас в теме
К сожалению, не получилось заставить это работать в управляемом приложении на стороне сервера
6. dusha0020 1124 26.04.13 12:06 Сейчас в теме
(5) adminfo2002, Ну в самих функциях нет ничего такого, чтобы не работало в УП. Проблемы могут возникнуть с отображением на форме для УП. А может отсутствует библиотека WIA на сервере?
7. free-lancer-2018 245 26.04.13 18:43 Сейчас в теме
скрипт, когда пытается сохранить файл по указанному пути, кричит, что файл не обнаружен.Причем, без разницы какой путь указывать. Это если заставлять процедуру отрабатывать на сервере.
14. Shadasp 23.08.15 17:42 Сейчас в теме
скачал обработку, так и не получилось сделать чтобы она заработала.
проблема: не может создать временный файл: "файл не обнаружен"; - папка роли не играет, так же как писал (7).

начал смотреть на службу WIA - пока мысли, хоть служба и стандартная, попробуй ее запусти в работу.
15. dusha0020 1124 25.08.15 09:36 Сейчас в теме
(14) Shadasp, Посмотрите лучше в сторону прав. На запускающей машине у пользователя должны быть права администратора. Используйте толстый клиент на обычных формах, а на управляемых - нужно много переписывать, но мне сейчас и лень и некогда:)
16. Shadasp 25.08.15 14:07 Сейчас в теме
(15) права администратора, так же пробывал запускать принудительно от администратора.
Проверил службу, запушена, работает под локальным сервисом.

Переназначал права на папки, куда сохраняется файл, менял папки, что еще можете посоветовать сделать ?
Пока даже не пойму, где посмотреть ошибку, которая получается, чтобы от нее уже оттолкнуться.
17. dusha0020 1124 26.08.15 13:02 Сейчас в теме
(16) Shadasp, И все-таки я грешу на админские дела. Я уже не помню кода скриптов, но советую Вам выковырять скрипт из обработки и убрать OnError и запускать его хотя бы локально. Без команд обработки ошибок скрипт должен выдавать ошибки исполнения. Вот их и нужно анализировать с администратором.
26. hawk 66 14.11.23 11:30 Сейчас в теме
(16)Получилось решить проблему?
8. CheBurator 3232 26.04.13 19:04 Сейчас в теме
Двигание ладно, есть варианты.
а вот обрезку хочется сделать как-то поумнее - мышью выделил нужный прямоугольник и получил crop - можно такое выделение мышью сделать?
10. free-lancer-2018 245 06.05.13 18:49 Сейчас в теме
(8) CheBurator, если можно в 1с получить координаты выделения, то можно такое сделать.
9. free-lancer-2018 245 06.05.13 18:46 Сейчас в теме
да, скорее всего админом на сервере запрещено выполнение таких скриптов или у пользователя, под которым запущен сервер 1с, нет прав на исполнение. Нашел другую внешнюю компоненту, которая позволяет переворачивать картинки на сервере.
11. free-lancer-2018 245 08.05.13 13:58 Сейчас в теме
Интересный, кстати, вариант развития темы и иной путь решения
http://www.1cpp.ru/forum/YaBB.pl?num=1186442602
12. shchegirev 19.06.14 13:42 Сейчас в теме
Требовалось повернуть изображение номенклатуры при печати этикеток. Очень выручило Ваше решение. Спасибо!
13. papa_harlo 171 03.03.15 08:44 Сейчас в теме
Отличнейшая вещь!!!! не совсем то, что я искал, но тем не менее дало хороший старт
18. Serega-artem 17 06.12.15 16:08 Сейчас в теме
Автор огромный молодец! Многочасовые поиски привели сюда и радости нет придела! Просто, изящно и красиво! СПАСИБО!!!
19. Xershi 1535 06.04.16 10:22 Сейчас в теме
Приветствую! Прочитал описание вашей разработки и появился вопрос!
На днях я написал обработку по QR-кодам. И мне задали вопрос по размещению в баркоде отдельной картинки(логотипа). Я ознакомился со спецификацией баркодов и степенью коррекции ошибок алгоритма шифрования. И важным нюансом оказалось работа с изображением, т.е. получить картинку баркода и наложить на нее картинку-логотип. На сколько ваша разработка может помочь в решении такой задачи? В частности речь идет о том, чтобы картинка логотип занимала не более 30% пикселей самого баркода!
20. dusha0020 1124 07.04.16 09:17 Сейчас в теме
(19) Xershi, Добрый день. Не совсем понял проблему. Если картинку лого нужно зашифровать в QR-код, то это не к данной обработке. Если картинку с лого нужно наложить в нужной точке нужным размером на картинку с кодом - то без проблем, берите обработку. Но опять же будет ли после этого читаем QR код вопрос опять не ко мне и этой обработке:)
21. Xershi 1535 07.04.16 09:51 Сейчас в теме
(20) да все верно. Вопрос будет только стоять как с 100% вероятностью не повредить изображение кода. Но это уже другая задача.
Спасибо за ответ, компонента уже установлена у нас на сервере аж в 4 местах, только не зарегистрирована почему то. Буду с админом разговаривать.
22. Светлый ум 456 13.09.16 18:00 Сейчас в теме
Не хватает кнопки сохранить (отредактированное), нате:


Процедура СохранитьНажатие(Элемент)
		
	ЗаписываемаяКартинка = ЭлементыФормы.ПолеКартинки1.Картинка;//ЭлементыФормы.ПолеИзображения.Картинка;
	Если ЗаписываемаяКартинка.Вид <> ВидКартинки.Пустая Тогда
		
		ДиалогЗаписиФайла                             = Новый ДиалогВыбораФайла(РежимДиалогаВыбораФайла.Сохранение);
		ДиалогЗаписиФайла.Заголовок                   = "Укажите имя файла";
		ДиалогЗаписиФайла.ПолноеИмяФайла              = "";
		ДиалогЗаписиФайла.Фильтр                      = ЗаписываемаяКартинка.ФильтрИменФайлов(); // картинки
		ДиалогЗаписиФайла.ПроверятьСуществованиеФайла = Истина;
		
		Если Не ДиалогЗаписиФайла.Выбрать() Тогда
			Возврат;
		КонецЕсли;
		
		Попытка
			ЗаписываемаяКартинка.Записать(ДиалогЗаписиФайла.ПолноеИмяФайла);
		Исключение
			Предупреждение("Ошибка при записи файла: " + ДиалогЗаписиФайла.ПолноеИмяФайла + Символы.ПС
			+ ОписаниеОшибки() + Символы.ПС + "Файл не записан.");
		КонецПопытки;
		
	КонецЕсли;	
	
КонецПроцедуры
Показать
kaps22; dusha0020; +2 Ответить
23. dusha0020 1124 14.09.16 11:29 Сейчас в теме
(22) Светлый ум, Спасибо:) Может как-нибудь и приделаю.
24. user_gea 20.06.18 12:51 Сейчас в теме
Спасиибо за информацию! Очень пригодилось.
25. Kontakt 109 19.08.22 06:56 Сейчас в теме
Нет функции склеивание изображения 1+1 =2
Для отправки сообщения требуется регистрация/авторизация