Итак, представим гипотетическую ситуацию - Вам в руки попал терминал сбора данных (далее сокращенно ТСД) Opticon SMART (по шильдику CLK-3000).
Кстати по сравнению с престарелым CipherLab 8001, с которым они находится в одной ценовой категории, данный аппарат прям таки сказка (крупный цветной экран и приятно реагирующие на надавливание кнопки).
Необходимо подключить этот аппарат в конфигурацию 1С:Розница, редакции 2.2 (тестировалось на релизе 2.2.10.19).
1) Подключение к ПК
Включим ТСД и подключим к компьютеру посредством идущего в комплекте USB провода. Проверим, что наш ТСД правильно определился в системе в диспетчере устройств.
Если Вы не знаете, как проверить, определился ли ТСД в диспетчере устройств
Для этого откроем диспетчер устройств (например набрав в командной строке следующее):
mmc devmgmt.msc
Если драйвер USB провода ТСД установлен в системе мы увидим примерно следующее:
Если в разделе "Порты COM и LPT" Вы не видите Opticon USB Code Reader(1D) (COM "далее какое-либо число")
Наличие в разделе "Другие устройства" ветки "VCP Barcode device", говорит о том, что ТСД не определился в диспетчере устройств из-за отсутствия драйвера USB кабеля. Необходимо установить его из дистрибутива "USB Drivers Installer.exe".
Сам дистрибутив может быть скачан с официального сайта компании АТОЛ в разделе "Центр загрузок" (папка ТСД => Opticon => Smart).
При установке необходимо выбрать второй пункт:
OPN/OPR/MDI/OPI/M5/M6 Drivers
После установки драйвера в диспетчере устройств ТСД должен отображаться корректно.
Необходимо запомнить номер COM порта - в нашем случае он третий (в конце после названия устройства в скобках число после COM тройка).
2) Установка MobileLogistics_5.7.1
Для корректной работы необходимо, чтобы в системе было установлено программное обеспечение MobileLogistics версии 5.7.1 или более старшие версии.
Если MobileLogistics не был ранее установлен
Данное ПО может быть скачано на официальном сайте АТОЛа в разделе "Центр загрузок" (папка Программное обеспечение => MobileLogistics).
При установке можно снять флажки с тех брэндов ТСД, которые не планируется использовать на рабочем месте. В нашем примере мы подключаем ТСД Opticon SMART, потому оставим флажок только у этой модели.
Кроме того, нам не понадобятся "Драйвер ключа защиты Quardant 5.50" если только мы не имеем в наличии соответствующий ключи и не планируем воспользоваться приложением "Конфигуратор". Поэтому флажок можно снять и напротив этого пункта.
То что нам действительно нужно так это: Драйвер ТСД v.8.x:
Различные обработки 1С, находящиеся в ветке "Дополнения" нам также не потребуются, так как обработки встроены в конфигурацию 1С:Розница, редакции 2.2.
3) Добавление ТСД в список "Подключение и настройка оборудования" в 1С:Розница, редакции 2.2
Откроем конфигурацию 1С:Розница, редакции 2.2 (в нашем случае 2.2.10.19). Настройка ТСД осуществляется в окне Подключение и настройка оборудования.
Если Вы не знаете, как попасть в окно "Подключение и настройка оборудования" в 1С:Розница, редакции 2.2
Далее необходимо добавить ТСД и указать драйвер, через который будет осуществляться взаимодействие с ним.
Если Вы не знаете, как добавить ТСД в окне "Подключение и настройка оборудования"
В открывшемся окне "Подключение и настройка оборудования" необходимо переключиться на пункт "Терминалы сбора данных". Затем нажав на кнопку "Создать" в открывшемся окне выбрать драйвер "АТОЛ:Терминалы сбора данных MobileLogistics 8.Х" и нажать "Записать и закрыть".
После добавления устройства необходимо чтобы в системе была установлена библиотека, ответственная за работу с драйвером ТСД.
Обычно она устанавливается без проблем. Для этого необходимо выделить добавленный ТСД в списке и нажать на кнопку "Настроить". В открывшемся окне оборудования при наличии кнопки "Установить драйвер" нажать на нее.
Если все проходит штатно, то в директорию %AppData% должна быть распакована библиотека Pdx1c_Int.dll.
Если же что-то пошло не так, возможно ее придется выгрузить из встроенного макета и сохранить там вручную.
Для этого необходимо открыть базу 1С:Розница, редакции 2.2 в режиме "Конфигуратор". В поиске над деревом объектов вписать:
MobileLogistics
В отфильтрованном списке ниже выбрать в ветке "Общие" => "Общие макеты" => "ДрайверАТОЛТСДMobileLogistics".
Затем либо нажать по нему двойным кликом, либо перейти в Свойства из контекстного меню и нажать гиперссылку "Открыть" после слова Макет.
В открывшемся диалоговом окне нажать "Выгрузить в файл". Выбрать директорию сохранения и дать какое-либо имя.
Сохраненный файл является архивом, в котором содержится необходимая нам библиотека Pdx1c_Int.dll и еще несколько служебных файлов.
Необходимо распаковать ее содержимое в директорию %AppData% поддиректорию "1C" => "1cv8" => "ExtCompT":
4) Настройка параметров связи с ТСД в 1С:Розница, редакции 2.2
После того, как устройство добавлено, нужно указать параметры связи с ТСД (номер COM порта). Тот самый, который необходимо было запомнить на шаге 1.
Если Вы не знаете, как настроить параметры связи с ТСД в 1С:Розница, редакции 2.2
В открывшемся окне "Оборудование 'АТОЛ:Терминалы сбора данных MobileLogistics 8.Х' на ..." необходимо на закладке "Параметры связи" выбрать в поле "Порт" из списка нечто вроде "COM3: Optovcm0", где 3 - номер COM-порта о котором шла речь в пункте 1. Ниже необходимо указать скорость выбрав из списка стандартную максимальную "115200".
5) Проверка связи с ТСД в 1С:Розница, редакции 2.2
Далее необходимо убедиться, что связь с ТСД настроено корректно - провести тест устройства.
Если Вы не знаете, как протестировать связь с ТСД в 1С:Розница, редакции 2.2
Для тестирования необходимо чтобы ТСД был включен и подключен к компьютеру. Главное меню ТСД Opticon SMART выглядит следующим образом:
Для проведения тестирования необходимо выбрать пункт 2.Обмен данными (например нажав кнопку 2 на ТСД). Экране ТСД в режиме обмена данными выглядит следующим образом:
Убедившись что ТСД включен, подключен к компьютеру и находится в режиме обмена данными, можно нажимать кнопку "Тест устройства". В результате внизу появится сообщение следующего вида:
Если у Вас вместо надписи "Тест успешно выполнен..." отображается что-то другое необходимо вернуться к предыдущим шагам инструкции и еще раз все перепроверить.
6) Выгрузка товаров в ТСД
После того, как ТСД успешно прошел проверку связи, можно пробовать выгружать в него товары.
Если Вы не знаете как выгрузить товары в ТСД в 1С:Розница, редакции 2.2
В разделе "Склад" выбираем "Выгрузка товаров в ТСД".
В открывшемся окне необходимо нажать кнопку "Заполнить товары". Если товаров в базе много и не планируется проведение полной инвентаризации а стоит цель провести инвентаризацию отдельной товарной группы необходимо изменить отбор товаров (в нашем примере Группа Равно "Чай").
Убедившись в том, что список товаров ниже заполнился нужными данными нажать кнопку "Выгрузить в ТСД". При этом ТСД должен быть включен, подключен к ПК и находиться в режиме обмена (аналогично пункту 5 Проверка связи с ТСД).
7) Нулевые остатки в таблице выгрузки
Проблема заключается в том, что остатки товаров в типовой конфигурации 1С:Розница, редакции 2.2 не выгружаются. Вернее, вместо них выгружаются 0.
Это осложняет жизнь товароведу, который, например, собрался прогуляться с ТСД по торговому залу и проверить не только цену, но и остаток товара.
Чтобы исправить эту досадную оплошность разработчиков, необходимо отредактировать всего-то одну строчку кода.
Если Вам лениво самим искать одну строчку кода, исправляющую данный баг :)
В обработке "ВыгрузкаТоваровВТСД" в форме "Форма" в функции "МассивБазыТоваров" Заменяем:
ВыгружаемыйТовар.Вставить("Количество", 0);
На:
ВыгружаемыйТовар.Вставить("Количество", СтрокаТЧ.Количество);
Если же у Вас типовая конфигурация 1С:Розница, редакции 2.2 и до этого Вы не вносили в конфигурацию никакие правки, то можно обойтись расширением.
8) Создание простого расширения для выгрузки остатков.
Если Вы не знаете, как создать расширение в 1С
Для этого необходимо открыть базу 1С:Розница, редакции 2.2 в режиме "Конфигуратор". В поиске над деревом объектов вписать:
ВыгрузкаТоваровВТСД
В отфильтрованном списке ниже выбрать в ветке "Обработки" => "ВыгрузкаТоваровВТСД". Затем очистить поле поиска, куда ранее вводился текст. Список объектов конфигурации будет отображен полностью. Необходимо развернуть + напротив найденной обработки, затем развернуть ее "Формы" и выделив "Форма" выбрать в контекстном меню пункт "Добавить в расширение".
В открывшемся списке "Расширения конфигурации" нажать на кнопку "Добавить". В форме создания нового расширения вписать его имя, синоним и префикс (как на скриншоте ниже). Заполнив все поля нажать "ОК". В списке появится созданное расширение, затем нужно нажать на кнопу "Выбрать".
Откроется форма обработки, добавленная в расширение. Необходимо открыть типовую форму обработки (из дерева слева) и перейти на закладку "Модуль". Типовую форму легко отличить от добавленной нами - в заголовке окна в конце будет написано [Только для чтения] (предполагается что у Вас нетронутая конфигурация).
В поле поиска по тексту модуля вписать "Функция Массив" и нажать на кнопку поиска. В тексте модуля будет выделен фрагмент искомой функции.
Затем необходимо нажать по ней правой кнопкой мыши и выбрать пункт контекстного меню "Добавить в расширение". В качестве типа вызова выбрать "Вызывать вместо".
В расширении будет создан шаблон функции "МассивБазыТоваров", который будет вызываться вместо типовой функции.
Далее необходимо вставить внутрь функции следующий исходный код, вместо выделенного фрагмента:
МассивВыгрузки = Новый Массив();
Для Каждого СтрокаТЧ Из Объект.Товары Цикл
ВыгружаемыйТовар = Новый Структура;
ВыгружаемыйТовар.Вставить("Штрихкод", СтрокаТЧ.Штрихкод);
ВыгружаемыйТовар.Вставить("Номенклатура", Строка(СтрокаТЧ.Номенклатура));
ВыгружаемыйТовар.Вставить("ЕдиницаИзмерения", Строка(СтрокаТЧ.Упаковка));
ВыгружаемыйТовар.Вставить("ХарактеристикаНоменклатуры", Строка(СтрокаТЧ.Характеристика));
ВыгружаемыйТовар.Вставить("Количество", СтрокаТЧ.Количество); // Исправление
ВыгружаемыйТовар.Вставить("Цена", СтрокаТЧ.Цена);
Если ВыгружатьРеквизитыАлкогольнойПродукции Тогда
ВыгружаемыйТовар.Вставить("Алкоголь" , СтрокаТЧ.Алкоголь);
ВыгружаемыйТовар.Вставить("Маркируемый" , СтрокаТЧ.Маркируемый);
ВыгружаемыйТовар.Вставить("КодВидаАлкогольнойПродукции", СтрокаТЧ.КодВидаАлкогольнойПродукции);
ВыгружаемыйТовар.Вставить("КодАлкогольнойПродукции" , "");
ВыгружаемыйТовар.Вставить("ЕмкостьТары" , СтрокаТЧ.ЕмкостьТары);
ВыгружаемыйТовар.Вставить("Крепость" , СтрокаТЧ.Крепость);
ВыгружаемыйТовар.Вставить("ИННПроизводителя" , СтрокаТЧ.ИННПроизводителя);
ВыгружаемыйТовар.Вставить("КПППроизводителя" , СтрокаТЧ.КПППроизводителя);
КонецЕсли;
МассивВыгрузки.Добавить(ВыгружаемыйТовар);
КонецЦикла;
Возврат МассивВыгрузки;
В результате должна получиться такая функция:
На этом можно закрыть конфигуратор утвердительно ответив на вопрос о сохранении изменений:
Созданное расширение должно использоваться со снятым флагом "Безопасный режим".
Если Вы не знаете, как добавить скачанное расширение в 1С или как включить у созданного расширения безопасный режим
В разделе "Администрирование" выбираем пункт "Печатные формы, отчеты и обработки", в открывшемся окне нажимаем на "Расширения".
В открывшемся списке Расширений нажимаем "Добавить" (если Вы скачали расширение, если нет см. ниже). В случае если появится "Предупреждение безопасности" жмем "Продолжить" и выбираем скачанный файл с расширением.
Дождемся пока расширение будет добавлено. Так как будет осуществляться взаимодействие с ТСД не забываем снять флаг в колонке "Безопасный режим" в строке нашего расширения (иначе не будет работать), затем перезапускаем сеанс.
P.S. Если Вам лень создавать расширение, Вы можете скачать его ниже.