Использование ТСД на WM 6 как беспроводной сканер с получением данных из 1С

18.05.16

Интеграция - Терминал сбора данных

Как вариант печати этикеток на мобильный принтер, получение информации по ШК.
Можно легко расширить до более сложных задач. В том числе на Xamarin под Android и IOS.

Скачать файл

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

Наименование По подписке [?] Купить один файл
ТестТСД
.zip 141,74Kb
9
9 Скачать (1 SM) Купить за 1 850 руб.

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

Основное в разработке - это модуль обмена по TCP/IP.

Применен протокол со сжатием данных, так как это актуально в медленных сетях Wi-Fi, особенно вдали от точки.

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

Применение в 1С такое.

&НаКлиенте
Процедура Запустить(Команда)
	// Вставить содержимое обработчика.
	Если TCPСервер=неопределено Тогда
		TCPСервер= СоздатьСерверTCP();
		
	КонецЕсли; 
	
	Событие=Врап.ПолучитьОбъектДляСобытийСПараметром(TCPСервер,"ПришлоСообщениеПоTCP");
	
	ДобавитьОбработчик Событие.СобытиеСПараметром, ПолучениеДанныхПоTCP;
	TCPСервер.ОткрытьАйПиПортСНомеромПорта(Отчет.Порт);
	
	Элементы.ЗапуститьСерверTCPIP.Доступность=Ложь;
КонецПроцедуры


&НаКлиенте
Процедура ПолучениеДанныхПоTCP(Данные)
	
	// Получаем данные в виде объекта у которого 2 свойства
	// Команда Имя запроса строка
	// Данные Строковое представление данных
	Сообщить("Команда="+Данные.Команда);
	Сообщить("Данные="+Данные.Данные);
	Сообщить("ЕстьОтвет="+Данные.ЕстьОтвет);	
	
	// ТСД Посылает команду "СканированШК" и отсканированный ШК 
	Если Данные.Команда="СканированШК" Тогда
		Шк=Данные.Данные;
		// Получим данные по Номенклатуре и отправит данные ТСД
		Ответ=ПолучениеДанныхПоШК(ШК);
		TCPСервер.Ответить(Ответ);
		
		возврат
	КонецЕсли; 
	
	// Для других команд просто отправим текущее время и дату 
	Если Данные.ЕстьОтвет Тогда
		Ответ="Ответ на команду "+Данные.Команда+"
		|Данные "+Данные.Данные+"
		|ВремяНаСервере="+XmlСтрока(ТекущаяДата());
		TCPСервер.Ответить(Ответ);
		
		
	КонецЕсли; 
	
КонецПроцедуры
 

Вот исходники модуля передачи и приема данных по сети

 

Тестировал на эмуляторе.

Также удобно передавать данные сразу в сериализованном DataTable для универсальной обработки на TCL с фильтрами поиском и тд

 

Функция ПолучитьТипКолонкиДляДТ(Колонка) Экспорт
Тип=Колонка.ТипЗначения;
Если Тип=Неопределено Тогда
возврат "System.Object"
КонецЕсли; 

Если тип.Типы().Количество()>1 Тогда
	возврат "System.Object"
КонецЕсли; 

Тип1=тип.Типы()[0];

Если Тип1=Тип("Число") Тогда
	Квалификатор=Тип.КвалификаторыЧисла;
	Если Квалификатор.РазрядностьДробнойЧасти>0 Тогда
		возврат "System.Decimal"
	КонецЕсли; 
	
	Разрядность=Квалификатор.Разрядность;
	Если Разрядность<10 Тогда
		возврат "System.Int32"
	ИначеЕсли Разрядность<19 Тогда	
		возврат "System.Int64"
	Иначе
		возврат "System.Decimal"
	КонецЕсли; 
	
КонецЕсли; 

Если Тип1=Тип("Строка") Тогда
 возврат "System.String"
ИначеЕсли Тип1=Тип("Дата") Тогда
 возврат "System.DateTime"
КонецЕсли;

return "System.Object"
КонецФункции	

Функция СоздатьДТ(врап,Тз,ИмяТаблицы) Экспорт

	 Колонки=Тз.Колонки;

	 myTable=Врап.СоздатьОбъект("System.Data.DataTable, System.Data, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089",ИмяТаблицы);
	 DataColumn=Врап.ПолучитьТип("System.Data.DataColumn");
	 Columns= myTable.Columns;
	 КоличествоКолонок=Колонки.Количество();
	 Для каждого Колонка Из Колонки Цикл
	 
	 	 colItem =Врап.СоздатьОбъект(DataColumn,Колонка.Имя, Врап.ПолучитьТип(ПолучитьТипКолонкиДляДТ(Колонка)));
         Columns.Add(colItem);
	 
	 КонецЦикла; 
	 
//	rowArray =новый COMSafeArray("VT_VARIANT",КоличествоКолонок);//Врап.СоздатьМассив("System.Object",КоличествоКолонок);
    Rows=myTable.Rows;
	Для каждого стр Из Тз Цикл
		  Row = myTable.NewRow();
		Для сч=0 По КоличествоКолонок-1 Цикл
			сообщить(стр[сч]);
		Row.set_Item(сч,стр[сч]);
		  
	  КонецЦикла;
	  
Сообщить(Row.ToString());
//Rows.Add(Row);
врап.ВыполнитьМетод(Rows,"Add",Row);


	КонецЦикла; 
	
	возврат myTable
КонецФункции 

 

В Папке Для1С лежат файлы NetObjetToIDispatch45.dll и RegAsm.bat и внешняя обработка ТестТСД.erf 
 
Скопируйте в общедоступную папку и зарегистрируйте, запустив от администратора RegAsm.bat
 
В Папке ТСДкакСканер лежат файлы ТСДкакСканер.exe и ТСДкакСканер.exe.config, их нужно скопировать на КПК, например, в Programm Files
 
Но перед тем. как копировать, измените ТСДкакСканер.exe.config
<add key="ServerName"  value="10.250.0.1" /> 
<add key="ServerPort" value="6891" /> 
 
ServerName на IpAddress компьютера, на котором будет загружаться обработка. Порт должен быть таким, как в обработке.
 
Запускаете обработку, нажимаете на кнопку Запустить, и можно обмениваться данными с ТСД, сканировать как эмулятор  клавиатуры, набирать ШК вручную.
 
Ссылки на подключение эмулятора к сети
 
Ссылка на SDK

.Net Compact Framework C#

См. также

Мобильная разработка Сканер штрих-кода Терминал сбора данных Управляемые формы Мобильная платформа 1С:Розница 2 1С:Управление нашей фирмой 1.6 1С:ERP Управление предприятием 2 1С:Управление торговлей 11 1С:Комплексная автоматизация 2.х Управленческий учет Платные (руб)

Сбор заказов, инвентаризация, проверка ценников, просмотр полной информации об остатках и ценах со смартфона Онлайн - все это содержит в себе решение 1С "Штрихкод-информер" (штрих-код чекер). Отправка данных со смартфона выполняется либо напрямую в открытую форму документа, отсканировав QR-код, либо в общую корзину учетной системы, не подходя к компьютеру. Кассир или оператор сможет просмотреть список присланных данных и загрузить в любую форму, поддерживающую работу с ТСД. Для работы с мобильным приложением требуется опубликовать HTTP-сервис из поставляемого расширения.

3000 руб.

03.12.2018    60116    199    103    

174

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

Простой мобильный ТСД (терминал сбора данных) сканер для 1С для смартфонов на iOS и Android, не требующий сложных настроек и установки дополнительных программ. Обмен между Вашей 1С и мобильным приложением осуществляется через облачный сервис и расширение конфигурации. Работает с конфигурациями УТ 11, ERP, КА2, Розница 2, Розница 3, УНФ 1.6, УНФ 3.0. Полнофункциональный демо-доступ для своей конфигурации можно запросить в настройках мобильного приложения - все необходимое придет на почту автоматически.

2000 руб.

22.04.2019    98721    599    189    

325

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

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

18550 руб.

28.04.2023    9962    15    2    

9

Терминал сбора данных Программист Платформа 1С v8.3 Конфигурации 1cv8 Абонемент ($m)

Мобильная конфигурация с примером работы со встроенным сканером ТСД "АТОЛ".

8 стартмани

04.12.2024    956    3    aximo    26    

4

Сканер штрих-кода Терминал сбора данных Платные (руб)

В нашем маркетплейсе вы найдете оборудование для работы с маркированным товаром: Терминалы сбора данных (ТСД), Проводные сканеры штрих-кодов, Принтер этикеток, Весы с печатью этикеток. Доставка выполняется по всей России. Оставьте онлайн-заявку или позвоните нам, чтобы обсудить условия предзаказа.

19.11.2024    214    0    dpershin    0    

1

Разработка внешних компонент Терминал сбора данных Программист Мобильная платформа Россия Абонемент ($m)

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

1 стартмани

13.11.2024    530    2    chekonst    0    

2
Комментарии
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
1. Операция1Ы 53 18.05.16 20:36 Сейчас в теме
Снимаю шляпу, определенно плюс за концепцию.
2. Serginio 941 18.05.16 20:42 Сейчас в теме
3. avz_1C 10 19.05.16 13:47 Сейчас в теме
Актуально.
Плюс.
Спасибо.
4. Serginio 941 19.05.16 14:02 Сейчас в теме
5. igor_nat 07.08.16 10:33 Сейчас в теме
Очень интересная и полезная тема. Автору спасибо большое. Искал по интернету а тут есть Может есть примеры включения,отключения сканера
получение данных со сканера тсд.
различных моделей тоже будет интересно
6. Serginio 941 07.08.16 11:57 Сейчас в теме
В данном примере сканер как клавиатура. Есть модели, где есть специальное апи с событием.
В настройках для каждой модели можно настраивать, что куда и когда
7. wmonref1 15.08.17 09:46 Сейчас в теме
Сергей Смирнов, как думаете, ТСД на Windows 10 будет работать?
Спасибо!
8. Serginio 941 15.08.17 10:29 Сейчас в теме
Работает. Там внутри ТСД на WM 6 можно и к вэб сервисам подключаться и обмен по Tcp/ip.
Единственно это то, что нужно использовать для WM 6 VS 2008 и при этом нельзя пользоваться эмулятором, так как Win 10 не поддерживает Virtual PC 2007
9. wmonref1 15.08.17 16:16 Сейчас в теме
(8) А что, использование эмулятора обязательна?
10. Serginio 941 15.08.17 17:42 Сейчас в теме
Нет конечно. Ты через шнурок и мобильный центр подключаешься для отладки
Эмуляторы нужны когда девайса нет.
11. wmonref1 17.08.17 12:13 Сейчас в теме
(10) Сергей, я хочу подключиться с ТСД к серверу через РДП и сканировать ШК товаров прямо в 1С, в форме документа. Возможно ли это сделать с помощью вашей обработки?
12. Serginio 941 17.08.17 13:30 Сейчас в теме
Моя обработка нужна для работы в полу ОнЛайн.
Для РДП ничего не нужно, так как ты работаешь с удаленным экраном.
Минусы РДП, что нужен постоянный Онлайн и нужны формы учитывающие размер и с разрешение ТСД
Ну и язык C# значительно мощнее 1С
13. Xershi 1557 24.12.17 18:36 Сейчас в теме
Для справки для обмена сообщениями по сети в конфигурацию придется встроить 2 компоненты?
14. Serginio 941 25.12.17 11:18 Сейчас в теме
Ну нужна только одна https://infostart.ru/public/238584/
А она уже использует любые .Net классы
Оставьте свое сообщение