Использование ТСД на 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-сервис из поставляемого расширения.

2880 руб.

03.12.2018    58584    192    103    

172

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

316

Терминал сбора данных Маркетплейсы Пользователь Платформа 1С v8.3 1С:Управление торговлей 11 Оптовая торговля, дистрибуция, логистика Россия Управленческий учет Абонемент ($m)

Мобильное приложение для Android для сбора и обработки заказов Яндекс.Маркет на ТСД с маркированной продукцией и расширение для УТ 11 для работы с Яндекс Маркетом (Загрузка заказов, выгрузка Номенклатуры, остатков и цен на площадку Маркета). Модуль HTTP для обмена с ТСД.

3 стартмани

13.05.2024    684    0    BlackMoon123    4    

3

Терминал сбора данных Пользователь Платформа 1С v8.3 1С:Управление торговлей 11 Абонемент ($m)

Доработка конфигурации УТ 11.5.х в виде расширения. Штатный механизм выгружает максимальное значение ШК из множества. Убрал ограничение.

1 стартмани

25.04.2024    712    1    nomad_irk    2    

4

Терминал сбора данных Мобильная разработка Мобильная платформа 1С:ERP Управление предприятием 2 Россия Абонемент ($m)

Основная особенность — расширенные возможности по работе с сериями номенклатуры для конфигураций 1С:ERP, КА, УТ. Совместно с решением Подсистема штрихкодирования серий номенклатуры для 1С:УТ 11.4/11.5 КА, ERP 2.4/2.5 формирует готовое решение с расширенными возможностями по учету партионных товаров и мерных товаров, товаров с индивидуальными номерами.

1 стартмани

19.02.2024    969    12    milkers    2    

7

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

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

07.07.2023    3285    1    alfanika    0    

5

Терминал сбора данных Мобильная разработка Программист Мобильная платформа Бесплатно (free)

На конференции Infostart Event 2021 Post-Apocalypse выступил руководитель компании «Вертер. Сенсорные технологии» Андрей Акулов. Андрей поделился опытом разработки мобильных приложений для складов, назвал возможные пути продвижения таких приложений и способы их разумного ценообразования, привлекательного и для клиента, и для компании.

08.06.2023    3688    verter.me    4    

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