добрый день помогите пожалуйста разобраться .
Добрый день вопрос состоит в том как отрезать штрих код.
Товар поставщика весь про макрирован qr кодами что бы заного не проклеивать хотел бы использовать его коды. ну дела в том что его код состоит из 2х блоков первый это штрих кода 13 значный ean 13 стоит пробел и 2 блок это служебные цифры определяющий дату номер и число сортировки.
то есть при сканировании qr кода выплывает вот такая длинная строка
2000013001061 3700011101013
а мне нужно что бы при сканировании этого qr кода он сканировал только первые 13 цифр и все. qr код прикладываю к скрину. помогите добрые люди.
Подскажите добрые люди как можно поправить функцию
Связался с ИТС ОНИ СКАЗАЛИ можно модифицировать обработку ТОСервер
функцию ОбработкаСобытийШК
Добрый день вопрос состоит в том как отрезать штрих код.
Товар поставщика весь про макрирован qr кодами что бы заного не проклеивать хотел бы использовать его коды. ну дела в том что его код состоит из 2х блоков первый это штрих кода 13 значный ean 13 стоит пробел и 2 блок это служебные цифры определяющий дату номер и число сортировки.
то есть при сканировании qr кода выплывает вот такая длинная строка
2000013001061 3700011101013
а мне нужно что бы при сканировании этого qr кода он сканировал только первые 13 цифр и все. qr код прикладываю к скрину. помогите добрые люди.
Подскажите добрые люди как можно поправить функцию
Связался с ИТС ОНИ СКАЗАЛИ можно модифицировать обработку ТОСервер
функцию ОбработкаСобытийШК
Функция ОбработатьСобытиеСШК(Обработка, Объект, Клиент, Событие, Данные, СШК)
Результат = мНетОшибки;
ШК = Неопределено;
ТипШК = Неопределено;
Результат = Обработка.ОбработатьСобытиеСШК(Объект,
Событие,
Данные,
ШК,
ТипШК);
Если ЗначениеЗаполнено(Результат) Тогда
Возврат Результат;
КонецЕсли;
Если ПустаяСтрока(ШК) Тогда
Возврат Результат;
КонецЕсли;
Если НЕ ЗначениеЗаполнено(ТипШК) Тогда
Если РаботаСТорговымОборудованием.ТипШтрихкодаEAN8ТО(ШК) Тогда
ТипШК = мEAN8;
ИначеЕсли РаботаСТорговымОборудованием.ТипШтрихкодаEAN13ТО(ШК) Тогда
ТипШК = мEAN13;
ИначеЕсли РаботаСТорговымОборудованием.ТипШтрихкодаPDF417(ШК) Тогда
ТипШК = "PDF417";
ИначеЕсли РаботаСТорговымОборудованием.ТипШтрихкодаCODE39ТО(ШК) Тогда
ТипШК = мCODE39;
КонецЕсли;
КонецЕсли;
Запрос = Новый Запрос(
"ВЫБРАТЬ ПЕРВЫЕ 1
| СпрСН.Ссылка КАК СерийныйНомер
|ИЗ
| Справочник.СерийныеНомера КАК СпрСН
|ГДЕ
| (ВЫРАЗИТЬ(СпрСН.Код КАК СТРОКА(" + Формат(СтрДлина(ШК), "ЧН=0; ЧГ=0") + "))) = &Код");
Запрос.УстановитьПараметр("Код", ШК);
РезультатЗапроса = Запрос.Выполнить();
Если Не РезультатЗапроса.Пустой() Тогда
РезультатЗапроса = РезультатЗапроса.Выбрать();
РезультатЗапроса.Следующий();
Ответ = Клиент.СШКСерийныйНомер(РезультатЗапроса.СерийныйНомер, СШК);
Если Ответ Тогда
Возврат Результат;
КонецЕсли;
КонецЕсли;
Если ЗначениеЗаполнено(мПрефиксВесовогоТовара)
И ЗначениеЗаполнено(мДлинаКодаВесовогоТовара)
И ТипШК = мEAN13
И Лев(ШК, 2) = "2" + мПрефиксВесовогоТовара Тогда
КодТовара = Сред(ШК, 3, мДлинаКодаВесовогоТовара);
КоличествоТовара = Сред(ШК, 3 + мДлинаКодаВесовогоТовара, 10 - мДлинаКодаВесовогоТовара);
Запрос = Новый Запрос(
"ВЫБРАТЬ ПЕРВЫЕ 1
| РегКВТ.Номенклатура КАК Номенклатура,
| РегКВТ.Номенклатура.ЕдиницаХраненияОстатков КАК ЕдиницаИзмерения,
| РегКВТ.ХарактеристикаНоменклатуры КАК ХарактеристикаНоменклатуры,
| " + КоличествоТовара + " / 1000 КАК Количество,
| РегКВТ.СерияНоменклатуры КАК СерияНоменклатуры,
| ВЫБОР
| КОГДА РегКВТ.Качество = &КачествоПустаяСсылка ТОГДА
| &КачествоНовый
| ИНАЧЕ
| РегКВТ.Качество
| КОНЕЦ КАК Качество
|ИЗ
| РегистрСведений.КодыВесовогоТовара КАК РегКВТ
|ГДЕ
| РегКВТ.Код = &Код");
Запрос.УстановитьПараметр("КачествоПустаяСсылка", мКачествоПустаяСсылка);
Запрос.УстановитьПараметр("КачествоНовый", мКачествоНовый);
Запрос.УстановитьПараметр("Код", Число(КодТовара));
РезультатЗапроса = Запрос.Выполнить();
Если Не РезультатЗапроса.Пустой() Тогда
РезультатЗапроса = РезультатЗапроса.Выбрать();
РезультатЗапроса.Следующий();
Ответ = Клиент.СШКНоменклатура(РезультатЗапроса.Номенклатура,
РезультатЗапроса.ХарактеристикаНоменклатуры,
РезультатЗапроса.СерияНоменклатуры,
РезультатЗапроса.Качество,
РезультатЗапроса.ЕдиницаИзмерения,
РезультатЗапроса.Количество,
СШК);
Если Ответ Тогда
Возврат Результат;
КонецЕсли;
КонецЕсли;
КонецЕсли;
Запрос = Новый Запрос(
"ВЫБРАТЬ ПЕРВЫЕ 1
| РегШК.Владелец КАК Владелец,
| РегШК.ЕдиницаИзмерения КАК ЕдиницаИзмерения,
| РегШК.ХарактеристикаНоменклатуры КАК ХарактеристикаНоменклатуры,
| РегШК.СерияНоменклатуры КАК СерияНоменклатуры,
| РегШК.Качество КАК Качество
|ИЗ
| РегистрСведений.Штрихкоды КАК РегШК
|ГДЕ
| РегШК.Штрихкод = &Штрихкод");
Запрос.УстановитьПараметр("Штрихкод", ШК);
РезультатЗапроса = Запрос.Выполнить();
Если Не РезультатЗапроса.Пустой() Тогда
РезультатЗапроса = РезультатЗапроса.Выбрать();
РезультатЗапроса.Следующий();
Если ТипЗнч(РезультатЗапроса.Владелец) = Тип("СправочникСсылка.ИнформационныеКарты") Тогда
Ответ = Клиент.СШКИнформационнаяКарта(РезультатЗапроса.Владелец, СШК);
Если Ответ Тогда
Возврат Результат;
КонецЕсли;
Иначе // Если ТипЗнч(РезультатЗапроса.Владелец) = Тип("СправочникСсылка.Номенклатура")
Ответ = Клиент.СШКНоменклатура(РезультатЗапроса.Владелец,
РезультатЗапроса.ХарактеристикаНоменклатуры,
РезультатЗапроса.СерияНоменклатуры,
РезультатЗапроса.Качество,
РезультатЗапроса.ЕдиницаИзмерения,
1,
СШК);
Если Ответ Тогда
Возврат Результат;
КонецЕсли;
КонецЕсли;
КонецЕсли;
Если Не ЗначениеЗаполнено(Результат) и ТипШК = "PDF417" Тогда
Клиент.СШКОбработатьШтрихкод(ШК);
Возврат Результат;
КонецЕсли;
Ответ = Клиент.СШКНеизвестныйКод(ШК, ТипШК, СШК);
Если Ответ Тогда
Возврат Результат;
КонецЕсли;
Результат = мОшибкаНеизвестныйШтрихкод;
Клиент.СШКОшибка(Результат, ШК, ТипШК, СШК);
Возврат Результат;
КонецФункции // ОбработатьСобытиеСШК()
ПоказатьПо теме из базы знаний
Ответы
Подписаться на ответы
Инфостарт бот
Сортировка:
Древо развёрнутое
Свернуть все
Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот