|
Как хранится код маркировки в 1С:Рознице 2.3 | ☑ | ||
---|---|---|---|---|
0
petya_
petrov_63 23.03.23
✎
10:37
|
Кто-нибудь может сказать в каком виде хранится код маркировки воды в справочнике ШтрихкодыУпаковокТоваров в поле ЗначениеШтрихкода в том числе 32ой знак, который согласно формата должен быть символом с кодом 29. В чем проблема - у меня проверка кодов маркировки средствами честного знака не работает какого-то лешего. Я хочу реализовать просто тупую запись кода маркировки в поле значениеШтрихКода, но при записи в обычном виде конфа встает на раскоряку так как 32 символ в коде непечатаемый и не серилиализуется. Поэтому и хотелось бы знать каким эта проблема решена в Рознице 2.3.
|
|||
1
timurhv
23.03.23
✎
11:27
|
1C не хранит разделитель и все что после кроме эмиссии марок.
ЧЗ тоже он не нужен, можно использовать только при проверке марок ЕАЭС. |
|||
2
petya_
petrov_63 23.03.23
✎
12:03
|
(1) Т.е. хранится только код товара и серийный номер? Или вообще только серийный номер?
Спасибо за ответ. |
|||
3
timurhv
23.03.23
✎
12:09
|
Вы бы описали что дальше с маркой хотите делать? В каком документе, при пробитии чека или онлайн продаже нужен полный код для фискальника.
|
|||
4
petya_
petrov_63 23.03.23
✎
12:11
|
(3) Дальше - списать при продаже, т.е. передать согласно формату фискальных данных код маркировки для отметки о выбытии марки в ЧЗ.
|
|||
5
petya_
petrov_63 23.03.23
✎
13:59
|
(3) Т.е. для пробития чека все равно нужен полный код маркировки получается? Тогда глупый вопрос, если 1С не хранит полный код, тьо как решается проблема наличия полного кода маркировки для пробития чека?
|
|||
6
timurhv
23.03.23
✎
14:07
|
Справочник.ШтрихкодыУпаковокТоваров - там не должен храниться, во всяком случае при эмиссии и вводе в оборот записывается упрощенный состав.
Для пробития - полная марка (зависит от версии ОФД, раньше ГТИН + серии было достаточно, в новых версиях только полный). Думаю, в типовых документах полный код хранится в переменной кэша у документа, т.к. хранить полный код марки в БД запрещено (кроме случаев когда он нужен для печати, онлайн-продаже при сборке и тд, потом удалять\очищать). |
|||
7
petya_
petrov_63 23.03.23
✎
14:54
|
А упрощенный состав это что?
(6)Я так понимаю, что это предположения. А что посмотреть в базе консолькой нельзя? ( Спасибо. |
|||
8
petya_
petrov_63 24.03.23
✎
15:19
|
Так вопрос с хранением снят. Хранится GTIN и серийный номер. Теперь вопрос - а что должно уходить в ОФД? В каком виде? Как генерится полный код из GTIN-а и серийного номера?
|
|||
9
isa2net
24.03.23
✎
15:36
|
Для сериализации можете переводить в формат base64 https://infostart.ru/public/1574381/
|
|||
10
petya_
petrov_63 24.03.23
✎
15:42
|
(9) спасибо. В типовой проблема сериализации при хранении непечатного и несерилиализуемого 29 символа решена тем, что этот символ из кода маркировки просто не хранится. Но тогда вопрос: что передается в качестве кода маркировки для ОФД.
|
|||
11
isa2net
24.03.23
✎
16:27
|
(10)
// Сформировать реквизита кода товар для DataMatrixGS1 на основе GTIN & SerialNumber. // // Параметры: // GTIN - Строка - Глобальный идентификатор торговой единицы. // СерийныйНомер - Строка - Серийный номер. // // Возвращаемое значение: // Строка - Значение реквизита кода товара в BASE64 // |
|||
12
petya_
petrov_63 24.03.23
✎
16:33
|
Описание есть, а название процедурки потеряли ..
|
|||
13
petya_
petrov_63 24.03.23
✎
16:34
|
МенеджерОборудованияМаркировкаКлиентСервер.СформироватьКодТовараДляDataMatrixGS1
|
|||
14
petya_
petrov_63 24.03.23
✎
16:36
|
Т.е. это значение и есть код маркировки для ОФД?
|
|||
15
isa2net
24.03.23
✎
16:37
|
(13)
МенеджерОборудованияКлиентСервер Функция СформироватьКодТовараДляDataMatrixGS1(GTIN, СерийныйНомер) Экспорт |
|||
16
petya_
petrov_63 24.03.23
✎
16:44
|
(15) вот блин, я надеялся, что тип будет строка, а тут тип возвращаемый процедурой сложнее ...
А всего то надо было бы понимать как генерятся данные для кассы и там соответственно нашел бы нужный кусок кода ( |
|||
17
isa2net
24.03.23
✎
16:58
|
(16) Там же у вас тэг 1162 "РеквизитКодаТовара" строка базе64
Функция ЗаполнитьИменаРеквизитовКодаТовара(КодРазобран = Ложь)
|
|||
18
petya_
petrov_63 24.03.23
✎
17:03
|
(17)
Какой из этих видов передается? РеквизитКодаТовараHEX РеквизитКодаТовара Base64 или HEX? Большое спасибо за помощь. |
|||
19
isa2net
24.03.23
✎
17:16
|
(18) В сам драйвер уходит файл хмл, в нем строка базе64
ЗаписьXML.ЗаписатьАтрибут("MarkingCode", XMLСтрока(ДанныеКодаТоварнойНоменклатуры.РеквизитКодаТовара)) |
|||
20
isa2net
24.03.23
✎
17:17
|
(19) Сорри, не файл, данные в хмл формате
|
|||
21
petya_
petrov_63 24.03.23
✎
17:17
|
(18) Для розницы получается тогда так:
ДанныеКодаТовара = МенеджерОборудованияМаркировкаКлиентСервер.СформироватьКодТовараДляDataMatrixGS1(GTIN, СерийныйНомер); КодМаркировкиОФД = ДанныеКодаТовара.РеквизитКодаТовара; Большое спасибо. |
|||
22
isa2net
24.03.23
✎
17:22
|
(21) Я отсюда ссмотрел:
|
|||
23
petya_
petrov_63 24.03.23
✎
17:29
|
(22) Не понял, странно, что не используется реквизит, который уже есть в справочнике например ХешСуммаЗначенияШтрихкода, а просчитывается при формировании чека. Еще раз большое спасибо.
|
|||
24
MWWRuza
гуру
24.03.23
✎
17:36
|
(0) В чем проблема - у меня проверка кодов маркировки средствами честного знака не работает какого-то лешего.
А должна? О какой проверке речь идет? Средствами ККТ - ? Если так то проверка выполняется только в рамках ФФД-1.2. В более ранних - проверки и не было, данные марки так отправлялись, в закодированном специальным образом теге 1162. То, что выще описано, как раз для его формирования. И все-таки, о чем речь идет? Какоая версия ФФД у кассы - ? 1.2, или 1.05/1.1 - ? |
|||
25
Тихий омут
27.03.23
✎
03:36
|
Не читая всё - полный код маркировки, как сказано в (6), в базе хранить нельзя. В случае работы с ФФД 1.2 вы должны считать его с марки перед пробитием чека и передать в ККТ для проверки в рамках сессии проверки марок.
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |