Сохранение текстового файла

1. Satoshi_Nakamoto 06.10.21 06:25 Сейчас в теме
Доброго времени суток.

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

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

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


Я читаю текстовый документ через абсолютный путь "C:\Users\**\text.txt", а нужно чтобы файл был в внешней обработке, в реквизите формы или в макете(не знаю точно как, для меня тема новая нужно разбираться(потом), но сегодня нужно сделать и сдать работу заказчику)
По теме из базы знаний
Вознаграждение за ответ
Показать полностью
Найденные решения
21. provadyuga 99 06.10.21 12:56 Сейчас в теме +0.55 $m
Остальные ответы
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
6. DBV 06.10.21 07:49 Сейчас в теме
(1) Можно сохранить в макете обработки в двоичных данных, потом при необходимости сохранять во временном файле и использовать, когда необходимо
Dem0; nomad_irk; +2 Ответить
7. DBV 06.10.21 07:51 Сейчас в теме
(6) думаю ещё можно сохранить в реквизитах с типом ТекстовыйДокумент
8. user790708 06.10.21 10:31 Сейчас в теме
(1) что вы имеете ввиду под "обработчиком"?
10. Satoshi_Nakamoto 06.10.21 11:03 Сейчас в теме
16. user790708 06.10.21 12:22 Сейчас в теме
(10)Яснее не стало. Внешний обработчик это процедура/функция другого модуля 1с? Внешняя система? Человек?
В 1с есть "внешняя обработка" вы ее имеете ввиду?
17. Satoshi_Nakamoto 06.10.21 12:25 Сейчас в теме
(16) В 1с есть "внешняя обработка" вы ее имеете ввиду?
Да
20. user790708 06.10.21 12:52 Сейчас в теме
2. provadyuga 99 06.10.21 06:32 Сейчас в теме
&НаСервере
Функция ПолучитьКаталогОбработки()
	ИспользуемоеИмяФайла = РеквизитФормыВЗначение("Объект").ИспользуемоеИмяФайла;
	
	ПозицияСлэша = 0;
	Для СчетчикЦикла = 1 По СтрДлина(ИспользуемоеИмяФайла) Цикл
		Симв = Сред(ИспользуемоеИмяФайла, СчетчикЦикла, 1);
		Если Симв = "\" Тогда
			ПозицияСлэша = СчетчикЦикла;
		КонецЕсли;	
	КонецЦикла;
	
	Возврат Лев(ИспользуемоеИмяФайла, ПозицияСлэша-1);
КонецФункции	
Показать
3. Satoshi_Nakamoto 06.10.21 06:36 Сейчас в теме
(2) А как добавить текстовый файл в обработчик, не совсем понятно. Файл нужно сохранить в реквизит?
4. provadyuga 99 06.10.21 06:54 Сейчас в теме
(3)
&НаКлиенте
Процедура ИмяФайлаНачалоВыбора(Элемент, ДанныеВыбора, СтандартнаяОбработка)
    ДиалогВыбора = Новый ДиалогВыбораФайла(РежимДиалогаВыбораФайла.Открытие);
    ДиалогВыбора.Заголовок = "Выберите файл";
    
    Если ДиалогВыбора.Выбрать() Тогда
        Объект.ИмяФайла = ДиалогВыбора.ПолноеИмяФайла;
    КонецЕсли;
КонецПроцедуры
Показать
5. Satoshi_Nakamoto 06.10.21 07:01 Сейчас в теме
9. Dem0 06.10.21 10:50 Сейчас в теме
Можно просто в макет без двоичных данных даже
потом кодом получите макет, а в макете получите ячейку (1.1) в которой будет весь ваш текст
11. Satoshi_Nakamoto 06.10.21 11:05 Сейчас в теме
(9) А как потом получить каждую строку в макете?
13. Dem0 06.10.21 11:12 Сейчас в теме
(11)
строку

Зачем каждую строку? Просто пихаете в ячейку
А потом програмно получаете макет и текст из ячейки
Прикрепленные файлы:
30. nomad_irk 72 06.10.21 14:47 Сейчас в теме
(11)Сохранить в текстовый файл на диске и читать последовательно строки.
12. foxey 4 06.10.21 11:09 Сейчас в теме
Вот бы Вы сначала раскрыли задачу подробнее.
А то непонятно, что такое Обработчик, зачем текстовый файл (он неожиданно оказался многострочным)?
user790708; +1 Ответить
14. Satoshi_Nakamoto 06.10.21 11:42 Сейчас в теме
15. provadyuga 99 06.10.21 12:18 Сейчас в теме

Затем загружаете в макет ваш текст.
Чтение из макета
ПолучитьМакет("Макет").ПолучитьТекст()
user790708; +1 Ответить
18. Satoshi_Nakamoto 06.10.21 12:28 Сейчас в теме
(15) Пишет
Процедура или функция с указанным именем не определена (ПолучитьМакет)
Возврат <<?>>ПолучитьМакет("ТекстовыйМакет").ПолучитьТекст(); (Проверка: Сервер)
19. Satoshi_Nakamoto 06.10.21 12:35 Сейчас в теме
(15) Можешь написать простой внешний обработчик epf и скинуть сюда?
21. provadyuga 99 06.10.21 12:56 Сейчас в теме +0.55 $m
27. Satoshi_Nakamoto 06.10.21 14:28 Сейчас в теме
(21)Значит ты догадался по epf.
31. Satoshi_Nakamoto 06.10.21 14:53 Сейчас в теме
22. provadyuga 99 06.10.21 13:11 Сейчас в теме
Немного доработал. Выводится в текстовый документ.
Вот такой код в обработке
&НаСервере
Функция ПрочитатьТекстНаСервере()
	
	ОтчетОбъект = РеквизитФормыВЗначение("Объект");
	Макет = ОтчетОбъект.ПолучитьМакет("Макет");
	ТекстИзМакета = Макет.ПолучитьТекст();
	ЗначениеВРеквизитФормы(ОтчетОбъект, "Объект");
	
	Текст = Новый ТекстовыйДокумент;
	Текст.УстановитьТекст(ТекстИзМакета);
	
	Возврат Текст;
	
КонецФункции

&НаКлиенте
Процедура ПрочитатьТекст(Команда)
	Текст = ПрочитатьТекстНаСервере();
	Текст.Показать();
	
КонецПроцедуры
Показать
28. Satoshi_Nakamoto 06.10.21 14:30 Сейчас в теме
(22) Зачетный стих

Раз два три четыре
Текст, Текст, Текст, Текст
Пять шесть семь восемь
Текст, Текст, Текст, Текст
23. foxey 4 06.10.21 13:30 Сейчас в теме
Теперь ме тоже стал понятен тайный смысл слова Обработчик... Это не человек, который занимается обработкой, а программа такая!
Только все же не совсем понятно, зачем хранить текст в макете или реквизите обработки?
Не проще ли просто записать в тексте программы:
МойТекст = "бла-бла-бла
| и со следующей строки тоже бла-бла-бла...";
А после
Текст = Новый ТекстовыйДокумент;
Текст.УстановитьТекст(МойТекст);
24. user790708 06.10.21 14:24 Сейчас в теме
(23)У меня такое чувство, что он через программу переводчик переводит.
А что там надо на самом деле - нам неизвестно )
25. Satoshi_Nakamoto 06.10.21 14:25 Сейчас в теме
(24)Коммерческая тайна, не могу много говорить 0_О.
26. Satoshi_Nakamoto 06.10.21 14:27 Сейчас в теме
(23)
МойТекст = "бла-бла-бла
| и со следующей строки тоже бла-бла-бла...";

70 тыс. строк текста!!!
29. EVKash 14 06.10.21 14:39 Сейчас в теме
(28) штатно сохранить что-то в сам файл внешней обработки выполняя эту обработку НЕЛЬЗЯ!
Можно извратами используя распаковку/запаковку этой обработки в файлы, но это тот еще гемор.
Оставьте свое сообщение

Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот