Имя: Пароль:
1C
1С v8
Ошибка при загрузке XML ПрочитатьXML() на мобильной платформе.
0 Builder
 
05.02.24
12:53
Приветствую. Может кто сталкивался.

Небольшая самописная мобильная конфа.
Загружается Xml через некий http сервер (как поток-текст, не файлом).
Разрабатывал и тестировал под мобильным клиентом, все работало, все грузит как надо.

Сделал мобильное публикуемое приложение, добавил базу.
При загрузке xml на Фабрика.ПрочитатьXML(ЧтениеXML) валится с ошибкой "Char 0x0 out of allowed range".
Подсовывал пустые xml с одним тегом - такая же фигня.
Кодировки менял, базы удалял, ниче не помогает.
Моб. платформа 8.3.22.57
Что ему надо?????

ЧтениеXML = Новый ЧтениеXML;
ЧтениеXML.УстановитьСтроку(Поток);
    
Фабрика = Новый ФабрикаXDTO();
Инвент = Фабрика.ПрочитатьXML(ЧтениеXML);
1 Многолетний Апельсин
 
05.02.24
13:19
С потоками не работал, но по тексту ошибки предполагаю что надо на 1 уменьшить размер буфера, чтобы ЧтениеXML не спотыкалось об нуль-терминатор.
2 Builder
 
05.02.24
13:22
(1) Где что уменьшить???
3 Builder
 
05.02.24
13:22
Пока выкрутился так, заработало!

Текст = Новый ЗаписьТекста;
Текст.Открыть(ИмяФайла,КодировкаТекста.ANSI);
Текст.ЗаписатьСтроку(Поток);
Текст.Закрыть();    
ЧтениеXML = Новый ЧтениеXML;
ЧтениеXML.ОткрытьФайл(ИмяФайла);
5 Builder
 
05.02.24
14:10
(4) Робот-синтаксис помощник?
6 youalex
 
05.02.24
15:22
Поток.Перейти(0, ПозицияВПотоке.Начало);
7 youalex
 
05.02.24
15:25
и не ЧтениеXML.УстановитьСтроку(Поток);
а ЧтениеXML.ОткрытьПоток(Поток);
8 Builder
 
05.02.24
16:00
(7) Спасибо, попробую.
Хотя это и не поток, а текст, но хз, буду разбираться.