Имя: Пароль:
1C
1C 7.7
v7: Генерация DataMatrix кода
0 brenli
 
10.01.20
08:03
Всем привет.
Каким образом можно сгенерировать изображение кода по строке?
Подскажите? Какие библиотеки используются для этого?
1 victuan1
 
10.01.20
08:10
formex.dll
2 brenli
 
10.01.20
08:26
(1) Можно подробнее?
В библе есть метод генерации кода по переданному значению?
3 victuan1
 
10.01.20
08:41
(2) Да, в новой версии формекса есть метод НарисоватьШтрихкод

Процедура ВыводШтрихкодаВТаблицу(Картинка,ТипЧислом,ТекстШтрихкода)

Сервис.НарисоватьШтрихкод(Картинка,ТипЧислом,ТекстШтрихкода,0);
Картинка.РежимРисования(3);

КонецПроцедуры //ВыводШтрихкодаВТаблицу

Ставим в макет картинку, в текст которой пишем вызов процедуры ВыводШтрихкодаВТаблицу  https://yadi.sk/i/oY0G2cer1AOefA
4 victuan1
 
10.01.20
08:41
5 trdm
 
10.01.20
08:49
(4) а какой formex?
6 victuan1
 
10.01.20
09:37
(5) не ниже 131
7 brenli
 
13.01.20
14:34
Ктонибудь юзал компоненту Ocvita Barcode ActiveX ?

Есть примеры работы с ней?
Скаченный примеры для 1с 8 с сайта https://www.ocvita.ru/ocvita-barcode у меня не заработали.
8 victuan1
 
13.01.20
14:51
(7) Я юзал, потом перешел на формекс ))
Смысл в Ocvita Barcode ActiveX, если есть формекс? Он даже по размеру меньше ;)
9 brenli
 
13.01.20
14:53
(8) ок. Спасибо. Буду мучать формекс
10 brenli
 
13.01.20
15:02
(8) Еще скажи пожалуйста - документацию по работе с шк из формекса где брал? als ман курил или еще что то?
11 brenli
 
13.01.20
15:35
Все разобрался. Спасибо тебе огромное. Реализовываю внедрение для системы маркировки реально по крупицам. Никакой консолидированной инфы и решений (почему то я не удивлён).
Не часто на простой прямой вопрос последует простой прямой ответ.
Всех ништяков , всех благ, здоровья, много денег и красивых женщин.
12 victuan1
 
15.01.20
04:36
(11) Еще вот здесь посмотри готовое http://catalog.mista.ru/public/1172346/
13 GrayS19
 
18.01.20
23:48
Пробовал и Ocvita Barcode ActiveX и Formex, правда для QR-кодов.
Ocvita Barcode ActiveX 64 байта укладывает минимум в квадрат 16х16 мм, если меньше размер - не рисует ничего.
14 GrayS19
 
18.01.20
23:49
Formex сумел уложить 64 байта в 10х10мм, за что огромное спасибо разработчику.
15 Лориен
 
10.02.20
11:23
Добрый день! Мы столкнулись с такой ситуацией: Сначала печатали датаматрикс коды (гс1) для маркировки обуви из 1с7 с помощью Формекса. Примерно на 100-200 кодов один код генерировался с ошибкой (как-будто это 1/4 датаматрикс кода). Перешни на Октавию баркод. Все коды генерируются, но тут возникла другая проблема: У некоторых кодов, если их считывать программой Честного знака или другими, а также сканерами штрихкодов, в самом конце кода появляется лишний третий знак "=" (их должно быть 2 на конце, и криптохвост состоять из 88 символов). Кто-нибудь знает, почему это происходит и как этого избежать? Заранее большое спасибо!
16 victuan1
 
10.02.20
11:43
(15) "Примерно на 100-200 кодов один код генерировался с ошибкой (как-будто это 1/4 датаматрикс кода)".
Какая версия Формекс использовалась?
Формекс использует как и ОквитаБаркоде ту же самую zint
17 Лориен
 
10.02.20
13:06
Используем версию 2.0.5.147 от 14 ноября 2019. Октавия старая версия 1.0.0.1 от 10.03.2013.
18 victuan1
 
10.02.20
13:42
(17) Что за Октавия? Может OcvitaBarcode.ocx?
19 Лориен
 
10.02.20
14:57
Да, это я криворукий) Ocvita Barcode, вот он рисует нам лишний = в конце на некоторые датаматриксы
20 victuan1
 
10.02.20
16:18
(19) Ответь на мое письмо. Постараюсь помочь. Безвозмездно)
21 s_trikozin
 
11.02.20
13:21
(15) Добрый день! Не решил никто проблему?
22 victuan1
 
11.02.20
20:27
(21) Еще б зафиксировать эту проблему... Кто может дать пример для повторения?
23 andrewalexk
 
11.02.20
21:14
(12) :) глобальное решение ...
а через фр вообще можно передать qr-код обуви в офд?
24 Garykom
 
гуру
11.02.20
21:24
(23) 1. "фр" давно нет, есть ККТ
2. Там не QR а DataMatrix
3. Передается не весь DM а sgtin из него
3. Сча пофиг обувь или прочая маркировка из универсальной ГИС МТ
4. Можно
25 andrewalexk
 
11.02.20
21:27
(24) :) 4. есть где почитать?
зы
кроме руководства программиста драйвера Штрих-М версия 792
26 Garykom
 
гуру
11.02.20
21:36
27 Garykom
 
гуру
11.02.20
21:38
28 Garykom
 
гуру
11.02.20
21:40
(27)+ Как выкручиваться и когда ждать допилку ВК (которая через XML "CheckPackage" https://its.1c.ru/db/metod8dev#content:4829:hdoc) по стандарту 1С я лично ХЗ.
29 andrewalexk
 
11.02.20
21:42
(26) :) да не - и код и разбор кода мне дадут - мне тупо надо передать через штрих-м-01ф - а драйвер игнорирует использование ЗагрузитьИПечататьДвумерныйШтрихкод
это вообще уже должно работать? (28)
30 andrewalexk
 
11.02.20
21:51
(26) :) блин ясно все сложно
31 Garykom
 
гуру
11.02.20
21:55
(29) ЭЭэ ты ничего не путаешь?
Нихрена печать уже давно не надо, можно просто ссылку формировать и отображать или данные для проверки чека на валидность.

Этот QR был изначально придуман для ЕГАИС и он в ККТ зашит и ни коим образом к маркировке не привязан.

DM надо сканировать, распознавать данные и правильно заполнять на их основе тег 1162 в чеке, для передачи в ОФД.
Но для старых остатков товаров надо сформировать этикетки с DM, напечатать и наклеить на товар (новый товар уже от поставщика/импортера пойдет с DM), чтобы было что сканить при продаже в розницу или при перемещениях/отгрузке.
32 s_trikozin
 
11.02.20
21:56
(22) Зафиксировать легко,
сегодня нашли конкретные коды от честного знака которые это вызывают.
что прислать? код вызывающий проблему и набор этих кодов? скриншоты?
33 andrewalexk
 
11.02.20
21:58
(31) :) про тег 1162 читал - мы просто с тегами не работали до этой маркировки - писали товар, цену, количество, отдел - фьють и ушло
будем копать спс
34 Злопчинский
 
11.02.20
22:01
если из DM в ОФД надо передавать только SGTIN - то зачем целый DM заюзывать для этого? попроще, линеынйм ШК нельзя SGTIN закодить?
35 andrewalexk
 
11.02.20
22:16
:) вот вроде
FNSendItemCodeData ФНОтправитьКТН
Отправляет тег 1162 (Код товарной номенклатуры), привязанный к операции.
Метод должен вызываться только после метода FNOperation.
36 Garykom
 
гуру
11.02.20
22:26
(34) Не влезает в линейный, там в сериал любые символы 13 из допустимых, не только цифры но и буквы
37 Garykom
 
гуру
11.02.20
22:26
(35) Не люблю я штрихи, геморные они.
До сих пор кста x64 драйвера нету?
38 Garykom
 
гуру
11.02.20
22:27
(36) SGTIN = Serial(13) + GTIN(14)
Точнее наоборот GTIN+Serial
39 Злопчинский
 
11.02.20
22:29
(36) юзаем Code128 - там достаточно большой алфавит
или не?
40 andrewalexk
 
11.02.20
23:00
(37) :) ну учитывая что мы не только без тегов прекрасно жили до ентой обувки но и фискальные чеки возврата только недавно стали делать мне на них грех жаловаться...
зы
не слежу за битностью
но у нас они идут на всех ос
41 Garykom
 
гуру
11.02.20
23:07
(39) Ширина Code 128 какая будет?
Он кстати юзается для транспортных упаковок SSCC на основе Code 128
42 Garykom
 
гуру
11.02.20
23:07
(41)+ А вот чтобы было компактнее на мелких упаковках и решили DataMatrix двухмерный
43 Salimbek
 
11.02.20
23:09
(34) Тут же дело в том, что этот самый набор GTIN+Serial еще и подписывается криптографически. Вот последние 88 символов - и есть цифровая подпись.
44 Garykom
 
гуру
11.02.20
23:15
(43) Криптостойкость там никакая фактически, но так как все онлайн то нет смысла ломать
45 Garykom
 
гуру
11.02.20
23:18
(44)+ Достаточно легко раскрыть алгоритм криптохвоста и нагенерить кучу марок.
Но как только они попадут в систему маркировки (хотя оффлайновый софт и железки и примут) сразу всплывет что они не проплачены и хз откуда взялись.
Опс тут же GTIN - хаха добро пожаловать в суд и не только штрафы но и посадки.
46 Garykom
 
гуру
11.02.20
23:20
(45)+ Хотя есть вариант что будут левые марки ваять с правильным криптохвостом на честного поставщика/импортера (на его GTIN) с целью чтобы прошло на первом этапе где оффлайн проверка.
Но это один хрен вскроется и будут искать кто подделку бодяжит.
47 Злопчинский
 
12.02.20
00:02
хз.. как-то мутно мне все это...
кто работал более-менее честно - тот так и работать будет.
кто работал криво/слева/чернуху гнал - тот так и будет.
48 Garykom
 
гуру
12.02.20
00:36
(47) Гнать чернуху и так что не отличишь от оригинала будет сильно сложнее
49 Злопчинский
 
12.02.20
01:12
(48) в куче лавочек налепят на обувь какие-то штрихкода "для близиру" и все...
50 Garykom
 
гуру
12.02.20
01:23
(49) Покупатель или конкурент купит, настучит а потом вернет назад в 14 дней
51 andrewalexk
 
12.02.20
07:44
(45) :) ну посадки еще не приняли - они только планируют
52 Salimbek
 
12.02.20
09:14
(45) Сами реально пробовали взломать, хотя бы MD-5?
53 Salimbek
 
12.02.20
09:16
(50) Зачем так сложно? Эти марки улетели в ОФД, оттуда в Честный знак. Там проверили со своим списком, сказали, что "таких марков мы не выпускали, сходите-ка, проверьте этого ИП-шника, чего он там гонит" и здравствуй проверка.
54 andrewalexk
 
12.02.20
10:39
(35) :) но кстати последнее руководство программиста в сети годовой давности - там уже есть код для мехового киза но еще нет для обувного сгтина
55 victuan1
 
12.02.20
10:48
(21) "Примерно на 100-200 кодов один код генерировался с ошибкой (как-будто это 1/4 датаматрикс кода)."
Имеется в виду эта проблема?
https://ibb.co/Fn1nxHr
56 victuan1
 
12.02.20
10:52
57 victuan1
 
12.02.20
10:54
(32)  код вызывающий проблему и набор этих кодов, скриншоты. на victuan (с) майл ру.
58 victuan1
 
12.02.20
11:42
(54) Сейчас нужно передавать единый префикс для всех групп товаров - 17485
59 andrewalexk
 
12.02.20
15:17
(58) :) это в поле MarkingType Целое     до 8 разрядов     RW    Тип маркировки товара.     (2 - Изделия из меха, 3 - лекарственные препараты, 5 - табачные изделия) в операторе для FNSendItemCodeData() ФНОтправитьКТН?
60 s_trikozin
 
12.02.20
15:26
(57) Отправил на почту
61 Salimbek
 
12.02.20
15:45
(59) Марку с новым преффиксом 444D нельзя передать с помощью FNSendItemCodeData.
Пользуйтесь такой структурой:

Driver.TLVDataHex = "8A041500444d000002C0EED8583F696F2B714341426D382020";
Driver.FNSendTLVOperation();

-------
В общем да. Это прошивка от 09.12.2019 не пропускает тип маркировки 444D.
Тут два варианта - либо ждать выхода февральской прошивки (где учтены все последние требования ФФД) и переходить на команду FF67, либо откатиться на прошивку от 29.04.2019 - в ней формат переданных данных в тег 1162 не контролируется (т.е. контроль осуществляет верхнее кассовое ПО).
-------

Отсюда: https://forum.shtrih-m-partners.ru/index.php?topic=33714.0
62 Salimbek
 
12.02.20
15:48
+(61) Чтобы пользоваться командой FF67 - у вас должна быть приобретена лицензия "Базовая маркировка"
63 victuan1
 
12.02.20
16:23
(59) Да.
(61) Ответ техподдержки Штрих-М - можно.
64 Salimbek
 
12.02.20
16:27
(63) Вроде бы я ссылку дал именно на форум техподдержки Штрих-М. С реальными проблемами реальных испытателей.
65 victuan1
 
12.02.20
16:27
(61) Кстати, да. У меня тоже клиент на декабрьской прошивке наткнулся на ошибку "94: Некорректная операция"
66 victuan1
 
12.02.20
16:28
А техподдержка Штрих-М меня консультировала до декабря. Видимо, в этом и конфликт))
67 victuan1
 
12.02.20
16:29
Предположу, что февральская прошивка разрешит: MarkingType = 17485
68 Salimbek
 
12.02.20
16:42
(67) Начиная с прошивки 04.09.2019 появилась команда FF67h - Привязать КМ к операции - в этом случае разбор и ФЛК (форматно логический контроль) марки уже происходит на уровне прошивки ККТ и в случае успеха добавляет в операцию тег 1162 в соответствии с проектом приказа " О внесении изменений в приложение № 2 к приказу Федеральной налоговой службы от 21.03.2017 № ММВ-7-20/229@". Эта команда уже требует лицензию "Базовая маркировка". Так же эта команда будет работать у тех, у кого была куплена не разовая лицензия (базовый НДС), а подписка на 2019 год (но вот с этим моментом произошла нестыковка в прошивке от 25.10.2019, которую по этой причине убрали из ЛК ЦТО, но уже есть исправленная прошивка от 14.11.2019 которая сейчас находится на стадии тестирования, т.е. тем, у кого была приобретена подписка на 2019-й год и им нужно работать с командой FF67 - можете написать запрос на почту на прошивку от 14.11.2019 - буду высылать с пометкой "тестирования", пока эта прошивка не появится в ЛК ЦТО).

Отсюда: https://forum.shtrih-m-partners.ru/index.php?topic=33827.15

Так что, предположу, что февральская прошивка не разрешит MarkingType = 17485 , а запретит работать с маркировкой без команды FF67h и, соответственно, без приобретения лицензии "Базовая маркировка" работать с маркировкой уже будет нельзя.
69 andrewalexk
 
12.02.20
16:47
(61) :) спс ... опять все у них сыро
70 Garykom
 
гуру
12.02.20
17:24
(68) >в этом случае разбор и ФЛК (форматно логический контроль) марки уже происходит на уровне прошивки ККТ и в случае успеха добавляет в операцию тег 1162

Дружно посмеемся на этом моменте с учетом что со сканера может прийти хз что и в каком виде, а так же легких нарушений/модификаций формата DM теми кто печатал марки.
Короче никакой прошивки не хватит места чтобы нормально реализовать разбор всевозможных считанных 2D ШК DataMatrix разных "маркировок".
В итоге туда можно будет подавать только уже годные стандартные чистые DM - какой смысл если предобработку один фиг делать на уровне софта выше?

Ну или они врут и на самом деле все будет происходить не в прошивке внутри ККТ а на уровне драйвера ККТ.
71 Злопчинский
 
12.02.20
17:32
(70) согласен
72 victuan1
 
12.02.20
17:33
(68) " предположу, что февральская прошивка не разрешит MarkingType = 17485 , а запретит работать с маркировкой без команды FF67h и, соответственно, без приобретения лицензии "Базовая маркировка" работать с маркировкой уже будет нельзя."
Я не о том, что без покупки доп. лицензии будет работать. А о том, что будет В ПРИНЦИПЕ работать через свойство MarkingType.
А вообще неприятно, что Штрих-М пытается поиметь теперь дополнительные деньги на каждом чихе.
73 victuan1
 
12.02.20
17:40
(72) Вот на этой фразе строится моя уверенность:
"Работать по старому передавая в 1162 "разобранную" верхним ПО информацию из ДМ пока можно, но не факт что по каким-то новым требованиям в последующих прошивках это не закроют.
Селихов Дмитрий: Всё верно."
Пока информации, что закрыли или закроют, не поступало.
74 Garykom
 
гуру
12.02.20
17:41
(72) (73) "Не мы такие — жизнь такая."©
75 victuan1
 
12.02.20
17:41
(73) Вот Атол оба режима передачи тега 1162 (по частям и целиком ДМ для разборки прошивок) у себя реализовал и при этом доплачивать за лицензию "Маркировка" не требует.
76 Garykom
 
гуру
12.02.20
17:44
(75) Требует: 1500р разово или годовая подписка

"ВИДЫ ПОДПИСОК
Мониторинг онлайн-кассы — 500 ₽/год
Разовое обновление до новой версии прошивки онлайн-кассы — 1500 ₽/год
Годовая подписка на обновление ПО — 2000 ₽/год
Годовая подписка на АТОЛ Сервис без ограничений — 2400 ₽/год"

http://forum.atol.ru/index.php?showtopic=31914&st=20&p=290585&#entry290585
77 Garykom
 
гуру
12.02.20
17:46
(76)+ Перед этим обязательно купить КЗ10 (для НДС20% и "безналичные") если его еще нет.
У штриха вроде как объединили в одно НДС20%/"безналичные" и маркировку, т.е. можно кто еще старая прошивка только один раз заплатить.
78 victuan1
 
12.02.20
17:57
(76) Это же не отдельный тариф за маркировку. Атол со Штрих-М на пару ввели это еще в 2019 (или в конце 2018?) году. Атол на этом и остановился, а Штрих-М пошел дальше, выдумал новый тариф за "Маркировку".
79 Garykom
 
гуру
12.02.20
18:08
(78) Можно не обновлять прошивку и на низком уровне формировать значение тега 1162 - один фиг в ОФД правильно улетит.
Кста можно и НДС20% пробивать не платя за обновление с КЗ10 и даже "безналичные" писать вместо "электронно" но это сильно сложней чем НДС20% оно там простейше.
80 victuan1
 
12.02.20
18:12
(79) Я про это и говорю, что у Атол это можно без лицензии за маркировку, а у Штрих-М - нет, на что и напоролся я недавно.
81 Salimbek
 
12.02.20
18:16
(80) Почему же "у Штрих-М - нет"? Вон же в (61) подробно расписано, что нужно делать. И ссылка на ветку форума для подробностей.
82 victuan1
 
12.02.20
18:26
(81) цитирую оттуда:
"Марку с новым преффиксом 444D нельзя передать с помощью FNSendItemCodeData.
Пользуйтесь такой структурой:

Driver.TLVDataHex = "8A041500444d000002C0EED8583F696F2B714341426D382020";
Driver.FNSendTLVOperation();

Попробовал. Результат прежний.

В общем да. Это прошивка от 09.12.2019 не пропускает тип маркировки 444D.
Тут два варианта - либо ждать выхода февральской прошивки (где учтены все последние требования ФФД) и переходить на команду FF67, либо откатиться на прошивку от 29.04.2019 - в ней формат переданных данных в тег 1162 не контролируется (т.е. контроль осуществляет верхнее кассовое ПО)."


Получается, не тот ни другой метод не дает (а Атол один метод дает).
Остается лазейка - вернуться на старую прошивку (апрельскую), но в ней нет поддержки буквы "М", у Атол можно использовать новую прошивку с буквой и использовать "старый" метод печати тега.
83 samohon
 
11.03.20
12:04
(16) Была такая же проблема. Исправлена в новом formex от 13.02.20
84 victuan1
 
11.03.20
14:20
(16) Ну да, после того как я сообщил АЛьФу об этой проблеме ;)
Он добавил в сборку свежий zint
85 victuan1
 
11.03.20
14:22
(82) Кстати, это неправда: "Марку с новым преффиксом 444D нельзя передать с помощью FNSendItemCodeData."

Марку с новым преффиксом 444D все-таки МОЖНО передать с помощью FNSendItemCodeData. Проверил на новой прошивке (от 13.02.20).
86 lodger
 
11.03.20
14:43
(84) а я обкурился и юзал свежий zint сразу...
87 victuan1
 
11.03.20
14:55
(86) Вывод GS вместо FNC1 в середине кода маркировки мы тоже решили с АЛьФом через Формекс ;)
Выдавать глобальные идеи — это удовольствие; искать сволочные маленькие ошибки — вот настоящая работа. Фредерик Брукс-младший