Сканирование, хранение и печать сертификатов продукции [Обновлено 17.01.2011]

17.01.11

Учетные задачи - Печатные формы

Сканирование с использованием WIA, хранение в справочнике Хранилище дополнительной информации и печать из документа реализации. [Обновлено] Добавил загрузку изображения из файла.

Скачать файл

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

Наименование По подписке [?] Купить один файл
СканированиеСертификатов. Версия 1.1
.epf 47,05Kb
570
570 Скачать (1 SM) Купить за 1 850 руб.
ПросмотрСертификатов.epf
.epf 9,75Kb
148
148 Скачать (1 SM) Купить за 1 850 руб.
ПечатьСертификатов.epf
.epf 9,35Kb
198
198 Скачать (1 SM) Купить за 1 850 руб.

I. Сканирование.

 Сканирование происходит с помощью WIA (Windows Image Acquisition). В Windows 7 соответствующие dll уже входят в комплект, а для XP нужно качать и регистрировать (с сайта Microsoft, где в архиве есть инструкция). Код для сканирования из 1с следующий:


    Image = Новый COMОбъект("WIA.ImageFile"); //создаем объект "Изображения" в WIA для дальнейшей работы с ним
   
DevManager = Новый COMОбъект("WIA.CommonDialog"); //а это диалог сканирования
   
Image = DevManager.ShowAcquireImage(); //записываем сканированное изображение
   
IP = Новый COMОбъект("WIA.ImageProcess"); //создаем фильтр для сохранения изображения
   
IP.Filters.Add(IP.FilterInfos("Convert").FilterID);
   
IP1 = IP.Filters(1);
    Для
К = 1 По IP1.Properties.Count Цикл
        Если
IP1.Properties(К).Name = "FormatID" Тогда
           
IP1.Properties(К).Value = "{B96B3CAF-0728-11D3-9D7B-0000F81EF32E}"; //конвертируем в PNG
           
Прервать;
        КонецЕсли;
    КонецЦикла;

   
Image = IP.Apply(Image); //применяем фильтр на изображение

 

После этого можно сохранить объект Image на диск и прочитать её уже средствами 1с:


    УдалитьФайлы(ИмяФайла); //удалим старый файл
   
Image.SaveFile(ИмяФайла); //сохраним на жесткий диск объект WIA
   
ЭлементыФормы.СертификатИзображение.Картинка = Новый Картинка(ИмяФайла); // Читаем картинку с жесткого диска

Полученное изображение можно повертеть с помощью того же WIA:


    Если Image = Неопределено Тогда
        Возврат;
    КонецЕсли;

   
IP = Новый COMОбъект("WIA.ImageProcess"); //создаем объект WIA для редактирования изображения
   
IP.Filters.Add(IP.FilterInfos("RotateFlip").FilterID); //создаем WIA-фильтр для поворота
   
IP1 = IP.Filters(1);
    Для
К = 1 По IP1.Properties.Count Цикл
        Если
IP1.Properties(К).Name = "RotationAngle" Тогда
           
IP1.Properties(К).Value = Градусов//вертеть можно на 90,180 и 270 грудосов
            Прервать;
        КонецЕсли;
    КонецЦикла;

   
Image = IP.Apply(Image); //применяем фильтр на изображение

 

II. Сохранение

 Наиболее естественным местом хранения изображения сертификата - это справочник Хранилище дополнительной информации с привязкой к номенклатуре. В зависимости от разных обстоятельств один и тот же сертификат может быть привязан к различным позициям номенклатуры,  к различными характеристиками и сериями одной номенклатуры. Хранилище дополнительных данных не позволяет устанавливать соответствие между списком номенклатуры/характеристиками/сериями. Поэтому алгоритм хранения информации выглядит следующим образом:

1.Для сертификата состаляеся таблица: Номенклатура, характеристика, серия.

2.При записи сертификата изображение сохраняется в хранилище и привязывается к первой по списку номенклатуре.

3.Для каждого номенклатуры по списку ищется связанный элемент справочника Хранилище дополнительной информации под именем ТаблицаДляСертификатов (если его нет, то создается). В этом хранилище помещается таблица Номенклатура, характеристика, серия, ссылка на хранилище изображение сертификата. В эту таблицу добавляются новые данные и она снова записывается в хранилище.

Кроме того, в таблицу добавляется дополнительная информации о сертификате: дата начала, дата окончания и описание.

Таким образом, получаем 2 элемента Хранилища дополнительной информации: сами изображения сертификатов и таблицы, в которых хранится дополнительная  и более подробная о принадлежности сертификатов относительно характеристик и серий.

 

III. Печать.

Печатная форма документа Реализации товаров и услуг. Сначала составляется список номенклатуры и по нему получаются таблицы с данными о сертификатах. Потом проходя по табличной части документа происходит поиск соответствующих сертификатов, которые выводятся в табличный документ.

 

З.Ы. Вот по этим ссылкам можно посмотреть пример, что ещё можно сделать с помощью WIA с картинками.

http://msdn.microsoft.com/en-us/library/ms630819(VS.85).aspx
http://www.codeproject.com/KB/shell/resize_image_script_all.aspx

 

[Обновлено] Добавил кнопку загрузки изображения сертификата из файла.

См. также

SALE! 20%

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

Универсальная обработка для загрузки документов из Excel в 1С одним нажатием. Не требует указания параметров (номера колонок, номер первой строки таблицы и т.д.) и предварительной настройки. Просто выбираете файл Excel, документ 1С и нажимаете кнопку "Загрузить". Обработка сама находит таблицу в файле Excel, необходимые для загрузки данные в ней (номенклатура, количество, НДС, цена, сумма) и загружает ее в 1С. Вместе с номенклатурой может найти контрагента, номер и дату документа, штрих-коды, серии ГТД, страну и т.д. Распознает документы ЛЮБОЙ ФОРМЫ (УПД, ТОРГ-12, заказ, отчет комиссионера и т.д.). Не требует MS Office. Для поиска таблиц используются методы эвристического поиска. Загружает только то, что нужно, т.е. пропускает повторы шапки таблицы, заголовки, промежуточные итоги, подписи и т.д. Содержит модуль работы с электронной почтой и api-загрузчик отчетов о продажах маркетплейсов.

6000 5100 руб.

09.11.2016    235356    1066    898    

1006

Пакетная печать Печатные формы Инструментарий разработчика Программист Платформа 1С v8.3 Запросы 1С:Зарплата и кадры бюджетного учреждения 1С:Конвертация данных 1С:ERP Управление предприятием 2 1С:Управление торговлей 11 Платные (руб)

Инструмент, позволяющий абсолютно по-новому взглянуть на процесс разработки печатных форм. Благодаря конструктору можно значительно снизить затраты времени на разработку печатных форм, повысить качество и "прозрачность" разработки, а также навести порядок в многообразии корпоративных печатных форм.

22200 руб.

06.10.2023    15898    39    8    

74

Печатные формы Взаиморасчеты Оптовая торговля Производство готовой продукции (работ, услуг) Акт сверки Бухгалтер Пользователь Оперативный учет Управляемые формы 1С:Управление торговлей 11 Россия Бухгалтерский учет Управленческий учет Платные (руб)

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

14400 руб.

13.03.2018    61084    210    76    

120

Печатные формы Бухгалтер Платформа 1С v8.3 Бухгалтерский учет 1С:Бухгалтерия 3.0 1С:Управление торговлей 11 1С:Комплексная автоматизация 2.х Транспорт, автопарки, такси Бухгалтерский учет Платные (руб)

Учет путевых листов выполнен в виде расширения. Предназначен для учета путевых листов в конфигурации БП 3.0., УТ 11.5 и КА 2.5 Печатная форма: Типовая межотраслевая форма № 3. Утверждена постановлением Госкомстата России от 28.11.97 № 78. Типовая межотраслевая форма № 4-П от 18.09.2008 г. N 152 с учетом изменений указанных в Приказе Министерства транспорта Российской Федерации №368 от 11 сентября 2020 г. №368, Типовая межотраслевая форма № ЭСМ-7, и др. ЭСМ-2, 4-С, 3 спец., 6 спец., ПЛ для Автомобильного крана.

3600 руб.

14.10.2019    39092    262    216    

170

Печатные формы Программист Пользователь Платформа 1С v8.3 Управляемые формы Конфигурации 1cv8 1С:ERP Управление предприятием 2 Платные (руб)

Научите вашу 1C печатать из 1С в файл Word (Например: трудовые договоры, договоры с контрагентами, спецификации, дополнительные соглашения, приказы, коммерческие предложения, акты, накладные, карточки партнера или любого справочника и многие другие). Универсальная печать предназначена для формирования печатных форм на основе шаблонов в формате Word из любой конфигурации 1С. С помощью данного инструмента можно самостоятельно заполнить шаблон реквизитами справочника или документа 1С и сформировать печатные формы на основании ссылки на любой объект.

5400 руб.

08.10.2019    47345    168    95    

162

Печатные формы Производство готовой продукции (работ, услуг) Бухгалтер Платформа 1С v8.3 Бухгалтерский учет Оперативный учет 1С:Бухгалтерия 3.0 Строительство Россия Бухгалтерский учет Платные (руб)

Откройте для себя заполнение КС-2 и КС-3 в "1С:Бухгалтерия 3.0". Вы получаете удобство, скорость и систему, чтобы заполнить, распечатать и сохранить формы КС-2 и КС-3 из документов "Оказание производственных услуг" или "Реализация товаров услуг". Вы можете заполнить дополнительную информацию о материалах из документов "Требование-накладная" и указать сведения, которые не предусмотрены типовой конфигурацией "1С:Бухгалтерия 3.0". Так же доступно множество настроек для формирования КС-2 и КС-3.

3720 руб.

13.02.2019    97186    445    44    

429

Печатные формы Учет рабочего времени Бухгалтер Пользователь Платформа 1С v8.3 Бухгалтерский учет Оперативный учет 1С:Бухгалтерия 3.0 Транспорт, автопарки, такси Россия Бухгалтерский учет Платные (руб)

Программа «Путевой лист грузового автомобиля в 1С:Бухгалтерия 3.0» - заполнить, распечатать, сохранить. Вы можете не только внести всю информацию и распечатать путевой лист грузового автомобиля в 1С, но и повторно использовать ранее введенные данные спустя любое время - данные путевого листа водителя сохраняются в "1С:Бухгалтерия 3.0" без каких-либо доработок.

4500 руб.

23.08.2019    57372    176    64    

168

Печатные формы Логистика, склад и ТМЦ Бухгалтер Платформа 1С v8.3 Бухгалтерский учет Оперативный учет Управляемые формы 1С:Комплексная автоматизация 2.х Транспорт, автопарки, такси Оптовая торговля, дистрибуция, логистика Россия Бухгалтерский учет Управленческий учет Платные (руб)

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

13200 руб.

27.06.2023    4013    12    1    

13
Вознаграждение за ответ
Показать полностью
Комментарии
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
1. markers 277 27.12.10 09:49 Сейчас в теме
Главный плюс, НЕ жадность автора!
2. anig99 2852 27.12.10 09:52 Сейчас в теме
мммм...(1) а чего жадничать-то? вся используемая информация изначально была в свободном доступе...
69. igorekpanchenko 28.07.15 08:52 Сейчас в теме
Не получается вставить картинку. Выдает ошибку: Поле объекта недоступно для записи (Картинка)

&НаКлиенте
Перем Image;

&НаКлиенте
Перем ЭлементыФормы; 

&НаКлиенте
Перем ИмяФайла;  

&НаКлиенте
Процедура Загрузить(Команда)
	файл = "" ;
	ПоместитьФайл(файл,,,Истина,УникальныйИдентификатор);
	Если файл<>"" Тогда 
		АдресКартинки = файл;
	КонецЕсли;
КонецПроцедуры

&НаСервере
Процедура ПередЗаписьюНаСервере(Отказ, ТекущийОбъект, ПараметрыЗаписи)
	Если АдресКартинки <> Неопределено Тогда 
		Данные = ПолучитьИзВременногоХранилища(АдресКартинки);
		ТекущийОбъект.Файл = Новый ХранилищеЗначения(Данные);
	КонецЕсли;
КонецПроцедуры

&НаСервере
Процедура ПриЧтенииНаСервере(ТекущийОбъект)
	ЭтотОбъект = РеквизитФормыВЗначение("Объект");
	АдресКартинки = ПоместитьВоВременноеХранилище(ЭтотОбъект.Файл.Получить(), Новый УникальныйИдентификатор);	
КонецПроцедуры

&НаКлиенте
Процедура Сканировать(Команда)
	
	Image = Новый COMОбъект("WIA.ImageFile"); 
	DevManager = Новый COMОбъект("WIA.CommonDialog"); 
	Image = DevManager.ShowAcquireImage();
	IP = Новый COMОбъект("WIA.ImageProcess");
	IP.Filters.Add(IP.FilterInfos("Convert").FilterID);
	IP1 = IP.Filters(1);
	Для К = 1 По IP1.Properties.Count Цикл
		Если IP1.Properties(К).Name = "FormatID" Тогда
			IP1.Properties(К).Value = "{B96B3CAF-0728-11D3-9D7B-0000F81EF32E}";
			Прервать;
		КонецЕсли;
	КонецЦикла;
	Image = IP.Apply(Image);
	СохранитьИВывестиИзображение();
			
КонецПроцедуры

&НаКлиенте
Процедура СохранитьИВывестиИзображение()
	УдалитьФайлы(ИмяФайла); //удалим старый файл
    Image.SaveFile(ИмяФайла); //сохраним на жесткий диск объект WIA
	Элементы.Картинка = Новый Картинка(ИмяФайла);
КонецПроцедуры

ИмяФайла =  "C:\CurCertificate.png";
Image = Неопределено;
Показать
70. igorekpanchenko 28.07.15 09:31 Сейчас в теме
Заработало, спасибо за помощь.
&НаКлиенте
Процедура Сканировать(Команда)
	
	Image = Новый COMОбъект("WIA.ImageFile"); 
	DevManager = Новый COMОбъект("WIA.CommonDialog"); 
	Image = DevManager.ShowAcquireImage();
	IP = Новый COMОбъект("WIA.ImageProcess");
	IP.Filters.Add(IP.FilterInfos("Convert").FilterID);
	IP1 = IP.Filters(1);
	Для К = 1 По IP1.Properties.Count Цикл
		Если IP1.Properties(К).Name = "FormatID" Тогда
			IP1.Properties(К).Value = "{B96B3CAF-0728-11D3-9D7B-0000F81EF32E}";
			Прервать;
		КонецЕсли;
	КонецЦикла;
	Image = IP.Apply(Image);
	СохранитьИВывестиИзображение();
			
КонецПроцедуры

&НаКлиенте
Процедура СохранитьИВывестиИзображение()
	УдалитьФайлы(ИмяФайла); //удалим старый файл
    Image.SaveFile(ИмяФайла); //сохраним на жесткий диск объект WIA		
	АдресВХранилище = ""; //Помещаем картинку в хранилище
	ПоместитьФайл (АдресВХранилище, "C:\CurCertificate.png", , Ложь) ; //Помещаем картинку в хранилище
	АдресКартинки = АдресВХранилище; //Вставляем из хранилища
КонецПроцедуры



ИмяФайла =  "C:\CurCertificate.png";
Image = Неопределено;
Показать
73. koreav 53 21.01.20 13:02 Сейчас в теме
Автор, спасибо, добавлю свои 5 копеек,
пример с поточным сканирование

		масРез = Новый Массив;
		
		ScanDialog = Новый COMОбъект("WIA.CommonDialog");
		
		Device = Неопределено;
		DevMan = Новый COMОбъект("WIA.DeviceManager");
		
		НастройкиСканирования = EK_ПолучитьНастройкиСканирования();
		ИмяСохраненногоСканера = НастройкиСканирования.EK_Сканирование_ИмяСканера;
		
		Если ЗначениеЗаполнено(ИмяСохраненногоСканера) Тогда
			Для Ит = 1 по DevMan.DeviceInfos.Count Цикл
				Если DevMan.DeviceInfos(Ит).Properties("Name").Value = ИмяСохраненногоСканера Тогда
					Device = DevMan.DeviceInfos(Ит).Connect();
					Прервать;
				КонецЕсли;
			КонецЦикла;
		КонецЕсли;
		
		Если Device = Неопределено Тогда
			Device = ScanDialog.ShowSelectDevice();
		КонецЕсли;
	
		Если Device = Неопределено Тогда
			Возврат масРез;
		КонецЕсли;
		
		Items1 = ScanDialog.ShowSelectItems(Device);
		Если Items1 = Неопределено Тогда
			Возврат масРез;
		КонецЕсли;
		
		ПотоковоеСканирование = Ложь;
		Если Device.Properties.Exists("3088") Тогда //"Document Handling Select"
			Для Ит = 1 по Device.Properties.Count Цикл
				Если Device.Properties(Ит).PropertyID = 3088
					И Device.Properties(Ит).Value = 1 Тогда // выбран автоподатчик
					
					ПотоковоеСканирование = Истина;
					
				КонецЕсли;
			КонецЦикла;
		КонецЕсли;
		
		Images = Новый Массив;
		Для каждого itm из Items1 Цикл
			
			Если ПотоковоеСканирование Тогда
				
				
				Для Ит = 0 по 25 Цикл
					
					//img2 = Device.GetItem(itm.ItemID);
					
					Попытка
						Image = ScanDialog.ShowTransfer(itm);
						Images.add(Image);
					Исключение
						Прервать;
					КонецПопытки;
				КонецЦикла;
				
			Иначе
				
				Image = ScanDialog.ShowTransfer(itm);
				Images.add(Image);
				
			КонецЕсли;
			
		КонецЦикла;
		
		
		IP = Новый COMОбъект("WIA.ImageProcess");
		IP.Filters.Add(IP.FilterInfos("Convert").FilterID);
		IP1 = IP.Filters(1);
		Для К = 1 По IP1.Properties.Count Цикл
			Если IP1.Properties(К).Name = "FormatID" Тогда
				IP1.Properties(К).Value = "{B96B3CAF-0728-11D3-9D7B-0000F81EF32E}"; //PNG
				Прервать;
			КонецЕсли;
		КонецЦикла;
		
		Для каждого Image из Images Цикл 
			Image = IP.Apply(Image);
			
			ИмяФайла = ПолучитьИмяВременногоФайла("jpg");
			Image.SaveFile(ИмяФайла); //сохраним на жесткий диск объект WIA
			
			масРез.Добавить(ИмяФайла);
		КонецЦикла;
		
		Возврат масРез;

Показать
3. markers 277 27.12.10 10:19 Сейчас в теме
Ну не знаю почему некоторые жадничают :) За мелкую обработку и проще этой обработку (В плане что мне проще написать) берут денег...
Спасибо!
4. mirco 74 27.12.10 11:23 Сейчас в теме
"В Windows 7 соответствующие dll уже входят в комплект" - но работать будет только если для сканера есть драйвера twain совместимые, так ?
5. anig99 2852 27.12.10 12:53 Сейчас в теме
(4) нет. wia и twain - это разные стандарты
6. mirco 74 27.12.10 14:04 Сейчас в теме
(5) про твайн я образно...
я имел ввиду что драйвера на сканер должны стоять...
7. anig99 2852 27.12.10 14:28 Сейчас в теме
(6) хотя бы универсальный WIA (в теории, практики такой не было)
8. V_V_V 27.12.10 15:37 Сейчас в теме
Полученное изображение можно повертеть с помощью того же WIA

А обрезать можно? А сохранить с определенным размером? Очень интересует...
9. anig99 2852 27.12.10 16:08 Сейчас в теме
(8) Можно при сканировании обрезать. А можно через WIA согласно

http://msdn.microsoft.com/en-us/library/ms630819(VS.85).aspx
http://www.codeproject.com/KB/shell/resize_image_script_all.aspx

Дерзайте
ilya4; V_V_V; +2 Ответить
10. CheBurator 2684 27.12.10 23:49 Сейчас в теме
паровозом "аналог" для 7.7
http://infostart.ru/public/15355/
.
автору - плюс! порадовал!
11. anig99 2852 28.12.10 00:32 Сейчас в теме
(10) к сожалению scan1c.dll не работает на 8.1 )%
12. lalexrus 03.01.11 12:14 Сейчас в теме
все это хорошо, а если в одном документе продается товар с несколькими сертификатами (например алкоголь, где мб разные даты розлива)?
13. anig99 2852 03.01.11 13:54 Сейчас в теме
(12) для этого существуют Серии, которые данная обработка учитывает. А вот 1с может и не учитывать.
Программисты 1с то ли схалтурили, то ли специально оставили лазейку:

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

В Вашем случае серии = дата розлива.
14. lalexrus 04.01.11 16:38 Сейчас в теме
(13) собака с датами розлива зарыта в том, что их может быть много для одного товара. Отсюда следует главное неудобство - необходимость в одном документе разбивать одну строку на несколько в соответствии с датами розлива.
15. anig99 2852 04.01.11 16:54 Сейчас в теме
(14) можно копнуть в сторону серийных номеров. В этом случае доработка обработок по сертификации непринципиальна.
А какие будут Ваши предложения? Ведь проблема дат розлива в алкогольки довольна спецефична и вообще требует отдельных конфигураций.
16. lalexrus 04.01.11 17:07 Сейчас в теме
(15) собственно я покажу вашу обработку сертификатам нашим, что они скажут напишу (включая и мои соображения, практика показала, что я могу думать совсем другое :) )
17. VBWEBMAIL 08.01.11 13:25 Сейчас в теме
anig99! спасибо за обработку.. только не могу разобраться в чем может быть ошибка при выполнении метода Image.SaveFile(ИмяФайла), выдается ошибка Произошла исключительная ситуация (WIA.ImageFile.1): Отказано в доступе... очень странно...
Спасибо, если поможете!
18. anig99 2852 08.01.11 13:38 Сейчас в теме
(17) windows 7? Если да, то нужно чуть менять обработку - по умолчанию она пишет на диск C:\, а доступ на него обычно закрыт. Нужно указать или доступную неадминистратору папку, или использовать функцию 1с по получению имени временного файла.
19. VBWEBMAIL 08.01.11 13:45 Сейчас в теме
:) Спасибо! все получилось. с W7 все понятно :) там все автоматом ставится.. а как быть с XP? у Вас был опыт?
20. anig99 2852 08.01.11 17:29 Сейчас в теме
(19) в XP проблем с диском С не возникало
21. VBWEBMAIL 08.01.11 18:36 Сейчас в теме
для XP, как понимаю, нужно скачивать драйвера для WIA 2.0?
22. anig99 2852 08.01.11 19:53 Сейчас в теме
(21) да... но проблем с этим не должно быть. Они лежат в свободном доступе на сайте мелкомягким с инструкцией по регистрации
50. Angeros 13.08.13 12:24 Сейчас в теме
(22) поделитесь ссылкой для xp. я както не могу понять где там искать?! :)
51. anig99 2852 13.08.13 12:40 Сейчас в теме
(50) уже убрали. Вот рабочая ссылка
http://vbnet.mvps.org/files/updates/wiaautsdk.zip
akR00b; val54321; FaKer1980; Angeros; +4 Ответить
23. x_mih 12.01.11 15:43 Сейчас в теме
Доработайте пожалуйста чтобы можно было просто указать картинку сертификата. Спасибо.
24. anig99 2852 17.01.11 22:55 Сейчас в теме
25. CheBurator 2684 18.01.11 01:38 Сейчас в теме
а не думали ли вы о таком "функционале": есть сканеры с автоподачей - кинул стопку - дивайс их пакетом отсканировал (в папочку).
Потом берем и на вход "обработки" - подаем отсканированный "пакет" - который обрезаем/выравниваем картинки и привязываем к номенклатуре (источник - любой: документ, группа справочника, список значений, массив, ТЗ...). У мну такая задача в свое время нарисовалась - но я ушел из фирмы...
26. anig99 2852 18.01.11 07:29 Сейчас в теме
(25) нет такой потребности.
27. Sk0rp 119 09.02.11 14:19 Сейчас в теме
Как туда добавить, что бы окошко настроек сканирования не появлялось, а можно было все программно настроить и сразу начиналось сканирование?
28. anig99 2852 09.02.11 15:04 Сейчас в теме
(27)Посмотрите ShowAcquireImage.
Точные изменения сейчас не скажу. Нет под времени и сканера под рукой.
http://msdn.microsoft.com/en-us/library/ms630772(VS.85).aspx - вот справка по данной команде
29. Sk0rp 119 09.02.11 15:55 Сейчас в теме
(28) О спасибо! Перебирал методы CommonDialog, а в параметры самого ShowAcquireImage заглянуть не додумался.
30. sdvig 14 03.03.11 04:12 Сейчас в теме
(29) как сделали? пишу: DevManager.ShowAcquireImage(1,4,,,ложь,ложь,); а окно все равно появляется?
31. vdv_4462 05.04.11 14:12 Сейчас в теме
Попробовал обработку. Со сканером все прекрасно (Canoscan Lide 70 с родными драйверами)
Попробовал также с веб-камерой. И вот тут засада - не появляется никакого окошка для настройки. В результате получаются фото с размером 640*480. А камера может намного больше - и хотелось бы именно этого...

Подскажите, если не трудно, как можно получить либо окно настройки, либо (еще лучше) фиксированное разрешение, к примеру 1280*1024...
32. anig99 2852 05.04.11 15:19 Сейчас в теме
(31) не пробовал с камерой.
но где-то здесь
http://msdn.microsoft.com/en-us/library/ms630492(v=VS.85).aspx - ShowAcquisitionWizard
Иначе нужно копаться в командах самого устройства.
33. levran 202 06.04.11 16:33 Сейчас в теме
Одно время работал в торговой компании, активно использующей подобную схему хранения сертификатов. После 1,5 года запуска активной работы, база легла, из-за справочника "Хранилище дополнительной информации". (большой размер базы). Посему обработка сохранения сканов была переписана на внешний каталог. Скорость обработки сканов упала, но не сильно заметно. ИМХО.
34. anig99 2852 06.04.11 20:32 Сейчас в теме
(33) ни того, ни другого в свободном юзабельном виде нигде нет. Никто не запрещает дописать запись и чтение изображений под хранение ссылки на файл во внешнем каталоге.
35. Zen13 16.09.11 14:19 Сейчас в теме
Спасибо! Пригодилась!
36. Nick5k 24.10.11 01:02 Сейчас в теме
Добрый день! Очень нужна Ваша обработка, но нет возможности скачать, если можно вышлите на nick5k@mail.ru.
Очень надо! А изобретать своё времени нет.
37. RakovskiyK 24.10.11 15:05 Сейчас в теме
уже в который раз автор осчастливливает с нужным продуктом и щедрым подходом!
Огромное спасибо!
38. CaSH_2004 373 06.11.11 22:22 Сейчас в теме
А в формат PDF напрямую можно или только перегонкой через виртуальный принтер и аналоги?
Поискал в нете, нашел намек в документации что можно, но не сказано как
кстати в тему: http://wiki.kint.ru/index.php/Использование_сканера_(1Cv8)
и
как обрабатывать рисунок
39. anig99 2852 08.11.11 08:37 Сейчас в теме
(38) я не искал способа напрямую. не все сканеры поддерживают сканирование сразу в pdf. У меня в более новой версии реализована просто загрузка файлов.
41. RakovskiyK 23.11.11 10:39 Сейчас в теме
поддерживаю (39) на текущий момент не многие организации используют сканирование в PDF, так что обработка более чем актуальна.
40. dindzilin 20.11.11 13:56 Сейчас в теме
Довольно полезная обработка, раньше использовал внешние компоненты, естественно приходилось регистрировать, копировать... А тут воткнул в конфу и все работает )))
42. 404vrn 05.12.11 09:09 Сейчас в теме
Спасибо, очень пригодилась обработочка!
43. raym0n 16.12.11 16:53 Сейчас в теме
Ой, огромное спасибо! Как раз встала задача реорганизации рабочего места сертефикатчиц.

Будем копать, спасибо!
44. ediks 337 16.02.12 17:54 Сейчас в теме
Все отлично сканируется в локале и, к сожалению, не работает через Citrix. Хотя с использованием twain документы сканируются и в Citrix. Это не претензия, просто констатация факта :). Возможно, надо добавлять устройство на сервер, а при нашем зоопарке это несколько затруднительно.
45. soba 28.02.12 16:26 Сейчас в теме
По идее тоже самое и под 7-ку можно прикрутить, только обработку переписать ? только вот предпросмотр неясно как организовать. Что-то из внешних компонент надо
46. Ionmuerto 22.05.12 12:26 Сейчас в теме
Возможно ли эту обработку привязать к заявки на расходования БД денежных средств? в качестве изображений выставленные счета на оплату?
47. K_Tanusik 29.05.12 14:18 Сейчас в теме
Спасибо огромное, скачала очень нужная обработка
48. mmk83 36 09.01.13 19:48 Сейчас в теме
а есть возможность прикрутить сканирование в многостраничный тиф?
49. It-developer 26 30.01.13 14:42 Сейчас в теме
Респект и уважуха! Спасибо, заюзаю у себя
52. val54321 23 28.11.13 10:23 Сейчас в теме
А есть для 64 битной системы?
53. anig99 2852 28.11.13 10:37 Сейчас в теме
(52) В 7ке и выше WIA стоит по умолчанию. Для более старых систем вроде как нет разницы.
54. val54321 23 28.11.13 11:03 Сейчас в теме
Я ставлю на сервер, при установке на 32 битный 2003 сервер, все отлично, при установке на тот же 2003 но 64 не взлетает.
Пробовал взять этут библиотеку из уже установленной вин7 64 битной, не находит процедуру loadlibrary при попытке регистрации.
55. anig99 2852 28.11.13 11:08 Сейчас в теме
56. val54321 23 28.11.13 16:11 Сейчас в теме
Проблема описана в точности как у меня, но так как там описано не взлетает. Точно так же не находит loadlibrary.
57. user_2010 954 12.05.14 12:18 Сейчас в теме
Как изменить размер картинки при сохранении в базу?
Какие методы COMОбъект("WIA.ImageProcess") для этого надо использовать?
Может быть есть пример кода?
58. anig99 2852 12.05.14 12:37 Сейчас в теме
59. pvlunegov 158 05.06.15 21:43 Сейчас в теме
anig99
Я к тебе в гости пожаловал.
Смотрю ты тут тоже крутые статьи пишешь.
А помнишь как ты меня лохом обзывал в моей статье, нахер посылал, угрожал, приказывал прекратить печать статей?

Ну что-ж оценим твои творения!

Ну что-ж, неплохо для старичка. Потянет на пятерку. Но вот скачивать не буду, хотя вещь хорошая.
Жалко мне на тебя тратить свои мани.
Человек ты вроде неплохой, но плохо обзываешься и ведешь себя, я с тобой неиграю!
60. anig99 2852 05.06.15 21:55 Сейчас в теме
(59) pvlunegov, если внимательно и без эмоций прочитаете написанное мною, то личных оскорблений там нет. Есть оценка Вашей работы и моё личное отношение к тем, кто берёт деньги за такое.
61. igorekpanchenko 27.07.15 09:15 Сейчас в теме
Добрый день!
Подскажите как можно сканированную картинку сразу вывести на экран в форму?
63. igorekpanchenko 27.07.15 11:35 Сейчас в теме
Помогите разобраться где я ошибся. Выскакивает ошибка:
{Справочник.ХранилищеДопИнформации.Форма.ФормаЭлемента.Форма(92)}: Поле объекта не обнаружено (Картинка)
Элементы.КартинкаСкан.Картинка = Новый Картинка(ИмяФайла);

Код:

&НаКлиенте
Процедура Сканировать(Команда)
	
	Image = Новый COMОбъект("WIA.ImageFile"); 
	DevManager = Новый COMОбъект("WIA.CommonDialog"); 
	Image = DevManager.ShowAcquireImage();
	IP = Новый COMОбъект("WIA.ImageProcess");
	IP.Filters.Add(IP.FilterInfos("Convert").FilterID);
	IP1 = IP.Filters(1);
	Для К = 1 По IP1.Properties.Count Цикл
		Если IP1.Properties(К).Name = "FormatID" Тогда
			IP1.Properties(К).Value = "{B96B3CAF-0728-11D3-9D7B-0000F81EF32E}";
			Прервать;
		КонецЕсли;
	КонецЦикла;
	Image = IP.Apply(Image);
	СохранитьИВывестиИзображение();
	
КонецПроцедуры

&НаКлиенте
Процедура СохранитьИВывестиИзображение()

	УдалитьФайлы(ИмяФайла);
	Image.SaveFile(ИмяФайла);
	Элементы.КартинкаСкан.Картинка = Новый Картинка(ИмяФайла);
	Элементы.КартинкаСкан.Видимость = Истина;

КонецПроцедуры

ИмяФайла =  "C:\CurCertificate.png";
Image = Неопределено;
Показать
Прикрепленные файлы:
64. igorekpanchenko 27.07.15 11:36 Сейчас в теме
Сканирует, потом выводит ошибку.
65. anig99 2852 27.07.15 13:08 Сейчас в теме
(64) igorekpanchenko, а на форме есть элемент типа картинка с именем КартинкаСкан?
66. igorekpanchenko 27.07.15 13:17 Сейчас в теме
(65) Присутствует.
Вид: поле картинки
Путь К Данным: АдресКартинки
67. igorekpanchenko 27.07.15 13:19 Сейчас в теме
(65) Кнопка загрузки работает таким способом:

&НаКлиенте
Процедура Загрузить(Команда)

	файл = "" ;
	ПоместитьФайл(файл,,,Истина,УникальныйИдентификатор);
	Если файл<>"" Тогда 
		АдресКартинки = файл;
	КонецЕсли;

КонецПроцедуры
Показать

68. anig99 2852 27.07.15 16:15 Сейчас в теме
Элементы.КартинкаСкан.АдресКартинки = Файл
не так должно быть?
71. al_zzz 302 30.09.15 07:41 Сейчас в теме
Подскажите пожалуйста, как сделать сканирование с автоподачей в один файл?
72. info1ctart 03.03.16 03:34 Сейчас в теме
Можно ли как-то задать имя сканера, или сделать выбор? А то их несколько, и сканирует не с того.
Оставьте свое сообщение