Не сканирует сканер штрихкода во внешней обработке
Здравствуйте! Такая у меня проблема. Есть внешняя обработка по проверке перемещений. По кнопке F7 всё работает прекрасно, то есть ищется товар по штрихкоду, а просто при сканировании ничего не происходит.
Вот текст обработки. Просто я в 7-ке понимаю всю процедуру и сделала уже такую обработку, а в 8-ке никак не пойму. Вроде сделала по-аналогии с работой сканера в реализации, а ничего не происходит. Такое ощущение, что просто никакого поиска нет.
Вот текст обработки. Просто я в 7-ке понимаю всю процедуру и сделала уже такую обработку, а в 8-ке никак не пойму. Вроде сделала по-аналогии с работой сканера в реализации, а ничего не происходит. Такое ощущение, что просто никакого поиска нет.
Процедура СШКОшибка(Ошибка, Штрихкод, ТипШК, СШК) Экспорт
Текст = ПолучитьСерверТО().ПолучитьТекстОшибкиСШКТО(Ошибка, Штрихкод, ТипШК);
Предупреждение(Текст);
КонецПроцедуры // СШКОшибка()
//============================================
Функция ПоддерживаетсяВидТО(Вид) Экспорт
Результат = Ложь;
Если Вид = Перечисления.ВидыТорговогоОборудования.СканерШтрихКода Тогда
Результат = Истина;
КонецЕсли;
Возврат Результат;
КонецФункции // ПоддерживаетсяВидТО()
Функция СШКНеизвестныйКод(Штрихкод, ТипКода, СШК) Экспорт
Возврат Ложь;
КонецФункции // СШКНеизвестныйКод()
Процедура ВнешнееСобытие(Источник, Событие, Данные)
Если Не ВводДоступен() Тогда
Возврат;
КонецЕсли;
ПолучитьСерверТО().ОбработатьВнешнееСобытие(Событие, Данные, ЭтаФорма);
КонецПроцедуры
Процедура ОбработкаПодбора(ТабличнаяЧасть, ЗначениеВыбора) Экспорт
Товар=ЗначениеВыбора.получитьОбъект();
НайденнаяСтрока=ТаблицаТоваров.Найти(Товар.Ссылка);
Если НайденнаяСтрока = Неопределено тогда
ТекстПр="Товар "+Товар.Наименование+" не найден в документе!";
Предупреждение(ТекстПр,0);
иначе
НайденнаяСтрока.Количество=НайденнаяСтрока.Количество+1;
КонецЕсли;
КонецПроцедуры // ОбработкаПодбора()
Функция СШКНоменклатура(Номенклатура, Характеристика, Серия, Качество,
Единица, Количество, СШК) Экспорт
// Функция осуществляет обработку считывания штрихкода номенклатуры
//
// Параметры:
// Номенклатура - <СправочникСсылка.Номенклатура>
// - Номенклатура, штрихкод которой был отсканирован.
//
// Характеристика – <СправочникСсылка.ХарактеристикиНоменклатуры>
// - Характеристика отсканированной номенклатуры.
//
// Серия - <СправочникСсылка.СерииНоменклатуры>
// - Серия отсканированной номенклатуры.
//
// Качество - <СправочникСсылка.Качество>
// - Качество отсканированной номенклатуры.
//
// Единица - <СправочникСсылка.ЕдиницыИзмерения>
// - Единица измерения отсканированной номенклатуры.
//
// Количество - <Число>
// - Количество отсканированной номенклатуры.
//
// СШК - <Строка>
// - Идентификатор сканера штрихкода, с которым связано данное
// событие.
//
// Возвращаемое значение:
// <Булево> - Данная ситуация обработана.
Результат = Истина;
СтруктураПодбора = РаботаСТорговымОборудованием.СформироватьСтруктуруПодбора(ТекущаяДата(), Номенклатура, ,
, , ,
1, Константы.ВалютаУправленческогоУчета,
Неопределено, ,
);
ОбработкаПодбора(ТаблицаТоваров, Номенклатура);
Возврат Результат;
КонецФункции // СШКНоменклатура()
Процедура Кнопка1Нажатие(Элемент) //Это обработка для ввода штрихкода вручную
ШК = РаботаСТорговымОборудованием.ВвестиШтрихкод();
Если Не ПустаяСтрока(ШК) Тогда
ПолучитьСерверТО().ОбработатьВведенныйШтрихкод(ШК, ЭтаФорма);
КонецЕсли;
// первый штрих
Запрос = Новый Запрос(
"ВЫБРАТЬ ПЕРВЫЕ 1
| РегШК.Владелец КАК Владелец,
| РегШК.ЕдиницаИзмерения КАК ЕдиницаИзмерения,
| РегШК.ХарактеристикаНоменклатуры КАК ХарактеристикаНоменклатуры,
| РегШК.СерияНоменклатуры КАК СерияНоменклатуры,
| РегШК.Качество КАК Качество
|ИЗ
| РегистрСведений.Штрихкоды КАК РегШК
|ГДЕ
| РегШК.Штрихкод = &Штрихкод
|
|ОБЪЕДИНИТЬ ВСЕ
|
|ВЫБРАТЬ ПЕРВЫЕ 1
| РегШК.Владелец,
| РегШК.ЕдиницаИзмерения,
| РегШК.ХарактеристикаНоменклатуры,
| РегШК.СерияНоменклатуры,
| РегШК.Качество
|ИЗ
| РегистрСведений.Штрихкоды КАК РегШК
|ГДЕ
| РегШК.Штрихкод2 = &Штрихкод
|
|ОБЪЕДИНИТЬ ВСЕ
|
|ВЫБРАТЬ ПЕРВЫЕ 1
| РегШК.Владелец,
| РегШК.ЕдиницаИзмерения,
| РегШК.ХарактеристикаНоменклатуры,
| РегШК.СерияНоменклатуры,
| РегШК.Качество
|ИЗ
| РегистрСведений.Штрихкоды КАК РегШК
|ГДЕ
| РегШК.Штрихкод3 = &Штрихкод");
Запрос.УстановитьПараметр("Штрихкод", ШК);
РезультатЗапроса = Запрос.Выполнить();
Если Не РезультатЗапроса.Пустой() Тогда
РезультатЗапроса = РезультатЗапроса.Выбрать();
РезультатЗапроса.Следующий();
Если ТипЗнч(РезультатЗапроса.Владелец) = Тип("ДокументСсылка.ПеремещениеТоваров") Тогда
ДокументПеремещения=РезультатЗапроса.Владелец;
Док=РезультатЗапроса.Владелец.получитьОбъект();
ТаблицаТоваров.Очистить();
Для Каждого ТекущаяСтрока из Док.Товары Цикл
//НоваяСтрока=
СтрокаТаблицыЗначений = ТаблицаТоваров.Добавить();
СтрокаТаблицыЗначений.Код=ТекущаяСтрока.Номенклатура.Код;
СтрокаТаблицыЗначений.Артикул=ТекущаяСтрока.Номенклатура.Артикул;
СтрокаТаблицыЗначений.Номенклатура=ТекущаяСтрока.Номенклатура;
СтрокаТаблицыЗначений.КолДок=ТекущаяСтрока.Количество;
СтрокаТаблицыЗначений.Количество=ТекущаяСтрока.КоличествоПрием;
КонецЦикла;
ИначеЕсли ТипЗнч(РезультатЗапроса.Владелец) = Тип("СправочникСсылка.Номенклатура") тогда
Товар=РезультатЗапроса.Владелец.получитьОбъект();
НайденнаяСтрока=ТаблицаТоваров.Найти(Товар.Ссылка);
Если НайденнаяСтрока = Неопределено тогда
ТекстПр="Товар "+Товар.Наименование+" не найден в документе!";
Предупреждение(ТекстПр,0);
иначе
НайденнаяСтрока.Количество=НайденнаяСтрока.Количество+1;
КонецЕсли;
КонецЕсли;
КонецЕсли;
КонецПроцедуры
Процедура ПриОткрытии()
ПолучитьСерверТО().ПодключитьКлиента(ЭтаФорма);
КонецПроцедуры
Процедура ЗаписатьДокументНажатие(Элемент)
// Вставить содержимое обработчика.
Док=ДокументПеремещения.ПолучитьОбъект();
Для Каждого ТекСтрока из Док.Товары цикл
НайденнаяСтрока=ТаблицаТоваров.Найти(ТекСтрока.Номенклатура);
Если НайденнаяСтрока = Неопределено тогда
иначе
ТекСтрока.КоличествоПрием=НайденнаяСтрока.Количество;
КонецЕсли;
КонецЦикла;
Док.Записать(РежимЗаписиДокумента.Проведение);
ТекстД="Записан документ "+Док;
Предупреждение(ТекстД,0);
КонецПроцедуры
Процедура ПриЗакрытии()
// Вставить содержимое обработчика.
ПолучитьСерверТО().ОтключитьКлиента(ЭтаФорма);
КонецПроцедуры
ПоказатьПо теме из базы знаний
- Обработка пакетных возвратов для конфигурации "Библиотека ВУЗа"
- Программа "Мобильный ТСД для 1С" - приложение для телефона для инвентаризации и сбора штрихкодов для iOS и Android
- Заполнение чека ККМ из Реализации или Заказа через штрихкод документа
- Если после обновления Розницы на версию 2.3.9.22 или более позднюю не определяются марки и некорректно работает сканер штрихкода
- Scan IT. Использование сканера в типовых конфигурациях 1С
Ответы
Подписаться на ответы
Инфостарт бот
Сортировка:
Древо развёрнутое
Свернуть все
Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот