|
шк складской ячейки | ☑ | ||
---|---|---|---|---|
0
lamme
09.02.21
✎
13:01
|
УТ11.4.11.106
есть 2 ячейки 1-1-1 1-1-2 по одной формируется ШК = 72166961198103786367022086327282726319 (тсд не читает) по второй ШК = 302821780460396289896953809403879916315 (тсд читает) в столбик - чтобы было понятно 72166961198103786367022086327282726319 302821780460396289896953809403879916315 как видно - разница в 1 символ. пошел смотреть код формирования ШК: Функция ЧисловойКодПоСсылке(Ссылка) Экспорт ШестнадцатиричноеЧисло = СтрЗаменить(Строка(Ссылка.УникальныйИдентификатор()),"-",""); Возврат ПреобразоватьИзШестнадцатиричнойСистемыСчисленияВДесятичноеЧисло(ШестнадцатиричноеЧисло); КонецФункции т.е. на вход подается ссылка на элемент справочника на выходе - шк в виде набора цифр. вопрос при одном подходе - один ШК читает, второй нет не подскажите почему ? |
|||
1
fisher
09.02.21
✎
13:07
|
Что такое "не читает"? Вообще не распознает как штрихкод и не "пикает"?
|
|||
2
lamme
09.02.21
✎
13:09
|
вот на тсд сообщение
https://c2n.me/4aSvDQF |
|||
3
lamme
09.02.21
✎
13:10
|
согласен.
не верно спросил он его читает но говорит что - не верный ШК |
|||
4
fisher
09.02.21
✎
13:11
|
Ага. Штрихкод распознается. А когда говорит, что "неверный штрихкод"? Когда в базе не находит?
|
|||
5
lamme
09.02.21
✎
13:13
|
на тсд открывается док перемещение
сначала пикается - откуда. вот тут и выходит |
|||
6
lamme
09.02.21
✎
13:15
|
самого ШК в базе нет же у ячейки - это видно из логики формирования этикекти.
а дальше домыслы - оно потом преобразуется из ШК в гуид и по гуид - ищет ссылку на ячейку склада |
|||
7
mikecool
09.02.21
✎
13:17
|
(6) а чего домысливаешь? нет доступа в отладчик?
|
|||
8
lamme
09.02.21
✎
13:19
|
(7)
нет доступа к ТСД но по логике - так оно и есть потому что иначе чем преобразовать ШК в гуид - и найти объект в базе - нет |
|||
9
fisher
09.02.21
✎
13:20
|
(8) А что за ПО на ТСД?
|
|||
10
hhhh
09.02.21
✎
13:20
|
(5) а где контрольная сумма в вашем ШК. Последний символ в ШК - это контрольная сумма, по предыдущим символам.
|
|||
11
lamme
09.02.21
✎
13:21
|
(10)
а хз. я же этот ШК руками не генерирую. типовая функция в (0) которая из ссылки получает ШК |
|||
12
lamme
09.02.21
✎
13:23
|
Функция ПреобразоватьИзШестнадцатиричнойСистемыСчисленияВДесятичноеЧисло(Знач Значение)
Значение = НРег(Значение); ДлинаСтроки = СтрДлина(Значение); Результат = 0; Для НомерСимвола = 1 По ДлинаСтроки Цикл Результат = Результат * 16 + СтрНайти("0123456789abcdef", Сред(Значение, НомерСимвола, 1)) - 1; КонецЦикла; Возврат Формат(Результат, "ЧГ=0"); КонецФункции |
|||
13
hhhh
09.02.21
✎
13:26
|
(12) это просто преобразование, чего вы шутите? тут не никакого контрольного символа.
|
|||
14
lamme
09.02.21
✎
13:28
|
(13)
это типовая функция которая получает на основании ссылки на элемент справочника - некий набор цифр (который в (0)) потом - на основании этого набора цифр идет печать бумажного варианта типа такого https://clip2net.com/s/4aSwX7v |
|||
15
lamme
09.02.21
✎
13:29
|
по этой функции генерируются оба ШК
72166961198103786367022086327282726319 302821780460396289896953809403879916315 только один не читается второй читается |
|||
16
Kassern
09.02.21
✎
13:30
|
(2) а вам не кажется, что в ошибке на 16 символов шк а такое ощущение, что нет разделителя и там 2шк слитно?
|
|||
17
Kassern
09.02.21
✎
13:30
|
(16) *не 16символов ШК
|
|||
18
Kassern
09.02.21
✎
13:31
|
(0) суффикс какой используется на сканере?
|
|||
19
lamme
09.02.21
✎
13:33
|
(16)
по цифиркам если идти - то 72166961198103786367022086327282726319 (18) спрошу. пока не знаю |
|||
20
lamme
09.02.21
✎
13:37
|
||||
21
Kassern
09.02.21
✎
13:41
|
(19) чет я тупанул с количеством символов, а сам шк проверяли, в базе есть, на который ругается в (2)?
|
|||
22
lamme
09.02.21
✎
13:41
|
на этикетке ШК не весь . цифирки обрезаны однако
|
|||
23
lamme
09.02.21
✎
13:42
|
(21)
в базе нет места-регистра-справочника - где бы этото ШК явно лежал |
|||
24
lamme
09.02.21
✎
13:42
|
но есть элемент справочника -который получает такой ШК
|
|||
25
Kassern
09.02.21
✎
13:44
|
(24) вы можете в отладке глянуть функцию поиска номенклатуры по полученному шк? Судя по скрину он шк получил, но не смог по нему найти нужный элемент в базе
|
|||
26
Kassern
09.02.21
✎
13:45
|
(24) раз есть кодирования гуида в шк, значит должен быть обратный механизм. Проверьте как он отрабатывает на данном шк из (2)
|
|||
27
lamme
09.02.21
✎
13:47
|
Функция ПолучитьСсылкуПоШтрихкодуТабличногоДокумента(Штрихкод, Менеджеры = Неопределено) Экспорт
Если Не СтроковыеФункцииКлиентСервер.ТолькоЦифрыВСтроке(Штрихкод, Ложь, Ложь) ИЛИ СокрЛП(Штрихкод) = "" Тогда Возврат Новый Массив; КонецЕсли; ШтрихкодВШестнадцатиричномВиде = ПреобразоватьДесятичноеЧислоВШестнадцатиричнуюСистемуСчисления(Число(Штрихкод)); Пока СтрДлина(ШтрихкодВШестнадцатиричномВиде) < 32 Цикл ШтрихкодВШестнадцатиричномВиде = "0" + ШтрихкодВШестнадцатиричномВиде; КонецЦикла; Идентификатор = Сред(ШтрихкодВШестнадцатиричномВиде, 1, 8) + "-" + Сред(ШтрихкодВШестнадцатиричномВиде, 9, 4) + "-" + Сред(ШтрихкодВШестнадцатиричномВиде, 13, 4) + "-" + Сред(ШтрихкодВШестнадцатиричномВиде, 17, 4) + "-" + Сред(ШтрихкодВШестнадцатиричномВиде, 21, 12); Если СтрДлина(Идентификатор) <> 36 Тогда Возврат Новый Массив; КонецЕсли; Если Менеджеры = Неопределено Тогда МенеджерыОбъектов = Новый Массив(); Для Каждого ЭлементМетаданных Из Метаданные.Документы Цикл МенеджерыОбъектов.Добавить(Документы[ЭлементМетаданных.Имя]); КонецЦикла; Иначе МенеджерыОбъектов = Новый Массив(); Для Каждого ПустаяСсылка Из Менеджеры Цикл ТипСсылки = ТипЗнч(ПустаяСсылка); Если Документы.ТипВсеСсылки().СодержитТип(ТипСсылки) Тогда МенеджерыОбъектов.Добавить(Документы[ПустаяСсылка.Метаданные().Имя]); ИначеЕсли Справочники.ТипВсеСсылки().СодержитТип(ТипСсылки) Тогда МенеджерыОбъектов.Добавить(Справочники[ПустаяСсылка.Метаданные().Имя]); ИначеЕсли Задачи.ТипВсеСсылки(ТипСсылки).СодержитТип(ТипСсылки) Тогда МенеджерыОбъектов.Добавить(Задачи[ПустаяСсылка.Метаданные().Имя]); ИначеЕсли БизнесПроцессы.ТипВсеСсылки(ТипСсылки).СодержитТип(ТипСсылки) Тогда МенеджерыОбъектов.Добавить(БизнесПроцессы[ПустаяСсылка.Метаданные().Имя]); ИначеЕсли ПланыВидовХарактеристик.ТипВсеСсылки(ТипСсылки).СодержитТип(ТипСсылки) Тогда МенеджерыОбъектов.Добавить(ПланыВидовХарактеристик[ПустаяСсылка.Метаданные().Имя]); Иначе ТекстИсключения = НСтр("ru = 'Ошибка распознавания штрихкода: тип ""%Тип%"" не поддерживается.'"); ТекстИсключения = СтрЗаменить(ТекстИсключения,"%Тип%",ТипСсылки); ВызватьИсключение ТекстИсключения; КонецЕсли; КонецЦикла; КонецЕсли; Запрос = Новый Запрос; МассивСсылок = Новый Массив; ПервыйЗапрос = Истина; Для Каждого Менеджер Из МенеджерыОбъектов Цикл Попытка Ссылка = Менеджер.ПолучитьСсылку(Новый УникальныйИдентификатор(Идентификатор)); Исключение Продолжить; КонецПопытки; МетаданныеСсылки = Ссылка.Метаданные(); Если Не ПравоДоступа("Чтение", МетаданныеСсылки) Тогда Продолжить; КонецЕсли; МассивСсылок.Добавить(Ссылка); Если НЕ ПервыйЗапрос Тогда Запрос.Текст = Запрос.Текст + "ОБЪЕДИНИТЬ ВСЕ |"; КонецЕсли; Запрос.Текст = Запрос.Текст + "ВЫБРАТЬ" + ?(ПервыйЗапрос," " + "РАЗРЕШЕННЫЕ" + " "," ") + "Таблица.Ссылка КАК Ссылка |ИЗ " + МетаданныеСсылки.ПолноеИмя() + " КАК Таблица |ГДЕ Ссылка В (&МассивСсылок) |"; ПервыйЗапрос = Ложь; КонецЦикла; Если Не ПервыйЗапрос Тогда Запрос.Параметры.Вставить("МассивСсылок", МассивСсылок); Возврат Запрос.Выполнить().Выгрузить().ВыгрузитьКолонку("Ссылка"); Иначе Возврат Новый Массив; КонецЕсли; КонецФункции |
|||
28
lamme
09.02.21
✎
13:47
|
ТДС не доступен
поэтому - только функция |
|||
29
Kassern
09.02.21
✎
13:49
|
(28) вы пробовали пихнуть в эту функцию шк с картинки?
|
|||
30
Kassern
09.02.21
✎
13:50
|
(28) а зачем вам ТСД в данном случае? С компа запустите и передайте ошибочный шк в нужную процедуру, где была ошибка и уже отлаживайте
|
|||
31
lamme
09.02.21
✎
13:51
|
логично
пойду смотреть |
|||
32
lamme
09.02.21
✎
13:57
|
да.
и тот и тот ШК возвращает нужный объект Менеджеры = Новый Массив; Менеджеры.Добавить(Справочники.СкладскиеЯчейки.ПустаяСсылка()); Htp = ШтрихкодированиеПечатныхФорм.ПолучитьСсылкуПоШтрихкодуТабличногоДокумента("72166961198103786367022086327282726319", Менеджеры); Менеджеры = Новый Массив; Менеджеры.Добавить(Справочники.СкладскиеЯчейки.ПустаяСсылка()); Htp = ШтрихкодированиеПечатныхФорм.ПолучитьСсылкуПоШтрихкодуТабличногоДокумента("302821780460396289896953809403879916315", Менеджеры); |
|||
33
Kassern
09.02.21
✎
13:58
|
(32) здесь нет шк с картинки (2) Проверьте его
|
|||
34
Kassern
09.02.21
✎
14:00
|
(32) и еще, каким образом тсд с базой соединяется? по РДП работает напрямую, или у него своя база данных с обменом по веб сервису к примеру?
|
|||
35
lamme
09.02.21
✎
14:00
|
почему нет
первый 72166961198103786367022086327282726319 |
|||
36
lamme
09.02.21
✎
14:01
|
(34)
напрямую по ком |
|||
37
Kassern
09.02.21
✎
14:03
|
(36) а что в модуле события считывания шк? Как он определяет что это к примеру ячейка, а не номенклатура и что нужно гуид именно ячейки проверять? Может там как раз по количеству символов проверка какая нить?
|
|||
38
lamme
09.02.21
✎
14:04
|
думал об этом
но не нашел места где такое работает по идее - это система cleverenc |
|||
39
lamme
09.02.21
✎
14:05
|
проверли эксперимент
на телефон поставили считывалку ШК и телефон так же - один считывает код второй нет |
|||
40
arsik
гуру
09.02.21
✎
14:05
|
(35) а если вот так 072166961198103786367022086327282726319
|
|||
41
lamme
09.02.21
✎
14:06
|
что - типовая функция по генерированию ШК - кривая ?
|
|||
42
lamme
09.02.21
✎
14:06
|
(41)
так тоже находит |
|||
43
lamme
09.02.21
✎
14:06
|
Менеджеры = Новый Массив;
Менеджеры.Добавить(Справочники.СкладскиеЯчейки.ПустаяСсылка()); Htp = ШтрихкодированиеПечатныхФорм.ПолучитьСсылкуПоШтрихкодуТабличногоДокумента("072166961198103786367022086327282726319", Менеджеры); |
|||
44
lamme
09.02.21
✎
14:08
|
сейчс попробуем распечатать с 072166961198103786367022086327282726319
посмотрим - распознается или нет |
|||
45
Kassern
09.02.21
✎
14:09
|
(39) типовой сканер шк на телефоне не может прочитать второй шк я правильно понимаю? Попробуйте с экрана просканировать https://barcode.tec-it.com/ru/?data=72166961198103786367022086327282726319
|
|||
46
Kassern
09.02.21
✎
14:10
|
(45) только что сам протестил, все сканируется, может у вас как-то косячно печатается такой шк?
|
|||
47
lamme
09.02.21
✎
14:13
|
(45)
да .пробовал. у меня видать сканер кривой что ль... не считывает ни один вариант ни праивльнй - ни не правильный... --- (46) https://c2n.me/4aSAsCy это распечатанный не читаемый ШК у него - справа - обрезаны символы. но ! даже при обрезанной распечатке - в (2) показывает весь ШК |
|||
48
Kassern
09.02.21
✎
14:33
|
(47) ну тогда пишите письма в клевенс, с вопросом какого ху..дожника типовой функционал не отрабатывает в вашем решении)
|
|||
49
lamme
09.02.21
✎
14:54
|
||||
50
lamme
09.02.21
✎
14:54
|
добавил 0 наперед
не работает |
|||
51
Злопчинский
09.02.21
✎
18:22
|
вы блин разберитесь что у вас не работает - то ли чтение ШК, то ли не отрабатывает алгоритм по прочитанному ШК.
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |