|  | УФ : Проблема при добавлении строки  XML в ТЧ &НаКлиенте 
 lucky_, lEvGl , bvb , maxab72 , proger2021 , runuts , asady , Hawk_1c , программистище , Сти , Доминошник , Fish , Галахад , Широкий , formista2000 , Волшебник , sikuda , Fedor-1971 , lubitelxml , Crusher , АгентБезопаснойНацио , Мультук , Prog_man , BalBess , denk32 , Vstur , Hmster , Михаил Козлов , Лирик , maxar , petr_ivanov , arsik , Timon1405 , Ненавижу 1С , DimR_71 , skafandr , kir-g , shuhard , laeg , bolder | ☑ | 
    
        | 0
    
        bvb   05.05.25✎ 10:34 | 
        Доброго дня всем 
Добавляю КИЗ сканированием в табличную часть документа
 Дело происходит в методе &НаКлиенте
 При передаче из процедуры  ПолученыШтрихкоды () кодирую / декодирую его в Base64 :
 &НаКлиенте
 Функция ЗаполнитьПоДаннымШтрихкодов(ДанныеШтрихкодов)
 Для каждого ТекШтрихкод Из…
 НоваяСтрока = Объект.Запасы.Добавить();
 НоваяСтрока .КИЗ = ПреобразоватьBase64ВСтроку(ТекШтрихкод.СканированныйШтрихкод);
 Строчка добавляется, сканированный код отображается, но при сканировании следующего кода возникает ошибка : «Текст XML содержит недопустимый символ в позиции 31»
 Если тот же код ввести в поле методом ручного ввода (копированием), то ошибки при последующем сканировании не происходит.
 Дело именно в XML – если НЕ преобразовывать из Base64ВСтрокуXML , а добавлять просто строку Base64, все работает нормально.
 В чем загвоздка ?
 Помогите пожалуйста.
 ЗЫ :
 Как я понимаю данные из контекста формы нужно принудительно передать на сервер
 |  | 
    
        | 1
    
        Волшебник   05.05.25✎ 10:39 | 
        бессмысленный поток сознания     |  | 
    
        | 2
    
        bvb   05.05.25✎ 13:32 | 
        (0) Все решил.
Дело было не в бобине (не в клиенте и не в сервере)
 
 Нужно просто убрать паразитный символ, который вставляет сканер.
 Походу и преобразование в Base64 не нужно
 
 КИЗ = СтрЗаменить(КИЗ,Символ(29),"");
 |  | 
    
        | 3
    
        asady   05.05.25✎ 13:43 | 
        (0) это не паразитный символ
Это GS1
 |  | 
    
        | 4
    
        asady   05.05.25✎ 13:45 | 
        Используй эксранированный символ GS1
// Функция возвращает разделитель GS1.
 //
 Функция РазделительGS1() Экспорт;
 Возврат Символ(29); // Dec 29
 КонецФункции
 
 // Функция возвращает экранированный символ GS1.
 //
 Функция ЭкранированныйСимволGS1() Экспорт;
 Возврат "\x1d"; // Используется для экранирования символа GS1.
 КонецФункции
 |  | 
    
        | 5
    
        asady   05.05.25✎ 14:49 | 
        (0) 
КИЗ = СтрЗаменить(КИЗ,МенеджерОборудованияКлиентСервер.РазделительGS1, МенеджерОборудованияКлиентСервер.ЭкранированныйСимволGS1());
 |  | 
    
        | 6
    
        bvb   05.05.25✎ 14:55 | 
        (5)Спасибо большое
Чего то я тороплюсь и не замечаю очевидного.
 
 Как я понимаю GS1 может встречаться в ЧЗ не один раз ?
 |  |