Поиск сканером в табличной части документа
Всем привет! Возникла надобность ускорить ревизию на предприятии. Нужно подводить указатель к товарной позиции в табличной части сформированного документа "Инвентаризация по складу" простым считыванием штрих-кода для корректировки остатков. В документе "реализация" подбор товарных позиций по штрих-коду идёт. Подскажите, необходимо изменять обработку внешнего события или просто сменить драйвер сканера?
У меня стоит драйвер 2002 года АТОЛ 5.0 с библиотекой - scanopos.dll
У меня стоит драйвер 2002 года АТОЛ 5.0 с библиотекой - scanopos.dll
По теме из базы знаний
- Добавляем в конфигурацию работу со сканером и кардридером
- Заполнение табличных частей документов из табличного документа
- Создание (сканирование) штрих кода товара в Рознице прямо в документе Поступления.
- Внедрение адресного хранения на 1С:КА 2.5. Часть 1. Теоретическая.
- Конструктор печатных форм (PrintWizard). Часть 1: Печатные формы. А что, собственно, не так?
Ответы
Подписаться на ответы
Инфостарт бот
Сортировка:
Древо развёрнутое
Свернуть все
В модуль документа добавляете нижеприведенную процедуру
Процедура ОбработкаВнешнегоСобытия(Источник,Событие,Данные)
// Процедура разбирает штрих-код, считанный сканером
// и заполняет строки накладной
Перем Упаковка,ТекКоличество, Спецификация;
Перем ВремТовар, ВремЕдиница, ВремКоличество, ВремЦена;
Перем СтрокаВозврЦена;
Если Событие = "BarCodeValue" Тогда
Если Форма.ТолькоПросмотр() = 0 Тогда
//--------------------------------------------------------------------------------
//Проверяем не карточка ли это
ОбрШтрихкод = СокрЛП(Данные);
// Определение типа штрих-кода
ПрефиксШтрихкода = глПрефиксШтрихкода();
Если ПустоеЗначение(ПрефиксШтрихкода) = 0 Тогда
Если Найти(ПрефиксШтрихкода, Лев(ОбрШтрихкод, 1)) <> 0 Тогда
// Удаляем спец. символ из штрих-кода
ОбрШтрихкод = Сред(ОбрШтрихкод, 2);
Иначе
Сообщить("Формат считанного штрих-кода не предназначен для товаров или карточек");
Возврат;
КонецЕсли;
КонецЕсли;
Если глПолучитьТоварПоШтрихкоду(Данные, ВремТовар, ВремЕдиница, ВремКоличество) <> 0 Тогда
ТЗ = СоздатьОбъект("ТаблицаЗначений");
ВыгрузитьТабличнуюЧасть(ТЗ, "Номенклатура");
НомСтр = 0;
Если ТЗ.НайтиЗначение(ВремТовар, НомСтр, "Номенклатура") = 1 Тогда
АктивизироватьСтроку(НомСтр);
ПолучитьСтрокуПоНомеру(НомСтр);
Количество = Количество + 1;
ПриИзмененииКоличества();
КонецЕсли;
КонецЕсли;
КонецЕсли;
// Обработка закончена. Готовы к получению нового штрихкода.
глСканерПосылкаДанных(1);
Иначе
глОбработкаВнешнегоСобытия(Источник, Событие, Данные);
КонецЕсли;
КонецПроцедуры // ОбработкаВнешнегоСобытия()
Показать
Никаких ошибок не выдает. Форма только обновляется при считывании штрих-кода. Похоже в форме документа "ИнвентаризацияТМЦ" просто нет процедуры "ОбработкаВнешнегоСобытия()". Надо ее дописать. Но как сравнить штрих-код, когда в документе нет поля ШК!?
Так Вы хотите не добавлять номенклатуру в Инвентаризацию а из инвентаризации вносить? тогда надо делать печатную форму со штрих кодами и думаю она будет не маленькой если для каждой позиции выводить штрих код! Да процедуру надо будет добавлять!
Единственное, что в строке
можно заменить выводимое сообщение на
т.к. у нас в глобальный поиск по штрих-коду вставлен еще поиск по дисконтным картам.
Сообщить("Формат считанного штрих-кода не предназначен для товаров или карточек");
можно заменить выводимое сообщение на
Сообщить("Формат считанного штрих-кода не предназначен для товаров");
т.к. у нас в глобальный поиск по штрих-коду вставлен еще поиск по дисконтным картам.
Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот