Поиск сканером в табличной части документа

1. etmarket 892 05.01.13 16:14 Сейчас в теме
Всем привет! Возникла надобность ускорить ревизию на предприятии. Нужно подводить указатель к товарной позиции в табличной части сформированного документа "Инвентаризация по складу" простым считыванием штрих-кода для корректировки остатков. В документе "реализация" подбор товарных позиций по штрих-коду идёт. Подскажите, необходимо изменять обработку внешнего события или просто сменить драйвер сканера?
У меня стоит драйвер 2002 года АТОЛ 5.0 с библиотекой - scanopos.dll
По теме из базы знаний
Ответы
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
6. Harry_udm 2 05.01.13 21:38 Сейчас в теме
В модуль документа добавляете нижеприведенную процедуру
Процедура ОбработкаВнешнегоСобытия(Источник,Событие,Данные)
	// Процедура разбирает штрих-код, считанный сканером
	// и заполняет строки накладной
	Перем Упаковка,ТекКоличество, Спецификация;
	Перем ВремТовар, ВремЕдиница, ВремКоличество, ВремЦена;
	
	Перем СтрокаВозврЦена;

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

КонецПроцедуры // ОбработкаВнешнегоСобытия()
Показать
etmarket; +1 Ответить
7. etmarket 892 06.01.13 09:19 Сейчас в теме
(6) Harry_udm, Спасибо огромное! Все работает!!!
2. Vovus 3 05.01.13 16:54 Сейчас в теме
Должно и в Инвентаризации работать какуюто ошибку выдает?
3. etmarket 892 05.01.13 17:01 Сейчас в теме
Никаких ошибок не выдает. Форма только обновляется при считывании штрих-кода. Похоже в форме документа "ИнвентаризацияТМЦ" просто нет процедуры "ОбработкаВнешнегоСобытия()". Надо ее дописать. Но как сравнить штрих-код, когда в документе нет поля ШК!?
4. Vovus 3 05.01.13 17:04 Сейчас в теме
Так Вы хотите не добавлять номенклатуру в Инвентаризацию а из инвентаризации вносить? тогда надо делать печатную форму со штрих кодами и думаю она будет не маленькой если для каждой позиции выводить штрих код! Да процедуру надо будет добавлять!
5. etmarket 892 05.01.13 17:17 Сейчас в теме
Вы меня не совсем правильно поняли. Мне нужно посто подвести курсор к нужной позиции товара в ТЧ док-та "Инвентаризация", считав ШК сканером соответствующей позиции товара.
8. Harry_udm 2 06.01.13 16:11 Сейчас в теме
Единственное, что в строке
Сообщить("Формат считанного штрих-кода не предназначен для товаров или карточек");

можно заменить выводимое сообщение на
Сообщить("Формат считанного штрих-кода не предназначен для товаров");

т.к. у нас в глобальный поиск по штрих-коду вставлен еще поиск по дисконтным картам.
9. etmarket 892 21.02.14 03:23 Сейчас в теме
(8) Harry_udm, ваша обработка внешнего события пашет на благо администраторов уже год!
10. Harry_udm 2 21.02.14 23:00 Сейчас в теме
(9) dimi3o, а уж на мое благо сколько она пашет.... ))
Оставьте свое сообщение

Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот