Обсуждение:Сканирование, отображение документа, удостоверяющего личность вкладчика, через локальный файл, фотографирование клиента
0 (0)
Обсуждение:Сканирование, отображение документа, удостоверяющего личность вкладчика, через локальный файл, фотографирование клиента ( Обсуждение примера 14.02.2006 19:09 )
0(0)Данный DLM-модуль был разработан для сканирования документа, удостоверяющего личность вкладчика(сканер должен поддерживать TWAIN-стандарт) и сохранения его на докальном диске с последующим просмотром. Работает как в 2-х, так и в 3-х звенке.
Так же возможно использование DLM-модуля для фотографирования клиента(проверялось с использованием web-камеры Genius VideoCAM Slim USB2)
Функции включенные в модуль:
void fsfshow(put,codclient,fio,buttons,del_button) - функция отображения файла.
Параметры:
string put - каталог размещения файлов с изображениями
string codclient - имя файла. Будут отображены все файлы по маске codclient*.jpg[.bmp]
string fio - подпись изображения
string buttons - признак отображения панели с кнопками(next,prev,delete), может быть "0" или "1"
string del_button - призанк отображения кнопки удаления, может быть "0" или "1"
void fsfprov(retval,put,codclient) - функция проверки наличия файла с именем
codclient в директории put
Параметры:
retval - возвращаемое значение
0 - файл есть
1 - есть хотя бы один файл удовлетворяющий маске codclient*.jpg[.bmp]
2 - директории нет
string put - каталог размещения файлов с изображениями
string codclient - имя файла
void fsfscan(put,codclient,retval) - функция сканирования изображения и его сохранение
в файл с именем codclient.jpg в директории put
Параметры:
string put - каталог размещения файлов с изображениями
string codclient - имя файла
retval - возвращаемое значение
0 - подпись сосканирована
1 - TWAIN-устройство не подключено
2 - TWAIN-устройство не выбрано
3 - Отсутствует директория для сохранения
4 - В системе отсутствует TWAIN-устройство
07.03.2007
Скорректирована функция проверки наличия файла с изображением - fsfprov,
теперь проверяются наличие хотя бы одного файла, который в имени содержит
codclient.
Скорректирована обработка нажатия клавиши, на предмет изменения размеров окна.
04.09.2007
Реализована печать изображения по нажатию клавиши F7
Посмотреть пример
>> ОтветитьОшибка при работе в 3-х звенке !!! ( leha 27.02.2006 14:48 )
0(0)Подбросил файлы scaner.mac, rtab.mac, filsign.d32 в каталог \MAC и файл filsign.d32 в \Obj и в терминалку.
при запуске файла scaner.mac по терминалке в "Отладке макроса" выдает ошибку:
Error: невозможно открыть файл rtab.mac
а в 2-х звенке работает.
>> ОтветитьОшибка при работе в 3-х звенке !!! ( leha 27.02.2006 15:59 )
0(0)Немного разобрался, но всё равно не работает:
Файл rtab.mac подбросил в каталог терминалки \мас,
в файле scaner.mac определил const NameDirTerm = "Mac\\"
и в процедуре CallRemoteRsl (NameDirTerm+"rtab.mac","_fsfprov",put,codclient);
но при вызове scaner.mac выдает ошибки:
-----------------------------------------------------
Error in module:
Mac\rtab.mac
Line: 1
невозможно открыть файл proekt.d32 (filsign.d32)
-----------------------------------------------------
во-первых, я ни где не нашел библиотеку proekt.d32,
а во-вторых, если даже я закоментирую \\import "proekt.d32";
то ругается на import "filsign.d32";
хотя данная библиотека есть в корне терминалки
>> ОтветитьКак у меня ( gemyak 28.02.2006 06:53 )
0(0)Да действительно файл proekt.d32 вообще не нужен, я просто поленился удалить его из примера, когда помещал макрос rtab.mac - эта длм-ка используется вообще для создания таблицы.
У меня сделано так:
на терминале в каталоге mac\ лежат: filsign.d32 и rtab.mac, из корня терминала filsign.d32 не берется
сам макрос scaner.mac на терминале не нужен
>> ОтветитьВсё равно ругается!!! ( leha 28.02.2006 09:26 )
0(0)Запускаю с терминалки scaner.mac:
Error in module:
mac\rtab.mac
Line: 6
неопределенный идентификатор INIT
>> ОтветитьЕсли убрал proekt.d32 ( gemyak 01.03.2006 06:52 )
0(0)Если убрал proekt.d32, то соответственно надо убрать те макросы, к-е вызывали функции из этой длм-ки: macro _init(zag,s2), macro _add(p1), macro _fshow()
>> ОтветитьСпасибо за помощь, всё получилось!!! ( leha 01.03.2006 11:48 )
0(0)Not specified
>> Ответить
При импорте этой DLM терминал просто виснет. ( Smolenkov 15.06.2006 11:50 )
0(0)Терминал под 90.32. простейший макрос из одной строки:
Import "filsign.d32";
вешает весь терминал.
>> ОтветитьПро филсигн ( gemyak 15.06.2006 13:20 )
0(0)90.32 - это версия рс-банка 5.0?
или версия сервера приложений?
ДЛМ была протестирована на терминалах:
5.08.125.8 для V6
Возможно у вас не все расщирения терминала установлены...
>> ОтветитьВерсия: ( Smolenkov 16.06.2006 10:10 )
1(1)РС 5.0.90.32
терминал: RS-Terminal Version: 5.10.142.0
DLM в папке терминала:
alarm d32│ 45056│04.04.01│13:15 doctor d32│118784│11.09.03│15:51 ewextt d32│380928│28.05.04│18:41 lg d32│ 57344│16.10.03│15:57 lgx d32│ 69632│11.12.01│16:05 lgxe d32│381952│10.10.03│08:49 lgxs d32│ 57344│17.01.01│00:00 nb_addr d32│ 36864│23.09.03│09:44 nb_addr dlm│ 2070│18.06.99│20:29 rsax d32│143360│06.04.06│11:36 rsdlgs d32│180224│07.10.03│11:57 rsextt d32│143360│03.11.04│15:45 rsfext d32│143360│07.10.03│11:57 rsrepext d32│ 81920│07.10.03│11:57 rsvrep d32│ 53248│21.01.99│14:59 t_textgp d32│ 45056│18.02.06│06:42 t_textgp dlm│ 3170│10.02.00│15:29 termdtb d32│1436 К│03.02.03│12:01 testflt d32│ 57344│17.09.03│13:38 viewpcx d32│ 32768│23.12.97│16:37 viewpcx dlm│ 2240│23.12.97│16:37
>> Ответитьконфигурация терминала ( gemyak 19.06.2006 06:53 )
0(0)чтобы корректно все вызывалось, сделайте следующее:
1. создайте в терминале каталоги mac и txtfile
2. положите в каталог терминала файлы: RSEXTT.D32, RSEXTT.INI в инишнике пропишите:
;
; Файл конфигурации для интерпретатора
DATADIC = mac\demo.def
DATAPATH = mac
DBFPATH = mac
TXTPATH = TXTFILE
INCPATH = mac
WORKDIR = mac
OUTPUT = TXTFILE\*.out
CASHDIR = dbg
SRCDIR = dbg
3. положите в каталог mac на терминале: FilSign.d32, rtab.mac
Так же при вызове функций из длм-модуля необходимо импортировать import rsexts;.
Сам длм-модуль FilSign.d32 должен лежать в каталоге прописаном в путях поиска к примеру в подкаталоге ..\mac каталога, куда установлен рс-банк.
>> Ответить
Новая версия filsign.d32 ( gemyak 16.06.2006 10:07 )
0(0)Если кому интересно могу выслать, теперь при помощи этого ДЛМ-модуля можно просматривать несколько страниц, появились кнопки навигации (prev,next,delete), попозже выложу в примеры
>> ОтветитьХорошая вещь. ( Ltybc 20.07.2006 12:29 )
0(0)А то у рс до сих пор штатный сканер работает только с дос-драйверами.
Только одно напрягает - каждый раз появляется выбор устройства, хотя оно только одно. Можно это как-нибудь отключить?
>> ОтветитьЭто тоже разработка Р-Стайл Сибирь ( gemyak 20.07.2006 14:23 )
0(0)Нет, отключить окно выбора устройства нельзя, таковы уж ограничения стандартного TWAIN-драйвера, если бы это было возможно я бы обязательно сделал проверку на кол-во установленных в системе устройств.
>> ОтветитьВероятно, все-таки можно ( Ltybc 20.07.2006 14:35 )
0(0)Если IrfanViewer вызвать с параметром /scan /convert=path\tmp.bmp \
то вообще никаких проблем - сразу вылетает штатная программа сканера (у нас вообще веб-камера), сканируется изображение и сохраняется.
Я его так в ретейл стараюсь приделать.
Но, все равно, хорошо получилось.
>> ОтветитьУ меня не получилось ( gemyak 20.07.2006 14:59 )
0(0)У меня не получилось производить инициализацию установленного устройства без вызова панели выбора...
А с веб-камерой работает, проверено.
Ну еще покапаю может что найду, но попозже, сейчас дел много, другое пишу
>> ОтветитьВ двухзвенке не работает ( Ltybc 20.07.2006 18:29 )
0(0)Пишет Nonshared DATA segment required и все дохнет.
>> ОтветитьТолько в 5.0 ( Ltybc 21.07.2006 13:14 )
0(0)В 5.1 все работает. Странно, вроде разницы в версиях rsl быть не должно.
>> Ответить
Добавлена возможность печати изображения ( gemyak 19.09.2007 06:42 )
0(0)В новой версии filsign (выложена в примерах) реализована печать просматриваемого изображения. Для печати необходимо нажать F7. Печать осуществляется на принтер по умолчанию в системе. ДЛя того, чтобы откорректировать размеры печатоемого изображения пользуемся все теми же клавишами на выносной клавиатуре "+"/"-".
>> Ответить