Подключение сканера штрих-кодов в 1С:Бухгалтерии 3.0
Интеграция - Сканер штрих-кода
Нам потребуется:
1. Бухгалтерия 3.0 (3.0.25.7)
2. Управление торговлей ред. 11 (11.1.2.9)
3. Установленный драйвер сканера.
Будем вносить изменения таким образом, чтобы работали все 3 типа сканеров, которые есть в УТ.
Можно конечно обойтись простым подключением через создание COM-объекта, но мы лёгких путей не ищем и будем делать всё как и принято в 1С, т.е. через жопу с задействованием внутренних универсальных механизмов.
Итак, чтобы подключить сканер нужно:
1. В общем модуле МенеджерОборудованияКлиентСерверПереопределяемый поправить функцию ПолучитьДоступныеТипыОборудования():
Функция ПолучитьДоступныеТипыОборудования() Экспорт
СписокОборудования = Новый Массив;
// Фискальные регистраторы
СписокОборудования.Добавить(ПредопределенноеЗначение("Перечисление.ТипыПодключаемогоОборудования.ФискальныйРегистратор"));
// Конец Фискальные регистраторы
//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ VladC# 01.10.2013
СписокОборудования.Добавить(ПредопределенноеЗначение("Перечисление.ТипыПодключаемогоОборудования.СканерШтрихкода"));
Возврат СписокОборудования;
КонецФункции
2. В том же модуле поправить функциюПолучитьОбработчикаДрайвера, т.е. нужно добавить строки относящиеся к санеру:
Функция ПолучитьОбработчикаДрайвера(ОбработчикДрайвера) Экспорт
Результат = Неопределено;
// Вызов метода выполнения команды у обработчика
Если ОбработчикДрайвера <> Неопределено Тогда
//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ VladC# 29.09.2013
// Сканеры штрихкода
Если ОбработчикДрайвера = ПредопределенноеЗначение("Перечисление.ОбработчикиДрайверовПодключаемогоОборудования.Обработчик1ССканерыШтрихкода") Тогда
Результат = ПодключаемоеОборудование1ССканерыШтрихкодаКлиент;
ИначеЕсли ОбработчикДрайвера = ПредопределенноеЗначение("Перечисление.ОбработчикиДрайверовПодключаемогоОборудования.ОбработчикСканкодСканерыШтрихкода") Тогда
Результат = ПодключаемоеОборудованиеСканкодСканерыШтрихкодаКлиент;
ИначеЕсли ОбработчикДрайвера = ПредопределенноеЗначение("Перечисление.ОбработчикиДрайверовПодключаемогоОборудования.ОбработчикАтолСканерыШтрихкода") Тогда
Результат = ПодключаемоеОборудованиеАтолСканерыШтрихкодаКлиент;
КонецЕсли;
...
3. Из конфигурации УТ ред. 11 скопировать три общих модуля прямо из дерева конфигурации:
- ПодключаемоеОборудованиеАтолСканерыШтрихкодаКлиент
- ПодключаемоеОборудование1ССканерыШтрихкодаКлиент
- ПодключаемоеОборудованиеСканкодСканерыШтрихкодаКлиент
4. Из конфигурации УТ ред. 11 скопировать три общих формы настроек, тоже прямо из дерева конфигурации:
- ФормаНастройкиАтолСканерыШтрихкода
- ФормаНастройки1ССканерыШтрихкода
- ФормаНастройкиСканкодСканерыШтрихкода
5. Из конфигурации УТ ред. 11 скопировать иконку для отображения на форме настроек торгового оборудования (находится в общих картинках):
- ПодключаемоеОборудованиеСканерШтрихкода32
6. Создадим общий модуль, я назвал влОбщийМодуль (использование только на клиенте управляемого приложения), рекомендую сделать имя пока именно такое, потом сможете изменить.
В этом общем модуле нужно добавить процедуру:
Процедура ПодключитьСканер() Экспорт
Массив=МенеджерОборудованияСервер.ПолучитьСписокОборудования(,,МенеджерОборудованияСервер.ПолучитьРабочееМестоКлиента());
Для Каждого Стр из Массив Цикл
Если Стр.ТипОборудования=ПредопределенноеЗначение("Перечисление.ТипыПодключаемогоОборудования.СканерШтрихкода") Тогда
Идентификатор = Стр.Ссылка;
ПараметрыУстройства = МенеджерОборудованияКлиентПовтИсп.ПолучитьПараметрыУстройства(Идентификатор);
МенеджерОборудованияКлиент.ВыполнитьДополнительнуюКоманду("ПолучитьВерсиюДрайвера",,,Идентификатор,ПараметрыУстройства);
КонецЕсли;
КонецЦикла;
КонецПроцедуры
7. В модуле управляемого приложения, в процедуре ПриНачалеРаботыСистемы() добавить вызов ранее созданной процедуры:
Процедура ПриНачалеРаботыСистемы()
// СтандартныеПодсистемы
СтандартныеПодсистемыКлиент.ДействияПриНачалеРаботыСистемы();
// Конец СтандартныеПодсистемы
//РаботаСВнешнимОборудованием
МенеджерОборудованияКлиент.ПриНачалеРаботыСистемы();
//Конец РаботаСВнешнимОборудованием
//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ VladC# 02.10.2013
влОбщийМодуль.ПодключитьСканер();
КонецПроцедуры
8. Все новые объекты конфигурации добавить в подсистему ПодключаемоеОборудование.
9. Для проверки, в справочнике номенклатуры например, создайте обработчик события формы элемента ВнешнееСобытие:
&НаКлиенте
Процедура ВнешнееСобытие(Источник, Событие, Данные)
Если Источник="BarCodeScaner" и Событие="BarCodeValue" Тогда
Сообщить(Данные);
КонецЕсли;
КонецПроцедуры
10. Сохраняемся, запускаем Бухгалтерию в пользовательском режиме. Идём в Администрирование -> Подключаемое оборудование.
11. Если рабочее место не выбрано, то выберите, затем слева щёлкните Сканеры штрихкода.
12. Добавьте сканер "АТОЛ: Сканеры штрихкода" (я отлаживал именно этот тип сканеров, можете выбрать свой) и установите в
нём галочку "Устройство используется".
13. Нажмите "Записать и закрыть", а потом нажмите "Настроить" и введите там необходимые настройки, порт, суффикс и т.д.,
настройки у всех разные, поэтому свои здесь приводить не буду, дабы не вводить в заблуждение.
14. Перейдите в справочник Номенклатуры, откройте форму элемента и сосканируйте любой штрихкод, должно появиться сообщение с
этим штрихкодом.
Ну вроде всё, ничего не забыл, надеюсь кому-нибудь поможет.
Вступайте в нашу телеграмм-группу Инфостарт
Вы можете заказать платную адаптацию этой статьи под ваши задачи на «Бирже заказов».
- 0% комиссии — оплата напрямую исполнителю;
- Исполнители любого масштаба — от отдельных специалистов до команд под проект;
- Прямой обмен контактами между заказчиком и исполнителем;
- Безопасная сделка — при необходимости;
- Рейтинги, кейсы и прозрачная система откликов.
См. также
Сканер штрих-кода Пользователь 1С:Предприятие 8 1С:Розница 2 1С:Управление нашей фирмой 1.6 1С:ERP Управление предприятием 2 1С:Бухгалтерия 3.0 1С:Управление торговлей 11 1С:Комплексная автоматизация 2.х 1С:Управление нашей фирмой 3.0 1С:Розница 3.0 Управленческий учет Платные (руб)
У вас возникал вопрос - Как быстро и правильно выполнить приемку товара в торговой точке? Как минимизировать ошибки при сборке заказа клиента? Текущая разработка способна помочь в решении данных проблем. Её назначение - проверка с помощью сканера штрих кода поступления и реализации товаров, заказов клиентов, заказов поставщикам, расходных и приходных ордеров, перемещений и возвратов.
5185 руб.
29.07.2020 46930 248 194
Мобильная разработка Сканер штрих-кода Терминал сбора данных 1С:Предприятие 8 1С:Розница 2 1С:Управление нашей фирмой 1.6 1С:ERP Управление предприятием 2 1С:Управление торговлей 11 1С:Комплексная автоматизация 2.х Управленческий учет Платные (руб)
Сбор заказов, инвентаризация, проверка ценников, просмотр полной информации об остатках и ценах со смартфона Онлайн - все это содержит в себе решение 1С "Штрихкод-информер" (штрих-код чекер). Отправка данных со смартфона выполняется либо напрямую в открытую форму документа, отсканировав QR-код, либо в общую корзину учетной системы, не подходя к компьютеру. Кассир или оператор сможет просмотреть список присланных данных и загрузить в любую форму, поддерживающую работу с ТСД. Для работы с мобильным приложением требуется опубликовать HTTP-сервис из поставляемого расширения.
3050 руб.
03.12.2018 72949 250 108
Сканер штрих-кода Терминал сбора данных Мобильная разработка Монитор заказов Оптовая торговля Розничная торговля Ценообразование, анализ цен Разработчик Пользователь 1С:Предприятие 8 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. Полнофункциональный демо-доступ для своей конфигурации можно запросить в настройках мобильного приложения - все необходимое придет на почту автоматически. Решение предназначено для считывания штрихкодов, а не для их создания и печати.
3050 руб.
22.04.2019 124964 739 207
Сканер штрих-кода Пользователь 1С:Предприятие 8 1С:ERP Управление предприятием 2 1С:Управление торговлей 11 1С:Комплексная автоматизация 2.х Управленческий учет Платные (руб)
Стандартные конфигурации ERP, КА, УТ 11 позволяют работать с штрихкодированием серий. Есть только одно суровое ограничение – на упаковке должна быть этикетка для номенклатуры и отдельно для серии. Во многих случаях это критически неудобно.
24400 руб.
19.04.2021 31091 70 59
Учет ОС и НМА Сканер штрих-кода Терминал сбора данных Логистика, склад и ТМЦ 1С:Предприятие 8 1С:Бухгалтерия 3.0 Россия Бухгалтерский учет Платные (руб)
Приложение Инвентаризация ОС и ТМЦ предназначено для инвентаризации основных средств и товарно-материальных ценностей, закреплённых за конкретным материально ответственным лицом или складом. В конфигурации 1С:Бухгалтерии 3.0 отсутствуют возможности генерации и работы со штрих-кодами для основных средств. Приложение позволяет генерировать и обрабатывать штрих-коды как для основных средств, так и для товарно-материальных ценностей (материалы, товары). В новом релизе появилась возможность работы с фотографиями объектов учета.
07.07.2023 7035 4 alfanika 2
Сканер штрих-кода Бухгалтер Пользователь 1С:Предприятие 8 1С:Бухгалтерия 3.0 Бухгалтерский учет Платные (руб)
Теперь практически все торговые документы в конфигурации 1С Бухгалтерия 3.0 (ПРОФ / КОРП) и в конфигурации 1С Бухгалтерия сельскохозяйственного предприятия 3.0 поддерживают подбор товара по штрих-коду. Можно пользоваться сканером штрихкода или подбирать штрих-код вручную. В основных печатных формах документов выводится колонка Штрихкод. Для менеджеров по продажам будет удобным дополнительный отчет Прайс-лист с остатками и штрих-кодом.
7320 руб.
28.07.2020 33385 88 37
Сканер штрих-кода Оптовая торговля Розничная торговля Логистика, склад и ТМЦ Терминал сбора данных Мобильная разработка Разработчик Пользователь 1С:Предприятие 8 1С:Комплексная автоматизация 1.х 1С:Управление торговлей 10 1С:Розница 2 1С:Бухгалтерия 3.0 1С:Управление торговлей 11 1С:Комплексная автоматизация 2.х 1С:Управление нашей фирмой 3.0 1С:Розница 3.0 Россия Управленческий учет Платные (руб)
Android смартфон как беспроводной сканер штрих-кодов, QR-кодов (2D), терминал сбора данных (ТСД), подписка на штрих-код Комбайн
2196 руб.
18.01.2017 152696 235 237
Сканер штрих-кода Разработчик 1С 8.3 1С:Библиотека стандартных подсистем Бесплатно (free)
Маркировка заставляет сканировать DataMatrix, а штатный сканер мобильной 1С делает это медленно и через раз. Сторонний сканер на ZXing выручал, пока поставщики не стали печатать коды хуже: потёртые и недопечатанные этикетки перестали читаться. Я не нашёл готового сканера, который читает такие коды и умеет отдавать результат в 1С через Intent, поэтому написал свой - QRazyScan на базе Google ML Kit. Он сразу открывает камеру и по умолчанию ищет только DataMatrix. Сам фокусируется и приближает, читает код под любым углом и стабильно работает даже на бюджетных смартфонах. В статье: предыстория проблемы; сравнение ZXing и ML Kit; простая схема интеграции; готовый код вызова из 1С
06.11.2026 380 nick_ne_znik 6
*Сканер Voyager 1250g USB
*Windows 7 Home
*Настройки сканера
Если подключить через USB то сканер работает как клавиатура, считывает в блокнот
Если подключен через USB настроен эмулятор COM работает как сканер, но в блокнот не считывает
*Тестирование
Тестировал на УТ 10.3 все работает ок.
Менял режим запуска: Тонкий клиент, Толстый клиент
Пробовал разные платформы, релизы, драйвера, компьютеры, но событие не срабатывает!!!
взял Бух 3.0.29.8 (Знаю что отличается от описанной, но сказали что "изменения, в основном, вносятся в те места конфигурации, которые меняются достаточно редко, поэтому их можно просто исключать из обновления и всё")
Ут 11.1.2.9
Но сразу же столкнулся с проблемами:
1)пункт В общем модуле МенеджерОборудованияКлиентСерверПереопределяемый поправить функцию ПолучитьДоступныеТипыОборудования()
В ред.3.0.29.8 нет такого общего модуля, есть 2 разных МенеджерОборудованияВызовСервераПереопределяемый и МенеджерОборудованияКлиентПереопределяемый. При помощи поиска на названию функций нашел куда добавить 1 и 2 пункт. вроде все добавил запустилось . в меню Сервис-Параметр появилась вкладка . там все настроено как положено.
2) В обработку формы Элемента добавил как написано , но при сканировании она не отрабатывает. А просто набирает символы как при вводе с клавиатуры.
Что не так ?
В модуле обычного приложения
Перем Scaner Экспорт; //
...
Процедура ПриЗавершенииРаботыСистемы()
// Показ финальной дополнительной информации
Форма = Обработки.ДополнительнаяИнформация.Создать();
Форма.ВыполнитьДействие();
//
Scaner = 0; //
КонецПроцедуры
...
Процедура ПриНачалеРаботыСистемы()
...
//
Попытка
ЗагрузитьВнешнююКомпоненту("Scaner1C.DLL");
//Сообщить("Внешняя компонента сканера штрих-кода успешно загружена");
Попытка
Scaner = Новый("AddIn.Scaner45");
Scaner.OldVersion = 0;
Scaner.AutoDisable = 1;
Scaner.DataEventEnabled = 1;
Исключение
Сообщить("Объект не найден");
КонецПопытки;
Исключение
Сообщить("Внешняя компонента сканера штрих-кода - Scaner1C.DLL не найдена");
КонецПопытки;
//
КонецПроцедуры // ПриНачалеРаботыСистемы()
...
Функция ОбработкаДанныхСканера(Источник,Событие,Данные) Экспорт
Результат = "";
Если Scaner.OldVersion <> 0 Тогда
Результат = Данные;
Иначе
Результат = Scaner.ScanData;
КонецЕсли;
Scaner.DataEventEnabled = 1;
Возврат СокрЛП(Результат);
КонецФункции
//
ПоказатьВ документе (Справочнике)
Процедура ВнешнееСобытие(Источник, Событие, Данные)
Если Источник = "BarCodeScaner" Тогда
ШК = ОбработкаДанныхСканера(Источник,Событие,Данные);
НайденаНоменклатура = Справочники.Номенклатура.НайтиПоРеквизиту("ХА_ШтрихКод",ШК);
Если НайденаНоменклатура.Пустая() Тогда
Возврат;
КонецЕсли;
ЭлементыФормы.Продукция.ДобавитьСтроку();
ЭлементыФормы.Продукция.ТекущиеДанные.Номенклатура = НайденаНоменклатура;
ЭлементыФормы.Продукция.ТекущиеДанные.Количество = 1;
ПродукцияПродукцияПриИзменении("");
КонецЕсли;
КонецПроцедуры // ВнешнееСобытие()
ПоказатьНо такое работает только в Обычном приложении . В управляемых формах почему то не работает, хотя я их и в модуль управляемого приложения засунул. но процедура "ВнешнееСобытие" не отрабатывает.
- ИспользоватьПодключаемоеОборудование - булево
- ПоддерживаемыеТипыПодключаемогоОборудования - строка
&НаСервере
Процедура ПриСозданииНаСервере(Отказ, СтандартнаяОбработка)
ИспользоватьПодключаемоеОборудование = Истина;
КонецПроцедуры
&НаКлиенте
Процедура ПриОткрытии(Отказ)
МенеджерОборудованияКлиент.ПодключитьОборудованиеПриОткрытииФормы(ЭтаФорма, "СканерШтрихкода");
КонецПроцедуры
ПоказатьТогда сработает внешнее событие:
&НаКлиенте
Процедура ВнешнееСобытие(Источник, Событие, Данные)
Если Источник="СканерШтрихкода" и Событие="ПолученШтрихкод" Тогда
Сообщить(Данные);
КонецЕсли;
КонецПроцедуры
Правда я использовал драйвер ScanOPOS
Спасибо автору за эту статью!
Нифига не пойму, сделал все по описанию (с учетом уже текущей конфигурации). Но!
Подключаю сканер, но реквизит "Драйвер оборудования" пустой и не дает выбрать!
Установил под правами админа драйвер 1С и атоловский драйвер. Перенес драйверы и в папку Bin 1С, все равно пусто.
Надо запустить процедуру МенеджерОборудованияВызовСервераПереопределяемый.ОбновитьПоставляемыеДрайвера(), я это сделал из внешней обработки, 1с рекомендует добавить данную строчку в процедуру запускаемую один раз при старте системы.
Рейтинг: 73
Вы можете заказать платную консультацию или разработку у автора. Будет создан приватный заказ на «Бирже заказов» для автора.
№ 203591
Создание 11.10.13 13:12
Обновление 12.10.13 03:42
Просмотры 54908
Загрузки 0
Рейтинг
23
Комментарии 61
Код открыт Не указано
Рубрики Сканер штрих-кода
Кому
Системный администратор
,
Разработчик
Тип файла Нет файла
Платформа 1С:Предприятие 8
Конфигурация 1С:Бухгалтерия 2.0
Операционная система Windows
Страна Не имеет значения
Отрасль Не имеет значения
Налоги Не имеет значения
Вид учета Не имеет значения
Доступ к файлу Бесплатно (free)