В собственном наборе HDRBODY пропускаем заголовок и ожидаем копирование оставшихся четырёх байтов.
Где и как запускать
Модуль пустой управляемой формы учебной внешней обработки; тонкий или толстый клиент Windows. Вставьте весь модуль. Это не серверный код.
Подготовка
Создайте учебную внешнюю обработку с пустой управляемой основной формой. Создайте команду УчебныйПример и кнопку этой команды.
В свойстве команды Действие выберите процедуру УчебныйПример. Вставьте полный приведённый модуль формы.
Откройте EPF в тонком или толстом клиенте Windows и нажмите кнопку. Не переносите Ждать и Асинх в серверный общий модуль.
Пример работает только со своими данными в памяти; записи в базу, файлы и сеть нет.
&НаКлиенте
Асинх Процедура УчебныйПример(Команда)
Данные = ПолучитьДвоичныеДанныеИзСтроки("HDRBODY", КодировкаТекста.UTF8, Ложь);
Чтение = Новый ЧтениеДанных(Данные);
Целевой = Новый ПотокВПамяти;
Попытка
Пропущено = Ждать Чтение.ПропуститьАсинх(3);
Если Пропущено <> 3 Тогда
ВызватьИсключение "Учебный заголовок неполный";
КонецЕсли;
Скопировано = Ждать Чтение.КопироватьВАсинх(Целевой);
Сообщить(Скопировано = 4);
Ждать Чтение.ЗакрытьАсинх();
Исключение
Чтение.Закрыть();
Целевой.Закрыть();
ВызватьИсключение;
КонецПопытки;
Тело = Целевой.ЗакрытьИПолучитьДвоичныеДанные();
Сообщить(ПолучитьСтрокуИзДвоичныхДанных(Тело, КодировкаТекста.UTF8) = "BODY");
КонецПроцедурыРазбор по шагам
Создаём независимые источник и приёмник; оба принадлежат только этому запуску.
Ждать ПропуститьАсинх продвигает позицию на три байта. Проверяем фактическое количество.
Ждать КопироватьВАсинх возвращает количество скопированных байтов, а не поток и не текст.
Закрываем чтение, получаем данные из собственного приёмника и декодируем их явно.
Как проверить результат
Скопировано 4, восстановлен BODY; оба сравнения Истина.
Заголовок HDR не попадает в приёмник и файлы не создаются.
Ожидаемый результат
Получено тело сообщения без предварительного чтения остатка в строку.
На что обратить внимание
Не закрывайте целевой поток, пока ожидаемое копирование не завершено.
Операция переносит остаток, а не все исходные данные от начала.
Это память, не загрузка на сервер и не сохранение файла.
Пример не запускался в вашей базе. Перед применением проверьте его в указанном учебном контексте.