[РЕШЕНО] Работа с текстовыми файлами

Тема в разделе "Конфигурирование на платформе "1С:Предприятие 8"", создана пользователем gamograff, 13 июл 2015.

  1. TopicStarter Overlay
    gamograff
    Offline

    gamograff

    Регистрация:
    6 июл 2015
    Сообщения:
    13
    Симпатии:
    0
    Баллы:
    1
    При использовании текстовых файлов возникло 2 вопроса:
    1) можно ли в название файла при создании вставлять переменные? Например, что-то вроде ТекстовыйДокумент.Записать ("С:\Код" + Код из справочника + ".txt");
    2) требуется найти в папке все текстовые файлы, а потом достать из них тексты. Но команда НайтиФайлы возвращает массив файлов, к которым методы, в том числе ПолучитьТекст, текстовых документов не применимы. Как можно решить эту проблему?
  2. nomad_irk
    Online

    nomad_irk Гуру в 1С

    Регистрация:
    20 окт 2008
    Сообщения:
    7.578
    Симпатии:
    717
    Баллы:
    204
    1. Да.
    2. Обойти массив циклом. Элемент массива - файл.
  3. nbIpKuH_BaH9I
    Online

    nbIpKuH_BaH9I Модераторы Команда форума Модератор

    Регистрация:
    16 сен 2009
    Сообщения:
    6.989
    Симпатии:
    399
    Баллы:
    104
    Да
    Код:
        ТекстовыйДокумент = Новый ТекстовыйДокумент;
        Кодировка         = "UTF8";
        РазделительСтрок  = Символы.ВК + Символы.ПС; //Значение по умолчанию: ВК+ПС
       
        МассивФайлов = НайтиФайлы(ПолноеИмяФайла);
       
        // Если файл еще не создан добавим строку с именем файла
        Если МассивФайлов.Количество() = 0 Тогда
            ТекстовыйДокумент.ДобавитьСтроку(ПолноеИмяФайла);
        Иначе
            // Если файл с таким именем уже создан прочитаем его
            ТекстовыйДокумент.Прочитать(ПолноеИмяФайла, Кодировка);
        КонецЕсли;
       
        // Добавим время к строке
        CтрокаВЛог = "[" + ТекущаяДата() + "] " + CтрокаВЛог;
        // Добавим строку в объект ТекстовыйДокумент
        ТекстовыйДокумент.ДобавитьСтроку(CтрокаВЛог);
        // Закрываем ТекстовыйДокумент файл
        ТекстовыйДокумент.Записать(ПолноеИмяФайла, Кодировка);
    
  4. TopicStarter Overlay
    gamograff
    Offline

    gamograff

    Регистрация:
    6 июл 2015
    Сообщения:
    13
    Симпатии:
    0
    Баллы:
    1
    Спасибо, было сделано следующим образом:
    Код:
    Текст = Новый ТекстовыйДокумент;
       
        Счета = НайтиФайлы ("C:\Обмен Сообщениями", "Запрос*.txt");
       
        Для каждого Счёт из Счета Цикл
           
            КодПисьма = Прав(Счёт.ИмяБезРасширения, 15);
               
            Текст.Прочитать(Счёт.ПолноеИмя);
            Тело = Текст.ПолучитьТекст();

Поделиться этой страницей