Обычно я использовал коды маркировки, полученные в файле csv от Честного Знака, которые у меня начинаются с 0102900018163...
Вставлял их в 1С справочники, распечатывал марки с помощью обработок, которые потом нормально читаются проверочными программами ЧЗ и в 1С пробиваются чеки.
Вдруг одни умники потребовали, чтобы перед кодами вставлялся символ FNC1 и потом еще все получившееся кодировалось в base64
хотя сканер, когда читает марку выдает те самые 0102900018163... без каких-либо FNC1
1)Кто-нибудь знает, как вручную или с помощью какой-либо программы вставить этот FNC1?
2)Будет ли получившийся код нормально кодироваться в base64 онлайновыми и неоплайновыми кодировщиками и храниться на сайте битрикс?
FNC1 не может быть закодирован в пользовательских данных. На самом деле, в штрихкодах CODE 128 и DATAMATRIX, FNC1 является инструкцией, а не байтом хранимых данных.
и еще
Не пытайтесь симулировать escape-последовательности ]C1 и ]d2 в пользовательских данных - они генерируются сканером автоматически, если сканер настроен на автоматическое детектирование типа штрихкода и генерацию таких последовательностей.
то есть FNC1 - это что-то нематериальное, прибавляемое именно к изображению штрихкода, но не к данным кода.
(1) Можете посмотреть как это сделано в типовых конфигурациях, например в рознице преобразование марки в GS1 DataMatrix:
ШтрихкодированиеИС.КодGS1ДляКомпонентыПечати(КодМаркировкиИсходныйИзCSV, 24) // 24 - это формат GS1
Для кодирования там же функции
ШтрихкодированиеИСКлиентСервер.ШтрихкодВBase64(КодМаркировкиИсходныйИзCSV)
FNC1 не может быть закодирован в пользовательских данных. На самом деле, в штрихкодах CODE 128 и DATAMATRIX, FNC1 является инструкцией, а не байтом хранимых данных.
и еще
Не пытайтесь симулировать escape-последовательности ]C1 и ]d2 в пользовательских данных - они генерируются сканером автоматически, если сканер настроен на автоматическое детектирование типа штрихкода и генерацию таких последовательностей.
то есть FNC1 - это что-то нематериальное, прибавляемое именно к изображению штрихкода, но не к данным кода.
(4) Напишите как в (3) подсказывают.
Был неправ: ascii 29 используется как разделитель идентификаторов переменной длины в GS, для FNC1 в GS датаматрикс используется код ascii 232 как пишет гугл.
ascii 29 используется как разделитель идентификаторов переменной длины в GS
Гугл пишет также, что этот FNC1 используется и в качестве разделителя вместо ascii 29.
Вроде бы просто его можно набрать: Alt держать нажатым и набирать 0232 или 232 ?
Но получаются разные байты в блокноте.
Подскажите, пожалуйста, как разобрались с FNC1, какой путь решения?
Я написал в своем 7 сообщении, что этот код фиктивный и "FNC1 не может быть закодирован в пользовательских данных"
Он якобы присутствует только в графическом изображении. См. ссылку там.
Мой исходный вопрос был вызван тем, что от меня кое-какие умники требовали вставить FNC1 в маркировку, которая начиналась как обычно с 01, для пробивки на кассе. В конце концов умники успокоились и мои коды маркировки срабатывают везде без этого FNC1.
При пробивке в кассах перед маркировкой вставляется не этот FNC1, а признак тега 1162 согласно требованиям ФНС и инструкции ЧЗ, разобрались.
(12)
При это сам товар правильно показывает и характеристики.
Код например 0104550330343507215n9&BK0pImicr9100C092nl9iuMadEZmZ+YGtf+jzI3HrrGxFbAJXn15LD/qjl3H8tb7wfkNridn0cNQ7c6TVBkRSXfSM0wDF12nGlp237g==
Бился сегодня с этой проблемой. Оказалось, что в макете был указан тип штрихкода DataMatrix (тип кода 18 в компоненте формирования ШК), вместо GS1_DataMatrix (тип кода 24 в компоненте). После изменения на GS1_DataMatrix в QR-коде начал выводить символ FNC1 и в приложении Честный Знак.Бизнес проверка кода маркировки после сканирования стала проходить успешно.