Загрузка данных из медицинского оборудования на примере гематологического анализатора MicroCC-20Plus

27.07.23

Интеграция - Периферийные устройства

В статье описан пример загрузки данных из гематологического анализатора MicroCC-20Plus с использованием драйвера '1С:Сканеры штрихкода (Native Api)'.

Скачать исходный код

Наименование Файл Версия Размер
Загрузка данных из медицинского оборудования на примере гематологического анализатора MicroCC-20Plus:
.epf 10,03Kb
2
.epf 10,03Kb 2 Скачать

Заказчиком была поставлена задача загрузки данных из гематологического анализатора MicroCC-20Plus в БИТ.Управление медицинским центром КОРП 2.1.24.25, платформа 8.3.22.1709.

У прибора имеется внешний интерфейс RS-232 для выгрузки данных об исследованиях.

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

Было решено использовать драйвер 1C: Сканер штрихкода (NativeApi), т.к. передача данных происходит в одну сторону.

Добавляем сканер в оборудовании:


 

Выполняем настройку для нужного порта:

 


Нажимаем тест подключения.

На приборе заходим в результаты, выбираем необходимый анализ и нажимаем Отправить:



Нажимаем Отправить:


 

В результате мы получаем данные с прибора:



Видим, что данные программа получает частями.

Теперь создадим обработку для парсинга полученных данных.

Создадим обработку, добавим реквизиты:

Ответ - тип Строка неограниченной длины - для получения данных от прибора;

Число - тип Число - для хранения номера исследования;

Дата - тип Дата, состав даты Дата и время - для хранения даты и времени измерения.

Остальные реквизиты соответствуют названиям измеряемых данных, "%" меняем в названии реквизита в "P", "#" не используем, "-" меняем на "_".



Код модуля формы:

&НаКлиенте
Процедура ОбработкаОповещения(ИмяСобытия, Параметр, Источник)
	Если ИмяСобытия = "ScanData" Тогда
		Если ВводДоступен() Тогда
			ТипШК = Неопределено;
			Объект.Ответ = Объект.Ответ + Параметр[0];
		КонецЕсли;
	КонецЕсли;
КонецПроцедуры

&НаКлиенте
Процедура ПриОткрытии(Отказ)
	Если Истина // ИспользоватьПодключаемоеОборудование Проверка на включенную ФО "Использовать ВО".
	   И МенеджерОборудованияКлиент.ОбновитьРабочееМестоКлиента() Тогда // Проверка на определенность рабочего места ВО.

		ОписаниеОшибки = "";
		
		ПоддерживаемыеТипыВО = Новый Массив();
		ПоддерживаемыеТипыВО.Добавить("СканерШтрихкода");
		
		ОповещенияПриПодключении = Новый ОписаниеОповещения("ПодключитьОборудованиеЗавершение", ЭтотОбъект);    
		МенеджерОборудованияКлиент.НачатьПодключениеОборудованиеПоТипу(ОповещенияПриПодключении, УникальныйИдентификатор, ПоддерживаемыеТипыВО);
	
	КонецЕсли;
КонецПроцедуры


&НаКлиенте
// Процедура ПодключитьОборудованиеЗавершение.
//
// Параметры:
//  РезультатВыполнения - Структура - описание результата.
//  Параметры - Произвольный - не используется
//
Процедура ПодключитьОборудованиеЗавершение(РезультатВыполнения, Параметры) Экспорт
	
	Если Не РезультатВыполнения.Результат Тогда
		ТекстСообщения = НСтр( "ru = 'При подключении оборудования произошла ошибка:
				|""%ОписаниеОшибки%"".'" );
		ТекстСообщения = СтрЗаменить(ТекстСообщения, "%ОписаниеОшибки%" , РезультатВыполнения.ОписаниеОшибки);
		ОбщегоНазначенияКлиентСервер.СообщитьПользователю(ТекстСообщения);
	КонецЕсли;
	
КонецПроцедуры

&НаСервере
Процедура ПарситьНаСервере()
	МассивПодстрок = СтроковыеФункцииКлиентСервер.РазложитьСтрокуВМассивПодстрок(Объект.Ответ, ",", Ложь);
	
	Дата = МассивПодстрок[2];
    Год = Лев(Дата,4);
	Месяц = Сред(Дата, 6, 2);
	День = Прав(Дата, 2);
	Время = МассивПодстрок[3];
	ВремяРазложенное = СтроковыеФункцииКлиентСервер.РазложитьСтрокуВМассивПодстрок(Время, ":", Ложь);
	Часы = ВремяРазложенное[0];
	Минуты = ВремяРазложенное[1]; 
	Секунды = ВремяРазложенное[2]; 
	
	Объект.Дата = Дата(Число(Год),Число(Месяц),Число(День), Число(Часы), Число(Минуты), Число(Секунды));
	Объект.Номер = Число(МассивПодстрок[1]);
	ОбработкаОбъект = РеквизитФормыВЗначение("Объект");
	Для Сч = 4 По МассивПодстрок.ВГраница() Цикл
		Параметр = СтрЗаменить(МассивПодстрок[Сч], "%", "P");
		Параметр = СтрЗаменить(Параметр, "#", "");
		Параметр = СтрЗаменить(Параметр, "-", "_");
		Если РеквизитФормыВЗначение("Объект").Метаданные().Реквизиты.Найти(Параметр) <> Неопределено Тогда
			Сч = Сч + 1;
			Объект[Параметр] = Число(МассивПодстрок[Сч]);	
		КонецЕсли
	КонецЦикла;
КонецПроцедуры

&НаКлиенте
Процедура Парсить(Команда)
	ПарситьНаСервере();
КонецПроцедуры

 

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


 

Следующим этапом будет создание Шаблона приема и заполнение данных в конфигурации БИТ.Управление медицинским центром КОРП.

MicroCC-20Plus MicroCC Native Api RS-232 RS232 Медицина гематологический анализатор БИТ Управление медицинским центром КОРП

См. также

Система распознавания номеров автомашин с IP - камер, видео, фото

Распознавание документов и образов Периферийные устройства Программист Автомобили, автосервисы Россия Платные (руб)

Программа считывает кадры с ip-камер (http - запрос к камере), видео, фото (источники кадров (нет ограничения на их количество) настраивается в конфигурационном файле), находит и распознает номера автомашин и сохраняет в базу db, с сохранением фото номера и автомашины, а также времени детекции.

20400 руб.

31.05.2023    4261    3    3    

7

Scan IT. Использование сканера в типовых конфигурациях 1С

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

Речь пойдет не о сканерах штрихкодов 2D/3D/RF/распознавании лиц и прочего, а о старом добром аппарате, позволяющем считать страницу и отправить ее образ в ПК через COM/USB порт. Рассмотрим, как можно подключить и использовать сканер в типовых 1С-конфигурациях. И что делать, если никак не найти команду настройки сканера.

1 стартмани

28.05.2024    540    Sergey1CSpb    1    

4

Настройка принтера по умолчанию при печати ценников и этикеток в Рознице 2.3

Периферийные устройства Пользователь Платформа 1С v8.3 1С:Розница 2 Россия Абонемент ($m)

Расширение для 1С: Розница 2.3 версий 2.3.15.ХХХ и выше. Удобный способ изменения принтера по умолчанию во встроенной обработке печати ценников и этикеток. Только для операционной системы Windows.

1 стартмани

13.05.2024    484    3    independ    0    

5

Тернистый путь к физической клавиатуре для программиста 1С

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

Долгое время я активно пользовался различными хоткеерами, шаблонами текста, специальными раскладками клавиатуры. Я из тех, кто очень долго верил в Снегопат... Так сложилось, что на моем текущем месте работы довольно строгая политика информационной безопасности, а потому со всем привычным софтом, который делал жизнь проще, мне пришлось расстаться. И даже шаблоны кода при каждом терминальном подключении требуется настраивать в конфигураторе заново. Как известно, если какую-то задачу нельзя решить на стороне софта, то стоит поискать железное решение.

1 стартмани

15.04.2024    7148    madonov    59    

35

[История разработки] Управляем промышленным принтером EBS-1500 из 1С

Периферийные устройства Платформа 1С v8.3 Бесплатно (free)

«У нас было два контроллера Huidu, семьдесят две китайские монохромные панели на светоизлучающих диодах, они же LED, четыре мегабайта flash памяти, 1С и целое море поддерживаемых форматов вывода информации - текстов, картинок, анимаций, а так же литр промывочной жидкости, литр разбавителя, ящик черных чернил, и 12 патч-кордов и различных удлинителей. Не то, чтобы всё это было категорически необходимо в маркировке, но если уж начал собирать маркиратор на 1С, то к делу надо подходить серьёзно.» - Страх и ненависть в Маркировке, 2019 г.

01.04.2024    2103    Interrupted    14    

36

Получение изображения с веб-камеры с возможностью его кадрирования по произвольной области

Инструментарий разработчика Периферийные устройства Программист Платформа 1С v8.3 Конфигурации 1cv8 Россия Абонемент ($m)

Внешняя обработка получения изображения с веб-камеры с возможностью его кадрирования по произвольно выделенной области. Использует собственную внешнюю компоненту на основе библиотеки AForge. Содержит примеры интерактивного взаимодействия с полем HTML.

20.03.2024    622    3    AndSem    3    

5

Прямая печать на принтерах TSC из 1С

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

Прямая печать на принтерах TSC из 1С при вызове с сервера позволяет печатать из тонкого клиента, мобильного клиента и веб-клиента. Потребуется установка драйвера и библиотеки для отправки команд на этот драйвер.

1 стартмани

19.02.2024    976    6    realslavyan    6    

7

HotKeys на Python для 1С

Периферийные устройства Конфигурации 1cv8 Бесплатно (free)

Недавно прочитал статью на Инфостарте о KeyPad и вначале захотел себе такой, но через какое-то время я понял, что дополнительная даже маленькая клавиатура занимает место, и нужно все время держать ее под рукой. Это все создает дополнительные неудобства.

20.12.2023    6084    John_d    27    

78
Оставьте свое сообщение