Собрать и исправить текстовый отчёт по строкам

Учебные задачи

Редактируем небольшой отчёт в памяти: вставка заголовка, замена ошибочной строки, удаление черновика и добавление подвала.

Где и как запускать

Учебная база: создайте серверный общий модуль УчебныеЗадачи (флаг Сервер). Код без директив вставьте в тело процедуры ВыполнитьПример() Экспорт. Вызовите её из серверного обработчика команды учебной обработки. Не запускайте в рабочей базе.

Подготовка

  1. Файлы, макеты и реквизиты конфигурации не нужны.

  2. Номера строк ТекстовогоДокумента начинаются с 1, в отличие от индексов Массив.


Документ = Новый ТекстовыйДокумент;
Документ.РазделительСтрок = Символы.ПС;
Документ.УстановитьТекст("Книга: 3" + Символы.ПС + "Ручка: 99" + Символы.ПС + "Черновик");
Документ.ВставитьСтроку(1, "Учебный остаток");
Документ.ЗаменитьСтроку(3, "Ручка: 1");
Документ.УдалитьСтроку(4);
Подвал = Новый ТекстовыйДокумент;
Подвал.ДобавитьСтроку("Всего товаров: 4");
Документ.Вывести(Подвал);
Документ.УстановитьТипФайла(КодировкаТекста.UTF8);
Для Номер = 1 По Документ.КоличествоСтрок() Цикл
    Сообщить(СтрШаблон("%1: %2", Номер, Документ.ПолучитьСтроку(Номер)));
КонецЦикла;
Сообщить(Документ.ПолучитьТекст());
Копия = Новый ТекстовыйДокумент;
Копия.УстановитьТекст(Документ.ПолучитьТекст());
Копия.Очистить();
Сообщить(Копия.ПолучитьТекст() = "");

Разбор по шагам

  1. УстановитьТекст задаёт три строки исходника с известной ошибкой.

  2. Вставка в начало сдвигает номера: Ручка теперь третья строка, Черновик четвёртая.

  3. Заменяем количество, удаляем черновик, добавляем другой текстовый документ методом Вывести.

  4. Обходим строки и читаем полный текст; очищаем отдельную копию, не исходный отчёт.

Как проверить результат

  1. В отчёте есть Учебный остаток, Книга: 3, Ручка: 1 и Всего товаров: 4; слова Черновик нет.

  2. Очищенная копия возвращает пустой текст; исходный документ остаётся заполненным.

  3. Попробуйте номер 0 в ПолучитьСтроку только в учебной базе: это не первая строка.

Ожидаемый результат

Отчёт исправлен в памяти, оригинал и очищенная копия — разные объекты.

На что обратить внимание

  1. После вставки или удаления номера следующих строк меняются.

  2. УстановитьТипФайла задаёт параметры интерактивного сохранения, но сам по себе не создаёт файл.

Пример не запускался в вашей базе. Перед применением проверьте его в указанном учебном контексте.

Не хотите разбираться сами?

Адаптируем это решение под вашу базу. Оценка бесплатно.

Оставить задачу

1С, 1С:Предприятие — товарные знаки ООО «1С». Сайт не является официальным представительством фирмы «1С» и не аффилирован с ней.