маркировка DataMatrix содержит недопустимый символ XML

1. stealth.perm.ru 27.05.22 09:24 Сейчас в теме
Упрощенно: Есть документ в мобильном приложении, в документе реквизит строковый (утрировано)
Мобильное приложение работает на ТСД, сканирую DM маркированного товара и этот код записываю в реквизит как есть.
Но потом при обмене СериализаторXDTO.ЗаписатьXML(ЗаписьXML, Данные); выдает ошибку о недопустимом символе.
Если проверить сканированный код DM Позиция = НайтиНедопустимыеСимволыXML(ШтрихКод); То естественно он находится и это GS1.
Вопрос, как правильно хранить отсканированный код DM?
Очевидно что этот символ стоит во что то преобразовать. Во что? что допустимо?
Ответы
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
2. sivin-alexey 507 27.05.22 13:48 Сейчас в теме
Вариант 1. Храните в строковом реквизите Base64 от
считанных данных:
значение = Base64Строка(ПолучитьДвоичныеДанныеИзСтроки(ШтрихКод,КодировкаТекста.ANSI));

Вариант 2. Сделайте в документе реквизит не строковый, а ХранилищеЗначения
3. stealth.perm.ru 28.05.22 09:08 Сейчас в теме
(2) Нужно сохранить возможность поиска этого значения, ХранилищеЗначения в этом случае точно не вариант.
Пока мысль заменять этот символ на другой, (как это решается в типовых не знаю, может стоит там покопаться) главное угадать чтобы этот символ не оказался частью возможного значения кода.
4. spacecraft 28.05.22 12:16 Сейчас в теме
(3) БПО может работать как с Base64 значением, так и с преобразованием в строку (где каждый маркер добавляется кодом символов соответствия кодов GS1 в круглых скобках) и обратно.
Оставьте свое сообщение

Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот