Обмен текстом без файла: запись в ПотокВПамяти, позиционирование в начало и чтение через ЧтениеТекста.
Где и как запускать
Учебная база: создайте серверный общий модуль УчебныеЗадачи (флаг Сервер). Код без директив вставьте в тело процедуры ВыполнитьПример() Экспорт. Вызовите её из серверного обработчика команды учебной обработки. Не запускайте в рабочей базе.
Подготовка
Внешние файлы и настройки конфигурации не нужны.
Используйте конструктор по потоку; его пятый параметр — ЗаписатьBOM, а не Дописывать из файлового конструктора.
Поток = Новый ПотокВПамяти;
Запись = Неопределено;
Чтение = Неопределено;
Попытка
Запись = Новый ЗаписьТекста(Поток, КодировкаТекста.UTF8, Символы.ПС, Символы.ВК + Символы.ПС, Ложь);
Запись.Записать("Книга");
Запись.Закрыть();
Запись = Неопределено;
Поток.Перейти(0, ПозицияВПотоке.Начало);
Чтение = Новый ЧтениеТекста(Поток, КодировкаТекста.UTF8);
Текст = Чтение.Прочитать();
Чтение.Закрыть();
Чтение = Неопределено;
Сообщить(Текст);
Если Текст <> "Книга" Тогда
ВызватьИсключение "Текст не совпал";
КонецЕсли;
Данные = Поток.ЗакрытьИПолучитьДвоичныеДанные();
Поток = Неопределено;
Сообщить(Данные.Размер());
Исключение
Если Запись <> Неопределено Тогда
Запись.Закрыть();
КонецЕсли;
Если Чтение <> Неопределено Тогда
Чтение.Закрыть();
КонецЕсли;
Если Поток <> Неопределено Тогда
Поток.Закрыть();
КонецЕсли;
ВызватьИсключение;
КонецПопытки;Разбор по шагам
Создаём поток памяти и записываем UTF-8 без BOM и без перевода строки.
Закрываем текстовую запись; поток остаётся отдельным объектом. Перемещаем его позицию на ноль.
ЧтениеТекста получает тот же поток и возвращает текст целиком.
ЗакрытьИПолучитьДвоичныеДанные завершает владение потоком и позволяет проверить количество байтов.
Как проверить результат
Вывод: Книга и размер 10 байтов.
Замените Ложь на Истина в конструкторе записи: UTF-8 BOM добавит три байта, ожидаемый размер станет 13.
Уберите Перейти: чтение начнётся в конце потока и исходный текст не получится.
Ожидаемый результат
Пять букв успешно прочитаны обратно; UTF-8 без BOM занимает десять байтов.
На что обратить внимание
Закрытие текстового чтения по потоку не закрывает сам поток: его жизненным циклом управляйте отдельно.
После ЗакрытьИПолучитьДвоичныеДанные нельзя повторно обращаться к закрытому потоку.
Не путайте перегрузки конструктора: пятый аргумент файлового и потокового вариантов имеет разный смысл.
Пример не запускался в вашей базе. Перед применением проверьте его в указанном учебном контексте.