Текст XML содержит недопустимый символ в позиции 31
Столкнулись тут с проблемой при подключении сканера 2d и использовании его для "Честного знака". При сканировании выдаётся такое вот окошко с сообщением
Текст XML содержит недопустимый символ в позиции 31 :
010290000044725721agM%ssr<KkWNd91003A92wCLW0MHStmVDBEr6UQC j/ArKhJeMauq8N8AnGScx9l+WsENooD3GAXDhxkEe1X2Lia3GHG8nzmgJssw gYB0gog==;;
{ОбщийМодуль.ШтрихкодированиеИСКлиент.Модуль(87)}: РезультатОбработкиШтрихкода = ШтрихкодированиеИСВызовСервера.ОбработатьШтрихкод(
{ОбщийМодуль.СобытияФормИСКлиент.Модуль(435)}: ШтрихкодированиеИСКлиент.ОбработатьДанныеШтрихкода(
{Обработка.ПроверкаИПодборПродукцииИСМП.Форма.ПроверкаИПодбор.Форма(168)}: Данные, ПараметрыСканированияКодовМаркировки());
по причине:
Ошибка при вызове серверного метода.
по причине:
Ошибка передачи данных между клиентом и сервером. Значение недопустимого типа.
по причине:
Ошибка преобразования данных XDTO:
Запись значения свойства 'ret':
форма: Элемент
имя: {}ret
по причине:
Ошибка преобразования данных XDTO:
Запись значения свойства 'Value':
форма: Элемент
имя: {}Value
по причине:
Ошибка при записи XDTO
по причине:
Текст XML содержит недопустимый символ в позиции 31 :
010290000044725721agM%ssr<KkWNd91003A92wCLW0MHStmV
Правда иногда он всё же сканирует нормально, а потом снова не может сканировать те же коды. Может кто-нибудь сталкивался?
Текст XML содержит недопустимый символ в позиции 31 :
010290000044725721agM%ssr<KkWNd91003A92wCLW0MHStmVDBEr6UQC
{ОбщийМодуль.ШтрихкодированиеИСКлиент.Модуль(87)}: РезультатОбработкиШтрихкода = ШтрихкодированиеИСВызовСервера.ОбработатьШтрихкод(
{ОбщийМодуль.СобытияФормИСКлиент.Модуль(435)}: ШтрихкодированиеИСКлиент.ОбработатьДанныеШтрихкода(
{Обработка.ПроверкаИПодборПродукцииИСМП.Форма.ПроверкаИПодбор.Форма(168)}: Данные, ПараметрыСканированияКодовМаркировки());
по причине:
Ошибка при вызове серверного метода.
по причине:
Ошибка передачи данных между клиентом и сервером. Значение недопустимого типа.
по причине:
Ошибка преобразования данных XDTO:
Запись значения свойства 'ret':
форма: Элемент
имя: {}ret
по причине:
Ошибка преобразования данных XDTO:
Запись значения свойства 'Value':
форма: Элемент
имя: {}Value
по причине:
Ошибка при записи XDTO
по причине:
Текст XML содержит недопустимый символ в позиции 31 :
010290000044725721agM%ssr<KkWNd91003A92wCLW0MHStmV
Правда иногда он всё же сканирует нормально, а потом снова не может сканировать те же коды. Может кто-нибудь сталкивался?
Прикрепленные файлы:
По теме из базы знаний
Ответы
Подписаться на ответы
Инфостарт бот
Сортировка:
Древо развёрнутое
Свернуть все
Скрин настроек сканера покажите. В блокнот считывает? Если несколько раз считать, значения одинаковые? Подключение не через RDP случайно?
< - вот этот символ нужно заменять при формировании XML. 1с не может сериализовать строку для передачи на сервер.
Скорей всего есть недочет в конфигурации и, в вашем случае, модель сканера не имеет значения
Если это типовая и есть шанс, что используется штатная БПО, то можно попробовать поставить в настройках сканера BASE64, вместо строки.
Скорей всего есть недочет в конфигурации и, в вашем случае, модель сканера не имеет значения
Если это типовая и есть шанс, что используется штатная БПО, то можно попробовать поставить в настройках сканера BASE64, вместо строки.
Данная проблема так же возникает когда сканер подключен через разветвитель USB (хаб). Воткните напрямую в системник. И проверьте еще в блокноте он всегда считывает одно и тоже. Бывает даже, что несколько раз подряд считанный один и тот же QR код отображает разные символы.
У меня проблема решилась путем уменьшения скорости считывания в настройках подключаемого оборудования в 1С КА2. По умолчанию было 9600, я поставил 4800 - и все заработало.
(9) Думаю решилась проблема тем, что в строку перестали попадать различные символы (стрелочки, треугольнички, смайлики т.п.). При выводе строки (преобразование данных XDTO) не может такие символы распознать и выдает ошибку. Решение, очищать строку от таких символов. Как пример:
Прикрепленные файлы:
Можно проще(также она может присутствовать в общем модуле ОбщегоНазначенияКлиентСервер.ЗаменитьНедопустимыеСимволыXML()):
Функция УдалитьНедопустимыеСимволыXML(СтрокаХМЛ)
Позиция = НайтиНедопустимыеСимволыXML(СтрокаХМЛ);
Пока Позиция <> 0 Цикл
НедопустимыйСимвол = Сред(СтрокаХМЛ, Позиция,1);
СтрокаХМЛ = СтрЗаменить(СтрокаХМЛ, НедопустимыйСимвол, "");
Позиция = НайтиНедопустимыеСимволыXML(СтрокаХМЛ);
КонецЦикла;
Возврат СтрокаХМЛ;
КонецФункции
Показать
Аналогичная ошибка, при сканировании марки из честного знака, проблема в том, что базы нет, есть копия, но нет сканера, у меня все ок, брал сканер на час, у человека ошибка при сканировании. На 31 символе, как в заголовке темы. Разница в том, что я в локальной базе работаю, они сидят через веб. Ошибка возникла спонтанно, до этого все хорошо, тут не обновлений, не смены железа. Думал расширение написать, но не могу понять откуда строку взять для функции сменить или удалить недопустимые символы. Подскажите, кто сталкивался с подобным, спасибо.
при подключении в виде эмуляции СОМ порта возникает ошибка "Текст XML содержит недопустимый символ в позиции 31" решение в сканировании специального служебного кода из инструкции.
актуально для АТОЛ sb2109 BT 2023****
актуально для АТОЛ sb2109 BT 2023****
Прикрепленные файлы:
Отсканированный код надо по-специальному прикидывать между клиентом-сервером. Делал на Рознице 2.3, во ВнешнееСобытие пишем только одну строчку, вся логика работы с ШК в ОповещениеПоискаПоШтрихкоду
&НаКлиенте
Процедура ВнешнееСобытие(Источник, Событие, Данные)
ПодключаемоеОборудованиеРТКлиент.ВнешнееСобытиеОборудования(ЭтотОбъект, Источник, Событие, Данные);
КонецПроцедуры
&НаКлиенте
Процедура ОповещениеПоискаПоШтрихкоду(Штрихкод, ДополнительныеПараметры)
ШКСоСканера = Штрихкод;
КонецПроцедуры
Показать
Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот
