Имя: Пароль:
1C
 
УФ : Проблема при добавлении строки XML в ТЧ &НаКлиенте
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 может встречаться в ЧЗ не один раз ?
Компьютеры — это как велосипед. Только для нашего сознания. Стив Джобс