Добрый день !
Подскажите как выполнить обратное преобразование к XMLСтрока() ?!

```1c
    // В реквизит базы данных (ТЧ Справочника) были записаны двоичные данные картинки (Атрибут):
    Соответствие.Вставить(Атрибут, XMLСтрока(ДвоичныеДанные_Картинки)); // Атрибут записан в реквизит ТЧ Справочника "Значение"

    // Теперь мне нужно эту картинку отобразить, пытаюсь преобразовать обратно:
    ДвоичныеДанные_Картинки = XMLЗначение(Тип("ДвоичныеДанные"), ВыборкаДетальныеЗаписи.Значение);
    // Получаю ошибку : Ошибка преобразования данных XML
```

В отладчике на строке с ошибкой ВыборкаДетальныеЗаписи.Значение содержит нужные данные в виде нескольких строк с переводом строки (0D, 0A)
---
Спасибо всем за мысли и наводящие вопросы ! Проблема оказалась в отсечении части данных в запросе

ВЫРАЗИТЬ(УчетнаяЗаписьАтрибуты.Значение КАК СТРОКА(1000)) КАК Значение

в то время как .Значение занимало больше 1000 символов
---
ВыборкаДетальныеЗаписи.Значение содержит нужные данные в виде нескольких строк с переводом строки (0D, 0A) А должна быть всякая ахинея из цифр и латиницы заканчивающаяся на "=".
---
== в конце строки есть !
---
Переводы строк смущают. Не должно их быть. Да и с "=" я погорячился. Это уже к MIME относится а не к Base64
---
Попробуйте Base64Значение вместо XMLЗначение, хотя и так должно работать - вроде как перевод строки не проблема для обратного перевода в двоичные данные.
И текст ошибки бы увидеть.
---
Base64 переводы строк не допускает.
---
Только что проверил, Base64Значение переводы не имеют значение.
---
Должно работать...

```1c
    XMLСтрока = XMLСтрока(БиблиотекаКартинок.Справочник.ПолучитьДвоичныеДанные());

    ДВ = XMLЗначение(тип("ДвоичныеДанные"),XMLСтрока);
```

```1c
    XMLСтрока =
    "iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAA0klEQVQ4jWP­0SchjIAdsnj+RgYGBgYGJLN1IgAVKZzIwMHiRoG8bAwPDdGQDvNbW7POByc4­7Xs8QrNfOwM/9i+HjVzaGtZcqGZIsG+G6g1ucGGAGUM0LDLOP1DC8ePWWQUF­WiuHHz68Mm67VMjx4/AzOX3y6meHB42cMEmLCDAwMxxAm+CTkMfgk5G3+jwR­aJ8/5j48PVc/w//9/7F7g5GDHy0cGFIfBIDXg+4+fePkEDeDn5cHLRwawdLD­NNzEfRWLHgWP4+NvQDZgOxSQDigMRAJiYaiigT9kyAAAAAElFTkSuQmCC"
```
---
дело в том, что XMLСтрока в моем случае сохранена в реквизит и имеет тип Строка {0} может из-за этого ?
Получается нужно как то так ?
ДвоичныеДанные_Картинки = XMLЗначение(Тип("ДвоичныеДанные"), XMLСтрока(ВыборкаДетальныеЗаписи.Значение));
---
Нет, всё правильно. XMLСтрока - это "строка".

```1c
    ДвоичныеДанные_Картинки = XMLЗначение(Тип("ДвоичныеДанные"), ВыборкаДетальныеЗаписи.Значение);
```

ВыборкаДетальныеЗаписи.Значение - Должно быть "строкой".

Реквизит имеет неограниченную длину строки ?
---
да неограниченную , но в запросе
ВЫРАЗИТЬ(УчетнаяЗаписьАтрибуты.Значение КАК СТРОКА(1000)) КАК Значение
так, сейчас проверю, может отсекается ...
---
Попробуй получить реквизит через ссылку в переборе: ХМLстрока = РезультатВыборка.Ссылка.Реквизит;
---
ВЫРАЗИТЬ(УчетнаяЗаписьАтрибуты.Значение КАК СТРОКА(1000)) КАК Значение
так, сейчас проверю, может отсекается ...
Конечно отсекается.
Сколько байт занимает картинка? Да еще переведенная в строку?
Явно больше 1000 символов.
---
ВЫРАЗИТЬ(УчетнаяЗаписьАтрибуты.Значение КАК СТРОКА(1000)) КАК Значение Ахахахах
---
Удали переводы строк - символы.ПС и символы.ВК и попробуй еще раз.
---
// В реквизит базы данных (ТЧ Справочника) были записаны двоичные данные картинки (Атрибут):
А зачем строковый реквизит делать для хранения?
Делайте типом ХранилищеЗначения и сохраняйте напрямую двоичные данные.
И лучше вообще в РС перенести.
---
Спасибо всем за мысли и наводящие вопросы ! Проблема оказалась в отсечении части данных в запросе

ВЫРАЗИТЬ(УчетнаяЗаписьАтрибуты.Значение КАК СТРОКА(1000)) КАК Значение

в то время как .Значение занимало больше 1000 символов
---
Сам свои ответы не отметил как верные - считай не зачем и жить.
 Остальные обойдутся спасибкой.
---
Значит, это ни разу не двоичные данные.
А судя по "ВыборкаДетальныеЗаписи" - это вообще ХранилищеЗначений. (не ДвоичныеДанные)
---
ВыборкаДетальныеЗаписи.Значение содержит строку XMLСтрока(ДвоичныеДанные_Картинки)

ДвоичныеДанные_Картинки = Новый Картинка(х).ПолучитьДвоичныеДанные();