gifts2017

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

Опубликовал Вячеслав (slavapil) в раздел Оборудование - Сканер штрих-кода

Версия 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 251
.zip 498,59Kb
25.09.09
251
.zip 498,59Kb Бесплатно
PVRTERMSCAN (TCP/IP) бета 99
.1234252899 429,91Kb
25.09.09
99
.1234252899 429,91Kb Бесплатно

См. также

Подписаться Добавить вознаграждение

Комментарии

1. Вячеслав (slavapil) 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) 27.07.06 13:54
«Все минусы касаются только безопасности» - спасибо за минусы.

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

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

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

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

TermScan.exe можно запускать когда угодно, но без сервера он не сможет отправить данные.
11. Виктор Киселев (VitGun) 04.05.08 17:04
А нафига огород городить, когда можно просто смапить порт?
12. Вячеслав (slavapil) 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) 21.05.08 13:23
Сейчас используется "NamedPipe", вроде только для внутр. сети подойдет.
Вам нужно для TCP/IP, скорее всего (планируется) в ближайшем будущем появится ;)
18. Вячеслав (slavapil) 21.05.08 13:26
Поумайте, как вы видите работу сервера и клиента через TCP/IP?
Что вам еще нужно в этой разработке?
19. Best Soft MMC (PaRaDoX) 26.05.08 17:59
Молодец! Очень помогло!+
20. Василий (alf_krsk) 22.07.08 09:54
Все было прекрасно пока настраивал, очень обрадовался, но как только до работы дошло получается такая вещь : у одного клиента первый штрихкод считывает нормально,
а перед остальными вставляет символ "|" , в клиентской части закрываешь порт потом открываешь первый сканирует нормально, а потом опять. Сканер Metrologic 9520.
У другого клиента еще интереснее периодически перед штрихкодом появляется мусор уже их 3-х символов, отключаешся от сервера терминалов, подключаешся и все нормально, никаких
настроек не меняешь, сканер cipher. Сервер Win2003SP2. ????? ПОМОГИТЕ плз, от чего это может быть!!!
21. Вячеслав (slavapil) 22.07.08 10:26
(20)
??????????

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

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

PVRTERMSCAN (TCP/IP) бета
23. Василий Демидов (Душелов) 10.02.09 11:10
24. Вячеслав (slavapil) 10.02.09 11:42
(23) ;)
Интересно было сколько писем будет :)
25. Василий Демидов (Душелов) 10.02.09 11:43
26. Вячеслав (slavapil) 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) 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 : Уже запущена
Сканер штрих-кода: ошибка при подключении"
При этом галочка "Сканер ШК включен" пропадает.

кто что посоветует?
Для написания сообщения необходимо авторизоваться
Прикрепить файл
Дополнительные параметры ответа