Форум 1С
Программистам, бухгалтерам, администраторам, пользователям
Задай вопрос - получи решение проблемы
29 сен 2024, 20:31

Чтение файла

Автор Bitaxa, 12 мар 2018, 14:27

0 Пользователей и 1 гость просматривают эту тему.

Bitaxa

Добрый день! Выгружаю документ в txt файл. Может подскажете, как взять оттуда все данные, чтобы полностью восстановить выгруженный документ?
Причем выгружаемый документ выбирает пользователь и все реквизиты выгружаются через метаданные.

Bitaxa

 Есть вот такой код:

        Перем Стр;
   Стр = "";
   ЗагрузитьНаСервере();
   Режим = РежимДиалогаВыбораФайла.Открытие;
   ДиалогОткрытияФайла = Новый ДиалогВыбораФайла(Режим);
   ДиалогОткрытияФайла.ПолноеИмяФайла="";
   Текст = "ru = ""Текст""; en = ""Text""";
   Фильтр = Нстр(Текст) + "(*.txt)|*.txt";
   ДиалогОткрытияФайла.Фильтр = Фильтр;
   ДиалогОткрытияФайла.МножественныйВыбор = Ложь;
   
   Если ДиалогОткрытияФайла.Выбрать() Тогда
      
      ИмяФайла = ДиалогОткрытияФайла.ПолноеИмяФайла;
   Иначе
      
      Текст = "ru""файл не выбран!"";en=""File not selected""";
      Предупреждение(Нстр(Текст));
      
   КонецЕсли;
   Объект.Файл = ИмяФайла;
   ТекДок = Новый ЧтениеТекста(ИмяФайла);
   Пока Стр <> Неопределено Цикл
      Стр = ТекДок.ПрочитатьСтроку();
      Позиция = Найти(Стр,",");
      Код = Сред(Стр,1,Позиция+1);
   КонецЦикла;
    Сообщить(Код);


И такой:
ПрочТек = Новый ЧтениеТекста("C:\Users\Михаил\Desktop\test.txt");
   Строка = ПрочТек.ПрочитатьСтроку();
   Сообщить(Строка);
   Пока Строка <> Неопределено Цикл
      Строка = ПрочТек.ПрочитатьСтроку();
      Сообщить(Строка);
   КонецЦикла;
   ПрочТек.Закрыть()

Оба выводят пусто сообщение. В чем дело??

Luzer1C

А сам то как думаешь?
Дам подсказку: ПрочТек.ПрочитатьСтроку() - нужно запихать в цикл.
Халамбалам.

Bitaxa

Цитата: Luzer1C от 12 мар 2018, 17:17
А сам то как думаешь?
Дам подсказку: ПрочТек.ПрочитатьСтроку() - нужно запихать в цикл.
Да вроде в цикле тоже есть)

alex0402

Цитата: Bitaxa от 12 мар 2018, 15:28ПрочТек = Новый ЧтениеТекста("C:\Users\Михаил\Desktop\test.txt");

1) файл не существует или нет прав на чтение.
2) 1С не правильно воспринимает кириллицу.
Спасибо за Сказать спасибо

Bitaxa

Цитата: alex0402 от 12 мар 2018, 17:55
Цитата: Bitaxa от 12 мар 2018, 15:28ПрочТек = Новый ЧтениеТекста("C:\Users\Михаил\Desktop\test.txt");

1) файл не существует или нет прав на чтение.
2) 1С не правильно воспринимает кириллицу.
Спасибо, попробую!
Добавлено: 12 мар 2018, 19:58


Цитата: alex0402 от 12 мар 2018, 17:55
Цитата: Bitaxa от 12 мар 2018, 15:28ПрочТек = Новый ЧтениеТекста("C:\Users\Михаил\Desktop\test.txt");

1) файл не существует или нет прав на чтение.
2) 1С не правильно воспринимает кириллицу.
Спасибо! Сработало :zebzdr:
Может подскажешь как на основе этих данных сделать новый документ?
Добавлено: 12 мар 2018, 20:06


Сложность в том, что у меня в txt может быть любой документ из базы. Я выгружаю его через метаданные. И поэтому не совсем понимаю как считывать и заполнять реквизиты

Теги:

Похожие темы (5)

Рейтинг@Mail.ru

Поиск