Имя: Пароль:
1C
1С v8
Как добавить разделители в строку при формировании штрихкода Data Matrix?
0 Saari
 
03.07.23
09:49
Пытаюсь сформировать строку для печати штрихкода с типом Data Matrix.
В строке есть два разделителя: в начале строки - разделитель FNC1 (в ascii-таблице в байтах символ FNC1 в десятичном виде - 232) и почти в конце строки - разделитель GS1 (в ascii-таблице в байтах символ GS1 в десятичном виде - 29).
Подскажите, пожалуйста, каким образом добавить в строку эти разделители?
1 Галахад
 
03.07.23
10:08
Хм, а так не подойдет:
ААА
+ Символ(232)
+ БББ
+ Символ(29)
+ ССС
2 Saari
 
03.07.23
10:36
(1) не получается...
Полученные штрихкоды распознаю приложением "Честный знак" (установлено в смартфоне).
Приложение говорит, что полученный штрихкод не является штрихкодом с типом Data Matrix.
3 Saari
 
03.07.23
10:38
Вот процедура формирования штрихкода Data Matrix:

Процедура СформироватьШК()
        ПодключитьВнешнююКомпоненту("ОбщийМакет.КомпонентаПечатиШтрихкодов", "КартинкаШтрихкода", ТипВнешнейКомпоненты.Native);
    ВнешняяКомпонента = Новый("AddIn.КартинкаШтрихкода.Barcode");
    ВнешняяКомпонента.Ширина = 300;
    ВнешняяКомпонента.Высота = 100;
    ВнешняяКомпонента.АвтоТип = Ложь;
    ВнешняяКомпонента.ТипВходныхДанных = 0; //Строка
    ВнешняяКомпонента.ТипКода = 24; //18(DataMatrix ASCII), 19(DataMatrix Base256), 20(DataMatrix Text), 21(DataMatrix C40), 22(DataMatrix X12), 23(DataMatrix Edifact), 24(GS1 Datamatrix)
    
    ТабДокумент = Новый ТабличныйДокумент;
    Макет = ПолучитьМакет("МакетSSCCШК");
    
    ОбластьДанных = Макет.ПолучитьОбласть("Заголовок");
    
    ВнешняяКомпонента.ЗначениеКода = ВыбКодДатаМатрикс;
    ОбластьДанных.Рисунки.D1.Картинка = Новый Картинка(ВнешняяКомпонента.ПолучитьШтрихкод());
    ТабДокумент.Вывести(ОбластьДанных);
        
    ТабДокумент.ПолеСлева = 0;
    ТабДокумент.ПолеСправа = 0;
    ТабДокумент.ПолеСверху = 0;
    ТабДокумент.ПолеСнизу = 0;
    ТабДокумент.АвтоМасштаб = Истина;
    ТабДокумент.ОриентацияСтраницы  = ОриентацияСтраницы.Портрет;
    ТабДокумент.ОтображатьЗаголовки = Ложь;
    ТабДокумент.ОтображатьСетку     = Ложь;
    ТабДокумент.Защита              = Ложь;
    ТабДокумент.Показать();
КонецПроцедуры
4 lodger
 
03.07.23
10:40
(0) этот прикол уже давно решали же.
ни одна утилька формирования датаматриксов не рисует одновременно FNC1 и GS1 явным методом. поэтому бесполезно разруливать это передачей строки.
однако, чтобы обработать этот уникальный русский сумрачный гений, разными либами были предъявлены разные методы вывода GS1 для ЧЗ. надо смотреть описание твоей ВнешняяКомпонента