Итак, представим гипотетическую ситуацию — Вам в руки попал терминал сбора данных (далее сокращенно ТСД) 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. Если Вам лень создавать расширение, Вы можете скачать его ниже.
(0) отличная статья!
спасибо!
(1) Спасибо еле осилил такое количество букв 🙂 Дописывал и думал хоть кому-то полезным будет или все зря 🙂 Вам то оно понятно ничего нового, но надеюсь кому-то пригодится
(2)
+ ТСД от Атол не подключал — узнал много нового
+ с расширениями не работал — теперь знаю как начать
+ вообще, очень удобный формат подачи материала получился.
эту статью мне посоветовали те, кому понравилось про расширения
так что спасибо еще раз!
(2) Спасибо за инструкцию. Но не хватает важной детали, а именно настройки таблиц выгрузки в ТСД, которая расположена на вкладке «Ручные настройки» в свойствах компоненты интеграции ТСД.
С настройками по умолчанию, у меня, выгрузка в ТСД не работает.
Загрузка из ТСД работает при указании следующих настроек: индекс таблицы загрузки — 2, поле штрихкод — 0, поле количество — 1.
Но с настройкой таблицы выгрузки (в ТСД) несколько сложнее, т.к. там гораздо больше полей и не ясно где их посмотреть.
Может подскажете нужное направление поисков или приведёте пример настройки?
(2) Разобрался сам. Оказывается все достаточно просто. Через драйвер даем команду «из ТСД в таблицу» и видим названия полей у предустановленных таблиц.