Имя: Пароль:
1C
 
Текст XML содержит недопустимый символ
0 Мисти
 
09.06.22
14:49
Наименования загрузились с сайта, чего там только нет!
Нет ли где-то обработки удаления недопустимых символов?
1 Kassern
 
09.06.22
14:50
2 Гений 1С
 
гуру
09.06.22
15:59
(0) делюсь функцией, чем богат


&Вместо("ПолучитьСодержаниеТекстовыхФайловИзХранилища")
Функция ио_xml_ПолучитьСодержаниеТекстовыхФайловИзХранилища(ПомещенныеФайлы, Кодировка) Экспорт
    //Осипов 2020-10-13 корректируем, удаляя недопустимые символы
    //Убирает недопустимые символы из файла отчета оффлайн-кассы
    РезультатЧтенияФайлов = ПродолжитьВызов(ПомещенныеФайлы, Кодировка);
    
    Если РезультатЧтенияФайлов.СодержаниеФайлов = Неопределено Тогда
        Возврат РезультатЧтенияФайлов;
    КонецЕсли;
    
    Для Каждого СодержаниеФайла ИЗ РезультатЧтенияФайлов.СодержаниеФайлов Цикл
        Если ТипЗнч(СодержаниеФайла) = Тип("Структура") И СодержаниеФайла.Свойство("ТекстСодержания") Тогда
            СодержаниеФайла.ТекстСодержания = ио_xml_УдалитьНедопустимыеСимволыXML(СодержаниеФайла.ТекстСодержания);
        КонецЕсли;
    КонецЦикла;
    
    Возврат РезультатЧтенияФайлов;
КонецФункции


Функция ио_xml_УдалитьНедопустимыеСимволыXML(Стр)
    //Осипов - функция по удалению недопустимых символов

    Позиция = НайтиНедопустимыеСимволыXML(Стр, , );

    Пока Позиция <> 0 Цикл
        Стр = Лев(Стр, Позиция-1) + Сред(Стр, Позиция+1);
        Позиция = НайтиНедопустимыеСимволыXML(Стр, , );
    КонецЦикла;

    Возврат Стр;

КонецФункции
3 Kassern
 
09.06.22
16:18
(2) В БСП уже все есть:
ОбщегоНазначенияКлиентСервер.ЗаменитьНедопустимыеСимволыXML()
4 Garykom
 
гуру
09.06.22
16:24
(0) >Нет ли где-то обработки удаления недопустимых символов?

Есть. Встроена в 1С.

А есть ли у вас описание недопустимых или их перечень?
5 Garykom
 
гуру
09.06.22
16:25
XMLСтрока() заюзай блин
6 Kassern
 
09.06.22
16:25
(4) для веба так реализовано:
Если КодСимвола < 9
         Или КодСимвола > 10    И КодСимвола < 13
         Или КодСимвола > 13    И КодСимвола < 32
         Или КодСимвола > 55295 И КодСимвола < 57344 Тогда
7 Kassern
 
09.06.22
16:25
Символ = СимволЗамены
8 Мисти
 
09.06.22
20:37
Спасибо, всё получилось!