Имя: Пароль:
1C
 
УТ 11.4 : Убрать символ табуляции из QR кода
0 bvb
 
06.05.24
15:49
Добрый день

В новую парию товара новый поставщик ошибочно зашил в QR этикетки символ табуляции 182
При считывании в массив штрихкодов
МассивШтрихкодов = МенеджерОборудованияУТКлиент.ПреобразоватьДанныеСоСканераВМассив(Параметр);
один штрихкод разваливается на разные элементы массива


Скажите можно победить эту беду ?
Те нужно получить штрихкод непосредственно в событие обработки без символов 182

Можно это сделать средствами 1С или настройкой сканера или никак ?
1 Волшебник
 
06.05.24
15:58
Параметр = СтрЗаменить(Параметр, Символ(182), " ");
2 Timon1405
 
06.05.24
16:40
(1) так смысл же что в Параметре строка которая функцией разобьется на массив кодов. В результате Вашей замены будет одна длинная строка, и она не разобьется, как задумано изначально.
3 bvb
 
06.05.24
16:48
(1) Так не получится - сам параметр содержит в значении обрезанный штрихкод (строку до первого символа табуляции)

Т.е. Параметр во внешнее событие должен приходить УЖЕ преобразованный
4 Волшебник
 
06.05.24
16:50
(2)(3) Я же не сказал, куда вставить эту строку. Найдите ей подходящее место.
5 bvb
 
06.05.24
17:05
(5) ИМХО там параметр приходит - QR неполный
строка обрезана из за символа табуляции
6 palsergeich
 
06.05.24
17:21
(5) тогда только сканер или настройки ВК, если у Вас БПО, но я не помню в БПО такой возможности, если честно.
7 bvb
 
06.05.24
17:49
(6)
Стремно трогать. Там разные сканеры (в том числе с оффлайн сбором данных в буфер)
Из-за одного криворогого китайского поставщика сломается что то в работающей системе
  
Может можно перехватить результат скана в обработчике события менеджера оборудования ?
8 DJ Anthon
 
06.05.24
18:03
(0) обратно склеивать не вариант?
9 palsergeich
 
06.05.24
18:21
(7) внешнего события?
Ну можно автокостыль воткнуть, если аккуратно.
Главное что бы он потом чкерез годик тебя по горбу не хлопнул
10 MWWRuza
 
гуру
06.05.24
20:02
Блин... Как все сложно... В клюшках я бы решил эту задачу за 30 секунд - ровно как написано в (1) Параметр = СтрЗаменить(Параметр, Символ(182), " "); Только не "Парамметр", а "Данные", и не "Символ", а "Симв"... И 100% это ни где не вылезло бы, ни через годик, ни через пять :-)

PS Но, думаю, и тут должно примерно так-же решаться - сразу, как только поймали строку со сканера, и делайте это, до того, как дальнейшую обработку выполняете, до помещения в массив и т.д...
11 bvb
 
07.05.24
11:38
(8) Склеивать нечего. В параметре половины штрихкода нет

(9)На самом низком уровне. Там где данные приходят от драйвера (xотя я не уверен что они приходят целиком).

Конкретно нужно знать где формируется инициализация процедуры  оповещения в форме документа ?
12 Builder
 
07.05.24
12:13
(11) Ну в форме документа и формируется. Это?
&НаКлиенте
Процедура ОбработкаОповещения(ИмяСобытия, Параметр, Источник)
13 bvb
 
07.05.24
18:43
(12) Нет нужно обрабатывать ДО формирования оповещения
14 DJ Anthon
 
08.05.24
08:43
(11) так ты написал один штрихкод разваливается на разные элементы массива. а в 1С он, получается, уже приходит поврежденным? тогда это не проблема 1С.
15 Кондер
 
08.05.24
11:45
(13) Ну-ну, тогда тебе в базу к поставщику
16 MWWRuza
 
гуру
09.05.24
13:44
(0) Да выложили бы уже качественную фотку такого ШК... Посмотрели бы нормальными(правильно настроенными) сканерами, что и как. А то гадать можно долго, кто виноват и что делать.