Сканер штрихкода на УФ Такси
Добрый день, подскажите с какой стороны можно подойти к следующей задаче.
Есть самописная конфа(тест), есть документ реализиции, в него можно добавить номенклатуру у номенклатуры 2 реквизита, наименование и фото. Но хотелось бы, что бы из документа реализации можно было по штрих коду добавлять товары, товары уникальные, не повторяются.
Как прикрутить штрих коды, через регистры или напрямую через реквизит справочника Номенклатура, только сразу учесть, что каждый товар может иметь только 1н штрих код.
Как сделать поиск через сканер штрих кода в табличную часть товары.
Сканер подключен в разрыв клавиатуры, так что смысла в дровах, обработках подключения я не вижу.
Есть самописная конфа(тест), есть документ реализиции, в него можно добавить номенклатуру у номенклатуры 2 реквизита, наименование и фото. Но хотелось бы, что бы из документа реализации можно было по штрих коду добавлять товары, товары уникальные, не повторяются.
Как прикрутить штрих коды, через регистры или напрямую через реквизит справочника Номенклатура, только сразу учесть, что каждый товар может иметь только 1н штрих код.
Как сделать поиск через сканер штрих кода в табличную часть товары.
Сканер подключен в разрыв клавиатуры, так что смысла в дровах, обработках подключения я не вижу.
По теме из базы знаний
Ответы
Подписаться на ответы
Инфостарт бот
Сортировка:
Древо развёрнутое
Свернуть все
Ну, если конфа предельно простая, то может и нет смысла в отдельном регистре штрихкодов. Регистр интереснее только возможностями расширения и "облегчением" справочника номенклатуры. Ну и индекс по измерениям там "из коробки". Вопрос "как искать" даже не понял - а какие есть варианты? Запросом, конечно. Если номенклатуры не больше нескольких тысяч, то поле можно даже не индексировать. Хотя на файловой может и имеет смысл.
(4) конфа очень простая, приход и расход. Тут справочник номенклатура подчинен справочнику Клиенты, то есть у клиента есть свой список номенклатуры. И как раз для нее надо сделать подбор по штрих коду. А есть какие либо варианты, практические, где делали самописный поиск по ШК, потому что все всегда используют только типовые решения, а они очень грамоздкие.
(6) меня пугает, сканер ШК легко сканирует и передает код 2900000005686, в справочнике номенклатуры добавил реквизит ШтрихКод, создал обработку оповещения. И сижу не понимаю куда далее, потому что с обработкой оповещения не знаком, в общем все от нехватки знаний.
(8) Не совсем понял, зачем тебе обработка оповещения. Для универсальности? Тебе сначала надо "поймать" штрихкод, а потом уже чего-то с ним делать.
Раз ты через разрыв клавиатуры решил работать, значит принимать штрихкод будешь в какое-то текстовое поле. Вот в нем и лови событие. Можно попробовать ловить ИзменениеТекстаРедактирования(). Или запрограммировать в сканере Enter постфиксом и тогда ловить "ПриИзменении". Я на самом деле никогда в разрыв клавиатуры не работал, потому как это налагает ограничения на удобные для оператора сценарии работы. Должно быть енто самое поле при сканировании, оно должно быть активным и т.п. На первый взгляд проще выглядит, чем событие от драйвера ловить, а на самом деле нет.
Раз ты через разрыв клавиатуры решил работать, значит принимать штрихкод будешь в какое-то текстовое поле. Вот в нем и лови событие. Можно попробовать ловить ИзменениеТекстаРедактирования(). Или запрограммировать в сканере Enter постфиксом и тогда ловить "ПриИзменении". Я на самом деле никогда в разрыв клавиатуры не работал, потому как это налагает ограничения на удобные для оператора сценарии работы. Должно быть енто самое поле при сканировании, оно должно быть активным и т.п. На первый взгляд проще выглядит, чем событие от драйвера ловить, а на самом деле нет.
Хотя, ньюансы могут быть конечно. Могут встретиться весовые штрих-кода или потребуется идентификация по служебным штрих-кодам с переменной информативной частью. Если у вас там везде штучный EAN-13, то проблем не вижу.
как я понимаю сканер должен создавать какое то из событий "ВнешнееСобытие" или "ОбработкаОповещения", как узнать какое и как его потом обработать, просто нету почти инфы по этому, где можно почитать поучиться, попробовать.
Не, можно и через разрыв клавиатуры ловить "ВнешнееСобытие". Но это должен быть установлен драйвер, наученный ловить штрихкод из потока событий клавиатуры и генерить енто самое событие. А я так понял, ты хочешь без драйверов обойтись.
Мне понятна твоя жажда халявы, но ее нет у меня :) Заставь себя хотя бы на инфостарте поискать по готовым обработкам.
А из продакшена и типовых готового красивого куска не выдернешь. Енто обычно целая подсистема.
Еще на users.1c.ru есть кажись еще для 8.2 обработки выложенные по работе со сканером, ну и вся "Библиотека подключаемого оборудования".
А из продакшена и типовых готового красивого куска не выдернешь. Енто обычно целая подсистема.
Еще на users.1c.ru есть кажись еще для 8.2 обработки выложенные по работе со сканером, ну и вся "Библиотека подключаемого оборудования".
Не стал всё выше читать.. что то там про дрова и регистры..у меня самописная конфа со штрихкодами, маленько не так как у меня посоветую, конечно, у меня свой огород.Не надо никаких дров вам.. сканер в режим клавиатуры переключаешь сервисными штрихкодами (типо того называется это),чтобы он любой штрихкод в любое место компа и 1Ски, где печатать можно- будет как числа считывал и выводил.
Самое простое в реквизите справочника номенклатуры добавить реквизит с типом строка..и всё..Записал в номенклатуру номер штрихкода.. сделал поле "Штрихкод" индексируемым, чтобы по этому полю можно было поиск делать.. потом тупо в это поле в любой форме подбора или списка встаешь, чикаешь штрихкод и всё))Это самый простой вариант...
Если генерировать штрихкоды надо, тогда ВЫбратьМаксимум из Штриходы + 1(условно говоря)., на стандартном товаре и так штрихкоды уникальные.
У меня форма подбора для этого сделана..Для вашего случая примерно так опишу:
Отрывается форма, в ней заполняется табличная часть остатками номенклатуры. Также колонка индексируемая "штрихкод".. в нее встаешь, штрихкод считываешь и попадаешь на нужный элемент номенклатуры... у меня еще Булево запрятано в табличной части этой формы.. в обработчике ПриАктивизацииСтроки булево меняется истина на ложь и наоорот..если истина, тогда строка поменяй цвет, если ложь, поменяй цвет на обратный.. а ну и также в сканере должен быть сервисный штрих код, чтобы после считывания как бы Enter срабатывал..т.е он после считывания будет еще и энтер нажимать, чтобы она не только попадала на нужную позицию, но и обработчик срабатывал "ПриАктивизации" и строка выделялась..потом при окончании подборки уже в ВладельцаФормы переносишь..вот скрин с моей конфы вообщем.. тупо встаю в колонку номер(он же штрихкод на пакете для внутреннего учета) считываю штрих, он находит и подбирает нужную позицию..
Самое простое в реквизите справочника номенклатуры добавить реквизит с типом строка..и всё..Записал в номенклатуру номер штрихкода.. сделал поле "Штрихкод" индексируемым, чтобы по этому полю можно было поиск делать.. потом тупо в это поле в любой форме подбора или списка встаешь, чикаешь штрихкод и всё))Это самый простой вариант...
Если генерировать штрихкоды надо, тогда ВЫбратьМаксимум из Штриходы + 1(условно говоря)., на стандартном товаре и так штрихкоды уникальные.
У меня форма подбора для этого сделана..Для вашего случая примерно так опишу:
Отрывается форма, в ней заполняется табличная часть остатками номенклатуры. Также колонка индексируемая "штрихкод".. в нее встаешь, штрихкод считываешь и попадаешь на нужный элемент номенклатуры... у меня еще Булево запрятано в табличной части этой формы.. в обработчике ПриАктивизацииСтроки булево меняется истина на ложь и наоорот..если истина, тогда строка поменяй цвет, если ложь, поменяй цвет на обратный.. а ну и также в сканере должен быть сервисный штрих код, чтобы после считывания как бы Enter срабатывал..т.е он после считывания будет еще и энтер нажимать, чтобы она не только попадала на нужную позицию, но и обработчик срабатывал "ПриАктивизации" и строка выделялась..потом при окончании подборки уже в ВладельцаФормы переносишь..вот скрин с моей конфы вообщем.. тупо встаю в колонку номер(он же штрихкод на пакете для внутреннего учета) считываю штрих, он находит и подбирает нужную позицию..
Прикрепленные файлы:
Итак выход был найден, через кнопку, пока перехват кнопки не сделал, но надо будет на Команду назначить кнопку и сканер запрограммировать на префикс, а пока так:
Функция ПоискШК(ШтрихКод) Экспорт
Запрос = Новый Запрос;
Запрос.Текст =
"ВЫБРАТЬ
| Номенклатура.Ссылка КАК Ссылка,
| Номенклатура.ШтрихКод КАК ШтрихКод,
| Номенклатура.Наименование КАК Наименование
|ИЗ
| Справочник.Номенклатура КАК Номенклатура
|ГДЕ
| Номенклатура.ШтрихКод = &ШтрихКод";
Запрос.УстановитьПараметр("ШтрихКод", ШтрихКод);
РезультатЗапроса = Запрос.Выполнить();
ВыборкаДетальныеЗаписи = РезультатЗапроса.Выбрать();
Пока ВыборкаДетальныеЗаписи.Следующий() Цикл
ПоискПоШК= ВыборкаДетальныеЗаписи.ССылка;
КонецЦикла;
Возврат ПоискПоШК;
КонецФункции
&НаКлиенте
Процедура Поиск(Команда)
//Штрихкод = "2900000005686"; // для тестирования
ТекстЗаголовка = НСтр("ru = 'Введите штрихкод'");
Оповещения = Новый ОписаниеОповещения("ОповещениеПоискаПоШтрихкоду", ЭтотОбъект);
ПоказатьВводСтроки(Оповещения, Штрихкод, ТекстЗаголовка);
КонецПроцедуры
&НаКлиенте
Процедура ОповещениеПоискаПоШтрихкоду(Результат, Параметры) Экспорт
ШтрихКод = Результат;
НоваяСтрока = Объект.Товары.Добавить();
НоваяСтрока.Номенклатура = ПоискШк(ШтрихКод);
НоваяСтрока.Количество = "1";
Номенклатура = ПоискШк(ШтрихКод);
НоваяСтрока.ЦенаПродажи = ПолучитьСтаруюЦену(Номенклатура);
НоваяСтрока.СуммаПродажи = НоваяСтрока.Количество*НоваяСтрока.ЦенаПродажи;
Объект.Итог = Объект.Товары.Итог("СуммаПродажи");
КонецПроцедуры
Показать
Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот