|
Текст xml содержит недопустимый символ в позиции...
Shalun, Timon1405, youalex, Кирпич, Garykom, MWWRuza, leshikkam, Aka_demik, Amra, trad, b_ru, denk32, Злопчинский, ejikbeznojek, vsy, rozer76, Гость из Мариуполя, trk415e76, craxx, АгентБезопаснойНацио, Волшебник, Prog_man, A_G, d_monah, H A D G E H O G s, ДемьянТ, p-soft, Caesar
| ☑ |
0
Shalun
naïve
06.09.25
✎
12:41
|
Всем привет! Для КА 2.5 пишу расширение, для автоматического чтения из файла кодов маркировки честного знака и добавления их в табличный документ формы конфы "ЗагрузкаКодовМаркировкиИзФайла". Саму процедуру чтения выполняю на сервере, а обработка кнопки выбора файла, разумеется на клиенте. И вот в момент перехода с сервера на клиент, выдается сообщение "Текст xml содержит недопустимый символ в позиции 24". Я в курсе, что нечитаемые символы типа GS не передаются с сервера на клиент, и рекомендуют преобразовывать в двоичные данные а затем обратно. Но у меня процедура на сервере, не функция. По этому ничего не передаю, и преобразовывать нечего.
Кто подскажет, как обойти данный косяк? Удалять нечитаемые символы не вариант, программа не распознает код!
|
|
1
youalex
06.09.25
✎
13:17
|
>По этому ничего не передаю
Данные формы передаются.
сделай так, чтобы не передавались, или не храни данную строку в данных формы , попробуй экранировать, ms sql экранирует например char(29) как "" (без кавычек)
|
|
2
ejikbeznojek
06.09.25
✎
13:50
|
Закодируй в base64
|
|
3
ejikbeznojek
06.09.25
✎
14:08
|
Перед переходом с клиента на сервер, сделай какую-нибудь конвертацию
А там где программа распознаёт код, выполни обратную.
У нас вот так например пишут, а потом если надо восстанавливают
Ну а вообще если ругается, значит что-то всё-таки передаёшь.
Если у тебя на клиенте выбирается только имя файла и ничего больше, то по идее такой ошибки быть не должно))
Функция ПреобразоватьКод_GS1(Знач СтрШК) Экспорт
Возврат Base64Строка(ПолучитьДвоичныеДанныеИзСтроки(СтрШК));
//Возврат Лев(СтрШК, 31) + СтрЗаменить(Сред(СтрШК, 32), Символ(29), "<GS>");
КонецФункции // ()
Функция ВосстановитьКод_GS1(Знач СтрШК) Экспорт
Возврат ПолучитьСтрокуИзДвоичныхДанных(Base64Значение(СтрШК))
КонецФункции
|
|
4
Shalun
naïve
06.09.25
✎
15:09
|
Ребята, спасибо за подсказки!
(1)Я ПОНИМАЮ ЧТО ДАННЫЕ ФОРМЫ ПЕРЕДАЮТСЯ. Но как сделать что бы они не передавались? И я не совсем понял на счет хранения.
(2) Что мне перекодировать? Я на сервере читаю файл и сразу записываю данные в ТабличныйДокумент, который является реквизитом формы. На этом этапе все проходит нормально.
Или мне на сервере прочитать файл, создать таблицу значений с перекуодируемыми значениями в base64 или двоичные данные, записать ее в хранилище, перейти на клиента, прочитать из хранилища, раскодировать строки и тогда уже записать в табличный документ формы? Чет слишком мудрено получается, я думал может попроще решения есть.
|
|
5
ejikbeznojek
06.09.25
✎
16:18
|
(4) Ну да а что в этом такого. Этож обработка, тут можно любую дичь писать))
|
|
6
Shalun
naïve
06.09.25
✎
20:06
|
(5) Если я правильно понял, преобразование двоичных данных обратно в строку проходит через файл. Таких закодированных данных в файле может быть несколько десятков тысяч. Весьма сомнительный метод.
Есть другие варианты преобразования ДД в строку?
|
|