Нужна помощь с потоковым сканированием

1. user1018192 13.09.19 21:24 Сейчас в теме
Всем доброго времени суток.
Нужна помощь с потоковым сканированием через компоненту TWAIN.
Основная проблема пока что проявляется в том что
Если использовать метод .НачатьСканирование(
с параметром ПоказыватьДиалог = Ложь,
то сканирует исключительно в режиме планшет.
Лоток заполнен, на стекле пусто. в результате прогоняет пустое стекло, а лоток по прежнему полон.
Если ПоказыватьДиалог = Истина
и в открывшемся диалоге выбрать режим подачи, ни каких внешних событий в 1с не входит.
в режиме планшета все отлично в не зависимости от режима диалога.
картинка сохраняется в темп, в 1с идет два внешних события: ImageAcquired (с адресом картинки в темпе); EndBatch.
буду рад любой помощи по теме 1с и потокового сканирования с автоподатчика

Спасибо.
Прикрепленные файлы:
сканерТВАИН_v7.epf
По теме из базы знаний
Ответы
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
2. user1018192 13.09.19 21:31 Сейчас в теме
Подробнее:
Сканер HP LaserJet Pro M426fdn
Конфигурация самописная, обычные формы (хотя здесь наверное это и не важно)
Есть общий макет с компонентой TWAIN, скопированный с документооборота
версия компоненты 1.9

Есть внешняя обработка в которой основных момента два:
1) сам запуск диалога сканера
ПоказыватьДиалог = Истина;
РасширениеКартинки = "JPG"; 
Разрешение = 300;
Цветность = 1;
Поворот = 90;
РазмерБумаги = 1; 
ПараметрСжатие = 10;

мКомпонентаTwain.НачатьСканирование(ПоказыватьДиалог
, ИмяДрайвера //Выбранный на форме
, РасширениеКартинки
, Разрешение
, Цветность
, Поворот
, РазмерБумаги
, ПараметрСжатие,
ДвустороннееСканирование //Флажок на форме. значение сути не меняет
);
Показать


2) обработка внешних событий от сканера
Процедура ВнешнееСобытие(Источник, Событие, Данные)
	
	Если Источник = "TWAIN" И Событие = "ImageAcquired" Тогда
		ВыбФайл=Новый Файл(Данные);
		нов = тз.Добавить();
		нов.Файл = Формат(ТекущаяДата(), "ДФ=yyyyMMddHHmmss") + ВыбФайл.Расширение;
		ДвоичныеДанные = Новый ДвоичныеДанные(Данные);
		АдресКартинки = ПоместитьВоВременноеХранилище(ДвоичныеДанные, Новый УникальныйИдентификатор);
		нов.АдресКартинки = АдресКартинки;
		ЭлементыФормы.ПолеКартинки.Картинка = Новый Картинка(ДвоичныеДанные);
		ЭлементыФормы.тз.ТекущаяСтрока = нов;
		УдалитьФайлы(Данные);	
	ИначеЕсли Источник = "TWAIN" И Событие = "EndBatch" Тогда
		//Ни чего не делаю
	ИначеЕсли Источник = "TWAIN" И Событие = "UserPressedCancel" Тогда	
		//Ни чего не делаю
	КонецЕсли;
	
КонецПроцедуры
Показать


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

в обработке нет ни какой зависимости от метаданных, кроме самой компоненты в общих макета
подойдет для любой в обычном приложении где есть эта компонента

И если в диалоге выбрать режим планшета, то все отлично работает
проходит сканирование
отрабатывает событие "ImageAcquired"
закрывается автоматом диалог
отрабатывает событие "EndBatch"

И если в диалоге выбрать режим податчик, то
происходит сканирование всех листов из лотка податчика
ни каких внешних событий в 1с не входит
и во временном каталоге почему то только файл скана первого листа из лотка
Оставьте свое сообщение

Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот