Доброго времени суток.

Как сохранить текстовый файл в обработчик, чтобы чтение происходило не по абсолютному пути, а локально(НЕ относительный путь), т.е. обработчик "носил" с собой этот файл?

Дополнительная информация.

```1c
    ТекстовыйДокумент = Новый ТекстовыйДокумент;
    ТекстовыйДокумент.Прочитать("C:\Users\**\text.txt");
    КолСтрок = ТекстовыйДокумент.КоличествоСтрок();
    //Потом прохожу каждую строку через цикл
    Для л = 1 По КолСтрок Цикл
    Строка = ТекстовыйДокумент.ПолучитьСтроку(л);
    .... и т.д. и т.п. это уже не важно
    КонецЦикла
```

Я читаю текстовый документ через абсолютный путь "C:\Users\**\text.txt", а нужно чтобы файл был в внешней обработке, в реквизите формы или в макете(не знаю точно как, для меня тема новая нужно разбираться(потом), но сегодня нужно сделать и сдать работу заказчику)
---
простой внешний обработчик epf Хотя правильно будет Обработка.
---
Можно сохранить в макете обработки в двоичных данных, потом при необходимости сохранять во временном файле и использовать, когда необходимо
---
думаю ещё можно сохранить в реквизитах с типом ТекстовыйДокумент
---
что вы имеете ввиду под "обработчиком"?
---
внешний обработчик
---
Яснее не стало. Внешний обработчик это процедура/функция другого модуля 1с? Внешняя система? Человек?
В 1с есть "внешняя обработка" вы ее имеете ввиду?
---
В 1с есть "внешняя обработка" вы ее имеете ввиду?
Да
---
```1c
    &НаСервере
    Функция ПолучитьКаталогОбработки()
    ИспользуемоеИмяФайла = РеквизитФормыВЗначение("Объект").ИспользуемоеИмяФайла;

    ПозицияСлэша = 0;
    Для СчетчикЦикла = 1 По СтрДлина(ИспользуемоеИмяФайла) Цикл
    Симв = Сред(ИспользуемоеИмяФайла, СчетчикЦикла, 1);
    Если Симв = "\" Тогда
    ПозицияСлэша = СчетчикЦикла;
    КонецЕсли;
    КонецЦикла;

    Возврат Лев(ИспользуемоеИмяФайла, ПозицияСлэша-1);
    КонецФункции
```
---
А как добавить текстовый файл в обработчик, не совсем понятно. Файл нужно сохранить в реквизит?
---
```1c
    &НаКлиенте
    Процедура ИмяФайлаНачалоВыбора(Элемент, ДанныеВыбора, СтандартнаяОбработка)
    ДиалогВыбора = Новый ДиалогВыбораФайла(РежимДиалогаВыбораФайла.Открытие);
    ДиалогВыбора.Заголовок = "Выберите файл";

    Если ДиалогВыбора.Выбрать() Тогда
    Объект.ИмяФайла = ДиалогВыбора.ПолноеИмяФайла;
    КонецЕсли;
    КонецПроцедуры
```
---
Понятнее не стало
---
Можно просто в макет без двоичных данных даже
потом кодом получите макет, а в макете получите ячейку (1.1) в которой будет весь ваш текст
---
А как потом получить каждую строку в макете?
---
строку
Зачем каждую строку? Просто пихаете в ячейку
А потом програмно получаете макет и текст из ячейки
---
Сохранить в текстовый файл на диске и читать последовательно строки.
---
Вот бы Вы сначала раскрыли задачу подробнее.
А то непонятно, что такое Обработчик, зачем текстовый файл (он неожиданно оказался многострочным)?
---
Обновил задачу
---
Затем загружаете в макет ваш текст.
Чтение из макета
```1c
    ПолучитьМакет("Макет").ПолучитьТекст()
```
---
Пишет
 Процедура или функция с указанным именем не определена (ПолучитьМакет)
 Возврат <<?>>ПолучитьМакет("ТекстовыйМакет").ПолучитьТекст(); (Проверка: Сервер)
---
Можешь написать простой внешний обработчик epf и скинуть сюда?
---
простой внешний обработчик epf Хотя правильно будет Обработка.
---
Значит ты догадался по epf.
---
Спасибо большое.
---
Немного доработал. Выводится в текстовый документ.
Вот такой код в обработке
```1c
    &НаСервере
    Функция ПрочитатьТекстНаСервере()

    ОтчетОбъект = РеквизитФормыВЗначение("Объект");
    Макет = ОтчетОбъект.ПолучитьМакет("Макет");
    ТекстИзМакета = Макет.ПолучитьТекст();
    ЗначениеВРеквизитФормы(ОтчетОбъект, "Объект");

    Текст = Новый ТекстовыйДокумент;
    Текст.УстановитьТекст(ТекстИзМакета);

    Возврат Текст;

    КонецФункции

    &НаКлиенте
    Процедура ПрочитатьТекст(Команда)
    Текст = ПрочитатьТекстНаСервере();
    Текст.Показать();

    КонецПроцедуры
```
---
Зачетный стих

Раз два три четыре
Текст, Текст, Текст, Текст
Пять шесть семь восемь
Текст, Текст, Текст, Текст
---
Теперь ме тоже стал понятен тайный смысл слова Обработчик... Это не человек, который занимается обработкой, а программа такая!
Только все же не совсем понятно, зачем хранить текст в макете или реквизите обработки?
Не проще ли просто записать в тексте программы:
МойТекст = "бла-бла-бла
| и со следующей строки тоже бла-бла-бла...";
А после
Текст = Новый ТекстовыйДокумент;
Текст.УстановитьТекст(МойТекст);
---
У меня такое чувство, что он через программу переводчик переводит.
А что там надо на самом деле - нам неизвестно )
---
Коммерческая тайна, не могу много говорить 0_О.
---
МойТекст = "бла-бла-бла
| и со следующей строки тоже бла-бла-бла...";
70 тыс. строк текста!!!
---
штатно сохранить что-то в сам файл внешней обработки выполняя эту обработку НЕЛЬЗЯ!
Можно извратами используя распаковку/запаковку этой обработки в файлы, но это тот еще гемор.