Использование ТСД на 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    62145    212    103    

180

Сканер штрих-кода Терминал сбора данных Мобильная разработка Монитор заказов Оптовая торговля Розничная торговля Ценообразование, анализ цен Программист Пользователь Платформа 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    102385    626    191    

336

Учет ОС и НМА Сканер штрих-кода Терминал сбора данных Логистика, склад и ТМЦ Платформа 1С v8.3 1С:Бухгалтерия 3.0 Россия Бухгалтерский учет Платные (руб)

Приложение Инвентаризация ОС и ТМЦ предназначено для инвентаризации основных средств и товарно-материальных ценностей, закреплённых за конкретным материально ответственным лицом или складом. В конфигурации 1С:Бухгалтерии 3.0 отсутствуют возможности генерации и работы со штрих-кодами для основных средств. Приложение позволяет генерировать и обрабатывать штрих-коды как для основных средств, так и для товарно-материальных ценностей (материалы, товары). В новом релизе появилась возможность работы с фотографиями объектов учета.

07.07.2023    4084    2    alfanika    0    

6

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

Расширение позволяет отправлять суммы чеков на терминалы посредством API.

1 стартмани

11.03.2025    535    5    stanisoni    7    

2

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

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

8 стартмани

04.12.2024    1644    7    aximo    27    

6

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

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

19.11.2024    504    0    dpershin    0    

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