Инвентаризация. Обмен данными с ТСД CipherLab 8400


Обработка обмена данными с терминалом сбора данных CipherLab 8400. Выгрузка базы данных, загрузка отсканированной информации.

Поставили задачу: необходимо организовать инвентаризацию в сети книжных магазинов.

На первый взгляд, ничего сложного — заливаем в терминал сбора данных данные по остаткам (или всю номенклатуру), проводим инвентаризацию, получаем данные, заполняем пересчет товаров. Однако, при тестировании данной схемы выявились недостатки:

  1. Огромный список номенклатуры, даже с учетом разбиения позиций на группы, в терминал необходимо загружать порядка 20 000 записей. К сожалению, в магазине стандартная обработка работы с ТСД из Розницы формировала список номенклатуры для загрузки больше часа. Список можно было бы уменьшить, загружая в терминал только товары, числящиеся на остатках, но этот вариант оказался неприемлем из-за большого количества пересорта.
  2. Стандартное заполнение факта пересчета товара данными, полученными с терминала, работало очень медленно. Используется медленный алгоритм — читается строчка с штрихкодом товара, ищется соответствующая строчка в текущем документе «Пересчет товаров», заполняется факт, затем следующая строчка. Не очень быстрый компьютер + 10 000 строчек в документе = 8 часов работы алгоритма.
 
Для решения первой проблемы было придумано загружать в терминалы заранее сформированную базу данных. Для решения второй написана обработка, заполняющая факт по данным, полученным из терминала.
 
Итак, что же из себя представляет обработка обмена данными с терминалом CipherLab?
Поле для ввода номера COM-порта, через который идет общение с терминалом, список номенклатурных групп, и две кнопки — «Загрузить базу в терминал»  и  «Получение данных».
Список номенклатурных групп заполняется автоматически из макетов обработки, которые в свою очередь заранее загружены программистом в виде двоичных данных.
 
Если добавить макет с именем, первый символ которого «г» (группа) , он будет отображаться в списке групп номенклатуры для загрузки. Имя группы берется из поля «Синоним» макета. Сам макет представляет из себя двоичный файл с данными по этой группе, файл создается заранее программистом и отформатирован в соответствии с требованиями ТСД. Для загрузки или выгрузки данных обработка вызывает утилиты производителя, работающие из командной строки. DataRead.exe считывает данные с ТСД, DLookup.exe загружает базу данных. Эти утилиты также хранятся в самой обработке в макетах.
 
 
Для загрузки базы в терминал нужно подключить терминал сбора данных к компьютеру, затем перевести его в режим загрузки базы данных, выбрать нужную номенклатурную группу и нажать на кнопку «Загрузить базу в терминал».
 
Для получения данных подключаем ТСД к компьютеру,  переводим терминал в режим выгрузки данных, выбираем номенклатурную группу, нажимаем на кнопку «Получение данных». На жестком диске компьютера создастся папка «C:DATA_FROM_TERMINAL», в ней появится текстовый файл с данными инвентаризации, название файла будет соответствовать названию номенклатурной группы. Теперь можно обрабатывать полученный файл другими средствами.
 
Во всех случаях не забывайте правильно выставлять номер com-порта, через который идет соединение с терминалом!
 

1 Comment

  1. dmor

    не работает в 1С 8.3 КА 1.1

    Reply

Leave a Comment

Ваш адрес email не будет опубликован. Обязательные поля помечены *