7.7 Некорректное открытие текстового файла

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

  1. TopicStarter Overlay
    gamograff
    Offline

    gamograff

    Регистрация:
    6 июл 2015
    Сообщения:
    13
    Симпатии:
    0
    Баллы:
    1
    Добрый день. Процедура должна открывать файл .txt и обрабатывать текст. Сам файл находит правильно, но при попытке открыть выдаётся ошибка:
    ТФ.Открыть(Запр);
    {Глобальный модуль(49)}: Неверное имя файла!
    При записи вместо "Запр" полного пути также не открывается. На 7.7 совсем недавно, поэтому прошу прощения за возможно глупый вопрос.
    Код:
    фс.УстТекКаталог("C:\Message");
    
      
            Запр = фс.НайтиПервыйФайл("Запрос*.txt");
      
            Пока фс.СуществуетФайл (Запр) = 1 цикл
                
                сообщить(Запр);
                                        
                  ТФ = СоздатьОбъект ("Текст");
              
                  ТФ.Открыть(Запр);
                
                  СтрФайла = СтрПолучитьСтроку(ТФ,1) + СтрПолучитьСтроку(ТФ,2) + СтрПолучитьСтроку(ТФ,3);
                
                  сообщить(СтрФайла); //здесь выводится только слово "Текст"
                
                КК = Найти (СтрФайла, "Код клиента") + 2;
                КФ = Найти (СтрФайла, "Код фирмы") + 2;
                КТ = Найти (СтрФайла, "Код товара") + 2;
              
                КодФирмы   = Сред(СтрФайла, КФ, 4);
                КодКлиента = Сред(СтрФайла, КК, 4);
                КодТовара  = Сред(СтрФайла, КТ, 4);
                                                          
                Результат = глСоздатьНовыйСчет(КодФирмы, КодКлиента, КодТовара);
              
                КодПисьма = Сред(Запр, 7, 15);
                                        
                ТФ.ДобавитьСтроку(Результат);
                ТФ.Записать("Счёт" + КодПисьма + ".txt"); //Этот файл не записывается, мне кажется, из-за некорректного открытия "Запр"
              
                фс.ПереименоватьФайл(Запр,"$"+Запр, 1);
              
                  Запрос = фс.НайтиСледующийФайл();
          
              КонецЦикла;
  2. Хряк
    Offline

    Хряк Профессионал в 1С

    Регистрация:
    26 сен 2007
    Сообщения:
    1.447
    Симпатии:
    37
    Баллы:
    54
    Текст = СоздатьОбъект("Текст");
    ФайлОписания = ФС.НайтиПервыйФайл(глКаталогПечФорм+"*.efd");

    Пока ПустаяСтрока(ФайлОписания)=0 Цикл
    Текст.Открыть(глКаталогПечФорм+ФайлОписания);

    .....

    ФайлОписания = ФС.НайтиСледующийФайл();
    КонецЦикла

    кусочек кода измени под себя
  3. Катюфка
    Offline

    Катюфка Профессионал в 1С

    Регистрация:
    3 июн 2013
    Сообщения:
    406
    Симпатии:
    71
    Баллы:
    54
    Здравствуйте.
    Попробуйте так:
    Код:
    СтрФайла = ТФ.ПолучитьСтроку(1)+ТФ.ПолучитьСтроку(2)+ТФ.ПолучитьСтроку(3);
  4. TopicStarter Overlay
    gamograff
    Offline

    gamograff

    Регистрация:
    6 июл 2015
    Сообщения:
    13
    Симпатии:
    0
    Баллы:
    1
    Спасибо! так работает. Но с текстом проблема с кодировкой. Даже при добавлении в код строчки: ТФ.КодоваяСтраница(1); или ТФ.КодоваяСтраница(0); вместо текста появляются совершенно не те символы, которые нужны.
  5. Катюфка
    Offline

    Катюфка Профессионал в 1С

    Регистрация:
    3 июн 2013
    Сообщения:
    406
    Симпатии:
    71
    Баллы:
    54
    Кодировку задаете до открытия файла?
    А файл точно в кодировке WIN или DOS? Насколько я знаю, UTF в 7.7 не поддерживается. Или использовать перекодировщики
    Последнее редактирование модератором: 22 июл 2015

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