Форум OlegON > Программы и оборудование для автоматизации торговли > Маркировка

Приведите пример метода FNSendItemBarcode для молока : Маркировка

26.04.2024 20:32


20.01.2023 19:53
raidex
 
MWWRuza, спасибо !

А я сохраняю, как меня и научил student, в формате HEX

Например, строка MWWRuza сохраняется как "4D575752757A61"

Т.е. каждый символ - это байт. Байт - 8 бит, каждые 4 бита кодируются в 16-ной системе от 0000 до 1111 ( т.е. от 0 до F )
20.01.2023 20:52
MWWRuza
 
Не... Хранить в документе в 16-ти ричном виде не вариант... Не наглядно...
Уж тогда, лучше, как Олег предложил - "или {GS1)"...
Я думаю, такая комбинация символов в марках не встретится...А заменить "{GS1)" последовательность на Симв(29 ) не проблема...
21.01.2023 14:27
FinSoft
 
Никогда не нравилась проверка содержимого строковых значений в 1с77. Времени занимает много, а пользы практически никакой.
Проблемы возникают при использовании в скульных движках, в моем случае sqlite. Вот там хранится и обрабатывается в hex. А в настольных базах, наподобии dbf (topspeed и btrieve в моем случае) хранится в том виде, как считывается со сканера.
21.01.2023 18:41
raidex
 
FinSoft, а вот этот невидимый символ тоже храниться ? Я выбрал формат хранения HEX как раз из-за того, чтобы видеть этот невидимый символ CHR( 29 ) или GS ( ASCII 29 )
21.01.2023 19:13
MWWRuza
 
Я написал сегодня обработку, которой заменил в строках марок старых документов Симв(29) на "(GS1)".
ТиИ после этого проходит без ошибок.
Для новых документов, в строке, прилетевшей со сканера, при добавлении ее в документ, делаю то-же самое.
При печати чека, делаю обратную процедуру - из строки документа, получаю нормальный КТН обратным преобразованием - меняю последовательность "(GS1)" на Симв(29).
Хранить строку марки в документе в Хексе, ну... Как-то не наглядно.
Так привычнее:
21.01.2023 23:43
FinSoft
 
Цитата:
raidex FinSoft, а вот этот невидимый символ тоже храниться ? Я выбрал формат хранения HEX как раз из-за того, чтобы видеть этот невидимый символ CHR( 29 ) или GS ( ASCII 29 )
Да. На экране он не виден, а смысл на него смотреть? Видеть хорошо штрих-код в начале, он отображается.
22.01.2023 09:33
volk13
 
Цитата:
FinSoft а смысл на него смотреть?
Поддерживаю.

На мой взгляд самый надёжный алгоритм следующий:

- хранить можно вообще без символа или с символом, неважно
- перед отправкой в ККТ - код маркировки предварительно очищается от символов GS1( для надёжности и исключения дублирования в последующем шаге), и затем - в код маркировки программно добавляются символы GS1 в нужные места (потому что всегда заранее известно по структуре КМ - в каком месте эти символы должны присутствовать для каждой группы товаров)... И после этого, уже "пролеченный" таким образом КМ - передаётся в ККТ.

На первый взгляд такой алгоритм может показаться "сложноватым", но на практике он работает безошибочно.
Так что - делюсь идеей, а дальше решайте для себя сами ;)
22.01.2023 11:43
student
 
Цитата:
FinSoft а смысл на него смотреть
смотреть - нет смысла, а вот хранить именно то, что пришло без преобразования единственно правильное решение, если конечно система хранения поддерживает :) если нет, то только тогда имеет смысл в танцах с бубном и заменами чего либо
Цитата:
volk13 всегда заранее известно по структуре КМ
для этого надо сначала определить структуру по полученной марке, что не имеет особого смысла при передачи в фр - FNSendItemBarcode - в отличии от FNSendItemCodeData у штриха не нуждается в дополнительных данных
22.01.2023 12:09
volk13
 
Цитата:
student для этого надо сначала определить структуру по полученной марке, что не имеет особого смысла при передачи в фр
Согласен, что именно для передачи в ФР - структура КМ не нужна.
Но понимать по полученному и хранимому в системе КМ - что это конкретно за КМ (от какой товарной группы) в целях проверки его структурной валидности, да и прочих задач учётной системы (учётные системы у всех разные, и задачи тоже разные) - тоже порой не лишнее.

Поэтому я выше и уточнил, что делюсь лишь идеей, а не рекомендациями. (лично у меня это внедрено, проверено, поэтому и делюсь, вдруг кому-то тоже понравится и пригодится)
22.01.2023 12:15
student
 
Цитата:
volk13 что это конкретно за КМ (от какой товарной группы)
насколько я помню шины и лекарства имеют одну структуру марки, как и некоторые др товарные группы - т.е. имея только одну марку практически невозможно однозначно сказать что либо про товарную группу т.е. все равно надо привязываться еще к чему либо - зачем плодить сущности ?
Часовой пояс GMT +3, время: 20:32.

Форум на базе vBulletin®
Copyright © Jelsoft Enterprises Ltd.
В случае заимствования информации гипертекстовая индексируемая ссылка на Форум обязательна.