Сканер штрих-кода для работы по сети (терминальных сессиях)

Оборудование - Сканер штрих-кода

Версия 1.0.0.1 (01.05.2006).
Работает на Win98,Win2000,WinXP,Win2000 Server,Win2003 Server.
Платформа: 1С: Предприятие 7.7
Конфигурации: (тестировалось на "1С:Торговля + Склад редакции 9.2", 939...941 релизах)

Основные возможности:
-------------------------------
Передача считанного штрих-кода с рабочей станции клиента в 1С, запущенной в
терминальной сессии (на сервере терминалов).

Комплект программного обеспечения:
-------------------------------------------

  1. TermScan.exe - программа запускаемая у клиента (посылает считанный ШК серверу PVRscan).
  2. TermSkan.ini - файл с настройками клиента.
  3. PVRscan.dll - Внешняя компонента 1С (выступает в роли сервера, принимает считанный штрих-код с клиента и генерирует внешнее событие 1С "BarCodeValue").
  4. Readme.txt - файл с описанием, читаемый Вами.

Порядок работы:
-------------------------
Настройка сервера:
1. Скопируйте файл PVRscan.dll в каталог вашей базы или на сервере в каталог установки программы 1С, по умолчанию "C:\Program Files\1Cv77\BIN\".
2. В глобальный модуль внесите изменения в Процедуру ПриНачалеРаботыСистемы()
добавьте в конце:

//Запуск сервера сканера штрихкодов.
Попытка
ЗагрузитьВнешнююКомпоненту("PVRscan.dll");
Исключение
Сообщить("Не удалось загрузить PVRscan.dll !!!");
КонецПопытки;

3. Первый запуск "Базы 1С" сделайте под правами Администратора для регистрации ВК.
4. В меню "Сервис / Параметры" на закладке "Настройка сканера ШК" введите Ун. имя, как в клиенте "Ун. имя".
5. Выставьте флажок "Компонента включена".
6. Нажмите кнопку "Применить" и "ОК".
Дополнительно:
У каждого пользователя и базы поле "Ун. имя" должно быть уникальным!!!

Настройка клиента:
1. При запуске программы иконка появляется в системном трее рядом с часиками.
2. Нажмите правой кнопкой мышки на иконке, в появившемся списке выберете настройки или двойным щелчком мыши левой кнопкой.
3. В поле диалога "Удаленный Host" введите имя терминального сервера (или компьютера на котором запускается 1С).
4. В поле диалога "Ун. имя" введите уникальное имя, используемое сервером для идентификации клиента.
5. По нажатию кнопки "Настройка порта" выберите COM порт сканера и тд.
6. Нажмите кнопку "Открыть порт" для подключения сканера.
7. Выставьте флажки (если требуется) "открыть порт при запуске программы" и "Запускать после перезагрузке Windows" для автоматического старта программы при запуске Windows.
8. Нажмите кнопку "Сохранить настройки" для сохранения сделанных вами настроек.
Дополнительно:
В поле "Считанный штрихкод" появляется считанный сканером шрихкод(можете ввести в ручную).
По нажатию кнопки "Отправить" шрихкод из поля "Считанный штрихкод" отправится серверу 1С с уникальным именем "Ун. имя".

Скачать файлы

Наименование Файл Версия Размер
TermScan.zip
.zip 498,59Kb
25.09.09
265
.zip 498,59Kb 265 Скачать бесплатно
PVRTERMSCAN (TCP/IP) бета
.1234252899 429,91Kb
25.09.09
109
.1234252899 429,91Kb 109 Скачать бесплатно

См. также

Комментарии
1. Вячеслав (slavapil) 126 26.07.06 14:47 Сейчас в теме
Ответ: НовенькийЯ.

Сервером у меня называется внешняя компонента, так как она создает именованный канал.

«+: при падении одного сервера ТСР, все остальное работает.» - аналогично.
«+: нет необходимости постоянно в памяти сервера терминалов держать запущенный сервер ТСР и следить за его работой.» - аналогично.
«+: Пользователи сами запускают(вручную или автоматом) сервера ТСР» - аналогично («запускают клиентов»).
«+: Быстрая смена серверов ТСР у клиентов. т.е. если 5 1С работают с одним сканером, потом одной из 1С необходимо работать с другим сканером, то в этой 1С просто меняется номер ТСР порта для под нужный сканер(сервер)» - аналогично (меняют ун. имя).

«-: самый главный минус в том что, сколько в терминале работает клиентов, у которых есть торг. оборудование, столько и должно быть запущено серверов ТСР и столько же должно быть открыто портов ТСР на сервере.» - используя именованные каналы открывать ТСР порты на сервере не надо, зато надо задавать уникальное имя канала.
2. НовенькийЯ 26.07.06 11:10 Сейчас в теме
Идея очень хорошая, у меня это реализовано давно и работает около 2х лет, но вот теперь я написал другую програму, где отсутствует принимающий сервер!!!, т.е. на сервере терминалов не запускается серверная часть программы.

Смысл такой:
Железо (касса/сканер/дисплей покупателей)<->Драйвер для железа, он же и сервер TCP торгового оборудования<->внешня библиотека для 1С, она же клиент TCP <-> 1C
т.е., может быть несколько серверов, точнее сколько машин с торговым оборудованием столько и серверов.

+: при падении одного червера ТСР, все остальное работает.
+: нет необходимости постоянно в памяти сервера терминалов держать запущенный сервер ТСР и следить за его работой.
+: Пользователи сами запускают(вручную или автоматом) сервера ТСР
+: Быстрая смена серверов ТСР у клиентов. т.е. если 5 1С работают с одним сканером, потом одной из 1С необходимо работать с другим сканером, то в этой 1С просто меняется номер ТСР порта для под нужный сканер(сервер)

-: самый главный минус в том что, сколько в терминале работает клиентов, у которых есть торг. оборудование, столько и должно быть запущено серверов ТСР и столько же должно быть открыто портов ТСР на сервере.
-: сложно собирать логи с серверов ТСР, т.к. должен быть клиент, который принимает сигналы со всех серверов.
3. НовенькийЯ 27.07.06 10:21 Сейчас в теме
Что то я не совсем понял. У тебя висит один клиент на одном сканере ШК, он же отсылает, считанный с этого сканера код в 1С, с таким же ун.именем как и в клиенте.
т.е. общение идет такого вида
сканер ШК ->1C
В чем тогда смысл твоей программы? у меня клиенты работают на терминальных станциях, если к этой терм. станции прицеплен сканер, то к нему можно прицепиться любым доступным(стандартным) способом, предварительно примапив нужный порт. Зачем при этом нагружать еще и сокеты, посылать этот штрих код по сетке???




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

минусы к твоей программе(я надеюсь это не страшно то что я на ТЫ):
1) не стоит показывать считанный штрих код пользователю в целях безопасности. Оставь эту функцию только администратору.
2) Убери кнопку "Отправить", иначе будут отправлять все подряд. Оставь только администратору.
3) настройку хоста и ун. имени должен производить администратор, а не пользователь.
4) сделай административные функции, закрытые паролем.
5) По поводу сохранения параметров в ini, помоемому лучше бы их сохранять в реестре

Все минусы касаются только безопасности, на больших предприятиях это акутуальная тема.
4. Вячеслав (slavapil) 126 27.07.06 13:54 Сейчас в теме
«Все минусы касаются только безопасности» - спасибо за минусы.

Смысл в том что примапить можно только в W2003 или Citrix, в W2000 перенаправления СOM нет.
1) Оператор сканит ШК товара и видит его, может удостоверится что он считан правильно.
Окошко ввода можно использовать для считывания со сканера в разрыв Клавы либо ручками или вообще для кодовых слов Админа. ОбработкаВнешнегоСобытия(Источник=«PVRscan»,Событие=«BarCodeValue»,Данные=«Данные»).
2) Кнопка «Отправить» для того и сделана, чтобы отправлять все, что душе угодно.
5) Можно, но не Все любят когда прога лезет в реестр и мусорит в нем. Uninstall НЕТ :-)

Продукт не коммерческий, но если будет много желающих использовать прогу с поддержкой безопасности то можно доработать.
5. Джон До (jdo) 95 20.02.07 18:57 Сейчас в теме
Огромное спасибо автору. Очень полезная прога
6. Женя (tatarinet) 25.11.07 18:39 Сейчас в теме
А можешь реализовать подобное только для терминалов сбора данных? Нужно вледствие того что загрузка данных с 1С в ТСД в терминальной сессии происходит очень медленно ....
На ТСД стоит Atol Mobile Logistic.
7. Вячеслав (slavapil) 126 26.11.07 09:41 Сейчас в теме
В программировании можно все, если знать как!

С ТСД не работал (под WM и Win CE не писал).

Возможно, по быстродействию "Atol Mobile Logistic" следует обратиться к разработчику?
8. idw idw (idw) 343 17.12.07 10:47 Сейчас в теме
Я так понял, что программа работает только тогда, если сначала на сервере загрузить компонентуPVRscan.dll, а только после этого запустить TermScan.exe. Или нет?
9. idw idw (idw) 343 17.12.07 11:27 Сейчас в теме
Всё разобрался, надо регить компоненту на сервере под правами админа сервера.
10. Вячеслав (slavapil) 126 17.12.07 16:12 Сейчас в теме
PVRscan.dll созает канал,TermScan.exe при посылке данных ищет канал, если его нет то просто не пошлет. Как только запустится PVRscan.dll, TermScan.exe сможет послать данные.

TermScan.exe можно запускать когда угодно, но без сервера он не сможет отправить данные.
11. Виктор Киселев (VitGun) 04.05.08 17:04 Сейчас в теме
А нафига огород городить, когда можно просто смапить порт?
12. Вячеслав (slavapil) 126 04.05.08 20:51 Сейчас в теме
VitGun прочти 4 пост :)
958 скачиваний говорит о том что надо комуто :)
Скоро выложу c передачей по TCP/IP.
13. Андрей (andreynsk) 12.05.08 12:44 Сейчас в теме
Народ я в шоке! Маппинг портов не работает в Windows 2003 Server SP2.
Я пробовал все что можно.Если интересно кому нить могу рассказать.
14. Андрей (andreynsk) 12.05.08 12:45 Сейчас в теме
15. Андрей (andreynsk) 14.05.08 09:10 Сейчас в теме
Жутко извиняюсь за ниженаписанное. TermScan работает в 1Cv8. Проверено лично мной. Допетрил что и как )
16. air777 (Air777) 21.05.08 11:05 Сейчас в теме
А какой порт использует компонента? Хочу сделать удаленное подключение через фаерволл.
Спасибо
17. Вячеслав (slavapil) 126 21.05.08 13:23 Сейчас в теме
Сейчас используется "NamedPipe", вроде только для внутр. сети подойдет.
Вам нужно для TCP/IP, скорее всего (планируется) в ближайшем будущем появится ;)
18. Вячеслав (slavapil) 126 21.05.08 13:26 Сейчас в теме
Поумайте, как вы видите работу сервера и клиента через TCP/IP?
Что вам еще нужно в этой разработке?
19. Best Soft MMC (PaRaDoX) 78 26.05.08 17:59 Сейчас в теме
Молодец! Очень помогло!+
20. Василий (alf_krsk) 22.07.08 09:54 Сейчас в теме
Все было прекрасно пока настраивал, очень обрадовался, но как только до работы дошло получается такая вещь : у одного клиента первый штрихкод считывает нормально,
а перед остальными вставляет символ "|" , в клиентской части закрываешь порт потом открываешь первый сканирует нормально, а потом опять. Сканер Metrologic 9520.
У другого клиента еще интереснее периодически перед штрихкодом появляется мусор уже их 3-х символов, отключаешся от сервера терминалов, подключаешся и все нормально, никаких
настроек не меняешь, сканер cipher. Сервер Win2003SP2. ????? ПОМОГИТЕ плз, от чего это может быть!!!
21. Вячеслав (slavapil) 126 22.07.08 10:26 Сейчас в теме
(20)
??????????

Может поможет новая версия через TCP/IP !!!!!
Скоро появится, пока проходит тестирование ;)

Могу выслать бету на mail,
заявку на slavapil@yandex.ru
22. Вячеслав (slavapil) 126 10.02.09 11:03 Сейчас в теме
Можете тестировать ;)

PVRTERMSCAN (TCP/IP) бета
23. Василий Демидов (Душелов) 3796 10.02.09 11:10 Сейчас в теме
24. Вячеслав (slavapil) 126 10.02.09 11:42 Сейчас в теме
(23) ;)
Интересно было сколько писем будет :)
25. Василий Демидов (Душелов) 3796 10.02.09 11:43 Сейчас в теме
26. Вячеслав (slavapil) 126 10.02.09 11:50 Сейчас в теме
(25)
Вего 10 :)
Большинство устроил старый вариант ;)
27. Михаил Лупашин (Water_Mihey) 02.03.09 22:46 Сейчас в теме
При использовании старого варианта на платформе 1С 8.0, при закрытии 1С выдается ошибка "Инструкция по адресу "0х00000000" обратилась к памяти по адресу "0х00000000". Память не может быть read". и не сохраняется ун. имя и флажок "Компонента включена", т.е. приходиться устанавливать флажок и ун.имя при каждом запуске 1С. Так же не сохраняются настройки другого торгового оборудования подключенного на этом компьютере (наверное потому что 1С некорректно завершает работу). Если PVRscan.dll не загружаешь то ошибки нет.

Подскажите пожалуйста в чем причина?

p.s. В остальном все работает нормально.
28. Вячеслав (slavapil) 126 03.03.09 09:00 Сейчас в теме
(27)
В "PVRTERMSCAN (TCP/IP) бета" таже ошибка?
29. Михаил Лупашин (Water_Mihey) 03.03.09 09:35 Сейчас в теме
Да, попробывал, 2-й вариант, ошибка такая же. Судя по всему она возникает при выгрузке dll, наверное... Пробывал на нескольких компах, ошибка аналогичная.
30. Anton Knyazev (khr3b) 15.03.10 15:49 Сейчас в теме
попробовал на 1С вер. 7.70.027, конф. ТиС 7.70.956

PVRscan.dll версия 1.0.0.6, закинул в папку с БД, зарегал в системе.
В настройках ТО настроил все, как и показано на картинках в архиве.
После первого запуска 1С зависла наглухо. Со второй попытки выдало ошибку:
"PVRscan : Уже запущена
Сканер штрих-кода: ошибка при подключении"
При этом галочка "Сканер ШК включен" пропадает.

кто что посоветует?
Оставьте свое сообщение