Упражнение разбирает Книга|Ручка|Коробка. Результат разделения — массив двоичных частей, а не массив строк.
Где и как запускать
Учебная база: создайте серверный общий модуль УчебныеЗадачи (флаг Сервер). Код без директив вставьте в тело процедуры ВыполнитьПример() Экспорт. Вызовите её из серверного обработчика команды учебной обработки. Не запускайте в рабочей базе.
Подготовка
Используйте отдельную учебную базу. Фрагмент без директив вставьте в тело серверной процедуры ВыполнитьПример() Экспорт общего модуля УчебныеЗадачи.
Все исходные байты создаются самим примером в памяти. Файлы, сеть, справочники и документы не нужны.
Запускайте задачи отдельно. После закрытия ЧтениеДанных/ЗаписьДанных не используйте этот экземпляр повторно.
Данные = ПолучитьДвоичныеДанныеИзСтроки("Книга|Ручка|Коробка", КодировкаТекста.UTF8, Ложь);
Чтение = Новый ЧтениеДанных(Данные, КодировкаТекста.UTF8);
Попытка
Части = Чтение.Разделить("|");
Сообщить(Части.Количество() = 3);
Ожидаемые = Новый Массив;
Ожидаемые.Добавить("Книга");
Ожидаемые.Добавить("Ручка");
Ожидаемые.Добавить("Коробка");
Для Индекс = 0 По Части.Количество() - 1 Цикл
Текст = ПолучитьСтрокуИзДвоичныхДанных(Части[Индекс].ПолучитьДвоичныеДанные(), КодировкаТекста.UTF8);
Сообщить(Текст = Ожидаемые[Индекс]);
КонецЦикла;
Исключение
Чтение.Закрыть();
ВызватьИсключение;
КонецПопытки;
Чтение.Закрыть();Разбор по шагам
Строка имеет две границы | без пустых записей в начале/конце. Поэтому ожидаем три части.
Разделить использует кодировку экземпляра ЧтениеДанных, здесь UTF-8.
Для каждой части отдельно получаем ДвоичныеДанные и декодируем в той же кодировке.
Сравниваем три русских названия с заранее известным массивом, не только количество частей.
Как проверить результат
Три декодированные части — Книга, Ручка, Коробка в исходном порядке.
Количество и все три проверки содержимого дают Истина.
Ожидаемый результат
Простой список текстовых записей разобран с сохранением русских букв.
На что обратить внимание
У такого формата здесь нет экранирования. Название, содержащее |, даст другую структуру.
Это не полноценный CSV-парсер: кавычки и переводы строк внутри поля не обработаны.
Не предполагаем правила пустых полей без отдельного теста: в этом упражнении их нет.
Пример не запускался в вашей базе. Перед применением проверьте его в указанном учебном контексте.